「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
探検
ふらっと C#,C♯,C#(初心者用) Part141
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2018/12/15(土) 10:46:07.45ID:Wu4Fx0bU2018/12/15(土) 10:48:30.68ID:Wu4Fx0bU
■前スレ
ふらっと C#,C♯,C#(初心者用) Part140
http://mevius.5ch.net/test/read.cgi/tech/1538646998/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
ふらっと C#,C♯,C#(初心者用) Part140
http://mevius.5ch.net/test/read.cgi/tech/1538646998/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
2018/12/15(土) 10:53:31.45ID:Wu4Fx0bU
C# のガイド
https://docs.microsoft.com/ja-jp/dotnet/csharp/index
Microsoft Docs
https://docs.microsoft.com/en-us/
.NET Documentation
https://docs.microsoft.com/en-us/dotnet/
https://referencesource.microsoft.com/
テンプレート以上
https://docs.microsoft.com/ja-jp/dotnet/csharp/index
Microsoft Docs
https://docs.microsoft.com/en-us/
.NET Documentation
https://docs.microsoft.com/en-us/dotnet/
https://referencesource.microsoft.com/
テンプレート以上
2018/12/15(土) 11:10:32.00ID:o4PwGoKi
5デフォルトの名無しさん
2019/03/07(木) 18:11:07.25ID:/Jh0neEY ピクチャーボックスにallowdropはありましたか?
フォームのプロパティからはみつかりません。
ピクチャーボックスからピクチャーボックスに画像を移動させるプログラを作りたいのですが、参考ページはありますか?ピクチャーボックス以外での解説はあるようです。
フォームのプロパティからはみつかりません。
ピクチャーボックスからピクチャーボックスに画像を移動させるプログラを作りたいのですが、参考ページはありますか?ピクチャーボックス以外での解説はあるようです。
2019/03/07(木) 18:38:24.06ID:Lh0uMM6Z
>>5
「フォームのプロパティ」じゃなく「PictureBoxのプロパティ」じゃないのか
もしデザイナの一覧に表示されていなくてもどっちにもAllowDropのプロパティはある
ピクチャーボックスからピクチャーボックスに画像を移動させるのはImageプロパティをそのまま代入するだけ
「フォームのプロパティ」じゃなく「PictureBoxのプロパティ」じゃないのか
もしデザイナの一覧に表示されていなくてもどっちにもAllowDropのプロパティはある
ピクチャーボックスからピクチャーボックスに画像を移動させるのはImageプロパティをそのまま代入するだけ
7デフォルトの名無しさん
2019/03/08(金) 11:59:10.38ID:dOPZ4GNG ↑回答ありがとうございます
allowdropはコード上にしかないみたいですね
gui上からは設定項目が見つからないです
allowdropはコード上にしかないみたいですね
gui上からは設定項目が見つからないです
8デフォルトの名無しさん
2019/03/08(金) 16:51:25.14ID:RT9HCx1Y グローバル変数の定義にvarを使おうとしたらだめだって言われたんだけど、これってなんで使えないようになってるの?
ローカル変数なら良くてグローバル変数ならだめとか意味が分からん
ローカル変数なら良くてグローバル変数ならだめとか意味が分からん
9デフォルトの名無しさん
2019/03/08(金) 17:17:51.69ID:dOPZ4GNG private void pictureBox_main_of_form1_DragEnter(object sender, DragEventArgs e)
{
AllowDrop = true;
MessageBox.Show("ドラッグエンター");
}
ドラッグの許可ですが、これだけではドラッグできないです
メッセージのイベントが発生しないのですが、どこがわるいのでしょうか?
ドラッグエンターというのは領域内にドラッグされたら発生するイベントかと思います
{
AllowDrop = true;
MessageBox.Show("ドラッグエンター");
}
ドラッグの許可ですが、これだけではドラッグできないです
メッセージのイベントが発生しないのですが、どこがわるいのでしょうか?
ドラッグエンターというのは領域内にドラッグされたら発生するイベントかと思います
2019/03/08(金) 17:25:49.29ID:KslHfI7m
>>9
AllowDrop = true;はthis.AllowDrop = true;と同じ。つまりフォームのAllowDrop = true;の設定
それ以前にpictureBoxのドロップイベントでpictureBox.AllowDrop = trueにしようとしているみたいだけど無意味
コントロールの設定はどこでやるべきかわからない?もう少し考えてから質問するようにしないと
AllowDrop = true;はthis.AllowDrop = true;と同じ。つまりフォームのAllowDrop = true;の設定
それ以前にpictureBoxのドロップイベントでpictureBox.AllowDrop = trueにしようとしているみたいだけど無意味
コントロールの設定はどこでやるべきかわからない?もう少し考えてから質問するようにしないと
11デフォルトの名無しさん
2019/03/08(金) 17:25:58.73ID:dOPZ4GNG どうやらピクチャーボックスの許可の問題のようです
panelなら問題なくメッセージが出ます
そちらについて調べてみます
panelなら問題なくメッセージが出ます
そちらについて調べてみます
12デフォルトの名無しさん
2019/03/08(金) 17:27:22.36ID:dOPZ4GNG >>10
pictureboxはドロップを許可できないということですか?
pictureboxはドロップを許可できないということですか?
2019/03/08(金) 17:34:42.50ID:KslHfI7m
クラスのコンストラクタ、プロパティなど勉強して出直してきなさい
14デフォルトの名無しさん
2019/03/08(金) 17:43:07.32ID:dOPZ4GNG はい
2019/03/08(金) 21:09:46.20ID:unDD4xx5
ドラッグドロップって面倒臭いな。糞サンプル書いてみた
public Form1()
{
InitializeComponent();
listBox1.Items.AddRange(GetWebColors().Cast<object>().ToArray());
pictureBox1.AllowDrop = true;
}
private Color? mDataToDrop;
static IEnumerable<Color> GetWebColors()
{
foreach (PropertyInfo info in typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static))
yield return (Color)info.GetValue(null, null);
}
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left) return;
var index = listBox1.IndexFromPoint(e.Location);
if (index < 0) return;
mDataToDrop = (Color)listBox1.Items[index];
}
public Form1()
{
InitializeComponent();
listBox1.Items.AddRange(GetWebColors().Cast<object>().ToArray());
pictureBox1.AllowDrop = true;
}
private Color? mDataToDrop;
static IEnumerable<Color> GetWebColors()
{
foreach (PropertyInfo info in typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static))
yield return (Color)info.GetValue(null, null);
}
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left) return;
var index = listBox1.IndexFromPoint(e.Location);
if (index < 0) return;
mDataToDrop = (Color)listBox1.Items[index];
}
2019/03/08(金) 21:10:55.42ID:unDD4xx5
private void listBox1_MouseMove(object sender, MouseEventArgs e)
{
if (!e.Button.HasFlag(MouseButtons.Left)) mDataToDrop = null;
if (mDataToDrop != null)
listBox1.DoDragDrop(mDataToDrop, DragDropEffects.All);
}
private void pictureBox1_DragDrop(object sender, DragEventArgs e)
{
var color = e.Data.GetData(typeof(Color)) as Color?;
if (color != null) pictureBox1.BackColor = color.Value;
}
private void pictureBox1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
{
if (!e.Button.HasFlag(MouseButtons.Left)) mDataToDrop = null;
if (mDataToDrop != null)
listBox1.DoDragDrop(mDataToDrop, DragDropEffects.All);
}
private void pictureBox1_DragDrop(object sender, DragEventArgs e)
{
var color = e.Data.GetData(typeof(Color)) as Color?;
if (color != null) pictureBox1.BackColor = color.Value;
}
private void pictureBox1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
2019/03/08(金) 21:13:48.36ID:unDD4xx5
>>15を書いてて疑問に思ったんだが、ListBoxってマウスがキャプチャーされないのか?
ListBoxのクライアント領域の外でマウスのボタンを離してもMouseUpが発生しないけど何なのこれ。
変だよね?
ListBoxのクライアント領域の外でマウスのボタンを離してもMouseUpが発生しないけど何なのこれ。
変だよね?
2019/03/08(金) 21:45:39.00ID:S6VEx3Fw
>>5
答えそのものをあげる
https://ideone.com/p9Hui9
Windowsフォームアプリケーションを作る
ソリューションエクスプローラーからForm1.csとProgram.csを削除する
ソリューションエクスプローラーのプロジェクトで追加->既存の項目でダウンロードしたcsファイルを追加する
ビルドして完成
左のボックスにはエクスプローラーから画像をドロップできる
右のボックスは左のボックスからドロップできる
答えそのものをあげる
https://ideone.com/p9Hui9
Windowsフォームアプリケーションを作る
ソリューションエクスプローラーからForm1.csとProgram.csを削除する
ソリューションエクスプローラーのプロジェクトで追加->既存の項目でダウンロードしたcsファイルを追加する
ビルドして完成
左のボックスにはエクスプローラーから画像をドロップできる
右のボックスは左のボックスからドロップできる
2019/03/09(土) 01:21:53.28ID:RHbC4qfa
2019/03/09(土) 01:38:55.18ID:cfwlR9A2
ReadLineとParseはどういう違いがあるのでしょうか?
どちらも入力を行うための物みたいですが違いが分かりません。
https://ufcpp.net/study/csharp/st_consoleio.htmlを見ながらやってます
どちらも入力を行うための物みたいですが違いが分かりません。
https://ufcpp.net/study/csharp/st_consoleio.htmlを見ながらやってます
2019/03/09(土) 01:56:17.70ID:N1XPQc7R
1+1は2になるのに1×1はなんで1なんですか違いがわかりません、みたいな質問だ
2019/03/09(土) 02:36:17.53ID:FZa5GqcE
2019/03/09(土) 02:58:14.98ID:cfwlR9A2
24デフォルトの名無しさん
2019/03/10(日) 05:02:53.58ID:enIE2ATr form1.csというファイル自体はクラスとは言わないのでしょうか?
2019/03/10(日) 08:00:13.99ID:xzUDrYOg
いわない
26デフォルトの名無しさん
2019/03/10(日) 08:48:37.14ID:enIE2ATr ↑ありがとぅございます
27デフォルトの名無しさん
2019/03/10(日) 08:49:07.21ID:enIE2ATr ドラッグイベントについてなんですが、やり方としてはマウスの位置にコントロールを移動させると考えて良いでしょうか?
2019/03/10(日) 09:47:12.78ID:MYQ0O9oy
>>24
「クラスが何か」って説明は自分が>>20で書いたサイトを読み進めれば書いてあるのにまだ読んでないの?
https://ufcpp.net/study/csharp/oo_class.html
>>27
>15-16,18のどこに「マウスの位置にコントロールを移動」している部分がある?
マウス止めてそこにコントロール持ってくることがまずおかしいでしょ
>16はlistBox1.DoDragDrop(mDataToDrop, DragDropEffects.All);
>18はpictureBox1.DoDragDrop(dataObj, DragDropEffects.Copy);
のそれぞれが「ドラッグドロップを開始(DoDragDrop)」
そしてDragDropイベントでコントロールに対する「ドラッグドロップを受ける」動作になっている
「クラスが何か」って説明は自分が>>20で書いたサイトを読み進めれば書いてあるのにまだ読んでないの?
https://ufcpp.net/study/csharp/oo_class.html
>>27
>15-16,18のどこに「マウスの位置にコントロールを移動」している部分がある?
マウス止めてそこにコントロール持ってくることがまずおかしいでしょ
>16はlistBox1.DoDragDrop(mDataToDrop, DragDropEffects.All);
>18はpictureBox1.DoDragDrop(dataObj, DragDropEffects.Copy);
のそれぞれが「ドラッグドロップを開始(DoDragDrop)」
そしてDragDropイベントでコントロールに対する「ドラッグドロップを受ける」動作になっている
2019/03/10(日) 12:28:17.59ID:Gkjt178x
.Net Frameworkの標準クラスライブラリにある全インターフェースの機能見たいんだけど
MSDNしかない?
MSDNしかない?
2019/03/10(日) 12:30:03.47ID:Gkjt178x
IEnumerable<T>
ICollection<T>
IList<T>
これって分けてる意味あるの?全部IListでよくない?
ICollection<T>
IList<T>
これって分けてる意味あるの?全部IListでよくない?
2019/03/10(日) 12:39:21.20ID:/0JR1y5c
2019/03/10(日) 12:41:31.02ID:/0JR1y5c
LINQみたいな(値の集合ではなく)シーケンスとして扱うライブラリも存在できなくなるね
2019/03/10(日) 12:44:15.26ID:w/W9tZbl
使う側からしても大は小を兼ねるは無い。
いざメソッドを使ってみたら、NotSupportedException例外が飛んでくるとか嫌でしょ。
いざメソッドを使ってみたら、NotSupportedException例外が飛んでくるとか嫌でしょ。
2019/03/10(日) 12:53:53.37ID:Gkjt178x
IList使ったからって容量が膨大になるわけじゃないでしょ?
謎すぎる
謎すぎる
2019/03/10(日) 12:55:34.57ID:Gkjt178x
機能の意義の話か
列挙して読み取りするだけの機能なのに
AddやRemove機能ついてるのもおかしいよねって話か
列挙して読み取りするだけの機能なのに
AddやRemove機能ついてるのもおかしいよねって話か
2019/03/10(日) 13:39:12.23ID:Bl+LQorv
IEnumerable 読み取り専用、前方走査可能
ICollection 読み書き可能、集合全般(順序有り集合、順序無し集合など集合のスーパーセット)
IList 読み書き可能、順序有り集合、ランダムアクセス可能(実装上ランダムアクセスを装っているだけのものもあるが)
それぞれ特性が全く異なるので使い分けが必要です
ICollection 読み書き可能、集合全般(順序有り集合、順序無し集合など集合のスーパーセット)
IList 読み書き可能、順序有り集合、ランダムアクセス可能(実装上ランダムアクセスを装っているだけのものもあるが)
それぞれ特性が全く異なるので使い分けが必要です
37デフォルトの名無しさん
2019/03/10(日) 15:23:21.02ID:edisDenU そういや、インターフェイスの使い方が全く身につかん
DI等でインターフェイスを使うことが強制される場面を除いては使ったこともない・・・・
どうすればまともなコードを書けるように練習できるん?
DI等でインターフェイスを使うことが強制される場面を除いては使ったこともない・・・・
どうすればまともなコードを書けるように練習できるん?
2019/03/10(日) 15:27:43.76ID:Qg4Urcrv
>>37
うまい人の真似をする
うまい人の真似をする
2019/03/10(日) 16:21:58.08ID:Bl+LQorv
>>37
SOLIDの原則を忠実に守ること
SOLIDの原則を忠実に守ること
40デフォルトの名無しさん
2019/03/10(日) 18:13:18.92ID:edisDenU2019/03/10(日) 18:57:05.34ID:km5dayCM
異なるクラスなんだけど、List〈インターフェース〉とかにして、foreach回したり出来るのがうれしいってことでおけ?
2019/03/10(日) 23:29:01.92ID:km5dayCM
WPF覚えると何か嬉しい事ありますか?フォームとの違いが知りたい。
2019/03/11(月) 01:11:20.16ID:Igp7kTHu
>>42
MVVMという概念を知ることができる
MVVMという概念を知ることができる
2019/03/11(月) 18:06:04.14ID:5tiLwPRT
IEの自動操縦には大分慣れてきました。
そこで今回、
MicrosoftEdgeを自動操縦したいと思います。
この方法を解説している良いブログなどありませんか?
そこで今回、
MicrosoftEdgeを自動操縦したいと思います。
この方法を解説している良いブログなどありませんか?
2019/03/11(月) 18:31:16.05ID:S3Rt/8QB
>>42
名前を付けなくても良いパターンとか
名前を付けなくても良いパターンとか
46デフォルトの名無しさん
2019/03/11(月) 23:09:01.60ID:5DvwA+Xd2019/03/12(火) 08:00:12.93ID:oX4bYoPv
2019/03/12(火) 19:24:44.44ID:jjO1F8u1
2019/03/12(火) 19:25:44.20ID:jjO1F8u1
2019/03/12(火) 19:27:41.38ID:gTDSlBH3
2019/03/12(火) 21:04:22.37ID:t9nw0tv2
pythonとかのコードコピーしてもエラーになるからな。
若干メソッドが違う。その辺の勘所あれば大丈夫。
若干メソッドが違う。その辺の勘所あれば大丈夫。
2019/03/13(水) 10:40:43.08ID:aEeMgLuC
>>50
ほんまやね。
久々にC#のWindowsFormを使ってるんですが
右上の「×」ボタンをなくすにはどうすればよいですか?
自前で「閉じる」ボタンを用意しているので
邪魔なので消し去りたいのです。
ほんまやね。
久々にC#のWindowsFormを使ってるんですが
右上の「×」ボタンをなくすにはどうすればよいですか?
自前で「閉じる」ボタンを用意しているので
邪魔なので消し去りたいのです。
2019/03/13(水) 11:40:37.06ID:y4WTTUAI
ControlBoxをfalseにすれば最大化最小化ボタンとともに消せる
単独で消す方法は特にない
単独で消す方法は特にない
2019/03/13(水) 12:10:14.62ID:aEeMgLuC
>>53
サンクス
サンクス
2019/03/13(水) 12:41:50.39ID:aEeMgLuC
サイトに自動ログインしたいのですが
ID/PASSの自動入力、ログインボタンのクリックはできました。
しかし、Googleの認証エリア(私はロボットではありません。 reCAPTCHA)へのチェックを
どうしても入れられません。
iFrameを使っているみたいなのですが、
こういう場合ってIEの自動操縦で操作する事は無理でしょうか?
自動ログインをして手間を省きたいのです。
ID/PASSの自動入力、ログインボタンのクリックはできました。
しかし、Googleの認証エリア(私はロボットではありません。 reCAPTCHA)へのチェックを
どうしても入れられません。
iFrameを使っているみたいなのですが、
こういう場合ってIEの自動操縦で操作する事は無理でしょうか?
自動ログインをして手間を省きたいのです。
2019/03/13(水) 14:12:54.35ID:oz2fTnLu
>>55
AIの出番
AIの出番
2019/03/13(水) 15:29:39.84ID:J7uH1zio
まぁそういう自動ログインを防ぐための仕組みだしなぁ
googleと勝負するかそのサービス提供者にrecaptcha外してもらうかくらいじゃない?
googleと勝負するかそのサービス提供者にrecaptcha外してもらうかくらいじゃない?
2019/03/13(水) 18:14:15.39ID:aEeMgLuC
2019/03/13(水) 18:40:07.18ID:J7uH1zio
>>58
キーが送れるなら普通はspaceでチェックボックスonできるけどrecaptchaを突破できるかはしらん
キーが送れるなら普通はspaceでチェックボックスonできるけどrecaptchaを突破できるかはしらん
2019/03/13(水) 18:59:57.06ID:aEeMgLuC
2019/03/13(水) 23:11:05.05ID:K5xsHdh9
自動ログインしてるとロボット判定くらって
パズルやる羽目になるんじゃないかな。
パズルやる羽目になるんじゃないかな。
2019/03/14(木) 01:36:16.07ID:SO0caDlp
2019/03/14(木) 17:17:00.07ID:SO0caDlp
Navigate と Navigate2の違いは何ですか?
サイトによって前者だったり後者だったりします。
サイトによって前者だったり後者だったりします。
2019/03/15(金) 09:02:12.36ID:ECrabEC5
https://docs.microsoft.com/en-us/previous-versions/aa752134
IWebBrowser2::Navigate2のことなら
> This method extends the IWebBrowser2::Navigate method to allow for Shell integration;
> however, this method does not make IWebBrowser2::Navigate obsolete.
> The original method can still be used for URL navigations.
IWebBrowser2::Navigate2のことなら
> This method extends the IWebBrowser2::Navigate method to allow for Shell integration;
> however, this method does not make IWebBrowser2::Navigate obsolete.
> The original method can still be used for URL navigations.
2019/03/15(金) 09:03:53.21ID:ECrabEC5
あ、docsってURLの末尾の括弧抜くとリンクできないのか…?
https://docs.microsoft.com/en-us/previous-versions/aa752134%28v%3dvs.85%29
https://docs.microsoft.com/en-us/previous-versions/aa752134%28v%3dvs.85%29
2019/03/15(金) 09:46:32.60ID:EAyT7KDv
↑そんなページあったんや。
サンクス
サンクス
67デフォルトの名無しさん
2019/03/15(金) 15:32:11.15ID:4iy7KMFj 「実戦で役立つ C#プログラミングのイディオム/定石&パターン」っていう本が気になるんですが、これってSOLIDの原則みたいなものが解説されてる本なんですか?
https://www.amazon.co.jp/dp/4774187585
本の題名から、デザインパターンの本っぽく見えるものの、見方を変えればただの逆引き系テクニック本っぽくも見えて判別が付きません・・・・
持ってる人いたら教えて!
https://www.amazon.co.jp/dp/4774187585
本の題名から、デザインパターンの本っぽく見えるものの、見方を変えればただの逆引き系テクニック本っぽくも見えて判別が付きません・・・・
持ってる人いたら教えて!
68デフォルトの名無しさん
2019/03/15(金) 15:42:07.07ID:SEjqglYP ときどき話題になるけど
初心者用
プログラマーなら大半が無駄
初心者用
プログラマーなら大半が無駄
2019/03/15(金) 17:53:39.10ID:FRygED1T
70デフォルトの名無しさん
2019/03/15(金) 18:57:25.93ID:4iy7KMFj これかあ・・・なんと540ページ・・・・やっぱりこれ級の本が必要なの?
https://www.amazon.co.jp/dp/4822253546
本当はレジュメ10枚とかそんな簡単なのが欲しいんだけどそういう傾向のはないのかな
https://www.amazon.co.jp/dp/4822253546
本当はレジュメ10枚とかそんな簡単なのが欲しいんだけどそういう傾向のはないのかな
2019/03/15(金) 20:16:15.98ID:c5iTEfMf
「自分用に要約したまとめが欲しい」ってC#の自由度だと無理
ネットで公開されているオープンソースのもの読んで勉強したら本買うことも無い
ネットで公開されているオープンソースのもの読んで勉強したら本買うことも無い
2019/03/15(金) 21:42:32.93ID:YxtrToe/
2019/03/16(土) 11:34:56.31ID:DBWOZzSE
今更の質問ですが
ブラウザの自動操縦はC#で行ってました。
VBAで自動ログインだったりスクレイピングもできますか???
だとするとC#で抽出してExcelに転記する必要なかったなぁ〜〜〜
ブラウザの自動操縦はC#で行ってました。
VBAで自動ログインだったりスクレイピングもできますか???
だとするとC#で抽出してExcelに転記する必要なかったなぁ〜〜〜
2019/03/16(土) 15:22:00.40ID:rerYIj+i
2019/03/16(土) 21:28:06.14ID:DBWOZzSE
76デフォルトの名無しさん
2019/03/18(月) 03:01:47.93ID:Orngtrfp >>70
レビュー全然無いやん
レビュー全然無いやん
2019/03/18(月) 17:41:01.21ID:oR4heX+u
便利なツールを作りました。
しかし、悪い奴がそれをコピーして複数端末で使われると困ります。
そこでアドビ製品の様なライセンス制御の仕組みを取り入れたいのですが
何か参考になるサイトはありますか?
不正利用防止対策としてユーザに一意のキーを埋め込んで
アプリの起動時にWEBサーバにその情報を送って突合させようかと思っています。
何かもっとスマートなやり方をご存知の方はいませんか?
しかし、悪い奴がそれをコピーして複数端末で使われると困ります。
そこでアドビ製品の様なライセンス制御の仕組みを取り入れたいのですが
何か参考になるサイトはありますか?
不正利用防止対策としてユーザに一意のキーを埋め込んで
アプリの起動時にWEBサーバにその情報を送って突合させようかと思っています。
何かもっとスマートなやり方をご存知の方はいませんか?
2019/03/18(月) 17:44:06.83ID:pLo5oLE9
C#で作っていたらアクチだろうが何だろうがILSPYあたりで逆アセンブルされるから無駄
アクチ部分抜いてビルドしなおせば終わる
アクチ部分抜いてビルドしなおせば終わる
2019/03/18(月) 17:54:42.57ID:4bO+uLM3
2019/03/19(火) 22:47:35.46ID:lhNrB1l4
2019/03/19(火) 22:54:33.28ID:qnLJux/M
ドングル使う手もあるよね。
まあそんなケツの穴の小さいこと考えないのが一番簡単ではある
まあそんなケツの穴の小さいこと考えないのが一番簡単ではある
2019/03/19(火) 23:09:05.45ID:lhNrB1l4
↑はじめてきいたわ
そんなのあったんだ。
うーんまいったなー
一定の割合で犯罪者がいるから悩む
そんなのあったんだ。
うーんまいったなー
一定の割合で犯罪者がいるから悩む
2019/03/20(水) 00:39:48.00ID:v7tyiNru
web認証プラス重要なメソッドをwebapi化すれば本体リコンパイルされても再現不可能だな。
2019/03/20(水) 09:40:49.70ID:4fAbiRjS
2019/03/20(水) 12:49:53.54ID:ymiEsgRk
ここで聞くような人のものをそんな手間かけて使うのかって話
2019/03/20(水) 13:05:24.17ID:/jX7WF9n
対応する工数とそれで得られる利益が見合うならやればいい
adobe製品とかならまだしも見合うことなんてまず無いから
不正利用者はセキュリティしっかりしてたらそもそも利用しないから対応しても利益にはならない
adobe製品とかならまだしも見合うことなんてまず無いから
不正利用者はセキュリティしっかりしてたらそもそも利用しないから対応しても利益にはならない
2019/03/20(水) 13:15:41.54ID:ZZcTomnN
簡単な認証かけておけばカジュアルコピーは防げる。
リバースエンジニアリングまでするようなのは少数なはずだから、無視するのが現実的。
ガチでやるならドングル。面倒臭いから正規利用者からも嫌われるけど。
リバースエンジニアリングまでするようなのは少数なはずだから、無視するのが現実的。
ガチでやるならドングル。面倒臭いから正規利用者からも嫌われるけど。
2019/03/20(水) 13:47:25.53ID:4fAbiRjS
2019/03/20(水) 14:08:39.22ID:/jX7WF9n
どういうアプリかしらんけどIPみたいコロコロ変わるもんを認証に使って大丈夫なの?
macアドレスとか取ればいいんでね?
偽装は簡単にできるけどそういうのはスルーするんだろうし
とはいえ購入者が別端末使ったりPC買い換えるだけで不正利用扱いされることにはなるが
macアドレスとか取ればいいんでね?
偽装は簡単にできるけどそういうのはスルーするんだろうし
とはいえ購入者が別端末使ったりPC買い換えるだけで不正利用扱いされることにはなるが
2019/03/20(水) 14:20:50.41ID:4fAbiRjS
>>89
おお!!いいですね!!
@ユーザ個別の識別キー
Aユーザ利用のMACアドレス
BIPアドレス
カジュアルライセンス制御は、これでうまくいけそうです!
(一部の犯罪者はもうスルーします。どうせ作れるだろうし、、、)
おお!!いいですね!!
@ユーザ個別の識別キー
Aユーザ利用のMACアドレス
BIPアドレス
カジュアルライセンス制御は、これでうまくいけそうです!
(一部の犯罪者はもうスルーします。どうせ作れるだろうし、、、)
2019/03/20(水) 14:23:53.82ID:JR1ztFlD
というか、毎回認証するのはユーザーにとっても提供側にとっても負担大き過ぎでしょw
ネットつないでないと使えないし
普通にMSのアクティベーションと同様の仕組みでいいでしょ。
プロダクトキー使って一度認証したらライセンス返上するまでずっと有効。
1つのプロダクトキーがいくつかの(通常は一つ)のライセンス枠を持ってる。
枠が全部埋まってると誰かが返上して空きができない限り新たな認証はできない
以前使ってたTIの開発ツールはこんな感じだったよ
ネットつないでないと使えないし
普通にMSのアクティベーションと同様の仕組みでいいでしょ。
プロダクトキー使って一度認証したらライセンス返上するまでずっと有効。
1つのプロダクトキーがいくつかの(通常は一つ)のライセンス枠を持ってる。
枠が全部埋まってると誰かが返上して空きができない限り新たな認証はできない
以前使ってたTIの開発ツールはこんな感じだったよ
2019/03/20(水) 14:24:23.91ID:ZZcTomnN
2019/03/20(水) 14:43:00.12ID:4fAbiRjS
2019/03/20(水) 14:48:01.78ID:ZZcTomnN
>>93
偽装はともかく、正規ユーザーが不正判定され易いのは問題だよ。
偽装はともかく、正規ユーザーが不正判定され易いのは問題だよ。
2019/03/20(水) 14:58:40.20ID:/jX7WF9n
不正対策のために正規利用者が不利益を被ることは極力避けるべき
大抵が開発者の自己満足
ちょっとした手順が必要になるだけでも使い勝手は極端に下がる
ましてや誤って不正利用認定なんかされた日にはもう2度と関わりたくないと思う
さらにwebサーバーの常時保守と認証周りでのトラブルのカスタマーサポートとかまで考えたら本当に必要な工数なのかも疑わしい
そこまでする必要があるレベルのプロダクトならいちいちこんなところで質問なんて投げないだろうしね
大抵が開発者の自己満足
ちょっとした手順が必要になるだけでも使い勝手は極端に下がる
ましてや誤って不正利用認定なんかされた日にはもう2度と関わりたくないと思う
さらにwebサーバーの常時保守と認証周りでのトラブルのカスタマーサポートとかまで考えたら本当に必要な工数なのかも疑わしい
そこまでする必要があるレベルのプロダクトならいちいちこんなところで質問なんて投げないだろうしね
2019/03/20(水) 15:04:53.44ID:4fAbiRjS
2019/03/20(水) 17:10:46.92ID:/jX7WF9n
鯖への攻撃まで考慮しなきゃいけないくらいでかいソフトなの?
どんだけ高価なもん作ってるのか知らんけどパス付きzip程度じゃあかんの?
どんだけ高価なもん作ってるのか知らんけどパス付きzip程度じゃあかんの?
2019/03/20(水) 17:17:15.36ID:4fAbiRjS
2019/03/20(水) 17:17:40.52ID:lRuTUQCz
もうC#の話じゃないよな
100デフォルトの名無しさん
2019/03/20(水) 17:25:55.06ID:4fAbiRjS 不正コピー対策は必須ですよ
101デフォルトの名無しさん
2019/03/20(水) 17:33:20.02ID:ZZcTomnN102デフォルトの名無しさん
2019/03/20(水) 17:34:45.92ID:lRuTUQCz 自分の作ったソフト売りたいって話なら言語は関係ない
パッケージソフトなら不正コピーの心配必要だけどユーザー登録型のライセンス販売なら普通はサポート見込んで買うからそんな心配するのがおかしい
パッケージソフトなら不正コピーの心配必要だけどユーザー登録型のライセンス販売なら普通はサポート見込んで買うからそんな心配するのがおかしい
103デフォルトの名無しさん
2019/03/20(水) 17:45:20.84ID:4fAbiRjS >ユーザー登録型のライセンス販売
1か月1000円で販売予定
1か月1000円で販売予定
104デフォルトの名無しさん
2019/03/20(水) 18:31:09.68ID:/jX7WF9n 悪いやつがいるかいないかなんて話してないんだけど伝わらんな
悪いやつに対処するコストと悪いことされたときの被害額が見合うかって話だ
実被害なんてほぼ出ないのに無駄に開発コストかける意味は?
売れて実被害が出てから対策したって十分だよ
悪いやつに対処するコストと悪いことされたときの被害額が見合うかって話だ
実被害なんてほぼ出ないのに無駄に開発コストかける意味は?
売れて実被害が出てから対策したって十分だよ
105デフォルトの名無しさん
2019/03/20(水) 18:42:13.33ID:qInZcA4b この知識レベルだとライセンスの前にセキュリティが不安になる
106デフォルトの名無しさん
2019/03/20(水) 18:45:55.97ID:/jX7WF9n 初心者用で質問する人が月額モデルでしかも1000円も取るのか
そもそも月額モデルなら毎月の引き落としどうすんの?
クレカは?全部自前で用意すんの?
せめてvectorとか使ってシェアウェアにしときな
有料ソフトがいかに売れないかを知る良い体験できるよ
そもそも月額モデルなら毎月の引き落としどうすんの?
クレカは?全部自前で用意すんの?
せめてvectorとか使ってシェアウェアにしときな
有料ソフトがいかに売れないかを知る良い体験できるよ
107デフォルトの名無しさん
2019/03/20(水) 21:28:40.21ID:pSND/w6U SDカードって確かこっそりCPRM対応だと思ったけど、
あれをドングル的に流用できたりしないかなとちょっと思ったがどうだろう
CPRMの仕組みを理解してないので的外れかもしれんがw
あれをドングル的に流用できたりしないかなとちょっと思ったがどうだろう
CPRMの仕組みを理解してないので的外れかもしれんがw
108デフォルトの名無しさん
2019/03/20(水) 21:39:22.32ID:F2Rf/YlT データ整形について質問です。
Dictionary< string, object > に属性名、属性値が格納されています。
例
Key:Value
開催日:2019/3/20
場所:東京
1名前:太郎
1誕生日:2000/1/1
1年齢:19
2名前:花子
2誕生日:1998/2/14
2備考:魚アレルギー
これをDetail型(開催日,場所,名前,誕生日,年齢,備考)の配列かListに変換したいです。
1,2,...がとても不格好で整形しづらいのですが、変更が許されません。
この数字は多くても6個です。また、数字によっては該当の属性名がないものもあります。
なにかよい方法はないでしょうか。
Dictionary< string, object > に属性名、属性値が格納されています。
例
Key:Value
開催日:2019/3/20
場所:東京
1名前:太郎
1誕生日:2000/1/1
1年齢:19
2名前:花子
2誕生日:1998/2/14
2備考:魚アレルギー
これをDetail型(開催日,場所,名前,誕生日,年齢,備考)の配列かListに変換したいです。
1,2,...がとても不格好で整形しづらいのですが、変更が許されません。
この数字は多くても6個です。また、数字によっては該当の属性名がないものもあります。
なにかよい方法はないでしょうか。
109デフォルトの名無しさん
2019/03/20(水) 22:12:29.79ID:4fAbiRjS >>106
むっちゃ便利やねん
むっちゃ便利やねん
110デフォルトの名無しさん
2019/03/20(水) 22:30:16.54ID:pSND/w6U >>108
こんなので出来ない?
検証してないので知らんけど
public class Detail
{
public static Detail RetrieveFromDictionay(Dictionary<string, object> dic, int index)
{
var d = new Detail();
foreach (PropertyInfo info in typeof(Detail).GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
var key = $"{index}{info.Name}";
object obj;
if (dic.TryGetValue(key, out obj))
if (obj.GetType() == info.PropertyType) info.SetValue(d, obj);
}
return d;
}
public DateTime 開催日 { get; set; }
public string 場所 { get; set; }
public string 名前 { get; set; }
public DateTime 誕生日 { get; set; }
public int 年齢 { get; set; }
public string 備考 { get; set; }
}
こんなので出来ない?
検証してないので知らんけど
public class Detail
{
public static Detail RetrieveFromDictionay(Dictionary<string, object> dic, int index)
{
var d = new Detail();
foreach (PropertyInfo info in typeof(Detail).GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
var key = $"{index}{info.Name}";
object obj;
if (dic.TryGetValue(key, out obj))
if (obj.GetType() == info.PropertyType) info.SetValue(d, obj);
}
return d;
}
public DateTime 開催日 { get; set; }
public string 場所 { get; set; }
public string 名前 { get; set; }
public DateTime 誕生日 { get; set; }
public int 年齢 { get; set; }
public string 備考 { get; set; }
}
111デフォルトの名無しさん
2019/03/20(水) 22:30:19.68ID:C7TIImgv >>108
全keyを走査しながら1個1個処理していけばいいだけに見えるけどそれじゃだめ?
全keyを走査しながら1個1個処理していけばいいだけに見えるけどそれじゃだめ?
112デフォルトの名無しさん
2019/03/20(水) 22:39:16.99ID:Bg9D9rdv UWPで作れば色々面倒なことはMSが面倒見てくれるけどな
あの範囲で問題ないプログラム限定では有るが
あの範囲で問題ないプログラム限定では有るが
113デフォルトの名無しさん
2019/03/21(木) 10:46:12.53ID:WMeBK6gL >>110
できました。ありがとうございます。
勉強になりました。
ちなみにプロパティ名が英語の場合、もう一つ日本語と英語名が対になったDictionaryを定義して、そこから参照する形がいいでしょうか。
できました。ありがとうございます。
勉強になりました。
ちなみにプロパティ名が英語の場合、もう一つ日本語と英語名が対になったDictionaryを定義して、そこから参照する形がいいでしょうか。
114デフォルトの名無しさん
2019/03/21(木) 22:45:29.76ID:vrM85+ig Adobe製品の開発言語は、逆アセンブルされない為にC++で開発してるの?
115デフォルトの名無しさん
2019/03/22(金) 00:28:45.55ID:QnQyasxD C#でArrayListのSortを実行すると
昇順で並び替えられています。
これをDESC(降順)で行うにはどうすればよいですか?
LINQとやらを使った方が確実かな〜。
昇順で並び替えられています。
これをDESC(降順)で行うにはどうすればよいですか?
LINQとやらを使った方が確実かな〜。
116デフォルトの名無しさん
2019/03/22(金) 00:47:13.07ID:pVVdiXqm Sort()した後でReverse()すればいいよ
ArrayListだとSortだけで逆順にするにはIComparer書く必要があってだるいし
というか今時ArrayListなんて使ってないでList<T>使おう
ArrayListだとSortだけで逆順にするにはIComparer書く必要があってだるいし
というか今時ArrayListなんて使ってないでList<T>使おう
117デフォルトの名無しさん
2019/03/22(金) 00:48:26.04ID:QnQyasxD118デフォルトの名無しさん
2019/03/26(火) 13:13:53.47ID:DPMd1MEr VBAでごにょごにょやった方が効率いいね。
119デフォルトの名無しさん
2019/03/26(火) 18:39:16.11ID:DPMd1MEr VBAには、#region #endregion 的な機能はありますか?
コードが長くなってしまって縮小したいです。
コードが長くなってしまって縮小したいです。
120デフォルトの名無しさん
2019/03/26(火) 20:36:10.97ID:A7GEbRVd たぶんないと思うけどVBAスレで聞いた方がいいね
121デフォルトの名無しさん
2019/03/26(火) 21:09:29.22ID:DPMd1MEr ないのか
122デフォルトの名無しさん
2019/03/29(金) 18:21:05.18ID:ukrtQ6PV VS2017で
前のブックマークへ移動するショートカットコマンドですが
Control + K → P
はもう使えなくなったのでしょうか?
Control + B → P は使えます。
ただ、「K」はVS2010では普通に使えていたはずなのですが、、、
前のブックマークへ移動するショートカットコマンドですが
Control + K → P
はもう使えなくなったのでしょうか?
Control + B → P は使えます。
ただ、「K」はVS2010では普通に使えていたはずなのですが、、、
123デフォルトの名無しさん
2019/03/29(金) 18:30:25.09ID:yqow3AID124デフォルトの名無しさん
2019/03/31(日) 01:56:40.68ID:RIl4YBWE 例えばセッターのみが非publicなプロパティーがあるとして、
セッターにアクセスできるスコープからのみ見えるXMLコメントを
書くみたいなことって可能だったっけ?
セッターにアクセスできるスコープからのみ見えるXMLコメントを
書くみたいなことって可能だったっけ?
125デフォルトの名無しさん
2019/04/05(金) 16:23:35.92ID:q6NWzxZh IEを自動起動して、スクレイピングのプログラムを作っています。
スクレイピングに詳しい人教えてください。
ページ内にliが複数あるため、getElementByTagNameでliを指定すると
全部の要素を走査してしまい、時間が結構かかっています。
そこで上位ブロックの divのidが[id_koregahosii]になっている
liの要素を取得するといったコードを書きたいのですが
よい方法はありますでしょうか?
<div id="id_aaa"><li>あいうえお</li></div>
<div id="id_bbb"><li>かきくけこ</li></div>
・・・複数(1000以上)・・・
<div id="id_koregahosii"><li>このliを取得した</li></div>
mshtml_ec = ie.Document.getElementsByTagName("li");
foreach (mshtml.IHTMLElement i_ele in mshtml_ec)
{
//取得したデータを変数にセット
}
スクレイピングに詳しい人教えてください。
ページ内にliが複数あるため、getElementByTagNameでliを指定すると
全部の要素を走査してしまい、時間が結構かかっています。
そこで上位ブロックの divのidが[id_koregahosii]になっている
liの要素を取得するといったコードを書きたいのですが
よい方法はありますでしょうか?
<div id="id_aaa"><li>あいうえお</li></div>
<div id="id_bbb"><li>かきくけこ</li></div>
・・・複数(1000以上)・・・
<div id="id_koregahosii"><li>このliを取得した</li></div>
mshtml_ec = ie.Document.getElementsByTagName("li");
foreach (mshtml.IHTMLElement i_ele in mshtml_ec)
{
//取得したデータを変数にセット
}
126デフォルトの名無しさん
2019/04/05(金) 16:53:09.70ID:x8OJz+Ud .Document,getElementByIdしてからそのIHTMLElement2に対してgetElementsByTagNameすればいいんじゃね
127デフォルトの名無しさん
2019/04/05(金) 17:31:16.88ID:q6NWzxZh128デフォルトの名無しさん
2019/04/06(土) 23:59:31.30ID:8OPSxgse DataGridViewで特定列を除いて
編集させたくないので以下コードを書きました。
dgv_test.AllowUserToAddRows = false;
dgv_test.AllowUserToDeleteRows = false;
dgv_test.ReadOnly= true;
ただし、その中のCheckBox列だけは
チェックのON/OFFを出来る様にしたいです。
これを実現するにはどういうコードをかけば良いのでしょうか?
編集させたくないので以下コードを書きました。
dgv_test.AllowUserToAddRows = false;
dgv_test.AllowUserToDeleteRows = false;
dgv_test.ReadOnly= true;
ただし、その中のCheckBox列だけは
チェックのON/OFFを出来る様にしたいです。
これを実現するにはどういうコードをかけば良いのでしょうか?
129デフォルトの名無しさん
2019/04/07(日) 00:20:04.80ID:J7v3B2LO 地道に全セルをなめてReadOnlyを設定して
実現できました。
実現できました。
130デフォルトの名無しさん
2019/04/07(日) 01:32:05.92ID:J7v3B2LO 助けてくださいm(_)m
DataGridViewの2列目(インデックスは1)がチェックボックスです。
画面上でチェックを入れ「実行」ボタンを押した時に
その行にチェックが入っているかを判定しようとしていますが
うまくできません。。。どう判定したらいいのでしょうか?
エラー
ハンドルされていない例外
System.InvalidCasException:'指定されたキャストは有効ではありません。'
if ((bool)dgv_test[1, i_row].Value == true ) ← ここでエラーが発生
{
Debug.WriteLine("checkあり");
}
else
{
Debug.WriteLine("checkなし");
}
DataGridViewの2列目(インデックスは1)がチェックボックスです。
画面上でチェックを入れ「実行」ボタンを押した時に
その行にチェックが入っているかを判定しようとしていますが
うまくできません。。。どう判定したらいいのでしょうか?
エラー
ハンドルされていない例外
System.InvalidCasException:'指定されたキャストは有効ではありません。'
if ((bool)dgv_test[1, i_row].Value == true ) ← ここでエラーが発生
{
Debug.WriteLine("checkあり");
}
else
{
Debug.WriteLine("checkなし");
}
131デフォルトの名無しさん
2019/04/07(日) 02:00:48.99ID:vK2HJm7v >>130
boolではなくbool?でキャスト
boolではなくbool?でキャスト
132デフォルトの名無しさん
2019/04/07(日) 04:01:48.39ID:mKsxK2JJ >>125-126
Ruby, Nokogiri, Selenium WebDriver では、
doc = Nokogiri::HTML( driver.page_source )
element = doc.at_css '[id="id_koregahosii"] > li'
puts element.text
#=> このliを取得した
CSS Selector では、[id="id_koregahosii"] > li。
id 属性が"id_koregahosii" である要素の、直下のli 要素。
> は直下を表す
doc.at_css は、最初に見つかった、1つの要素で、
doc.css なら、配列(複数要素)が返ってくるように使い分けるので、要注意!
jQuery では、0・1つの要素の場合でも、常に配列が返るので、間違える事がない!
最初に、jQuery などで、CSS Selector を学ぶ必要がある。
それよりも複雑な指定は、XPath を使う
Ruby, Nokogiri, Selenium WebDriver では、
doc = Nokogiri::HTML( driver.page_source )
element = doc.at_css '[id="id_koregahosii"] > li'
puts element.text
#=> このliを取得した
CSS Selector では、[id="id_koregahosii"] > li。
id 属性が"id_koregahosii" である要素の、直下のli 要素。
> は直下を表す
doc.at_css は、最初に見つかった、1つの要素で、
doc.css なら、配列(複数要素)が返ってくるように使い分けるので、要注意!
jQuery では、0・1つの要素の場合でも、常に配列が返るので、間違える事がない!
最初に、jQuery などで、CSS Selector を学ぶ必要がある。
それよりも複雑な指定は、XPath を使う
133デフォルトの名無しさん
2019/04/07(日) 09:43:37.49ID:J7v3B2LO134デフォルトの名無しさん
2019/04/07(日) 09:50:53.11ID:e9OeE/L4135デフォルトの名無しさん
2019/04/07(日) 11:40:12.15ID:J7v3B2LO >>134
すみません。わからないので教えてください。。。。
すみません。わからないので教えてください。。。。
136デフォルトの名無しさん
2019/04/07(日) 11:45:12.82ID:vK2HJm7v >>135
bool?型と言ってるのになぜbool型にするの?
(bool)のとこを(bool?)って直すだけだぞ
null許容型は、要するに(bool?の場合は)true,false以外にnullも含む(許容する)型
bool?型と言ってるのになぜbool型にするの?
(bool)のとこを(bool?)って直すだけだぞ
null許容型は、要するに(bool?の場合は)true,false以外にnullも含む(許容する)型
137デフォルトの名無しさん
2019/04/07(日) 12:25:53.88ID:hRJe8zJK using System.Numericsとしているのに
Complex a = 123;とだけ書くと何故か赤い波線が付いてエラーになります
System.Numerics.Complex a = 123;とするとエラーは出ないのですが、省略できないのが気に食わない
Complex a = 123;とだけ書くと何故か赤い波線が付いてエラーになります
System.Numerics.Complex a = 123;とするとエラーは出ないのですが、省略できないのが気に食わない
138デフォルトの名無しさん
2019/04/07(日) 12:35:01.18ID:PRyiq+oO139デフォルトの名無しさん
2019/04/07(日) 12:44:33.68ID:hRJe8zJK >>138
暗黙的に変換できませんと書いてあります
暗黙的に変換できませんと書いてあります
140デフォルトの名無しさん
2019/04/07(日) 13:03:15.10ID:hRJe8zJK バージョンは2017です
System.NotImplementえdException: 'メソッドまたは操作は実装されていません。'というエラーも出ます
System.NotImplementえdException: 'メソッドまたは操作は実装されていません。'というエラーも出ます
141デフォルトの名無しさん
2019/04/07(日) 13:07:44.80ID:8KGRZT5W その再現する部分だけを書いたプロジェクトをどこかに晒してみたら?
142デフォルトの名無しさん
2019/04/07(日) 13:30:29.80ID:hRJe8zJK 全部削除して書き直したら治りました
何度も確認したのでタイプミス等ではないはずですが、何が原因だったのか
お騒がせしました
何度も確認したのでタイプミス等ではないはずですが、何が原因だったのか
お騒がせしました
143デフォルトの名無しさん
2019/04/07(日) 14:10:37.33ID:/8+Cw91p >>130
var o = (bool?)true;
bar b = (bool)o;
これは実行時もエラーは発生しないし、
var o = (bool?)null;
bar b = (bool)o;
これで発生する例外はNullReferenceExceptionみたいだから、たぶん指摘されてるのと別の原因なんだろうなあ。
知らんけど。
var o = (bool?)true;
bar b = (bool)o;
これは実行時もエラーは発生しないし、
var o = (bool?)null;
bar b = (bool)o;
これで発生する例外はNullReferenceExceptionみたいだから、たぶん指摘されてるのと別の原因なんだろうなあ。
知らんけど。
144デフォルトの名無しさん
2019/04/07(日) 14:24:18.31ID:/8+Cw91p あー間違えた
var o = (bool?)true;
じゃなくて
object o = (bool?)true;
だね。結論は変わらない
var o = (bool?)true;
じゃなくて
object o = (bool?)true;
だね。結論は変わらない
145デフォルトの名無しさん
2019/04/07(日) 16:58:28.24ID:aTlDD0vY146デフォルトの名無しさん
2019/04/07(日) 17:21:54.02ID:kimAJSSB147デフォルトの名無しさん
2019/04/07(日) 17:31:51.66ID:vK2HJm7v >>130
失礼。
発生した例外がNullReferenceExceptionではないから、
bool?にキャストすべき所がboolになってるバグの他にもバグがある。
例外はInvalidCasExceptionだから、
DataGridViewの列の定義が間違っていてdgv_test[1, i_row]がDataGridViewCheckBoxCellになっていないか、
初期化時にdgv_test[1, i_row].Valueにbool以外の値を代入していると思われる。
失礼。
発生した例外がNullReferenceExceptionではないから、
bool?にキャストすべき所がboolになってるバグの他にもバグがある。
例外はInvalidCasExceptionだから、
DataGridViewの列の定義が間違っていてdgv_test[1, i_row]がDataGridViewCheckBoxCellになっていないか、
初期化時にdgv_test[1, i_row].Valueにbool以外の値を代入していると思われる。
148デフォルトの名無しさん
2019/04/07(日) 17:37:12.90ID:AvqFg232 終わった話でマウントしなくていいよ…
149デフォルトの名無しさん
2019/04/08(月) 13:25:57.00ID:mdLXKZZ1 ほんそれ
150デフォルトの名無しさん
2019/04/08(月) 15:30:44.33ID:G4htz/so Windowsフォームでコントロールのプロパティの
EnableをFalseにすると「若干」色が薄くなるようですが
もっとはっきり薄くできないですかね?
完全に消えるとまずいんだけど
はっきり「今これは使えません」って意思表示したいんだけど
いい方法無ですかね?
EnableをFalseにすると「若干」色が薄くなるようですが
もっとはっきり薄くできないですかね?
完全に消えるとまずいんだけど
はっきり「今これは使えません」って意思表示したいんだけど
いい方法無ですかね?
151デフォルトの名無しさん
2019/04/08(月) 20:13:53.30ID:DkSPe/Rf >>150
フォーム全体で対応させるのはわからない
コントロール一つならEnabledChangedのイベントで
コントロールに初めから組み込みたいのなら
https://dobon.net/vb/dotnet/control/tbenabledfalse.html
の「自分で描画する」を参考に。やっていることは真逆だけど色を変えればいいだけ
ボタンやラベルなら使用不可を示すのに色だけでなくフォントの打ち消し線の有無で実装したことならある
フォーム全体で対応させるのはわからない
コントロール一つならEnabledChangedのイベントで
コントロールに初めから組み込みたいのなら
https://dobon.net/vb/dotnet/control/tbenabledfalse.html
の「自分で描画する」を参考に。やっていることは真逆だけど色を変えればいいだけ
ボタンやラベルなら使用不可を示すのに色だけでなくフォントの打ち消し線の有無で実装したことならある
152デフォルトの名無しさん
2019/04/09(火) 00:07:36.04ID:pirXsPL0 Window上にOpacity薄くしたパネルを全面表示すればいいんじゃないか
153デフォルトの名無しさん
2019/04/09(火) 00:09:31.21ID:d/2DcaK3 テンプレに「酔っぱらいはレス禁止」って付け加えておいた方がいいな
154デフォルトの名無しさん
2019/04/09(火) 01:05:33.44ID:HBj7RtDK Checkboxの質問をしたものです。
初期化時にFalseを設定してやったらエラーが出なくなりました。
初期化時にFalseを設定してやったらエラーが出なくなりました。
155デフォルトの名無しさん
2019/04/09(火) 08:48:59.17ID:+PEPLDxq チェックボックスの初期値がない=null
nullからのinvalid castやんけ
nullからのinvalid castやんけ
156デフォルトの名無しさん
2019/04/09(火) 09:42:37.66ID:HBj7RtDK ぬるキャストしたら金もらえるんか?
by いわま
by いわま
157デフォルトの名無しさん
2019/04/11(木) 00:20:32.43ID:aNdauzQw なんでList<T>がraw型のCollection継承してる扱いになってんだ???
158デフォルトの名無しさん
2019/04/11(木) 09:42:03.59ID:hzw6xvpZ ちょっと何言ってるかわかんないです raw型って何
何か読んで疑問に思ったんだったら記述示すなりリンク張るなりして
何か読んで疑問に思ったんだったら記述示すなりリンク張るなりして
159デフォルトの名無しさん
2019/04/11(木) 21:19:05.19ID:3mGpDoO0 C#で多倍長浮動小数点数演算は出来ますか
多倍長整数を使ってどうにかするしかないんでしょうか
多倍長整数を使ってどうにかするしかないんでしょうか
160デフォルトの名無しさん
2019/04/11(木) 22:21:18.99ID:/LPE5YMd >>159
decimalで足らないのなら自分で何とかするしかないな
https://docs.microsoft.com/ja-jp/dotnet/api/system.decimal?view=netframework-4.7.2
decimalで足らないのなら自分で何とかするしかないな
https://docs.microsoft.com/ja-jp/dotnet/api/system.decimal?view=netframework-4.7.2
161デフォルトの名無しさん
2019/04/11(木) 23:11:01.19ID:3mGpDoO0162デフォルトの名無しさん
2019/04/12(金) 18:12:54.78ID:f0sWKcEF 今後、開発作業が増えてEXEのファイルサイズが大きくなっていく事が想定される場合
プロジェクト分けた方がええかな?
インストール型じゃなくてWEBシステムとして作ろうか悩み中
プロジェクト分けた方がええかな?
インストール型じゃなくてWEBシステムとして作ろうか悩み中
163デフォルトの名無しさん
2019/04/12(金) 19:16:33.34ID:wX1hkUx5 「拡張メソッドはトップレベルの静的クラスでしか宣言できない」ということは、
public class Cの内部にprivate enum Eを置いたとき、Eに対して拡張メソッドを追加することは不可能なのでしょうか
いくつかの定数(とメソッド)を持った構造体で代用するしかないですかね
public class Cの内部にprivate enum Eを置いたとき、Eに対して拡張メソッドを追加することは不可能なのでしょうか
いくつかの定数(とメソッド)を持った構造体で代用するしかないですかね
164デフォルトの名無しさん
2019/04/12(金) 19:44:50.94ID:eTqArBo4 そこまでobj.method記法に拘る必要も無いだろ…
165デフォルトの名無しさん
2019/04/12(金) 19:59:08.90ID:LhXUTlO1 >>162
どうでもいい
開発規模ウン億円とかにならない限り、人間が書いたコードの実行ファイルのサイズなんて全く問題にならない
それはともかく、Webを選べるのなら迷わずWebにすべき
exe配ると後々のメンテは地獄よ
どうでもいい
開発規模ウン億円とかにならない限り、人間が書いたコードの実行ファイルのサイズなんて全く問題にならない
それはともかく、Webを選べるのなら迷わずWebにすべき
exe配ると後々のメンテは地獄よ
166デフォルトの名無しさん
2019/04/12(金) 20:16:15.81ID:f0sWKcEF167デフォルトの名無しさん
2019/04/12(金) 20:43:15.51ID:9e6eDjQn ClickOnceはシステム管理者がガチギレするらしいので利用しないのが吉
168デフォルトの名無しさん
2019/04/12(金) 20:47:48.47ID:Z2Oii3Wj >>167
なぜ?
なぜ?
169デフォルトの名無しさん
2019/04/12(金) 20:48:02.13ID:f0sWKcEF >>167
なんでや?
なんでや?
170デフォルトの名無しさん
2019/04/12(金) 20:49:24.84ID:f0sWKcEF ClickOnceにするとむっちゃ楽そうだけど
171デフォルトの名無しさん
2019/04/12(金) 20:49:43.52ID:f0sWKcEF172デフォルトの名無しさん
2019/04/12(金) 21:44:20.43ID:SPCc1qER >>163
仮にenumを入れ子にする点は譲れないとしても(この点も本当は再考した方がいいと個人的には思うけど)
アクセシビティーをpublicにすることは検討していいんじゃないの?
隠蔽したい気持ちは分からんでもないが、少なくともpublicにしたからって何か危険があるわけじゃない。
仮にenumを入れ子にする点は譲れないとしても(この点も本当は再考した方がいいと個人的には思うけど)
アクセシビティーをpublicにすることは検討していいんじゃないの?
隠蔽したい気持ちは分からんでもないが、少なくともpublicにしたからって何か危険があるわけじゃない。
173デフォルトの名無しさん
2019/04/12(金) 22:21:07.52ID:wX1hkUx5174デフォルトの名無しさん
2019/04/13(土) 00:18:29.71ID:BMo5W632 DataGridViewに詳しい人は教えてください。
DataGridViewの列にチェックボックスの列を設けています。
□がクリックされた時だけではなく、□の属するセル(の予約)が
クリックされても□にチェックが入る様に制御したいのですが
どうすればよいのでしょうか?
何かプロパティで設定するのですか?
DataGridViewの列にチェックボックスの列を設けています。
□がクリックされた時だけではなく、□の属するセル(の予約)が
クリックされても□にチェックが入る様に制御したいのですが
どうすればよいのでしょうか?
何かプロパティで設定するのですか?
175デフォルトの名無しさん
2019/04/13(土) 14:39:03.85ID:n7lKOQoj176デフォルトの名無しさん
2019/04/13(土) 15:19:56.97ID:BMo5W632177デフォルトの名無しさん
2019/04/13(土) 15:46:55.50ID:n7lKOQoj >>176
方法の一つをあげただけでプロパティにあるかは知らない
方法の一つをあげただけでプロパティにあるかは知らない
178デフォルトの名無しさん
2019/04/13(土) 16:32:46.29ID:BMo5W632179デフォルトの名無しさん
2019/04/13(土) 17:16:51.48ID:04eDeW4T >>178
日本語でよろしく
日本語でよろしく
180デフォルトの名無しさん
2019/04/13(土) 19:58:49.43ID:1RC1le5n >>178
アクセス元に迷惑掛けるの目に見えてるから辞めとけ
アクセス元に迷惑掛けるの目に見えてるから辞めとけ
181デフォルトの名無しさん
2019/04/13(土) 20:14:34.97ID:BMo5W632182デフォルトの名無しさん
2019/04/14(日) 21:03:37.66ID:NnSXGzN0 スクレイピングをこれまでIEを操作して行ってきていましたが
セレニウムを使う方がナウいのでしょうか?
コンソール画面が立ち上がって結構うざいんですが
セレニウムを使う方がナウいのでしょうか?
コンソール画面が立ち上がって結構うざいんですが
183デフォルトの名無しさん
2019/04/15(月) 07:51:42.30ID:T2oRcbP+ >>182
consoleは消すことが出来る
consoleは消すことが出来る
184デフォルトの名無しさん
2019/04/15(月) 09:11:14.20ID:M/FIhTOp >>183
コンソールを消す事はできました。
ただ、問題がありまして
Cromeを使ってログインしないと見えないサイトの中のとあるページを
スクレイピングしようと思っていますが、一度ログインしたのに
もう一度プログラムを実行すると再び画像認証付きのログインページが表示されてしまいます。
Chromeのセレニウムでログインした場合、
ログインセッションは、プログラムを終了すると自動でとじられるのでしょうか?
コンソールを消す事はできました。
ただ、問題がありまして
Cromeを使ってログインしないと見えないサイトの中のとあるページを
スクレイピングしようと思っていますが、一度ログインしたのに
もう一度プログラムを実行すると再び画像認証付きのログインページが表示されてしまいます。
Chromeのセレニウムでログインした場合、
ログインセッションは、プログラムを終了すると自動でとじられるのでしょうか?
185デフォルトの名無しさん
2019/04/16(火) 02:41:38.00ID:39QxJxCa セレニウムで画像選択は同実装すればよいのでしょうか?
Windwos APIを使わないと、ダメでしょうか?
Windwos APIを使わないと、ダメでしょうか?
186デフォルトの名無しさん
2019/04/16(火) 07:50:30.04ID:xFKZ3CM/ ここC#スレだよ?
187デフォルトの名無しさん
2019/04/16(火) 09:10:36.33ID:gry//OiE スクレイプするにはまだ程遠い実力ということだ
188デフォルトの名無しさん
2019/04/16(火) 09:47:51.95ID:39QxJxCa スクレイピングはできる様になりました。
ドラッグするか、その枠をクリックしてファイルを選択するしか
画像の選択が出来ません。
セレニウムでドラッグやファイルの選択はできないですか?
ドラッグするか、その枠をクリックしてファイルを選択するしか
画像の選択が出来ません。
セレニウムでドラッグやファイルの選択はできないですか?
189デフォルトの名無しさん
2019/04/16(火) 12:32:55.79ID:5XyUIsTT スレチ
190デフォルトの名無しさん
2019/04/16(火) 12:33:02.58ID:gry//OiE 君には無理。
191デフォルトの名無しさん
2019/04/16(火) 15:21:38.40ID:+QEcotOy スクレイピング(が何かわかって無いけど)はできる様に(なった気持ちに)なりました。
192デフォルトの名無しさん
2019/04/16(火) 17:36:07.52ID:39QxJxCa スクレイピング楽しいな
193デフォルトの名無しさん
2019/05/04(土) 14:25:52.45ID:6mDmKshX select ユーザーコード, ユーザー名 from tbl_user group by ユーザーコード, ユーザー名 order by ユーザーコード
上記のクエリを、Visual Studio 2019の、クエリの構成ウィザードで実行すると成功するのですが、
構成ウィザードで作成したGetData()メソッドをソースコードから呼び出すと、
"System.Data.ConstraintException: 制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。"という例外が発生します。
何が原因でしょうか?
上記のクエリを、Visual Studio 2019の、クエリの構成ウィザードで実行すると成功するのですが、
構成ウィザードで作成したGetData()メソッドをソースコードから呼び出すと、
"System.Data.ConstraintException: 制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。"という例外が発生します。
何が原因でしょうか?
194デフォルトの名無しさん
2019/05/04(土) 18:47:33.92ID:y5JKLm4r ありがちなのは
その型付テーブルにユーザーコード・ユーザー名以外の列があって
それがNULL非許容であるケース
そろそろ型付テーブルは捨ててみるのはどうだろう
その型付テーブルにユーザーコード・ユーザー名以外の列があって
それがNULL非許容であるケース
そろそろ型付テーブルは捨ててみるのはどうだろう
195デフォルトの名無しさん
2019/05/04(土) 23:59:05.71ID:6mDmKshX196デフォルトの名無しさん
2019/05/08(水) 01:56:19.01ID:noKOboYy group by したらorder by は要らない
と思うんだけどね
と思うんだけどね
197デフォルトの名無しさん
2019/05/08(水) 09:05:02.34ID:uppUuxEo つか、ユーザーコードかユーザー名にnullがあるんじゃね?
198デフォルトの名無しさん
2019/05/10(金) 00:17:09.38ID:ADYEYyzu >>196
order by しないと結果の順序は不定だぞ
order by しないと結果の順序は不定だぞ
199デフォルトの名無しさん
2019/05/10(金) 00:32:33.75ID:zfwcpnpf >>198
言語規約的にはそうかもしれんな
言語規約的にはそうかもしれんな
200デフォルトの名無しさん
2019/06/03(月) 19:12:08.43ID:QH6vVdx1 C#の勉強のためにメモ帳を作ろうと計画していますが
フォームにTextBoxを貼り付けるだけではあまり面白くありません
また禁則処理や縦書きの機能もついていません
なにか他のもの、WebBrowserあたりを使うのかな?と想像しているのですが
フォームにTextBoxを貼り付けるだけではあまり面白くありません
また禁則処理や縦書きの機能もついていません
なにか他のもの、WebBrowserあたりを使うのかな?と想像しているのですが
201デフォルトの名無しさん
2019/06/03(月) 19:18:10.95ID:FeReq2tQ つPicutureBox
202デフォルトの名無しさん
2019/06/03(月) 19:45:12.89ID:QH6vVdx1 WPFだとImageを使うんでしょうか
ImageもしくはPicutureBoxを使う方向でやってみます
ImageもしくはPicutureBoxを使う方向でやってみます
203デフォルトの名無しさん
2019/06/03(月) 19:50:06.54ID:lJ3hf1q/ WPFならWPFのスレで聞いた方がいい
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/
204デフォルトの名無しさん
2019/07/17(水) 09:01:41.72ID:Rapypd65 こっちでええんか?
205デフォルトの名無しさん
2019/07/17(水) 13:54:33.79ID:rBzTe21k そうだね、古い方から使おう
206デフォルトの名無しさん
2019/07/22(月) 23:30:46.11ID:C1JMmcNL >>200
メモ帳意外と難しいよね
オレも初めの頃作ろうとして挫折した(あわよくばテキストエディタ目指そうとしてたのもあって)
勉強のためだけだとモチベ上がらないので、世の中にあるけど、俺様仕様なのが欲しいってのを作ってみてはどうかな(なるべく簡単なものから)
メモ帳意外と難しいよね
オレも初めの頃作ろうとして挫折した(あわよくばテキストエディタ目指そうとしてたのもあって)
勉強のためだけだとモチベ上がらないので、世の中にあるけど、俺様仕様なのが欲しいってのを作ってみてはどうかな(なるべく簡単なものから)
207デフォルトの名無しさん
2019/07/26(金) 17:45:13.82ID:BgugETZT A・B・C・E・Dという5つの項目があって、
例えば、Aが10で、Bが10で、Cが15で、Dが20で、Eが30の時、3という数字を格納したくて、
今までは多次元配列で、num[10,10,15,20,30]=3という風に入れてたのだけど
これだと配列の宣言時に添え字大きいとメモリ足りないエラー出たりするのだけど
多次元配列以外でこういう処理するほうほうはないでしょうか
例えば、Aが10で、Bが10で、Cが15で、Dが20で、Eが30の時、3という数字を格納したくて、
今までは多次元配列で、num[10,10,15,20,30]=3という風に入れてたのだけど
これだと配列の宣言時に添え字大きいとメモリ足りないエラー出たりするのだけど
多次元配列以外でこういう処理するほうほうはないでしょうか
208デフォルトの名無しさん
2019/07/26(金) 17:48:56.54ID:WRIJ/WMx >>207
dictionaryでkeyをtupleにするとか?
dictionaryでkeyをtupleにするとか?
209デフォルトの名無しさん
2019/07/26(金) 17:49:06.61ID:mDNueNoY >>207
自分でクラスか構造体作る
自分でクラスか構造体作る
210デフォルトの名無しさん
2019/07/26(金) 18:05:34.42ID:BgugETZT211デフォルトの名無しさん
2019/07/27(土) 06:57:57.51ID:JBF4UcX5 扱うアイテム数や更新や検索速度によっても解は変わるけどね
212デフォルトの名無しさん
2019/07/28(日) 01:55:31.74ID:fFZFtxU0 C#でメッセージボックスそっくりのフォームを表示したいのですが、
既にそういうことやって公開してるサイトとかあったら教えてください。
とりあえず警告とかのアイコンとメッセージとOKボタンが出ればOKです。
既にそういうことやって公開してるサイトとかあったら教えてください。
とりあえず警告とかのアイコンとメッセージとOKボタンが出ればOKです。
213デフォルトの名無しさん
2019/07/28(日) 02:01:33.19ID:rd9JTwgx >>212
MessageBoxクラスと言うそのまんまなのが標準であるけど
MessageBoxクラスと言うそのまんまなのが標準であるけど
214デフォルトの名無しさん
2019/07/28(日) 02:05:47.36ID:O6J4gSKO マルウェア造りたいんだろうきっと
215デフォルトの名無しさん
2019/07/28(日) 03:11:39.49ID:fFZFtxU0 >>213
英語OS環境でも日本語を表示したいので、MessageBoxだとだめなんです
英語OS環境でも日本語を表示したいので、MessageBoxだとだめなんです
216デフォルトの名無しさん
2019/07/28(日) 11:11:36.04ID:4n+BfbRN 英語OSで日本語表示
マルウェア臭しかしない
出来たとしてもやめたほうがいいw
マルウェア臭しかしない
出来たとしてもやめたほうがいいw
217デフォルトの名無しさん
2019/07/28(日) 11:52:47.97ID:KNp0wpVr 手元に英語版Windowsがないから確認できんけど、
Win9xの時代じゃないんだから英語版Windowsだからって日本語のメッセージが化けるとかないはずだと記憶してるけど
違ったっけ?
Win9xの時代じゃないんだから英語版Windowsだからって日本語のメッセージが化けるとかないはずだと記憶してるけど
違ったっけ?
218デフォルトの名無しさん
2019/07/28(日) 12:03:09.31ID:mCptNPRe 違う
バグはいくらでも造り込める
バグはいくらでも造り込める
219デフォルトの名無しさん
2019/07/28(日) 12:15:34.70ID:fFZFtxU0220デフォルトの名無しさん
2019/07/28(日) 12:20:10.64ID:0oO4pZNP >>219
他の画面を作るのと同じようにFormを自作してShowDialogするだけでいいよ
他の画面を作るのと同じようにFormを自作してShowDialogするだけでいいよ
221デフォルトの名無しさん
2019/07/28(日) 12:41:08.89ID:pP5stkUp >>217
Fontの指定できるのならそうだろうな
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/2f45e7d7-f4ba-47ee-a8e0-5b99255e69f7/12513124831247512540124721250812483124631247312398125131248312?forum=csharpgeneralja
ここの結論では>>215と同じ
>>215
ダイアログ用のフォームを作って「OK」と「Cancel」のボタンをクリックしたらDialogResultにDialogResult.OKかDialogResult.Cancelを入れてそのフォームをClose()するだけ
呼び出す側はMessageBoxのかわりにそのフォームを同じように呼び出せばいい
Fontの指定できるのならそうだろうな
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/2f45e7d7-f4ba-47ee-a8e0-5b99255e69f7/12513124831247512540124721250812483124631247312398125131248312?forum=csharpgeneralja
ここの結論では>>215と同じ
>>215
ダイアログ用のフォームを作って「OK」と「Cancel」のボタンをクリックしたらDialogResultにDialogResult.OKかDialogResult.Cancelを入れてそのフォームをClose()するだけ
呼び出す側はMessageBoxのかわりにそのフォームを同じように呼び出せばいい
222デフォルトの名無しさん
2019/07/28(日) 13:19:08.39ID:KNp0wpVr >>219
ほんと?
OSで設定されてるフォントが使用されるのはそう(デフォは昔ならTahoma、今は何だっけ?)
なんだけど、WindowsにはFontLinkって仕組みがあって、欧文以外の文字の場合は適当な
フォントが代わりに使用される仕組みになってるはずだと思うが...
まあどっちにしろサクッと自作しても大した手間ではないな
ほんと?
OSで設定されてるフォントが使用されるのはそう(デフォは昔ならTahoma、今は何だっけ?)
なんだけど、WindowsにはFontLinkって仕組みがあって、欧文以外の文字の場合は適当な
フォントが代わりに使用される仕組みになってるはずだと思うが...
まあどっちにしろサクッと自作しても大した手間ではないな
223デフォルトの名無しさん
2019/07/29(月) 21:48:22.76ID:CSar0obt224デフォルトの名無しさん
2019/07/30(火) 17:43:55.27ID:Q6VO+qJe なんのアニメ?
京アニ?
京アニ?
225デフォルトの名無しさん
2019/09/16(月) 20:31:20.79ID:MPbmz0IO Windowsのデスクトップアプリ作ってみたいんだけど、UWPじゃなくてWPF使った方がいいの?
226デフォルトの名無しさん
2019/09/16(月) 21:06:00.37ID:sRm+3JQL227デフォルトの名無しさん
2019/09/16(月) 21:16:27.82ID:MPbmz0IO228デフォルトの名無しさん
2019/09/16(月) 21:18:24.34ID:sRm+3JQL >>227
Visual Studio使ってWindows Formがクッソ楽とWPF使ったことない人からのアドバイスしとくw
Visual Studio使ってWindows Formがクッソ楽とWPF使ったことない人からのアドバイスしとくw
229デフォルトの名無しさん
2019/09/17(火) 01:14:09.81ID:jgnLyfJa >>223
グロ
グロ
230デフォルトの名無しさん
2019/09/17(火) 01:37:10.61ID:Scf7CR0a231デフォルトの名無しさん
2019/09/17(火) 07:20:33.53ID:Y3mVLTqr >>230
横だけど
日曜プログラマレベルでWinFormsでそれなりにDB連携の業務アプリを作って運用してはいるんだけど
今更WPFの勉強スタートして使いものになるかな?
つーか、1度作ったWinFormsをWPFにするには作り直しだよね・・・
横だけど
日曜プログラマレベルでWinFormsでそれなりにDB連携の業務アプリを作って運用してはいるんだけど
今更WPFの勉強スタートして使いものになるかな?
つーか、1度作ったWinFormsをWPFにするには作り直しだよね・・・
232デフォルトの名無しさん
2019/09/17(火) 08:34:01.71ID:gcZDzsnL >>231
Winformを使いこなしてる人が、今からWPFやっても得るものは少ないだろうね
WinformもWPFもやったことない人なら、どっちでも楽さは変わらない
あと、Winformなアプリでも一部だけWPFにすることもできるから、完全に作り直しとも限らないよ
Winformを使いこなしてる人が、今からWPFやっても得るものは少ないだろうね
WinformもWPFもやったことない人なら、どっちでも楽さは変わらない
あと、Winformなアプリでも一部だけWPFにすることもできるから、完全に作り直しとも限らないよ
233デフォルトの名無しさん
2019/09/17(火) 15:16:53.10ID:FM5jjTCY UWPも存在意義が無くなったしな・・・
234デフォルトの名無しさん
2019/09/17(火) 15:38:58.51ID:CU62bLm/ Win32をWindowsから追放してUWP化する計画は
やっぱりとん挫かw
ここ10年ぐらいMSはこんなことばっかりやってるね
やっぱりとん挫かw
ここ10年ぐらいMSはこんなことばっかりやってるね
235デフォルトの名無しさん
2019/09/17(火) 15:45:27.94ID:6kCNmbsv windowformから乗り換えるとしたら何?
236デフォルトの名無しさん
2019/09/17(火) 18:26:50.51ID:mt+5ew4N237デフォルトの名無しさん
2019/09/21(土) 10:57:39.89ID:y68BphyG238デフォルトの名無しさん
2019/09/21(土) 11:11:11.88ID:Sri5tnCE 内部文字コードのUTF8化と同時に整理して欲しいよなー
もうそろそろ互換性はいいだろ
もうそろそろ互換性はいいだろ
239デフォルトの名無しさん
2019/09/21(土) 12:06:27.59ID:ZIXe7ufx >内部文字コードのUTF8化
これは愚策
出入りはUTF8で良いけど
これは愚策
出入りはUTF8で良いけど
240デフォルトの名無しさん
2019/09/21(土) 19:53:37.95ID:y68BphyG SetWindowPosとかなあ
Posとか言ってSizeもZOrderもこれ使うとか初心者が勘違いするだろ
SetWndPosとSetWndSizeとSetWndZOrderに分けろや
ライブラリ作っとけばいいだけなんだけどさ
Posとか言ってSizeもZOrderもこれ使うとか初心者が勘違いするだろ
SetWndPosとSetWndSizeとSetWndZOrderに分けろや
ライブラリ作っとけばいいだけなんだけどさ
241デフォルトの名無しさん
2019/10/01(火) 08:54:20.74ID:AzXLfBCe xamlに別のxamlを挿入してその子要素にBindingってできないですかね?
242デフォルトの名無しさん
2019/10/01(火) 21:05:00.43ID:QXee0tMi243デフォルトの名無しさん
2019/10/10(木) 11:16:46.19ID:20GczcoB picturebox の中の画像の位置はどうやったら取得できるのでしょうか?
例えば、w 500 , h 500 の picturebox に w 300, h 500の画像が真ん中揃えで表示されているとき、x 100, y 0 みたいな値をとりたいのです。
画像の上に線とか図形とかを描画するための基準となる位置が欲しいのです。
ImageLocation プロパティで取れるかと思ったら、これはURL とかを指定するものでした。
例えば、w 500 , h 500 の picturebox に w 300, h 500の画像が真ん中揃えで表示されているとき、x 100, y 0 みたいな値をとりたいのです。
画像の上に線とか図形とかを描画するための基準となる位置が欲しいのです。
ImageLocation プロパティで取れるかと思ったら、これはURL とかを指定するものでした。
244デフォルトの名無しさん
2019/10/10(木) 11:24:30.46ID:dY7xsk31 自分で計算する
PictureBox::ImageRectangleFromSizeModeをリフレクションで呼び出す
上に何か描画するとかならImageプロパティは放棄して自分で全部描いた方が手っ取り早いかもね
PictureBox::ImageRectangleFromSizeModeをリフレクションで呼び出す
上に何か描画するとかならImageプロパティは放棄して自分で全部描いた方が手っ取り早いかもね
245デフォルトの名無しさん
2019/10/10(木) 23:41:17.72ID:20GczcoB >>244
c# でリフレクションというのは攻撃魔法をときどきはね返す防御魔法のようなものだと思うのですが、リフレクションを使う方法は具体的にどうするのでしょうか?
自力で計算する方法でとりあえずはなんとかなりそうです。
まだコード書いてないけど、画像の表示方法と画像サイズと pictureBox のサイズがわかるのでそこから計算できそうです。
縦と横の拡大縮小率の計算が少しめんどくさいだけかな?
c# でリフレクションというのは攻撃魔法をときどきはね返す防御魔法のようなものだと思うのですが、リフレクションを使う方法は具体的にどうするのでしょうか?
自力で計算する方法でとりあえずはなんとかなりそうです。
まだコード書いてないけど、画像の表示方法と画像サイズと pictureBox のサイズがわかるのでそこから計算できそうです。
縦と横の拡大縮小率の計算が少しめんどくさいだけかな?
246デフォルトの名無しさん
2019/11/06(水) 17:52:05.14ID:bs5+QLo2 ttps://gist.github.com/Flafla2/f0260a861be0ebdeef76
の
public Perlin(int repeat = -1) { this.repeat = repeat; }
は
public Perlin() { this.repeat = -1; }
と同じ意味でしょうか?またそうであれば、なぜパラメータとしてint repeat = -1としているのでしょうか?
の
public Perlin(int repeat = -1) { this.repeat = repeat; }
は
public Perlin() { this.repeat = -1; }
と同じ意味でしょうか?またそうであれば、なぜパラメータとしてint repeat = -1としているのでしょうか?
247デフォルトの名無しさん
2019/11/06(水) 17:55:11.74ID:vTr6jChq248デフォルトの名無しさん
2019/11/06(水) 17:57:42.25ID:cEKOtBl2 >>246
Perlin()と呼ぶことができる
これはPerlin(-1)と書いた場合と同じ
Perlin(0)ってかけばrepeatには0がはいる
だいたい-1なんだけど時々別の値にしたいときなんかに使う
詳しくはオプション引数でググって
Perlin()と呼ぶことができる
これはPerlin(-1)と書いた場合と同じ
Perlin(0)ってかけばrepeatには0がはいる
だいたい-1なんだけど時々別の値にしたいときなんかに使う
詳しくはオプション引数でググって
249デフォルトの名無しさん
2019/11/06(水) 18:50:35.37ID:bs5+QLo2 >>247, 248
ありがとうございました。
ありがとうございました。
250デフォルトの名無しさん
2019/11/25(月) 17:06:44.56ID:3yP/a9XY 1 2次元空間上の座標に乱数で円を重ならないようにたくさん配置します。
2 全ての円の座標の平均値がある条件を満たせば終了。
3 満たさなければ初期化して1に戻る
円の数を増やすと2の条件が厳しくなるので、12のループの繰り返しが指数関数的に厳しくなります。
100個を超えると配置できずにフリーズするんですが、
60ぐらいでも10回に1度くらいフリーズします。
10回に1度フリーズするのがよくわからない。。。
Windowsって特定のアプリがループ処理をし続けるとアプリをフリーズさせるようなシステムがあるのでしょうか?
2 全ての円の座標の平均値がある条件を満たせば終了。
3 満たさなければ初期化して1に戻る
円の数を増やすと2の条件が厳しくなるので、12のループの繰り返しが指数関数的に厳しくなります。
100個を超えると配置できずにフリーズするんですが、
60ぐらいでも10回に1度くらいフリーズします。
10回に1度フリーズするのがよくわからない。。。
Windowsって特定のアプリがループ処理をし続けるとアプリをフリーズさせるようなシステムがあるのでしょうか?
251デフォルトの名無しさん
2019/11/25(月) 17:15:30.05ID:uMtE/h/q252デフォルトの名無しさん
2019/11/25(月) 17:49:11.57ID:3yP/a9XY >>251
すいません。
250はかなり要約して書いていて、本当はかなり長いコードでここには載せ難く。
10回に9回は1秒程度でループを抜け終了するので、
しばらく待ってれば表示されるかと思うと、やがてOSから応答してないよとメッセージがきます。
cならリソース開放忘れを疑うのですが、c#ってそのへん自動で管理してくれるんですよね。
すいません。
250はかなり要約して書いていて、本当はかなり長いコードでここには載せ難く。
10回に9回は1秒程度でループを抜け終了するので、
しばらく待ってれば表示されるかと思うと、やがてOSから応答してないよとメッセージがきます。
cならリソース開放忘れを疑うのですが、c#ってそのへん自動で管理してくれるんですよね。
253デフォルトの名無しさん
2019/11/25(月) 17:54:12.64ID:pjJuONFZ 自分のバグを言語やOSのせいにする香具師は何をやっても大成しない
254デフォルトの名無しさん
2019/11/25(月) 18:05:07.13ID:b/ZUvETz ウィンドウプロシージャから呼び出された時に時間のかかる処理をすると
基本的にマウス入力も含めた後続のウィンドウメッセージが処理できないので
結果的に操作などが受け付けなくなりフリーズしたようになる
(5秒だかウィンドウプロシージャから戻ってこないとOSが駄目だコイツと判断してよく見る「応答なし」になる)
レンダリング以外の部分で一秒もかかる可能性があるならその時点で別スレッドにすべきではある
フリーズに規則性がないのはそれこそロジック見てみないと誰にもわからんでしょ
様子からしてGCが暴れてる可能性はあるので値型使ってみたりとかの余地はあるだろうけど
基本的にマウス入力も含めた後続のウィンドウメッセージが処理できないので
結果的に操作などが受け付けなくなりフリーズしたようになる
(5秒だかウィンドウプロシージャから戻ってこないとOSが駄目だコイツと判断してよく見る「応答なし」になる)
レンダリング以外の部分で一秒もかかる可能性があるならその時点で別スレッドにすべきではある
フリーズに規則性がないのはそれこそロジック見てみないと誰にもわからんでしょ
様子からしてGCが暴れてる可能性はあるので値型使ってみたりとかの余地はあるだろうけど
255デフォルトの名無しさん
2019/11/25(月) 19:04:16.55ID:qlQ2yr7c 魔法の言葉、Application.DoEvents();
ループ処理の中に書くといいよ
ループ処理の中に書くといいよ
256デフォルトの名無しさん
2019/11/25(月) 19:27:30.58ID:0ThvbZYY >>252
全体的に何を言ってるのかよく分からないんで推測だけど、
UIがフリーズするのはUIスレッド上のユーザーコードがビジーループになってるから。
ウィンドウやコントロールの再描画やマウスやキーイベントへの反応は
システム側のコードで処理されるわけだけど、それはUIスレッドで動く。
だからUIスレッド上のユーザーコードがビジーのままだと、
システムは側のコードも動けずにフリーズしたように見える
全体的に何を言ってるのかよく分からないんで推測だけど、
UIがフリーズするのはUIスレッド上のユーザーコードがビジーループになってるから。
ウィンドウやコントロールの再描画やマウスやキーイベントへの反応は
システム側のコードで処理されるわけだけど、それはUIスレッドで動く。
だからUIスレッド上のユーザーコードがビジーのままだと、
システムは側のコードも動けずにフリーズしたように見える
257デフォルトの名無しさん
2019/11/25(月) 19:36:27.15ID:qmWi7Xp+ フリーズするのはスレッドを分離してないのが原因だけど
それ以前に何らかの条件で無限ループになっている可能性もあるな
それ以前に何らかの条件で無限ループになっている可能性もあるな
258デフォルトの名無しさん
2019/11/26(火) 03:03:00.47ID:oYeHIm2x >>250
まずそういうのは実際には円を描かないで演算だけやってみるところからはじめませう。演算が悪いのか描画が悪いのか切り分けたい。
まずそういうのは実際には円を描かないで演算だけやってみるところからはじめませう。演算が悪いのか描画が悪いのか切り分けたい。
259デフォルトの名無しさん
2019/11/26(火) 10:03:15.82ID:c3SEnPpX260デフォルトの名無しさん
2019/11/26(火) 10:19:16.34ID:SOHA2nuS みなさんいろいろありがとうございます。
円の数とフリーズ確率に比例関係があるので、
ループでの処理が問題だと思います。
別スレッドにしてみようと思います。
それまで
Application.DoEvents();
活用してみます。
円の数とフリーズ確率に比例関係があるので、
ループでの処理が問題だと思います。
別スレッドにしてみようと思います。
それまで
Application.DoEvents();
活用してみます。
261デフォルトの名無しさん
2019/11/26(火) 14:22:57.27ID:dAEqoOXB メモリ不足無視して実行し続けてるのも暴走って言うかもな
262デフォルトの名無しさん
2019/11/26(火) 19:13:59.32ID:MuEAwLxr263デフォルトの名無しさん
2019/11/27(水) 12:24:02.31ID:KtqS+hCI 1に戻る前に強制GCした方が良くね
264デフォルトの名無しさん
2019/11/30(土) 13:57:48.46ID:xRFcAUWE 2の終了判定が甘くて無限ループしてるだけだろ
265デフォルトの名無しさん
2019/12/01(日) 12:57:13.04ID:i2YaNYYV >>255
魔法の言葉、Application.DoEvents();
で解決しました。
やはりWhile分で条件達成まで延々ループ処理させてたのが問題だったようです。
フリーズすると制作したアプリで取得したデータ大丈夫なの?
って冷たい目にさらされていたのですが、これですっきりしました。
ありがとうございました。
魔法の言葉、Application.DoEvents();
で解決しました。
やはりWhile分で条件達成まで延々ループ処理させてたのが問題だったようです。
フリーズすると制作したアプリで取得したデータ大丈夫なの?
って冷たい目にさらされていたのですが、これですっきりしました。
ありがとうございました。
266デフォルトの名無しさん
2019/12/11(水) 19:12:23.65ID:t3xhIlyZ ASP.NET MVCを初めて勉強しています
MVの場合、ボタンクリックのイベント処理はどう書くのがスタンダードなのでしょうか?
(Webフォームではイベントハンドラーを使ってましたが。)
MVの場合、ボタンクリックのイベント処理はどう書くのがスタンダードなのでしょうか?
(Webフォームではイベントハンドラーを使ってましたが。)
267デフォルトの名無しさん
2019/12/11(水) 19:20:12.37ID:qXq3MGtY form
268デフォルトの名無しさん
2019/12/11(水) 21:27:46.75ID:H3x5MOt+269デフォルトの名無しさん
2020/01/01(水) 12:48:02.27ID:7beskV3u 自分で作ったアプリ14個くらいショートカットで起動できるようにしていて、
その中の名前が似た3つが弄ってもいないのにある日突然起動しなくなったのですがどういったことが考えられるでしょうか
その中の名前が似た3つが弄ってもいないのにある日突然起動しなくなったのですがどういったことが考えられるでしょうか
270デフォルトの名無しさん
2020/01/01(水) 12:53:24.15ID:2+A6XpAV 何かを弄ったから
271デフォルトの名無しさん
2020/01/01(水) 13:19:14.52ID:ZjrgaAUK 妖精さんの悪戯じゃないかな
272デフォルトの名無しさん
2020/01/01(水) 13:26:47.06ID:tqBP4ADq 大きくならない
固くならない
固くならない
273デフォルトの名無しさん
2020/01/01(水) 13:51:29.41ID:dLiykUmV274デフォルトの名無しさん
2020/01/01(水) 15:47:55.57ID:V7aDVAm9 とりあえずイベントログを見てなんかエラーが出てないか確認
275デフォルトの名無しさん
2020/01/02(木) 09:17:19.87ID:OoAxt65V テキストファイルを開いて書き換える動作が、
昨日まで普通にできていたのが今日やってみたら読み込みは出来るものの、書き込み時に
UnauthorizedAccessException:パスへのアクセスは拒否されました。
の例外が出て書き換えできなくなったのですがなぜでしょうか
昨日まで普通にできていたのが今日やってみたら読み込みは出来るものの、書き込み時に
UnauthorizedAccessException:パスへのアクセスは拒否されました。
の例外が出て書き換えできなくなったのですがなぜでしょうか
276デフォルトの名無しさん
2020/01/02(木) 09:36:21.31ID:4gUBqapQ そのファイルのアクセス権を剥奪されたのでしょう
277デフォルトの名無しさん
2020/01/02(木) 10:23:46.38ID:OoAxt65V278デフォルトの名無しさん
2020/01/02(木) 10:24:50.25ID:ZgXvL7GY279デフォルトの名無しさん
2020/01/02(木) 10:26:25.06ID:ZgXvL7GY280デフォルトの名無しさん
2020/01/02(木) 10:47:12.88ID:OoAxt65V ありがとうございます
WindowsDeffenderを切ってみたら書き込みが出来ました
セキュリティが悪く効いてた感じでしょうか
WindowsDeffenderを切ってみたら書き込みが出来ました
セキュリティが悪く効いてた感じでしょうか
281デフォルトの名無しさん
2020/01/04(土) 15:40:54.17ID:wppxYzrl DropDown式メニューの幅を指定したいのですが、ToolStripMenuItemだと、
幅を指定しても無視されてしまいます。
ToolStripButtonであれば反映されるのですが、ToolStripMenuItemでも指定する方法を教えてください。
//指定しても無視される(文字に合わせた幅になってしまう)
var item = new ToolStripMenuItem("テスト");
item.AutoSize = false;
item.Width = 100;
this.toolStripMenuItem.DropDownItems.Add(item);
//これなら反映される。
var item = new ToolStripButton("テスト");
item.AutoSize = false;
item.Width = 100;
this.toolStripMenuItem.DropDownItems.Add(item);
幅を指定しても無視されてしまいます。
ToolStripButtonであれば反映されるのですが、ToolStripMenuItemでも指定する方法を教えてください。
//指定しても無視される(文字に合わせた幅になってしまう)
var item = new ToolStripMenuItem("テスト");
item.AutoSize = false;
item.Width = 100;
this.toolStripMenuItem.DropDownItems.Add(item);
//これなら反映される。
var item = new ToolStripButton("テスト");
item.AutoSize = false;
item.Width = 100;
this.toolStripMenuItem.DropDownItems.Add(item);
282デフォルトの名無しさん
2020/01/04(土) 18:54:04.23ID:kH3pRzgo >>281
ContextMenuStripでAutoSize=falseにしてそれをDropDownに登録するのはだめなのか?
ContextMenuStripでAutoSize=falseにしてそれをDropDownに登録するのはだめなのか?
283デフォルトの名無しさん
2020/01/04(土) 23:39:17.56ID:oOekXYXc >>281
やってみた感じ、DropDownが表示される時に
MenuItemの場合はWidthではなくてTextを使って横幅を評価しているみたいなのでダメっぽいねw
(AutoSize = falseにした場合、MenuItemの幅自体はちゃんと設定した値になっていることは
マウスオーバーした時のハイライトの枠の大きさで確認できる)
Labelの場合はAutoSizeをfalseにすればWidthもHeightも設定した値が
そのまま表示に反映されるようなので、これをプレースホルダー的に使うことは出来そう。
バッドノウハウ感全開だけどw
でもMenuItemの幅をわざわざ制御したい理由が思いつかんw
やってみた感じ、DropDownが表示される時に
MenuItemの場合はWidthではなくてTextを使って横幅を評価しているみたいなのでダメっぽいねw
(AutoSize = falseにした場合、MenuItemの幅自体はちゃんと設定した値になっていることは
マウスオーバーした時のハイライトの枠の大きさで確認できる)
Labelの場合はAutoSizeをfalseにすればWidthもHeightも設定した値が
そのまま表示に反映されるようなので、これをプレースホルダー的に使うことは出来そう。
バッドノウハウ感全開だけどw
でもMenuItemの幅をわざわざ制御したい理由が思いつかんw
284デフォルトの名無しさん
2020/02/11(火) 16:42:09.82ID:IKSpGnXe C#でPDF生成するのに定番のライブライはどれ?
285デフォルトの名無しさん
2020/02/11(火) 16:57:55.37ID:+cYPhDtF skiasharpかのう
286デフォルトの名無しさん
2020/02/11(火) 17:48:40.11ID:SM6OROcH iTextSharp
287デフォルトの名無しさん
2020/02/11(火) 18:32:47.01ID:3sdew+Rs TextBoxに、テンプレート的なデフォルト文字列を持たせたいのですが、
Formのコンストラクタで
textBox1.Text = "文字列";
という方法で指定すると、TextBoxが表示されてから何も変更してない状態でもCtrl+Zで文字列が消えてしまいます。
どうすれば、消えないようにできるでしょうか?
Formのコンストラクタで
textBox1.Text = "文字列";
という方法で指定すると、TextBoxが表示されてから何も変更してない状態でもCtrl+Zで文字列が消えてしまいます。
どうすれば、消えないようにできるでしょうか?
288デフォルトの名無しさん
2020/02/11(火) 18:49:44.84ID:zRIDVkEW >>287
試してみたけどこちらでは.Net3.5でも.Net4.62でも再現しない
念のためフォームのShown時のCanUndoを見たらfalseになっているからUndoが効くはずがない
どこの違いなのか分からないが文字列設定後かShown時にとりあえずtextBox1.ClearUndo()を入れてみたら
試してみたけどこちらでは.Net3.5でも.Net4.62でも再現しない
念のためフォームのShown時のCanUndoを見たらfalseになっているからUndoが効くはずがない
どこの違いなのか分からないが文字列設定後かShown時にとりあえずtextBox1.ClearUndo()を入れてみたら
289デフォルトの名無しさん
2020/02/11(火) 20:57:38.89ID:b7fKfEtL290デフォルトの名無しさん
2020/02/11(火) 21:01:04.04ID:zRIDVkEW キーボード眺めて思ったけどCTRL+ZでなくてCTRL+Xしている可能性もあるなw
手入力じゃなくコード上の代入だとUndoできないんだよな
手入力じゃなくコード上の代入だとUndoできないんだよな
291デフォルトの名無しさん
2020/02/12(水) 01:52:31.19ID:CB9IiDBv 実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
293デフォルトの名無しさん
2020/02/14(金) 12:17:04.07ID:Rj5e84UH >>292
それ日本語の折り返しに対応してないとか、難あるよ。
それ日本語の折り返しに対応してないとか、難あるよ。
294デフォルトの名無しさん
2020/02/14(金) 12:38:43.18ID:a5iC3cHy 日本語は必須事項ではないので多分大丈夫です
295デフォルトの名無しさん
2020/02/14(金) 12:47:36.23ID:7R4aPKWb PDF仮想プリンタの存在前提で普通にGDI+で書けば楽だと思うけどな
Win10ならデフォで入ってるんだし
Win10ならデフォで入ってるんだし
296デフォルトの名無しさん
2020/02/14(金) 13:04:12.74ID:a5iC3cHy なるほど!
検討してみます。ありがとう!
検討してみます。ありがとう!
297デフォルトの名無しさん
2020/02/28(金) 18:11:07.35ID:HAMXUqwp win32のhage.rcファイルからhage.resを造って-win32res:hage.resでexeにリンクしてるとき
hage.rcの中身が
hogehoge BITMAP "filename.bmp"
のときは
Bitmap a = Bitmap.FromResource(hInst, "hogehoge");
で取得出来るのですが
hage.rcの中身が
456 BITMAP "filename.bmp"
だと
Bitmap b = Bitmap.FromResource(hInst, 456);
Bitmap b = Bitmap.FromResource(hInst, Convert.ToString((IntPtr)456));
Bitmap b = Bitmap.FromResource(hInst, Convert.ToString((IntPtr)((UInt16)456)));
とかで取得出来ないのですが
456を上手くBitmap.FromResource()に渡す方法は無いのでしょうか?
hage.rcの中身が
hogehoge BITMAP "filename.bmp"
のときは
Bitmap a = Bitmap.FromResource(hInst, "hogehoge");
で取得出来るのですが
hage.rcの中身が
456 BITMAP "filename.bmp"
だと
Bitmap b = Bitmap.FromResource(hInst, 456);
Bitmap b = Bitmap.FromResource(hInst, Convert.ToString((IntPtr)456));
Bitmap b = Bitmap.FromResource(hInst, Convert.ToString((IntPtr)((UInt16)456)));
とかで取得出来ないのですが
456を上手くBitmap.FromResource()に渡す方法は無いのでしょうか?
298デフォルトの名無しさん
2020/02/28(金) 18:48:54.41ID:snfNueOm299デフォルトの名無しさん
2020/02/28(金) 19:02:19.22ID:HAMXUqwp ありがとう
これだと自分でWin32APIのLoadBitmap呼んだ方が速い気がしないでもない
これだと自分でWin32APIのLoadBitmap呼んだ方が速い気がしないでもない
300デフォルトの名無しさん
2020/03/01(日) 05:48:57.42ID:wVHwYgLC こっちは2018年かよ
雑談するには迷惑かからんでいいけど
雑談するには迷惑かからんでいいけど
301デフォルトの名無しさん
2020/03/01(日) 16:22:20.47ID:KSyofv5N [DllImport("user32.dll", CharSet=CharSet.Auto)]
private static extern IntPtr LoadBitmap(IntPtr hInst, IntPtr id);
[DllImport("gdi32.dll")]
private static extern bool DeleteObject(IntPtr handle);
と
IntPtr p = (IntPtr)((UInt16)id);
IntPtr hBitmap = LoadBitmap(hInst, p);
Bitmap b = (Bitmap)Image.FromHbitmap(hBitmap);
DeleteObject(hBitmap);
return b;
でうまくいきました
CharSet=CharSet.Auto を書かなくても動くのですが
書かない場合だと LoadBitmapW ではなく LoadBitmapA の方が使われるようで
id が数値リソースのときは問題出ないのですが string でリソース名を指定するときに
参照されなくなるので書いておく方が良さそうです
IntPtr p = Marshal.StringToHGlobalAuto(rn); // OK
IntPtr p = Marshal.StringToHGlobalUni(rn); // OK
IntPtr p = Marshal.StringToHGlobalAnsi(rn); // CharSet.Auto 書かないときはこっちを書くと動作
private static extern IntPtr LoadBitmap(IntPtr hInst, IntPtr id);
[DllImport("gdi32.dll")]
private static extern bool DeleteObject(IntPtr handle);
と
IntPtr p = (IntPtr)((UInt16)id);
IntPtr hBitmap = LoadBitmap(hInst, p);
Bitmap b = (Bitmap)Image.FromHbitmap(hBitmap);
DeleteObject(hBitmap);
return b;
でうまくいきました
CharSet=CharSet.Auto を書かなくても動くのですが
書かない場合だと LoadBitmapW ではなく LoadBitmapA の方が使われるようで
id が数値リソースのときは問題出ないのですが string でリソース名を指定するときに
参照されなくなるので書いておく方が良さそうです
IntPtr p = Marshal.StringToHGlobalAuto(rn); // OK
IntPtr p = Marshal.StringToHGlobalUni(rn); // OK
IntPtr p = Marshal.StringToHGlobalAnsi(rn); // CharSet.Auto 書かないときはこっちを書くと動作
302デフォルトの名無しさん
2020/03/02(月) 10:28:32.19ID:NX3+Q9hq C#というより.NET Framework全般の問題かもしれませんが・・・
ビルドした実行ファイルの拡張子を7zにして開けると
.rsrc(フォルダ)
.text
.reloc
というファイルが出てきます
このうち「.text」をエディタで開けると
「C:\Users\ユーザー名\source\repos\プロジェクト名\obj\Release\実行ファイル名.pdb」
の文字列がそのまま入っておりユーザー名まで見えてしまいます
プロジェクトのプロパティなど見てみましたが該当する文字列は設定されていませんでした
この文字列が入らないようにビルドするにはどうすれば良いでしょうか?
ビルドした実行ファイルの拡張子を7zにして開けると
.rsrc(フォルダ)
.text
.reloc
というファイルが出てきます
このうち「.text」をエディタで開けると
「C:\Users\ユーザー名\source\repos\プロジェクト名\obj\Release\実行ファイル名.pdb」
の文字列がそのまま入っておりユーザー名まで見えてしまいます
プロジェクトのプロパティなど見てみましたが該当する文字列は設定されていませんでした
この文字列が入らないようにビルドするにはどうすれば良いでしょうか?
303デフォルトの名無しさん
2020/03/02(月) 10:29:26.56ID:NX3+Q9hq あ、本スレは別でしたかすみません
304デフォルトの名無しさん
2020/03/02(月) 10:31:33.41ID:nPQHiUH/ >>302
C#の問題じゃなくVisual studioとかのビルド側の設定の話だから該当するスレでやれ
C#の問題じゃなくVisual studioとかのビルド側の設定の話だから該当するスレでやれ
305デフォルトの名無しさん
2020/03/02(月) 11:10:23.06ID:glnmwhpK hoge.Dispose()って必ず呼ぶ必要ありますか?
ネットにあるサンプルでDispose()してるのと放ったらかしなのとあるようですが
放ったらかしでも問題無いとしたらわざわざDispose()呼ぶのはなぜですか?
ネットにあるサンプルでDispose()してるのと放ったらかしなのとあるようですが
放ったらかしでも問題無いとしたらわざわざDispose()呼ぶのはなぜですか?
306デフォルトの名無しさん
2020/03/02(月) 11:55:33.00ID:OjHPSko6 >>305
必ず呼ぶ必要はないが呼んだ方が良い
o リソース解放のタイミングやスレッドが制御できないのでそれらに依存する場合不具合の温床になる可能性
o 無駄なオブジェクトの昇格が起きてしまいGCに悪影響が出る可能性
いずれも無視できる場合もあれば致命的になる場合もある
サンプル程度で目くじら立てる必要はまったくないが
本番では呼んだ方が良い
必ず呼ぶ必要はないが呼んだ方が良い
o リソース解放のタイミングやスレッドが制御できないのでそれらに依存する場合不具合の温床になる可能性
o 無駄なオブジェクトの昇格が起きてしまいGCに悪影響が出る可能性
いずれも無視できる場合もあれば致命的になる場合もある
サンプル程度で目くじら立てる必要はまったくないが
本番では呼んだ方が良い
307デフォルトの名無しさん
2020/03/02(月) 12:09:29.55ID:glnmwhpK なるほどありがとうございます
ちなみに
using(Graphics g = Graphics.FromImage(hoge)){
...
}
みたいなときスコープ抜けるとgのDispose()は呼ばれないですか?
抜ける前に自分でg.Dispose();しておく必要ありますか?
ちなみに
using(Graphics g = Graphics.FromImage(hoge)){
...
}
みたいなときスコープ抜けるとgのDispose()は呼ばれないですか?
抜ける前に自分でg.Dispose();しておく必要ありますか?
308デフォルトの名無しさん
2020/03/02(月) 12:27:47.69ID:MTJ6Jwm2 disposeを自動で呼んでもらうためにusing構文がある
309デフォルトの名無しさん
2020/03/02(月) 15:08:50.50ID:rG8m8EdX >>307
せめてこのあたりは一読してから質問した方がいい
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
せめてこのあたりは一読してから質問した方がいい
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
310デフォルトの名無しさん
2020/03/02(月) 15:54:23.45ID:glnmwhpK311デフォルトの名無しさん
2020/03/02(月) 16:35:38.68ID:glnmwhpK 何か今までGCに任せれば良いやって適当に書いてたんですが
意外とDispose()呼ばないといけない場所多いんですね
意外とDispose()呼ばないといけない場所多いんですね
312デフォルトの名無しさん
2020/03/02(月) 16:37:42.01ID:glnmwhpK クラスを書く時デストラクタとDisposeを省略するなっていうのが今回得た教訓かも知れません
313デフォルトの名無しさん
2020/03/02(月) 17:18:06.30ID:8o+Bfjp3 ちゃんとした製品にするようなソフトならケアするけど個人やチームで使う程度のちょっとしたツールだったら一切書かないな
314デフォルトの名無しさん
2020/03/02(月) 17:24:53.84ID:qKOTAeuh グラフィック周りや通信周り、データーベース周りあたりはちゃんと書いといた方がいいんじゃねえか?
315デフォルトの名無しさん
2020/03/02(月) 18:39:31.60ID:eX7+1wsX 稼げるブログの始め方をブロガーが解説!副業や不労所得を作る
https://www.youtube.com/watch?v=CHn6tNCYAZM
第1回 ブログをどうやって始めるのか?初心者の頃に知りたかったことをブロガーがわかりやすく解説【ブログで稼ぐ】
https://www.youtube.com/watch?v=TEMUZvQSM1Q&t=708s
第2回 ブログで不労所得1億円!?ブログでお金を稼ぐ仕組みを解説〜
イケダハヤトさんはブログで年間1.5億円の収入!【ブログで稼ぐ】
https://www.youtube.com/watch?v=eWw-RfbNP1g
第3回【学生向け】ブログで月1万円を稼いでいる実例をわかりやすく紹介〜
ブログやアフィリエイト入門。【ブログで稼ぐ】
https://www.youtube.com/watch?v=mjHp2Fqj9OE&t=190s
第5回 月100万円を稼げるようになった体験談!副業でブログを開始し不労所得に!【ブログで稼ぐ】
https://www.youtube.com/watch?v=nwrlcNSdw0U&t=523s
サラリーマンをやりながらどうやって副業をやっていたのか?スケジュールや作業量などを解説
https://www.youtube.com/watch?v=FGlGur0XC_k
https://www.youtube.com/watch?v=CHn6tNCYAZM
第1回 ブログをどうやって始めるのか?初心者の頃に知りたかったことをブロガーがわかりやすく解説【ブログで稼ぐ】
https://www.youtube.com/watch?v=TEMUZvQSM1Q&t=708s
第2回 ブログで不労所得1億円!?ブログでお金を稼ぐ仕組みを解説〜
イケダハヤトさんはブログで年間1.5億円の収入!【ブログで稼ぐ】
https://www.youtube.com/watch?v=eWw-RfbNP1g
第3回【学生向け】ブログで月1万円を稼いでいる実例をわかりやすく紹介〜
ブログやアフィリエイト入門。【ブログで稼ぐ】
https://www.youtube.com/watch?v=mjHp2Fqj9OE&t=190s
第5回 月100万円を稼げるようになった体験談!副業でブログを開始し不労所得に!【ブログで稼ぐ】
https://www.youtube.com/watch?v=nwrlcNSdw0U&t=523s
サラリーマンをやりながらどうやって副業をやっていたのか?スケジュールや作業量などを解説
https://www.youtube.com/watch?v=FGlGur0XC_k
316デフォルトの名無しさん
2020/03/02(月) 19:08:02.78ID:rG8m8EdX317デフォルトの名無しさん
2020/03/02(月) 19:16:23.68ID:dv6bLfIQ そしてHttpClientで大量のTIME_WAITを抱えると
318デフォルトの名無しさん
2020/03/02(月) 20:10:59.40ID:UF2yd5CT デストラクタはへたに実装しないほうが良いかもしれんぞ
319デフォルトの名無しさん
2020/03/02(月) 20:13:55.05ID:sj+3ONQ9 また要件の定まらないくだらない議論始めるのか?
320デフォルトの名無しさん
2020/03/02(月) 20:18:10.66ID:mQ4CLNjj >>307
Graphicsの実装次第だよ
usingで後始末がされるためにはされるように処理を作成する必要がある
みんなが作ってて広く普及してるクラスなら多分大丈夫だけど
今回のプロジェクトで作成したばっかのクラスはテストやるまで信用するな
Graphicsの実装次第だよ
usingで後始末がされるためにはされるように処理を作成する必要がある
みんなが作ってて広く普及してるクラスなら多分大丈夫だけど
今回のプロジェクトで作成したばっかのクラスはテストやるまで信用するな
321デフォルトの名無しさん
2020/03/02(月) 20:37:39.86ID:4FWK+c4C 既視感しか感じない質問だからどうせアレだろと思ったら本気の質問だったのかなw
322デフォルトの名無しさん
2020/03/02(月) 22:53:10.49ID:ywWMC8is >>320
> Graphicsの実装次第だよ
はあ?
g.Dispose()を呼ばない実装なんてできるのか?w
> usingで後始末がされるためにはされるように処理を作成する必要がある
それはまた別の話な
> Graphicsの実装次第だよ
はあ?
g.Dispose()を呼ばない実装なんてできるのか?w
> usingで後始末がされるためにはされるように処理を作成する必要がある
それはまた別の話な
323デフォルトの名無しさん
2020/03/02(月) 23:49:32.46ID:4FWK+c4C まあ可能不可能ならこういうことは可能だろうね
public class Graphics : IDisposable
{
void IDisposable.Dispose()
{
}
public void Disposable()
{
...
}
}
public class Graphics : IDisposable
{
void IDisposable.Dispose()
{
}
public void Disposable()
{
...
}
}
324デフォルトの名無しさん
2020/03/03(火) 00:51:00.55ID:uFujH6tR >>323
public class Graphics
{
void Dispose()
{
}
}
( ゚д゚)・・・
public class Graphics
{
void Dispose()
{
}
}
( ゚д゚)・・・
325デフォルトの名無しさん
2020/03/04(水) 09:15:28.58ID:TuAQ3w56 プログラミングそのものの話ではないんですが、c#で他の機械とソケット通信してデータやり取りしてこちらからの指示やその応答でなんらかの処理を行うプログラムはどう作るのが一般的なのでしょう?
通信を行うプログラムと業務用にオペレータからの操作とその他を担うプログラムにわけて作ろうと思っています。
通信相手はIOTのマイコンのようなもので独自のプロトコルがTCP/IP上で規定されています。
通信プログラムと業務用のアプリのデータのやり取りはファイルとしてデータを保存するのも手ではあるのですが、読み書き遅いので、共有メモリ的な使い方とかメッセージ的な使い方にならないかな、と。
linux上でc言語ばかり使っているので、どうするのが一般的なのかよく分かっておりません。
よろしくお願いします。
通信を行うプログラムと業務用にオペレータからの操作とその他を担うプログラムにわけて作ろうと思っています。
通信相手はIOTのマイコンのようなもので独自のプロトコルがTCP/IP上で規定されています。
通信プログラムと業務用のアプリのデータのやり取りはファイルとしてデータを保存するのも手ではあるのですが、読み書き遅いので、共有メモリ的な使い方とかメッセージ的な使い方にならないかな、と。
linux上でc言語ばかり使っているので、どうするのが一般的なのかよく分かっておりません。
よろしくお願いします。
326デフォルトの名無しさん
2020/03/04(水) 09:44:00.83ID:hHbt2ovK 他の機械がWindowsならVNCサーバー入れるのが一番楽
327デフォルトの名無しさん
2020/03/04(水) 09:51:06.45ID:TuAQ3w56328デフォルトの名無しさん
2020/03/04(水) 09:51:13.72ID:VYRn8ATr 質問がごちゃっとしてるけど
要はローカルマシン内でプロセス間通信したいってこと?
今はgRPCが推されてるんじゃね 知らんけど
要はローカルマシン内でプロセス間通信したいってこと?
今はgRPCが推されてるんじゃね 知らんけど
329デフォルトの名無しさん
2020/03/04(水) 10:18:47.95ID:TuAQ3w56 >>328
わかりにくくてすいません
二つあって、ソケット通信するプログラムと業務用のプログラムを分けて作る場合の普通の作り方です
ソケット通信するプログラムは言語に付属してるライブラリをそのまんま使うしかないなと思ってます
プロトコルは規定されてるのでうまく作れないならcで作るしかないかな、と
業務用のアプリとソケット通信するプログラムのIPCはc#でどうやるのがWindowsの流儀なのか、お尋ねしております
ご教示いただいたgRPCは後者についての情報ですね
はじめて聞く技術なのでわかっておりませんが、参考とさせていただきます。少し道具立てが大きそうですね
ありがとうございます
わかりにくくてすいません
二つあって、ソケット通信するプログラムと業務用のプログラムを分けて作る場合の普通の作り方です
ソケット通信するプログラムは言語に付属してるライブラリをそのまんま使うしかないなと思ってます
プロトコルは規定されてるのでうまく作れないならcで作るしかないかな、と
業務用のアプリとソケット通信するプログラムのIPCはc#でどうやるのがWindowsの流儀なのか、お尋ねしております
ご教示いただいたgRPCは後者についての情報ですね
はじめて聞く技術なのでわかっておりませんが、参考とさせていただきます。少し道具立てが大きそうですね
ありがとうございます
330デフォルトの名無しさん
2020/03/04(水) 10:24:23.69ID:hHbt2ovK >linux上でc言語ばかり使っているので、どうするのが一般的なのかよく分かっておりません。
「、」の前後で矛盾してるな
「、」の前後で矛盾してるな
331デフォルトの名無しさん
2020/03/04(水) 10:27:39.48ID:ITD9wOqz 普通にSocket使うけどな
332デフォルトの名無しさん
2020/03/04(水) 10:36:36.26ID:TuAQ3w56333デフォルトの名無しさん
2020/03/04(水) 10:37:16.05ID:TuAQ3w56 >>331
IPC的なものは使わずにソケット通信すると言うことですか。なるほど。
IPC的なものは使わずにソケット通信すると言うことですか。なるほど。
334デフォルトの名無しさん
2020/03/04(水) 10:51:26.57ID:VYRn8ATr TCP/IP通信自体は.NETにもSystem.Net.Sockets.SocketやらSystem.Net.Sockets.TcpClientやら用意されてる
TCP/IP上で独自プロトコルならこの辺使うけどIPCでは普通直接は使わない
TCP/IP上で独自プロトコルならこの辺使うけどIPCでは普通直接は使わない
335デフォルトの名無しさん
2020/03/04(水) 11:10:56.42ID:ITD9wOqz >>334
いや325に独自プロトコルって書いてあったんでな
いや325に独自プロトコルって書いてあったんでな
336デフォルトの名無しさん
2020/03/04(水) 11:18:37.67ID:TuAQ3w56 >>334、335
わかりにくくてすみません
IoTデバイスとの通信はTPCIP上で独自のアプリケーションプロトコルが規定されてて、それに従います
それをやる通信用のプロセスと別建ての業務用のプロセスの間でもデータのやりとりを行う必要があるのですが、IPCはどうやって普通は実現してるのかがC#を使う上でわかっておりません
わかりにくくてすみません
IoTデバイスとの通信はTPCIP上で独自のアプリケーションプロトコルが規定されてて、それに従います
それをやる通信用のプロセスと別建ての業務用のプロセスの間でもデータのやりとりを行う必要があるのですが、IPCはどうやって普通は実現してるのかがC#を使う上でわかっておりません
337デフォルトの名無しさん
2020/03/04(水) 11:37:01.00ID:nNNW6i++ プロセス間通信って、共有メモリみたいな奴か?
338デフォルトの名無しさん
2020/03/04(水) 11:58:57.18ID:TuAQ3w56 >>337
他にも組み合わせて使うと思いますが、その通りです。
他にも組み合わせて使うと思いますが、その通りです。
339デフォルトの名無しさん
2020/03/04(水) 12:31:07.29ID:TuAQ3w56 ど素人め、定番はこれだって回答がすぐにないのは
ひょっとすると、プロセスごとにわけて機能を作り込むような考え方はWindowsというかC#というかわからないですが、一般的ではないのでしょうか?
ひょっとすると、プロセスごとにわけて機能を作り込むような考え方はWindowsというかC#というかわからないですが、一般的ではないのでしょうか?
340デフォルトの名無しさん
2020/03/04(水) 12:55:31.61ID:RbQqNGaU 触っちゃいけない人だったか
341デフォルトの名無しさん
2020/03/04(水) 13:05:25.33ID:TuAQ3w56 >>340
私の書いた文はわかりにくいかもしれませんが、そのご指摘はどういう意味なのでしょうか?
私の書いた文はわかりにくいかもしれませんが、そのご指摘はどういう意味なのでしょうか?
342デフォルトの名無しさん
2020/03/04(水) 13:37:21.24ID:SkBOTqi1343デフォルトの名無しさん
2020/03/04(水) 13:43:31.55ID:pkFzTgEj 普通の方法があるんじゃなくて目的に応じて複数の方法があるという当たり前の話なだけなので
普通の普通の連呼されてもこんな方法もあるよって情報が増えるだけやぞ
既にもらった情報で自分の目的に合致するのか一旦実践した方がいいんじゃねえの
なんか最初のレス見る限りメモリマップトファイルとかウィンドウメッセージで事足りる話に見えるが
普通の普通の連呼されてもこんな方法もあるよって情報が増えるだけやぞ
既にもらった情報で自分の目的に合致するのか一旦実践した方がいいんじゃねえの
なんか最初のレス見る限りメモリマップトファイルとかウィンドウメッセージで事足りる話に見えるが
344デフォルトの名無しさん
2020/03/04(水) 13:57:38.59ID:ITD9wOqz 元々のSocketはプロセス間通信用
SockAddr の AF_UNIXがそれ。
Windowsは長い間、AF_UNIXをサポート
していなかったが、去年ぐらいからwin10で使えるようになっている。(デスクトップとWSLの場合)
いつディスコン喰らうか判らない高位ライブラリーを使うか、
自分に技術蓄積がある(?)下位ライブラリーを使うかの判断はケースバイケースでしょぅね
幸運を
SockAddr の AF_UNIXがそれ。
Windowsは長い間、AF_UNIXをサポート
していなかったが、去年ぐらいからwin10で使えるようになっている。(デスクトップとWSLの場合)
いつディスコン喰らうか判らない高位ライブラリーを使うか、
自分に技術蓄積がある(?)下位ライブラリーを使うかの判断はケースバイケースでしょぅね
幸運を
345デフォルトの名無しさん
2020/03/04(水) 14:38:19.70ID:TuAQ3w56346デフォルトの名無しさん
2020/03/04(水) 17:35:15.89ID:/myb4o4P いろいろとアドバイスしてくれてる人たちに
ど素人め
と罵倒したのはなんだったの?
ど素人め
と罵倒したのはなんだったの?
347デフォルトの名無しさん
2020/03/04(水) 18:01:30.38ID:TuAQ3w56 >>346
ははは
そう解釈されましたか
識者「ど素人め、定番はこれだ」
私 なるほどー
という意味で書いたのですが、誤読を誘発してしまいましたね
私が他者へど素人めと言ってるわけではなく、識者ならこんなフワフワした質問は、パッと答えてくれるかなと思って書いたのです
ははは
そう解釈されましたか
識者「ど素人め、定番はこれだ」
私 なるほどー
という意味で書いたのですが、誤読を誘発してしまいましたね
私が他者へど素人めと言ってるわけではなく、識者ならこんなフワフワした質問は、パッと答えてくれるかなと思って書いたのです
348デフォルトの名無しさん
2020/03/04(水) 18:01:58.08ID:VYRn8ATr 346
それは誤読
それは誤読
349デフォルトの名無しさん
2020/03/04(水) 18:19:39.77ID:yiNVycVp >>325
>通信を行うプログラムと業務用にオペレータからの操作とその他を担うプログラムにわけて作ろうと思っています。
プロセスとかプログラムを分けて作りたい理由って何なの?
書いてる内容だけだとライブラリ化すれば十分なように思えるけど
>通信を行うプログラムと業務用にオペレータからの操作とその他を担うプログラムにわけて作ろうと思っています。
プロセスとかプログラムを分けて作りたい理由って何なの?
書いてる内容だけだとライブラリ化すれば十分なように思えるけど
350デフォルトの名無しさん
2020/03/04(水) 18:32:10.50ID:TuAQ3w56 >>349
機能が違うのが一番の理由です
設計するにあたって、通信の機能は独自のプロトコルがあるのでそれなりに考慮しなきゃいけないことが多くて、通信に専念させたいのですね
業務用のプロセスは、こちらはこちらでUIがありますので、通信を行う機能とは考察しなきゃいけないところが違います
また、両者の動作タイミングが全く違うこともありますね
機能が違うのが一番の理由です
設計するにあたって、通信の機能は独自のプロトコルがあるのでそれなりに考慮しなきゃいけないことが多くて、通信に専念させたいのですね
業務用のプロセスは、こちらはこちらでUIがありますので、通信を行う機能とは考察しなきゃいけないところが違います
また、両者の動作タイミングが全く違うこともありますね
351デフォルトの名無しさん
2020/03/04(水) 18:41:49.49ID:SkBOTqi1 機能が違うだけならプロジェクト分けてdll化すればよいだけなので、
普通に考えれば不特定多数(いやらしい言い方だけど)からのアクセスが要件なんでしょうたぶん
知らんけど
普通に考えれば不特定多数(いやらしい言い方だけど)からのアクセスが要件なんでしょうたぶん
知らんけど
352デフォルトの名無しさん
2020/03/04(水) 18:49:53.82ID:TuAQ3w56 >>351
動作タイミングが違いますので、dll化では実現できないと考えています。
一つのプロセスで実現するにはマルチスレッド化せざるを得ないと思うのですが、そうすることは暗黙でみな承知している事柄なのでしょうか?
マルチスレッドでもマルチタスクでも似たような考察点はあるのでどちらを採用しても作成する難易度は大差ないのだとは思いますが、知識が余りに不足しており、マルチスレッドスレッド化したプロセスのデバッグは私では困難極まりないとも考えています。
動作タイミングが違いますので、dll化では実現できないと考えています。
一つのプロセスで実現するにはマルチスレッド化せざるを得ないと思うのですが、そうすることは暗黙でみな承知している事柄なのでしょうか?
マルチスレッドでもマルチタスクでも似たような考察点はあるのでどちらを採用しても作成する難易度は大差ないのだとは思いますが、知識が余りに不足しており、マルチスレッドスレッド化したプロセスのデバッグは私では困難極まりないとも考えています。
353デフォルトの名無しさん
2020/03/04(水) 18:56:27.09ID:SkBOTqi1 >>352
アクセスさせる相手が常に同じならプロセス間通信なんてまどとっこしいことを
する意味はないような気がする。
マルチスレッドはもちろん落とし穴いっぱいだけど、過度に恐れる必要はないし
そこまで難易度高くないと思う。
アクセスさせる相手が常に同じならプロセス間通信なんてまどとっこしいことを
する意味はないような気がする。
マルチスレッドはもちろん落とし穴いっぱいだけど、過度に恐れる必要はないし
そこまで難易度高くないと思う。
354デフォルトの名無しさん
2020/03/04(水) 18:58:21.75ID:SkBOTqi1 少なくとも自分はプログラミング始めて半年でも普通に使ってましたよw
355デフォルトの名無しさん
2020/03/04(水) 19:04:15.58ID:GfItxBVT スレッド間通信だって、プロセス間通信だって同じことじゃん
プロセスを分けたからって通信にだけ専念するなんて造りにはできない
通信タスク⇔アプリタスク
と並列に動く2つのタスクの接点処理を作ってやらないと動かないぞ
プロセスを分けたからって通信にだけ専念するなんて造りにはできない
通信タスク⇔アプリタスク
と並列に動く2つのタスクの接点処理を作ってやらないと動かないぞ
356デフォルトの名無しさん
2020/03/04(水) 19:08:19.47ID:TuAQ3w56 >>353
ありがとうございます
考え方ですね
勿論、通信と業務双方まとめて考察できてモノシリックな作りに出来たらそれはそれで良いのだと思います。
通信機能は状態遷移に従って色々やらせる事があるので、業務用の機能と合わせて考察するのは、私にはなかなか難しいのです。
ちなみに、可能でしたらご教示頂きたいのですが、マルチスレッドのプログラムのデバッグ手法はどのようなものでしょうか
webや良書など、参考にされたものがありましたら教えていただけませんでしょうか
マルチタスクのプロセス構成で、どうしてもsemaphore的な扱いの部分で考え落ちのバグがあり、状態遷移に基づいて試験してもバグをかなり流出させてしまったことがありまして。
勿論、分岐網羅や境界値分析で一通り全ての試験をこなしてはいたのですが
まして未経験のスレッドだとどうなるやらわからず二の足を踏んでおります。
ありがとうございます
考え方ですね
勿論、通信と業務双方まとめて考察できてモノシリックな作りに出来たらそれはそれで良いのだと思います。
通信機能は状態遷移に従って色々やらせる事があるので、業務用の機能と合わせて考察するのは、私にはなかなか難しいのです。
ちなみに、可能でしたらご教示頂きたいのですが、マルチスレッドのプログラムのデバッグ手法はどのようなものでしょうか
webや良書など、参考にされたものがありましたら教えていただけませんでしょうか
マルチタスクのプロセス構成で、どうしてもsemaphore的な扱いの部分で考え落ちのバグがあり、状態遷移に基づいて試験してもバグをかなり流出させてしまったことがありまして。
勿論、分岐網羅や境界値分析で一通り全ての試験をこなしてはいたのですが
まして未経験のスレッドだとどうなるやらわからず二の足を踏んでおります。
357デフォルトの名無しさん
2020/03/04(水) 19:12:25.31ID:TuAQ3w56 >>355
ありがとございます
それはその通りです
機能ごとに作るのは、仰っている接点をキチンと作ることでもあります。
通信した結果をなんらかのIPC機能を使って業務用のプロセスに通知、逆に業務用のプロセスからの指示を通知するように明示しておきたいのです
一種の責任分界点としての役目もありますね
ありがとございます
それはその通りです
機能ごとに作るのは、仰っている接点をキチンと作ることでもあります。
通信した結果をなんらかのIPC機能を使って業務用のプロセスに通知、逆に業務用のプロセスからの指示を通知するように明示しておきたいのです
一種の責任分界点としての役目もありますね
358デフォルトの名無しさん
2020/03/04(水) 19:18:43.16ID:GfItxBVT そもそも通信タスクとアプリタスクってどっちが親なん?
アプリタスクの常駐処理って何やってるの?
通信タスクに最新データが来たら通知して欲しい?
アプリタスクが通知タスクの受信バッファを定期で確認する?
アプリタスクの常駐処理って何やってるの?
通信タスクに最新データが来たら通知して欲しい?
アプリタスクが通知タスクの受信バッファを定期で確認する?
359デフォルトの名無しさん
2020/03/04(水) 19:18:54.88ID:E+0JWbBM ガガイのガイジ
360デフォルトの名無しさん
2020/03/04(水) 19:20:34.90ID:w6hLhDKv >>347
少なくとも340はそう捉えて、突然罵倒する危ない人なんだなと感じたんだと思うよ
俺は正しく解釈したけど340に対するレスがずれてたんでもしかして340の解釈が正しかったのか?と勘ぐっちゃった
少なくとも340はそう捉えて、突然罵倒する危ない人なんだなと感じたんだと思うよ
俺は正しく解釈したけど340に対するレスがずれてたんでもしかして340の解釈が正しかったのか?と勘ぐっちゃった
361デフォルトの名無しさん
2020/03/04(水) 19:22:05.72ID:uE9oMay2 てか実際にローカル同士の対話なのかそこすらハッキリ情報出してねえだろ
要件の定まらねえフワフワした質問にはフワフワした回答しかこねえよ
要件の定まらねえフワフワした質問にはフワフワした回答しかこねえよ
362デフォルトの名無しさん
2020/03/04(水) 19:30:41.74ID:TuAQ3w56 >>358
親子関係は特に考えていませんね
24時間運用することを想定してます
業務用のプロセスはデバイスの稼働状況とセンシングしてるデータのモニタリング、及びそれらの蓄積。
必要に応じてデバイス(のさらに先にいる装置)に対してある種の指示を行うことを想定してます。
センシングしてるデータはそのまんまではなく、モニタするときには簡単な加工(FFT程度)して表示させるつもりです。
業務用のプロセスは、可能だったらポーリングではなく、イベントドリブンな形で受信を契機に即座に表示してほしいのです。
親子関係は特に考えていませんね
24時間運用することを想定してます
業務用のプロセスはデバイスの稼働状況とセンシングしてるデータのモニタリング、及びそれらの蓄積。
必要に応じてデバイス(のさらに先にいる装置)に対してある種の指示を行うことを想定してます。
センシングしてるデータはそのまんまではなく、モニタするときには簡単な加工(FFT程度)して表示させるつもりです。
業務用のプロセスは、可能だったらポーリングではなく、イベントドリブンな形で受信を契機に即座に表示してほしいのです。
363デフォルトの名無しさん
2020/03/04(水) 19:34:47.36ID:mhPO8lOa 親子なんか意識する必要ないしなあ。
悪いがここ馬鹿ばかりだから相談しても無駄だぞ。
悪いがここ馬鹿ばかりだから相談しても無駄だぞ。
364デフォルトの名無しさん
2020/03/04(水) 19:39:28.76ID:x9n6fSic365デフォルトの名無しさん
2020/03/04(水) 19:47:15.17ID:yCw8CYmc モノシリですね判ります
366デフォルトの名無しさん
2020/03/04(水) 19:48:21.42ID:K/lPlqdw ちょっと、見返してみましたが、もはやc#そのものとかなり離れた会話になってしまいました
すみません
c#で実装するため、下らない質問でも書いて良いスレと書いてあったので、このスレに書いてしまいましたが、あまり相談するにあたり適切だとは言えない内容となってしまいました
長々とこれ以上続けるのも申し訳ないので、この辺りでやめておくことにします
ご教示頂いた方、ありがとうございました
すみません
c#で実装するため、下らない質問でも書いて良いスレと書いてあったので、このスレに書いてしまいましたが、あまり相談するにあたり適切だとは言えない内容となってしまいました
長々とこれ以上続けるのも申し訳ないので、この辺りでやめておくことにします
ご教示頂いた方、ありがとうございました
367デフォルトの名無しさん
2020/03/04(水) 20:07:19.28ID:SkBOTqi1 揚げ足取りだけどmonolithicねw
これおじさん世代に間違って覚えてる人多し
これおじさん世代に間違って覚えてる人多し
368デフォルトの名無しさん
2020/03/04(水) 20:14:20.76ID:4LAYe0JO369デフォルトの名無しさん
2020/03/04(水) 20:26:04.25ID:5mLImXyq >>362
だったら通信開始した時点で他の処理は動いて欲しくないんだから
別プロセスなんかにする必要ないじゃん
問題起きるだけだよ
また通信が途中で死んだとき
途中までダウンロードしたデータどうするの?
また、その後のアプリの動作はどうしたい?(最新が取れるまで完全に止めたい?古いデータで動かしたい?)
とか色々ある仕様を決めて
初めて別プロセスにするって仕様が決まるんであって
わかりにくいから分けちゃったは余計面倒で複雑になっちゃうぞ
別プロセスにしたいなんて受信自体はアプリが死んでても生きててもいつでも動いてほしくてとにかく受信バッファを素早くいつでも処理してほしい的な
要望でもないとやらないよ
だったら通信開始した時点で他の処理は動いて欲しくないんだから
別プロセスなんかにする必要ないじゃん
問題起きるだけだよ
また通信が途中で死んだとき
途中までダウンロードしたデータどうするの?
また、その後のアプリの動作はどうしたい?(最新が取れるまで完全に止めたい?古いデータで動かしたい?)
とか色々ある仕様を決めて
初めて別プロセスにするって仕様が決まるんであって
わかりにくいから分けちゃったは余計面倒で複雑になっちゃうぞ
別プロセスにしたいなんて受信自体はアプリが死んでても生きててもいつでも動いてほしくてとにかく受信バッファを素早くいつでも処理してほしい的な
要望でもないとやらないよ
370デフォルトの名無しさん
2020/03/04(水) 20:37:11.14ID:4LAYe0JO371デフォルトの名無しさん
2020/03/04(水) 20:52:38.13ID:Yqjto87s372デフォルトの名無しさん
2020/03/04(水) 20:55:56.28ID:5mLImXyq 仮に
通信タスクが通信し受信バッファに溜め込んで
アプリタスクが受信バッファを定期で見に行く造りにした場合
・通信タスク受信バッファ書込中(アプリタスクは受信バッファには触れない)
・アプリタスク受信バッファ読取中(通信タスクは受信バッファには触れない)
上記2つの状態を解消する何らかの仕組みは必要
通信タスクが通信し受信バッファに溜め込んで
アプリタスクが受信バッファを定期で見に行く造りにした場合
・通信タスク受信バッファ書込中(アプリタスクは受信バッファには触れない)
・アプリタスク受信バッファ読取中(通信タスクは受信バッファには触れない)
上記2つの状態を解消する何らかの仕組みは必要
373デフォルトの名無しさん
2020/03/04(水) 21:03:04.11ID:FUOXjc3Y >>372
そうですね
なんらかの形で排他を行い、リングバッファのような仕組みでデータの受け渡しを行なって、プロセス相互にメッセージを送受信してイベントの発生を通知できたらいいですね。
ありがとうございます
そうですね
なんらかの形で排他を行い、リングバッファのような仕組みでデータの受け渡しを行なって、プロセス相互にメッセージを送受信してイベントの発生を通知できたらいいですね。
ありがとうございます
374デフォルトの名無しさん
2020/03/04(水) 22:20:56.21ID:yiNVycVp >>350
機能が違うからプロセス分けるってのはC#では一般的ではないね
ネットワークI/Oを担当する部分と、業務ロジック/UIを担当する部分で機能は違っても
両方存在しないとユースケースが完結できないのであれば一般的には一つのプログラムにする
通信機能を複数のプログラムで共有したい場合だったり
それぞれのプログラムの起動/停止タイミングの違ったり
耐障害性を考慮したプロセス監視要件が違うケースみたいに
プログラムを分ける必要のある要件があれば別
プロセス分ける必要がなければC#の場合はマルチプロセスに比べて
マルチスレッドのほうが道具も揃ってるしシンプルに作れる
機能が違うからプロセス分けるってのはC#では一般的ではないね
ネットワークI/Oを担当する部分と、業務ロジック/UIを担当する部分で機能は違っても
両方存在しないとユースケースが完結できないのであれば一般的には一つのプログラムにする
通信機能を複数のプログラムで共有したい場合だったり
それぞれのプログラムの起動/停止タイミングの違ったり
耐障害性を考慮したプロセス監視要件が違うケースみたいに
プログラムを分ける必要のある要件があれば別
プロセス分ける必要がなければC#の場合はマルチプロセスに比べて
マルチスレッドのほうが道具も揃ってるしシンプルに作れる
375デフォルトの名無しさん
2020/03/04(水) 22:27:53.31ID:5mLImXyq376デフォルトの名無しさん
2020/03/04(水) 22:30:17.84ID:GUfzIi7v UI使わない時(ログオフ時)でも常に通信してる必要があるなら
通信部だけ独立させてサービス化することはあるな
通信部だけ独立させてサービス化することはあるな
377デフォルトの名無しさん
2020/03/04(水) 22:39:38.18ID:yiNVycVp プロセス間通信は.NET FrameworkならWCFを使うのが一般的だった
(他は.NET RemotingやIpcChannelとか)
ただ.NET Coreだと上の3つはサポートされてないから
標準でとなるとNamed PipeかSocket、あとはHTTPサーバーを立てるくらい
どれ使ってもWCFと違って型付きでデータをやり取りできないので
マーシャル/アンマーシャルは外部ライブラリ使ったりして追加実装する必要がある
ローカル限定ならまずはNamed Pipeから考える
通信用プロセスと業務用プロセスが別のマシンで稼働する可能性があったり
それぞれ別の理由でスケールしていく可能性があるなら
少し大げさだけどRabbitMQみたいなメッセージングも選択肢として検討するかな
(他は.NET RemotingやIpcChannelとか)
ただ.NET Coreだと上の3つはサポートされてないから
標準でとなるとNamed PipeかSocket、あとはHTTPサーバーを立てるくらい
どれ使ってもWCFと違って型付きでデータをやり取りできないので
マーシャル/アンマーシャルは外部ライブラリ使ったりして追加実装する必要がある
ローカル限定ならまずはNamed Pipeから考える
通信用プロセスと業務用プロセスが別のマシンで稼働する可能性があったり
それぞれ別の理由でスケールしていく可能性があるなら
少し大げさだけどRabbitMQみたいなメッセージングも選択肢として検討するかな
378デフォルトの名無しさん
2020/03/04(水) 22:40:48.64ID:5mLImXyq >>374
スレッドセーフのサンプル探すのが楽だよね
プロセス間通信のサンプル探すよりはいいと思う
書込中と読取中の2つのガードが必要なのに片方しかやってないのが多い
それも仕方ない話でこれ以上は詳細な仕様決めが必要になる
スレッドセーフのサンプル探すのが楽だよね
プロセス間通信のサンプル探すよりはいいと思う
書込中と読取中の2つのガードが必要なのに片方しかやってないのが多い
それも仕方ない話でこれ以上は詳細な仕様決めが必要になる
379デフォルトの名無しさん
2020/03/04(水) 22:45:34.67ID:Tg1eDdkO >>377
gRPCじゃね?
gRPCじゃね?
380デフォルトの名無しさん
2020/03/04(水) 23:06:44.84ID:yiNVycVp >>379
gRPCも選択肢としては考えるけど
ローカル限定のプロセス間通信なら大げさすぎる気がするし
リモートも考慮するなら業務プロセスが死んだ時の対応とかで
メッセージングにしといたほうが信頼性が高い
gRPCも選択肢としては考えるけど
ローカル限定のプロセス間通信なら大げさすぎる気がするし
リモートも考慮するなら業務プロセスが死んだ時の対応とかで
メッセージングにしといたほうが信頼性が高い
381デフォルトの名無しさん
2020/03/04(水) 23:36:06.22ID:ITD9wOqz ローカル限定ならMSMQが楽だけどね
パフォーマンス的にOKかどうかは要件次第。
DCEは悪用されまくってセキュリティー強化
で既存ソースが動かないってのはあるが、
スレッド生成から含めてランタイムが面倒見てくれるので便利。
パフォーマンス的にOKかどうかは要件次第。
DCEは悪用されまくってセキュリティー強化
で既存ソースが動かないってのはあるが、
スレッド生成から含めてランタイムが面倒見てくれるので便利。
382デフォルトの名無しさん
2020/03/04(水) 23:37:26.09ID:FUOXjc3Y 皆さま
追加でご教示ありがとうございます
追加でご教示ありがとうございます
383デフォルトの名無しさん
2020/03/04(水) 23:54:13.27ID:nNNW6i++ Ruby では、
IO の派生クラスが、抽象クラスのBasicSocket で、
その具象派生クラスに、TCPSocket/TCPSserver, UDPSocket, UNIXSocket/UNIXServer がある。
TCP/UDP, UNIX ドメインのストリーム型ソケット
socket は、プロセス外部との通信 (プロセス間通信、インターネット) を実現します
直接HTTP を扱わず、TCP で書くことも出来るが、
HTTP 以外でも、TCP を使うプロトコルは、TCP で書くことも出来るが、
普通は、ほとんどのプロトコルで、既に公開されたライブラリを使う、と書いてある。
つまり、これらを使って自分で書くことはない
HTTP などの既に公開されたライブラリを使う!
IO の派生クラスが、抽象クラスのBasicSocket で、
その具象派生クラスに、TCPSocket/TCPSserver, UDPSocket, UNIXSocket/UNIXServer がある。
TCP/UDP, UNIX ドメインのストリーム型ソケット
socket は、プロセス外部との通信 (プロセス間通信、インターネット) を実現します
直接HTTP を扱わず、TCP で書くことも出来るが、
HTTP 以外でも、TCP を使うプロトコルは、TCP で書くことも出来るが、
普通は、ほとんどのプロトコルで、既に公開されたライブラリを使う、と書いてある。
つまり、これらを使って自分で書くことはない
HTTP などの既に公開されたライブラリを使う!
384デフォルトの名無しさん
2020/03/04(水) 23:58:55.88ID:ITD9wOqz ちくわ大明神
385デフォルトの名無しさん
2020/03/05(木) 00:13:16.01ID:eAZwhj1s 現れたなRuby妖怪…
386デフォルトの名無しさん
2020/03/05(木) 10:52:16.03ID:BSkbts2i >>374
>両方存在しないとユースケースが完結できないのであれば一般的には一つのプログラムにする
それは機能分割できてないだけでは?
別レイヤとして処理を依頼する、その結果を受け取るで済む話のような?
>両方存在しないとユースケースが完結できないのであれば一般的には一つのプログラムにする
それは機能分割できてないだけでは?
別レイヤとして処理を依頼する、その結果を受け取るで済む話のような?
387デフォルトの名無しさん
2020/03/05(木) 12:40:03.16ID:TOZ2Advl mqttとか
388デフォルトの名無しさん
2020/03/06(金) 04:08:23.78ID:4zsVrvlG C#でpandasに相当するのてDataTableですか?
389デフォルトの名無しさん
2020/03/06(金) 10:32:43.31ID:3H/1PUe0 DataGridView の DataSource として List をバインドすると完了までに時間がかかる(List の Item 数が約816万件ある)ので、
徐々に追加・表示されるようにしたいのですが、どうすればよいでしょうか。
徐々に追加・表示されるようにしたいのですが、どうすればよいでしょうか。
390デフォルトの名無しさん
2020/03/06(金) 10:53:44.65ID:+Or8jz1j バインディングはあきらめて仮想モード
http://home.a00.itscom.net/hatada/csharp/datagridview02.html
まあ816万件のほうをなんとかすべきだけどね
http://home.a00.itscom.net/hatada/csharp/datagridview02.html
まあ816万件のほうをなんとかすべきだけどね
391デフォルトの名無しさん
2020/03/06(金) 12:12:19.81ID:zx4TP0wl 816万件表示して全部目で見るのかって話だな
392デフォルトの名無しさん
2020/03/06(金) 14:50:23.81ID:FB3Rm5f4 たしかに800万件を全てバインドしてしまうという考え方が乱暴かもね。
そうすれば楽だとは思うけど、別の方法を考えた方が良いと誰に聞いても言うんじゃないかな
そうすれば楽だとは思うけど、別の方法を考えた方が良いと誰に聞いても言うんじゃないかな
393デフォルトの名無しさん
2020/03/08(日) 17:03:53.86ID:NoMbfY/N 質問です。
Adaptive Code 第2版を読んでいるのですが、
SQLを用いたサンプルプログラムの実行がうまくいかず、困っています。
サンプルは以下のものを使用しています。
https://github.com/AdaptiveCode/AdaptiveCode/tree/master/Chapter12/ch12-b_st_rd-injection/DependencyInjectionWpf
SQL Serverとの接続をする部分で例外を出します。
具体的には、以下のソースファイルの26行目です。
https://github.com/AdaptiveCode/AdaptiveCode/blob/master/Chapter12/ch12-b_st_rd-injection/DependencyInjectionWpf/ServiceImplementations/TaskServiceAdo.cs
エラーメッセージは、以下のとおりです。
System.Data.SqlClient.SqlException: 'SQL Server への接続を確立しているときに
ネットワーク関連またはインスタンス固有のエラーが発生しました。
サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、
および SQL Server がリモート接続を許可するように構成されていることを確認してください。
(provider: Named Pipes Provider, error: 40 - SQL Server への接続を開けませんでした)'
動作環境はWindows 10、Visual Studio Community 2019です。
SQL Server Express 2016 LocalDB はVSと同時にインストールしてあります。
解決策をご教示いただきたく、よろしくお願いします。
Adaptive Code 第2版を読んでいるのですが、
SQLを用いたサンプルプログラムの実行がうまくいかず、困っています。
サンプルは以下のものを使用しています。
https://github.com/AdaptiveCode/AdaptiveCode/tree/master/Chapter12/ch12-b_st_rd-injection/DependencyInjectionWpf
SQL Serverとの接続をする部分で例外を出します。
具体的には、以下のソースファイルの26行目です。
https://github.com/AdaptiveCode/AdaptiveCode/blob/master/Chapter12/ch12-b_st_rd-injection/DependencyInjectionWpf/ServiceImplementations/TaskServiceAdo.cs
エラーメッセージは、以下のとおりです。
System.Data.SqlClient.SqlException: 'SQL Server への接続を確立しているときに
ネットワーク関連またはインスタンス固有のエラーが発生しました。
サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、
および SQL Server がリモート接続を許可するように構成されていることを確認してください。
(provider: Named Pipes Provider, error: 40 - SQL Server への接続を開けませんでした)'
動作環境はWindows 10、Visual Studio Community 2019です。
SQL Server Express 2016 LocalDB はVSと同時にインストールしてあります。
解決策をご教示いただきたく、よろしくお願いします。
394デフォルトの名無しさん
2020/03/08(日) 17:44:31.79ID:K4cIg85y >>393
using(var connection = new SqlConnection(settings.GetSetting("TaskDatabaseConnectionString"))){
この次の行で止めてconnection.ConnectionStringの値を確認してみ
LocalDBしかインストールしてないなら接続文字列は "(LocalDB)\{LocalDBインスタンス名}" みたいな形式でないと接続できないよ
このあたりを参考にしてね
https://blog.clock-up.jp/entry/2016/07/27/vs-sqlserver-localdb
using(var connection = new SqlConnection(settings.GetSetting("TaskDatabaseConnectionString"))){
この次の行で止めてconnection.ConnectionStringの値を確認してみ
LocalDBしかインストールしてないなら接続文字列は "(LocalDB)\{LocalDBインスタンス名}" みたいな形式でないと接続できないよ
このあたりを参考にしてね
https://blog.clock-up.jp/entry/2016/07/27/vs-sqlserver-localdb
395393
2020/03/08(日) 18:15:24.24ID:vsuFdxy2 >>394
早速ありがとうございます。
connection.ConnectionStringの値は、以下のようになっていました。
ConnectionString = "Data Source=(local);Initial Catalog=TaskDatabase;Integrated Security=True;Application Name=Task List Editor"
ソースコードを読み解いてみると、接続文字列は以下のApp.configから読み取るようになっていました。
https://github.com/AdaptiveCode/AdaptiveCode/blob/master/Chapter12/ch12-b_st_rd-injection/DependencyInjectionWpf/UI/App.config
そこでApp.config内の接続文字列を"Data Source=(LocalDB)\MSSQLLocalDB;.....(以下省略)"と変更したところ、
エラーメッセージが変化しました。以下のとおりです。
System.Data.SqlClient.SqlException: 'Cannot open database "TaskDatabase" requested by the login. The login failed.
Login failed for user '{自分のPCのホスト名}\{ユーザー名}'.'
どうやらこれだけでは解決しないようなので、
教えていただいたブログの情報を参考に設定を変更してみます。
それでもうまく行かなければまたご質問いたします。
早速ありがとうございます。
connection.ConnectionStringの値は、以下のようになっていました。
ConnectionString = "Data Source=(local);Initial Catalog=TaskDatabase;Integrated Security=True;Application Name=Task List Editor"
ソースコードを読み解いてみると、接続文字列は以下のApp.configから読み取るようになっていました。
https://github.com/AdaptiveCode/AdaptiveCode/blob/master/Chapter12/ch12-b_st_rd-injection/DependencyInjectionWpf/UI/App.config
そこでApp.config内の接続文字列を"Data Source=(LocalDB)\MSSQLLocalDB;.....(以下省略)"と変更したところ、
エラーメッセージが変化しました。以下のとおりです。
System.Data.SqlClient.SqlException: 'Cannot open database "TaskDatabase" requested by the login. The login failed.
Login failed for user '{自分のPCのホスト名}\{ユーザー名}'.'
どうやらこれだけでは解決しないようなので、
教えていただいたブログの情報を参考に設定を変更してみます。
それでもうまく行かなければまたご質問いたします。
396デフォルトの名無しさん
2020/03/08(日) 18:28:28.32ID:K4cIg85y >>395
> System.Data.SqlClient.SqlException: 'Cannot open database "TaskDatabase" requested by the login. The login failed.
Visual Studio入れてるなら 表示 - SQL Server オブジェクト エクスプローラー をクリックして
SQL Server の下の データベース を展開して接続したいデータベースがあるかを確認して
(そもそもデータベース作ってあるの?)
> System.Data.SqlClient.SqlException: 'Cannot open database "TaskDatabase" requested by the login. The login failed.
Visual Studio入れてるなら 表示 - SQL Server オブジェクト エクスプローラー をクリックして
SQL Server の下の データベース を展開して接続したいデータベースがあるかを確認して
(そもそもデータベース作ってあるの?)
397デフォルトの名無しさん
2020/03/08(日) 18:32:39.19ID:AVAsnwFk398393
2020/03/08(日) 19:12:05.97ID:vsuFdxy2 >>394
教えていただいた解説ブログを参考に設定を確認しました。
・LocalDB の存在確認
コントロールパネルの「プログラムと機能」にMicrosoft SQL Server Express 2016 LocalDB が存在しており、インストールはできているようです。
・有効な LocalDB のインスタンス名を確認
解説と同様に、sqllocaldb infoをコマンドプロンプトで実行すると、以下が表示されました。
MSSQLLocalDB
ProjectsV13
・SQL Server Data Tools for Visual Studio の存在確認
コントロールパネルの「プログラムと機能」には存在しませんでした。しかしVisual Studioの「ツール」→「ツールと機能を取得」を
確認すると「SQL Server Data Tools」にはチェックマークが入っており、インストールはできているように見えます。
・Visual Studio に LocalDB インスタンス名を設定しておく
"(LocalDB)\MSSQLLocalDB" が既に設定されていました。
・Visual Studio 内 Server Explorer から LocalDB 接続を行う
解説の通りmdfファイルを作成しました。接続文字列を確認し、サンプルプログラムのApp.config内の接続文字列を、以下の通り変更してみました。
"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename={先ほど作成したmdfファイルのパス};
Initial Catalog=TaskDatabase;Integrated Security=True;Application Name=Task List Editor"
すると、発生する例外が変わり、以下の通りになりました。
System.Data.SqlClient.SqlException: 'Cannot attach file '{先ほど作成したmdfファイルのパス}'
as database 'TaskDatabase' because this file is already in use for database '{先ほど作成したmdfファイルのパス}''
>>396
「SQL Server オブジェクト エクスプローラー」
を開いたところ、「SQL Server」→「(localdb)\MSSQLLocalDB」→「データベース」
のところに解説ブログに従って作成したmdfファイルのパスが表示されています。(これで「作ってある」と言えるのかがよく分かりませんが…)
教えていただいた解説ブログを参考に設定を確認しました。
・LocalDB の存在確認
コントロールパネルの「プログラムと機能」にMicrosoft SQL Server Express 2016 LocalDB が存在しており、インストールはできているようです。
・有効な LocalDB のインスタンス名を確認
解説と同様に、sqllocaldb infoをコマンドプロンプトで実行すると、以下が表示されました。
MSSQLLocalDB
ProjectsV13
・SQL Server Data Tools for Visual Studio の存在確認
コントロールパネルの「プログラムと機能」には存在しませんでした。しかしVisual Studioの「ツール」→「ツールと機能を取得」を
確認すると「SQL Server Data Tools」にはチェックマークが入っており、インストールはできているように見えます。
・Visual Studio に LocalDB インスタンス名を設定しておく
"(LocalDB)\MSSQLLocalDB" が既に設定されていました。
・Visual Studio 内 Server Explorer から LocalDB 接続を行う
解説の通りmdfファイルを作成しました。接続文字列を確認し、サンプルプログラムのApp.config内の接続文字列を、以下の通り変更してみました。
"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename={先ほど作成したmdfファイルのパス};
Initial Catalog=TaskDatabase;Integrated Security=True;Application Name=Task List Editor"
すると、発生する例外が変わり、以下の通りになりました。
System.Data.SqlClient.SqlException: 'Cannot attach file '{先ほど作成したmdfファイルのパス}'
as database 'TaskDatabase' because this file is already in use for database '{先ほど作成したmdfファイルのパス}''
>>396
「SQL Server オブジェクト エクスプローラー」
を開いたところ、「SQL Server」→「(localdb)\MSSQLLocalDB」→「データベース」
のところに解説ブログに従って作成したmdfファイルのパスが表示されています。(これで「作ってある」と言えるのかがよく分かりませんが…)
399393
2020/03/08(日) 19:36:27.17ID:vsuFdxy2 すみません、どうやら解決しました。
サンプルプログラムのTaskDatabaseプロジェクトの「プロパティ」→「デバッグ」を見たところ、
「ターゲット接続文字列」が以下のように記載されていました。
Data Source=(localdb)\ProjectsV13;Initial Catalog=TaskDatabase;Integrated Security=True;Pooling=False;Connect Timeout=30
また、「SQL Server オブジェクト エクスプローラー」をよくよく見てみると、
「SQL Server」の下には「(localdb)\MSSQLLocalDB」のほかに「(localdb)\ProjectsV13」があり、
その下に今回のサンプルプログラムで使用する「TaskDatabase」が作成されていました(いつの間にできた??)。
そこで接続文字列のデータソースを「(localdb)\ProjectsV13」に変更したところ、サンプルプログラムがうまく動作しました。
SQL周りの知識が全く無いので、MDFファイルがなぜ、いつの間に作成されていたのか、、、
まだ理解できていないところはありますが、とりあえず先には進めそうです。
教えていただいた皆様、ありがとうございました。
サンプルプログラムのTaskDatabaseプロジェクトの「プロパティ」→「デバッグ」を見たところ、
「ターゲット接続文字列」が以下のように記載されていました。
Data Source=(localdb)\ProjectsV13;Initial Catalog=TaskDatabase;Integrated Security=True;Pooling=False;Connect Timeout=30
また、「SQL Server オブジェクト エクスプローラー」をよくよく見てみると、
「SQL Server」の下には「(localdb)\MSSQLLocalDB」のほかに「(localdb)\ProjectsV13」があり、
その下に今回のサンプルプログラムで使用する「TaskDatabase」が作成されていました(いつの間にできた??)。
そこで接続文字列のデータソースを「(localdb)\ProjectsV13」に変更したところ、サンプルプログラムがうまく動作しました。
SQL周りの知識が全く無いので、MDFファイルがなぜ、いつの間に作成されていたのか、、、
まだ理解できていないところはありますが、とりあえず先には進めそうです。
教えていただいた皆様、ありがとうございました。
400デフォルトの名無しさん
2020/03/08(日) 19:55:20.25ID:qHSkoWsm 実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
401デフォルトの名無しさん
2020/03/08(日) 22:53:36.55ID:A6vL8TvC >>400
そんなに稼いでるのにYouTubeで小金稼ぎ必死だな
そんなに稼いでるのにYouTubeで小金稼ぎ必死だな
402デフォルトの名無しさん
2020/03/09(月) 18:01:09.63ID:T4gz2l9R >>399
君はそのうち本名とかアカウントとかパスワードとか晒すことになりそうだ
君はそのうち本名とかアカウントとかパスワードとか晒すことになりそうだ
403デフォルトの名無しさん
2020/03/10(火) 06:30:05.96ID:iYHWDDjZ JSON-RPC(http)のクライアントを作っていて、自前のコードで一通りできてますが、コード量が非常に多いです。
NuGetで探すと.NET Core用のものが多いのですが、今回は.NET framework 4.6.1です。
JSON-RPCクライアントに向く軽量ライブラリってないでしょうか?
System.Text.JsonなどでJSONパースだけをさせるとかが定番なのでしょうか?
NuGetで探すと.NET Core用のものが多いのですが、今回は.NET framework 4.6.1です。
JSON-RPCクライアントに向く軽量ライブラリってないでしょうか?
System.Text.JsonなどでJSONパースだけをさせるとかが定番なのでしょうか?
404デフォルトの名無しさん
2020/03/10(火) 13:21:19.39ID:X+eVfRrs 同じですか?
改変前
Image img = this.picbox.Image as Bitmap;
if(img == null){
img = new Bitmap(this.picbox.Width, this.picbox.Height, PixelFormat.Format32bppRgb);
this.picbox.Image = img;
}
改変後
Image img = this.picbox.Image as Bitmap ??= this.picbox.Image = new Bitmap(this.picbox.Width, this.picbox.Height, PixelFormat.Format32bppRgb);
改変前
Image img = this.picbox.Image as Bitmap;
if(img == null){
img = new Bitmap(this.picbox.Width, this.picbox.Height, PixelFormat.Format32bppRgb);
this.picbox.Image = img;
}
改変後
Image img = this.picbox.Image as Bitmap ??= this.picbox.Image = new Bitmap(this.picbox.Width, this.picbox.Height, PixelFormat.Format32bppRgb);
405デフォルトの名無しさん
2020/03/10(火) 13:38:27.04ID:upXRqZ12 自分で判断できないようなコードを書くんじゃない
> this.picbox.Image as Bitmap ??=
この部分でコンパイルエラーになるはずだが
> this.picbox.Image as Bitmap ??=
この部分でコンパイルエラーになるはずだが
406デフォルトの名無しさん
2020/03/16(月) 18:59:53.15ID:H8bmY3hF 新型コロナウィルス対策
一般人「手洗い、うがい、マスク」
c# プログラマ「ウィルス対策はマイクロソフトazule にまかせるよ。あとWindows ディフェンダー!」
一般人「手洗い、うがい、マスク」
c# プログラマ「ウィルス対策はマイクロソフトazule にまかせるよ。あとWindows ディフェンダー!」
407デフォルトの名無しさん
2020/05/02(土) 08:52:50.92ID:0mmjTk37 Console.Read() とか Console.In.ReadLine() とかじゃなくて
FileStream に stdio を指定して読み込む方法を教えて下さい
FileStream に stdio を指定して読み込む方法を教えて下さい
408デフォルトの名無しさん
2020/05/02(土) 09:53:52.07ID:z8QGl02A FileStreamは文字通りFileStreamであってFILE*に対応するのはSreamだよ
標準入力を指すStreamならConsole.OpenStandardInputで取得できる
標準入力を指すStreamならConsole.OpenStandardInputで取得できる
409デフォルトの名無しさん
2020/05/03(日) 09:16:50.07ID:THymLCbI スタックに積んでから取り出すと何故か値が変化しているという謎の現象に3日間ぐらい悩んだが
ついさっきプロパティは参照型だという事実に気付いた
ついさっきプロパティは参照型だという事実に気付いた
410デフォルトの名無しさん
2020/05/03(日) 14:44:07.05ID:H3ipvGy5411デフォルトの名無しさん
2020/05/03(日) 15:08:51.56ID:SHPPims3 そのプロパティが参照型 と言いたかったんだろう多分
412デフォルトの名無しさん
2020/05/05(火) 22:26:08.07ID:nSEWNo5U すみません。今、mciというのを使って、音楽再生アプリを作っているのですが、
Windowsメディアプレイヤーみたいに、曲の進捗状況を示すバーみたいのって、
コンポーネントにないでしょうか?
Windowsメディアプレイヤーみたいに、曲の進捗状況を示すバーみたいのって、
コンポーネントにないでしょうか?
413デフォルトの名無しさん
2020/05/05(火) 22:30:28.96ID:nSEWNo5U プログレスバーはダサいから、いやです。
理想を言うとDMMプレーヤーみたいに進捗状況を青いのがニョキニョキ伸びるのが
カッコ良くていいです。
自作するとしたらフォームに青いニョキニョキをグラフィッククラスで描画するんでしょうか?
理想を言うとDMMプレーヤーみたいに進捗状況を青いのがニョキニョキ伸びるのが
カッコ良くていいです。
自作するとしたらフォームに青いニョキニョキをグラフィッククラスで描画するんでしょうか?
414デフォルトの名無しさん
2020/05/05(火) 22:46:23.76ID:3RO6WiLW mci では無理やろ
415デフォルトの名無しさん
2020/05/05(火) 23:01:45.91ID:ZjI6EVx3 >>413
エロ動画とか見ないからDMM Player知らんのだけど、要するに、
(1) ダウンロード済みのパーセンテージを帯の長さで
(2) 再生位置をスライダーの位置で
表示するありがちな奴?
Windows Formsにそんなのないので自作するしかないね
エロ動画とか見ないからDMM Player知らんのだけど、要するに、
(1) ダウンロード済みのパーセンテージを帯の長さで
(2) 再生位置をスライダーの位置で
表示するありがちな奴?
Windows Formsにそんなのないので自作するしかないね
416デフォルトの名無しさん
2020/05/06(水) 00:49:20.54ID:5PXshCOx >>413
細かいツッコミするとコントロールを描画することになる
フォームに直接描画してもいいけど扱いが面倒になる
https://dobon.net/vb/dotnet/graphics/drawcontrols.html
https://dobon.net/vb/dotnet/graphics/drawvisualcontrol.html
進捗状況は>>415の通り自分で取ってこなきゃならないけどmciがどうなっているのかは知らない
細かいツッコミするとコントロールを描画することになる
フォームに直接描画してもいいけど扱いが面倒になる
https://dobon.net/vb/dotnet/graphics/drawcontrols.html
https://dobon.net/vb/dotnet/graphics/drawvisualcontrol.html
進捗状況は>>415の通り自分で取ってこなきゃならないけどmciがどうなっているのかは知らない
417デフォルトの名無しさん
2020/05/06(水) 10:14:22.23ID:YZbQDwIi WPFで適当に作ったら?
418デフォルトの名無しさん
2020/05/07(木) 08:09:53.53ID:uSRgeDXp なぜ@は正常にダウンロードできないのか教えて下さい
よろしくお願いします
@aaa.csvが作成されるのですが0 byteの空のcsvです
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
var wc1 = new WebClient();
wc1.DownloadFileAsync(url1, csv1);
Aこれは正常にダウンロードできます
var url2 = "http://tekitou/xxx.csv";
var csv2 = "bbb.csv";
var wc2 = new WebClient();
wc2.DownloadFile(url2, csv2);
B上の2つを1つのメソッドの中に並べてから実行するとなぜかaaa.csv、bbb.csvともに正常にダウンロードできます
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
var wc1 = new WebClient();
wc1.DownloadFileAsync(url1, csv1);
var url2 = "http://tekitou/xxx.csv";
var csv2 = "bbb.csv";
var wc2 = new WebClient();
wc2.DownloadFile(url2, csv2);
よろしくお願いします
@aaa.csvが作成されるのですが0 byteの空のcsvです
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
var wc1 = new WebClient();
wc1.DownloadFileAsync(url1, csv1);
Aこれは正常にダウンロードできます
var url2 = "http://tekitou/xxx.csv";
var csv2 = "bbb.csv";
var wc2 = new WebClient();
wc2.DownloadFile(url2, csv2);
B上の2つを1つのメソッドの中に並べてから実行するとなぜかaaa.csv、bbb.csvともに正常にダウンロードできます
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
var wc1 = new WebClient();
wc1.DownloadFileAsync(url1, csv1);
var url2 = "http://tekitou/xxx.csv";
var csv2 = "bbb.csv";
var wc2 = new WebClient();
wc2.DownloadFile(url2, csv2);
419デフォルトの名無しさん
2020/05/07(木) 08:23:39.67ID:454F8U2c >>418
asyncって何か知ってる?
asyncって何か知ってる?
420デフォルトの名無しさん
2020/05/07(木) 08:32:15.14ID:uSRgeDXp >>419
はい!非同期にファイルをダウンロードするメソッドです!
はい!非同期にファイルをダウンロードするメソッドです!
421デフォルトの名無しさん
2020/05/07(木) 08:52:34.58ID:3Zb9YKCz 同期・非同期の両方を使うのは、おかしい。
JavaScript ならクライアント側だから非同期で、Ruby ならサーバー側だから同期
非同期は、同期のような書き方はできない。
コンテキスト・文脈が異なるから、
異次元との通信で、タイムライン・時間の進み方も異なる
だから異次元通信のような、独特なタイミングの調整が必要!
JavaScript ならクライアント側だから非同期で、Ruby ならサーバー側だから同期
非同期は、同期のような書き方はできない。
コンテキスト・文脈が異なるから、
異次元との通信で、タイムライン・時間の進み方も異なる
だから異次元通信のような、独特なタイミングの調整が必要!
422デフォルトの名無しさん
2020/05/07(木) 09:03:48.11ID:z0QaEyrp423デフォルトの名無しさん
2020/05/07(木) 09:05:22.09ID:PKEvLkh9 質問の趣旨からは外れるけど、System.Net.WebClientは古いから、新規開発ではSystem.Net.Http.HttpClientが推奨だったかと
424デフォルトの名無しさん
2020/05/07(木) 09:05:44.40ID:K/pi2iFO425デフォルトの名無しさん
2020/05/07(木) 09:12:23.14ID:uSRgeDXp >>421
正直に言うとよく分かりません!
目的はwindowsフォームで作ったアプリで使う事です。
具体的には、DownloadFileCompletedイベントを使い、
ダウンロード完了を待ってCSVファイルにアクセスしたいと思いました
実はこれは成功しています。
コンソールアプリでも同様のことができないかとチャレンジしてみたのですがこの通りダメでした。
「非同期」について根本的なことが理解できていないと指摘されているのだと思ってます。
もう少し調べてみます!
正直に言うとよく分かりません!
目的はwindowsフォームで作ったアプリで使う事です。
具体的には、DownloadFileCompletedイベントを使い、
ダウンロード完了を待ってCSVファイルにアクセスしたいと思いました
実はこれは成功しています。
コンソールアプリでも同様のことができないかとチャレンジしてみたのですがこの通りダメでした。
「非同期」について根本的なことが理解できていないと指摘されているのだと思ってます。
もう少し調べてみます!
426デフォルトの名無しさん
2020/05/07(木) 09:13:22.78ID:uSRgeDXp >>422
windowsフォームアプリで使っているので、それを参考に同じように書いてみましたがやはり空のファイルしかダウンロードできません!
static void Main(string[] args)
{
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
WebClient wc1 = new WebClient();
wc1.DownloadFileCompleted += Wc1_DownloadFileCompleted;
wc1.DownloadFileAsync(url1, csv1);
}
private static void Wc1_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
Console.WriteLine("完了");
}
windowsフォームアプリで使っているので、それを参考に同じように書いてみましたがやはり空のファイルしかダウンロードできません!
static void Main(string[] args)
{
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
WebClient wc1 = new WebClient();
wc1.DownloadFileCompleted += Wc1_DownloadFileCompleted;
wc1.DownloadFileAsync(url1, csv1);
}
private static void Wc1_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
Console.WriteLine("完了");
}
427デフォルトの名無しさん
2020/05/07(木) 09:17:37.03ID:uSRgeDXp428デフォルトの名無しさん
2020/05/07(木) 09:18:45.92ID:uSRgeDXp429デフォルトの名無しさん
2020/05/07(木) 09:40:06.42ID:qpGBsCgy430デフォルトの名無しさん
2020/05/07(木) 10:52:25.34ID:uSRgeDXp >>429
へとへとになりましたがいけました・・・・
一応報告です
async voidはダメだという記述をどこかでみました(ぐぐりまくった結果ソースがどこかわからない)
async Task MainでいけるということですがC#7.1を有効にするためごにょごにょしました
awaitをつけたところ戻り値voidのメソッドはだめだと怒られたのでDownloadFileTaskAsyncに変えてみました
static async Task Main(string[] args)
{
var url1 = "http://tekitou/xxx.csv";
var csv1 = "aaa.csv";
var client = new WebClient();
await client.DownloadFileTaskAsync(url1, csv1);
}
なんだか胃が痛くなってきました
ありがとうございました・・・
へとへとになりましたがいけました・・・・
一応報告です
async voidはダメだという記述をどこかでみました(ぐぐりまくった結果ソースがどこかわからない)
async Task MainでいけるということですがC#7.1を有効にするためごにょごにょしました
awaitをつけたところ戻り値voidのメソッドはだめだと怒られたのでDownloadFileTaskAsyncに変えてみました
static async Task Main(string[] args)
{
var url1 = "http://tekitou/xxx.csv";
var csv1 = "aaa.csv";
var client = new WebClient();
await client.DownloadFileTaskAsync(url1, csv1);
}
なんだか胃が痛くなってきました
ありがとうございました・・・
431デフォルトの名無しさん
2020/05/07(木) 10:59:06.40ID:qpGBsCgy432デフォルトの名無しさん
2020/05/07(木) 11:08:02.76ID:uSRgeDXp >>431
ありがとうございました。
ダウンロード終了を待たないとそりゃ中身0バイトでしょの一言が貴重でした
ちなみにですが、
https://dobon.net/vb/dotnet/internet/downloadfile.html
「.NET Framework 2.0以降で、非同期的にファイルをダウンロードし保存する」
で紹介されているC#のコードですが、ここではawaitが出てこない
その理由は、
コンソールアプリと違ってフォームを表示しているメインのスレッドは勝手に終了しないから
という理解でよいでしょうか?
コンソールアプリだとメインで走っているスレッドはコードの最後まで行けば勝手に終わってしまう。そのため、ダウンロードに関わっているスレッドもそれに引きずられて終わってしまう
と考えたのですが・・・
ありがとうございました。
ダウンロード終了を待たないとそりゃ中身0バイトでしょの一言が貴重でした
ちなみにですが、
https://dobon.net/vb/dotnet/internet/downloadfile.html
「.NET Framework 2.0以降で、非同期的にファイルをダウンロードし保存する」
で紹介されているC#のコードですが、ここではawaitが出てこない
その理由は、
コンソールアプリと違ってフォームを表示しているメインのスレッドは勝手に終了しないから
という理解でよいでしょうか?
コンソールアプリだとメインで走っているスレッドはコードの最後まで行けば勝手に終わってしまう。そのため、ダウンロードに関わっているスレッドもそれに引きずられて終わってしまう
と考えたのですが・・・
433デフォルトの名無しさん
2020/05/07(木) 11:15:54.73ID:uSRgeDXp >>418のBでうまくいったのは、
たまたま非同期が前、同期が後の順番だったため、同期が終わるまでプログラム全体が終了せず
その間に非同期のほうも無事にダウンロードできたという事で・・・?
サーバー側の都合で同時に同じファイルのダウンロードは認められず、先に要求のあった非同期が終わるまで同期のほうが始まらなかったとか
たまたま非同期が前、同期が後の順番だったため、同期が終わるまでプログラム全体が終了せず
その間に非同期のほうも無事にダウンロードできたという事で・・・?
サーバー側の都合で同時に同じファイルのダウンロードは認められず、先に要求のあった非同期が終わるまで同期のほうが始まらなかったとか
434デフォルトの名無しさん
2020/05/07(木) 12:01:08.20ID:eRnHVkfo まずあしんく勉強しよや
435デフォルトの名無しさん
2020/05/07(木) 12:24:21.96ID:K/pi2iFO >>432
DownloadFileAsyncとDownloadFileTaskAsyncは別物よ
そもそも.NET Framework 2.0時代にはTaskは存在しないし当然awaitなんてのも存在しない
DownloadFileAsyncはイベントベースで完了を待つ(ことができる)もの
まあフォームアプリの場合通常はフォームが閉じない限りプロセスは終わらないんだから必ずしも明示的に待つ必要はないわけで
でもある程度大きいファイルをDLすることを考えると
DL中にフォームが閉じられた(プロセスが終了した)ときに打ち切られるのは変わらないから
必要に応じてDL中はFormClosingで閉じるのをキャンセルしたりする処理を書かないといけない
DownloadFileAsyncとDownloadFileTaskAsyncは別物よ
そもそも.NET Framework 2.0時代にはTaskは存在しないし当然awaitなんてのも存在しない
DownloadFileAsyncはイベントベースで完了を待つ(ことができる)もの
まあフォームアプリの場合通常はフォームが閉じない限りプロセスは終わらないんだから必ずしも明示的に待つ必要はないわけで
でもある程度大きいファイルをDLすることを考えると
DL中にフォームが閉じられた(プロセスが終了した)ときに打ち切られるのは変わらないから
必要に応じてDL中はFormClosingで閉じるのをキャンセルしたりする処理を書かないといけない
436デフォルトの名無しさん
2020/05/07(木) 12:39:16.54ID:iKRewGMt タマタマ動いてるプログラムと
正しく動いてるプログラムは
月とすっぽんの差がある
正しく動いてるプログラムは
月とすっぽんの差がある
437デフォルトの名無しさん
2020/05/07(木) 13:46:41.90ID:uSRgeDXp >>435
一番知りたいのはフォームアプリとコンソールアプリでなぜこのような違いがでるのかっていう点ですね
それについては>>432の理解でよいのでしょうか
前半は肯定してもらったのですが、後半はどうでしょうか
>DownloadFileAsyncはイベントベースで完了を待つ(ことができる)もの
DownloadFileTaskAsyncでもcompletedイベントハンドラが動きました
とここまで書いて一発で疑問を解決してくれるコードを発見です
static void Main(string[] args)
{
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
var client = new WebClient();
client.DownloadFileAsync(url1, csv1);
Console.ReadLine();
}
もちろんこれがアプリの中で使えるということではないんですが
基本の基本となる理屈がこれで分かりました
コンソールとフォームの違いに重点を置いた説明ってなかなか見当たらないんですよね
どちらかに特化したものはあちらこちらにあるんですけど。
そのせいで頭に生じた矛盾点が解決できず基本理解が大きくゆれていたんです
あと、>>418のBで順番を逆にしたら期待通りの結果が得られました
解決です
一番知りたいのはフォームアプリとコンソールアプリでなぜこのような違いがでるのかっていう点ですね
それについては>>432の理解でよいのでしょうか
前半は肯定してもらったのですが、後半はどうでしょうか
>DownloadFileAsyncはイベントベースで完了を待つ(ことができる)もの
DownloadFileTaskAsyncでもcompletedイベントハンドラが動きました
とここまで書いて一発で疑問を解決してくれるコードを発見です
static void Main(string[] args)
{
var url1 = new Uri("http://tekitou/xxx.csv");
var csv1 = "aaa.csv";
var client = new WebClient();
client.DownloadFileAsync(url1, csv1);
Console.ReadLine();
}
もちろんこれがアプリの中で使えるということではないんですが
基本の基本となる理屈がこれで分かりました
コンソールとフォームの違いに重点を置いた説明ってなかなか見当たらないんですよね
どちらかに特化したものはあちらこちらにあるんですけど。
そのせいで頭に生じた矛盾点が解決できず基本理解が大きくゆれていたんです
あと、>>418のBで順番を逆にしたら期待通りの結果が得られました
解決です
438デフォルトの名無しさん
2020/05/07(木) 14:18:23.17ID:qpGBsCgy439デフォルトの名無しさん
2020/05/07(木) 14:25:50.34ID:qpGBsCgy >>437
ManualResetEventのWaitOneで待ち構えて、CompletedイベントでManualResetEventにSetしてあげるとかが王道なのかな。
そういう事しなくて済むようにしたのがAsyncだとは思うけど。
ManualResetEventのWaitOneは、Console.CancelKeyPressに紐付ける形でよく使うかもしれん。
フォームアプリでどうして大丈夫か、は、一回Program.csをよく読んでみたら良いんじゃないかな。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.application.run?view=netcore-3.1
ManualResetEventのWaitOneで待ち構えて、CompletedイベントでManualResetEventにSetしてあげるとかが王道なのかな。
そういう事しなくて済むようにしたのがAsyncだとは思うけど。
ManualResetEventのWaitOneは、Console.CancelKeyPressに紐付ける形でよく使うかもしれん。
フォームアプリでどうして大丈夫か、は、一回Program.csをよく読んでみたら良いんじゃないかな。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.application.run?view=netcore-3.1
440デフォルトの名無しさん
2020/05/07(木) 14:25:51.20ID:8jv+kISL441デフォルトの名無しさん
2020/05/07(木) 14:33:37.17ID:wSQDXo4u 学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
442デフォルトの名無しさん
2020/05/07(木) 15:03:36.84ID:uSRgeDXp443421
2020/05/07(木) 15:12:46.01ID:3Zb9YKCz 非同期は、異次元空間。
時間の進み方も違うから、相手を知ることができない。
過去・未来も、わからない
コンテキスト・文脈も異なる。
相手がエラー・例外でも、こちらでキャッチできない
そもそも相手が何も知らせてこない場合も多い。
エラーと知らせると、さらに攻撃されるから、何も送ってこない
非同期に対して、こちらが出来ることはタイムアウトして、あきらめることだけ
非同期は、独特な書き方が必要。
異次元と通信するのだから、独特なタイミングの調整が必要!
これを分かっていないと、アプリは何回かに1回、エラーを起こす。
常にエラーを起こさないだろ。
自分がテストした時は、正常に動く
こういうバグが、一番やっかい。
多くのアプリは、これで時々エラーを起こす
時間の進み方も違うから、相手を知ることができない。
過去・未来も、わからない
コンテキスト・文脈も異なる。
相手がエラー・例外でも、こちらでキャッチできない
そもそも相手が何も知らせてこない場合も多い。
エラーと知らせると、さらに攻撃されるから、何も送ってこない
非同期に対して、こちらが出来ることはタイムアウトして、あきらめることだけ
非同期は、独特な書き方が必要。
異次元と通信するのだから、独特なタイミングの調整が必要!
これを分かっていないと、アプリは何回かに1回、エラーを起こす。
常にエラーを起こさないだろ。
自分がテストした時は、正常に動く
こういうバグが、一番やっかい。
多くのアプリは、これで時々エラーを起こす
444デフォルトの名無しさん
2020/05/07(木) 15:19:22.24ID:cpirF9cI Rubyならそうかもなw
445421
2020/05/07(木) 15:31:27.24ID:3Zb9YKCz GUI アプリはイベントベースだから、
アプリの終了ボタンを押すなど、プロセス終了イベントを送らない限り、
CPU 使用率0 のまま、プロセスは存在し、イベントを待ち続ける
そこが、CUI アプリと異なる点
アプリの終了ボタンを押すなど、プロセス終了イベントを送らない限り、
CPU 使用率0 のまま、プロセスは存在し、イベントを待ち続ける
そこが、CUI アプリと異なる点
446デフォルトの名無しさん
2020/05/07(木) 15:41:04.30ID:cpirF9cI 何も知らないルビクソは黙ってろ
GUIアプリといえども実行中の非バックグラウンドスレッドが全て終了すればプロセスは終わる
にもかかわらずプロセスが勝手に終了してしまわないのは、フレームワークが内部的に無限ループでイベントをポーリングし続けているから
GUIアプリといえども実行中の非バックグラウンドスレッドが全て終了すればプロセスは終わる
にもかかわらずプロセスが勝手に終了してしまわないのは、フレームワークが内部的に無限ループでイベントをポーリングし続けているから
447デフォルトの名無しさん
2020/05/07(木) 15:42:15.08ID:qpGBsCgy GUIアプリがイベントベースってのは誤解を生みそうで好かんな。
結局アプリケーションメッセージループを理解しないと、真っ白になるGUIアプリ作ることになる。
CUIアプリでもちゃんとしたアプリ作るとなると普通はイベントループ的な部分を作るんだし、あんまり誤解を生みそうな発言は良くないんじゃないの?
結局アプリケーションメッセージループを理解しないと、真っ白になるGUIアプリ作ることになる。
CUIアプリでもちゃんとしたアプリ作るとなると普通はイベントループ的な部分を作るんだし、あんまり誤解を生みそうな発言は良くないんじゃないの?
448421
2020/05/07(木) 16:17:22.08ID:3Zb9YKCz ウィンドウプロシージャ
http://kaitei.net/winapi/window-procedures/#mssage-loop
GUI は、イベントドリブン。
Win32API: GetMessage とかだろ
http://kaitei.net/winapi/window-procedures/#mssage-loop
GUI は、イベントドリブン。
Win32API: GetMessage とかだろ
449421
2020/05/07(木) 16:31:19.77ID:3Zb9YKCz Win32 API は、本が古い
猫でもわかるWindowsプログラミング 第4版、2012
C言語で作るWindowsアプリ!
TCP/IPネットワークやシステムプログラミングもカバー。
Win32 APIを使ったWindowsプログラミングの集大成! !
Windows 7 / Vista / XP SP3、Visual C++ 2010対応
猫でもわかるWindowsプログラミング 第4版、2012
C言語で作るWindowsアプリ!
TCP/IPネットワークやシステムプログラミングもカバー。
Win32 APIを使ったWindowsプログラミングの集大成! !
Windows 7 / Vista / XP SP3、Visual C++ 2010対応
450デフォルトの名無しさん
2020/05/07(木) 16:34:06.54ID:qpGBsCgy それが理解できてれば、CPU利用率の話は暴論だと理解できるはずなんだが。
UIスレッドとそれ以外のスレッドとか、ちゃんと頭に浮かんでる?
UIスレッドとそれ以外のスレッドとか、ちゃんと頭に浮かんでる?
451デフォルトの名無しさん
2020/05/09(土) 00:23:11.48ID:Gxw/aWGG Rubyのチュートリアルレベルのことしかわからないのに、
他言語のスレに誰も求めてないRubyでの回答しか書けないやつにわかるとは思えない、実践経験もあるように思えないし
プログラミング言語触ってて、昔取った杵柄(しかも低レベル)は最高にかっこ悪い老害だとどうしてわからないものかね
他言語のスレに誰も求めてないRubyでの回答しか書けないやつにわかるとは思えない、実践経験もあるように思えないし
プログラミング言語触ってて、昔取った杵柄(しかも低レベル)は最高にかっこ悪い老害だとどうしてわからないものかね
452デフォルトの名無しさん
2020/05/09(土) 07:23:56.68ID:hJeCZ+pd そんなレベルの人なのか。
453デフォルトの名無しさん
2020/05/09(土) 08:57:04.20ID:jMxtkhPp レベル的には「ただのガイジ」以外の表現はないと思うけどなw
454デフォルトの名無しさん
2020/05/09(土) 09:25:46.90ID:3rxWY8lS 同意せざるを得ない
455デフォルトの名無しさん
2020/05/09(土) 11:17:54.56ID:6woZ9Gon 典型的な同族嫌悪
456デフォルトの名無しさん
2020/05/09(土) 19:33:05.24ID:hJeCZ+pd 足りない側からみたらそうなのかもな
457デフォルトの名無しさん
2020/05/10(日) 00:58:19.57ID:z54t4nMz 中小企業の業務システムをc#とsqlサーバーで作ろうとしてます
帳票発行とか商品検索システムを作る上でオススメの本やサイトがあったら教えて下さい
初心者向けの本は読破しましたがオブジェクト指向とかは理解できてないレベルです
帳票発行とか商品検索システムを作る上でオススメの本やサイトがあったら教えて下さい
初心者向けの本は読破しましたがオブジェクト指向とかは理解できてないレベルです
458デフォルトの名無しさん
2020/05/10(日) 01:08:17.42ID:LYsC+ahW >>457
適応業務は会計?SCM?
適応業務は会計?SCM?
459デフォルトの名無しさん
2020/05/10(日) 01:21:00.21ID:z54t4nMz >>458
そこら辺の言葉もよくわからんレベルなんだけど商品の物流管理や発注、出荷、売上、締め処理まで恐らくSCMなのかな
そこら辺の言葉もよくわからんレベルなんだけど商品の物流管理や発注、出荷、売上、締め処理まで恐らくSCMなのかな
460デフォルトの名無しさん
2020/05/10(日) 01:25:15.56ID:LYsC+ahW461デフォルトの名無しさん
2020/05/10(日) 01:33:22.47ID:z54t4nMz ありがとう注文してみる
dbの設計方法学んでからc#って感じかな
dbの設計方法学んでからc#って感じかな
462デフォルトの名無しさん
2020/05/10(日) 01:38:55.49ID:LYsC+ahW データと処理が決まれば、後は楽かと
463デフォルトの名無しさん
2020/05/10(日) 06:26:36.98ID:msAj4oxp そのレベルだと、パッケージ買ってこいって話にしかならんと思うよ。
要件定義もできないから、設計に落とし込めるわけがない。
パッケージに合わせて業務改善してもらえ。
要件定義もできないから、設計に落とし込めるわけがない。
パッケージに合わせて業務改善してもらえ。
464デフォルトの名無しさん
2020/05/10(日) 11:59:17.24ID:hDQHcieg 典型的なデスマーチの入り口です
おめでとうございます
おめでとうございます
465デフォルトの名無しさん
2020/05/10(日) 12:01:02.69ID:z54t4nMz466デフォルトの名無しさん
2020/05/10(日) 12:37:43.31ID:p9tAaMVr パッケージで出来ないことをするってのは、それは結構リスキーだぞ。
なぜ出来ないかよく調査した?
昔、とある業界用のパッケージ製品作ってる会社にいたけど、どうしてこれができないの?って返事は結構
「法律によって規制されてます」
「その運用すると結果的に脱税になります」
「省庁の○○発第何号でガイドラインが出て、こうすべきだと指針が出ました」
「他の部分に上記の理由で変更できない事があり、ご指摘の所作はそれに矛盾します」
みたいな事が多かったよ。
基本的には「仕様です。対応していません」と答えるけど、コンサルとしても入れるときは運用から全部相談に乗ってたから良く現場に資料持って説明しに行ったよ。
システム作るときはそのへん注意な。
なぜ出来ないかよく調査した?
昔、とある業界用のパッケージ製品作ってる会社にいたけど、どうしてこれができないの?って返事は結構
「法律によって規制されてます」
「その運用すると結果的に脱税になります」
「省庁の○○発第何号でガイドラインが出て、こうすべきだと指針が出ました」
「他の部分に上記の理由で変更できない事があり、ご指摘の所作はそれに矛盾します」
みたいな事が多かったよ。
基本的には「仕様です。対応していません」と答えるけど、コンサルとしても入れるときは運用から全部相談に乗ってたから良く現場に資料持って説明しに行ったよ。
システム作るときはそのへん注意な。
467デフォルトの名無しさん
2020/05/10(日) 13:09:02.06ID:3Bpnw18G 内容によるけどパッケージが対応してない、よりパッケージに合わせて業務を変えるが好ましい場合が多い
自社開発でそのパッケージより高クオリティなものが作れるなら別に良いんだが、そんなの作れるならそのパッケージ売れよって話になるし
だいたいが業務は変えたくない、けど楽したいというただのわがままでしかない
自社開発でそのパッケージより高クオリティなものが作れるなら別に良いんだが、そんなの作れるならそのパッケージ売れよって話になるし
だいたいが業務は変えたくない、けど楽したいというただのわがままでしかない
468デフォルトの名無しさん
2020/05/10(日) 13:41:51.35ID:LYsC+ahW まぁそう言うなよ
SCMをフルで自作すればざっと300画面。
週に2つ作れば、150週。
1年は53週しか無いので足掛け3年。
で、外出しするにしてもデータの流れも画面の動きも
知らなければ只の養分だよ。(ERPなら1億からのコース)
データの流れを把握してなければRFPすら書けない。
だからこそのデータベース設計の把握を最優先だと思うのですがね。
その後の画面周りは誤差の範疇かと
SCMをフルで自作すればざっと300画面。
週に2つ作れば、150週。
1年は53週しか無いので足掛け3年。
で、外出しするにしてもデータの流れも画面の動きも
知らなければ只の養分だよ。(ERPなら1億からのコース)
データの流れを把握してなければRFPすら書けない。
だからこそのデータベース設計の把握を最優先だと思うのですがね。
その後の画面周りは誤差の範疇かと
469デフォルトの名無しさん
2020/05/10(日) 13:59:35.94ID:2iyaHVuP その水準なら、EXCEL & VBA 辺りでお手軽に帳票とか集計とか作ってみてイメージを固めてからから考える方がいいような。
たぶん形が出来る前に挫折すると思う。
基本は 466, 467 に全面同意なんだけど。
たぶん形が出来る前に挫折すると思う。
基本は 466, 467 に全面同意なんだけど。
470デフォルトの名無しさん
2020/05/10(日) 14:02:24.14ID:LYsC+ahW 誰にでも初めてはあるからなぁ
困難は知った上でチャレンジして欲しいと思っているyo。
困難は知った上でチャレンジして欲しいと思っているyo。
471デフォルトの名無しさん
2020/05/10(日) 14:07:56.83ID:p9tAaMVr 業務分析はちゃんとできてるの?
各部のキーマンを全員集めた?
外注に何人も入ってもらってもまとまんないよ。
ましてや中の人間がやったら、できない事ばっか責められると思うけど。
伝票類とかしがらみはあるのかとか、そういうフィジカルな部分も考えつつしなきゃな。
なんか同じような案件で同じような状況の話を鋼管屋さんの話を昔聞いたことあるな。
各部のキーマンを全員集めた?
外注に何人も入ってもらってもまとまんないよ。
ましてや中の人間がやったら、できない事ばっか責められると思うけど。
伝票類とかしがらみはあるのかとか、そういうフィジカルな部分も考えつつしなきゃな。
なんか同じような案件で同じような状況の話を鋼管屋さんの話を昔聞いたことあるな。
472デフォルトの名無しさん
2020/05/10(日) 14:12:19.56ID:z54t4nMz 取引先毎の仕様(伝票様式、出荷データ等)が幅広くて統一してもパッケージカスタマイズで億行くと言われ社長激怒
現行システムあるけど継ぎはぎだらけで担当死んで誰もワカンネ状態
で新規に作り直そうが今の状態
説明足りなかったすまん
現行システムあるけど継ぎはぎだらけで担当死んで誰もワカンネ状態
で新規に作り直そうが今の状態
説明足りなかったすまん
473デフォルトの名無しさん
2020/05/10(日) 14:21:57.24ID:p9tAaMVr >>472
応援したい気持ちもあるが、地獄を想像せざるを得ない。
悪い事は言わん。スクラッチで専任で入ってくれる会社なり人なりを捕まえて数千万でもかけるべき。
現行システムからのコンバートどうするんよ?捨てるの?
死んだ人は曲がりなりにも、ツギハギにでもシステム作ってたんだろうが、それは会社の業務を知り尽くしての事だと思う。
そして、それには数千万、もしかしたら億行くかもしれん価値があった、そんだけなんよ。
本来はその人に人材を育成してもらうべきだったんだと思うぞ。
おまいさんが作ったとしたら、次世代もちゃんと育成して自分の手からそのシステム手離れさせていける?
あと、取引先毎の仕様は、うまく言ってこっちの都合の良い様式に丸め込んでくるスキルも必要よ。
応援したい気持ちもあるが、地獄を想像せざるを得ない。
悪い事は言わん。スクラッチで専任で入ってくれる会社なり人なりを捕まえて数千万でもかけるべき。
現行システムからのコンバートどうするんよ?捨てるの?
死んだ人は曲がりなりにも、ツギハギにでもシステム作ってたんだろうが、それは会社の業務を知り尽くしての事だと思う。
そして、それには数千万、もしかしたら億行くかもしれん価値があった、そんだけなんよ。
本来はその人に人材を育成してもらうべきだったんだと思うぞ。
おまいさんが作ったとしたら、次世代もちゃんと育成して自分の手からそのシステム手離れさせていける?
あと、取引先毎の仕様は、うまく言ってこっちの都合の良い様式に丸め込んでくるスキルも必要よ。
474デフォルトの名無しさん
2020/05/10(日) 14:41:49.42ID:LYsC+ahW475デフォルトの名無しさん
2020/05/10(日) 14:48:51.82ID:sqrrAwwF 渡辺 幸三の
「業務システムのための上流工程入門」と
「業務別データベース設計のためのデータモデリング入門」
を勧めておく
業務システムの基本設計ができるようになる入門書として俺はこれ以上の本を知らない
考え方が少し古かったりやや偏ってるところもあるけど即実践で使える
業務全体を俯瞰で見れるから中小企業のシステムとも相性がいい
「業務システムのための上流工程入門」と
「業務別データベース設計のためのデータモデリング入門」
を勧めておく
業務システムの基本設計ができるようになる入門書として俺はこれ以上の本を知らない
考え方が少し古かったりやや偏ってるところもあるけど即実践で使える
業務全体を俯瞰で見れるから中小企業のシステムとも相性がいい
476デフォルトの名無しさん
2020/05/10(日) 14:52:41.34ID:eSEFdDuU おもしろそー
オブジェクト指向も分かってない人が組み上げていくっていいじゃんか
俺もやってみたいわぁ
中途半端に大きいからVisualStudioさえ入れさせてくれないわー
オブジェクト指向も分かってない人が組み上げていくっていいじゃんか
俺もやってみたいわぁ
中途半端に大きいからVisualStudioさえ入れさせてくれないわー
477デフォルトの名無しさん
2020/05/10(日) 14:55:39.71ID:LYsC+ahW478デフォルトの名無しさん
2020/05/10(日) 15:02:43.53ID:sqrrAwwF 商品検索システムや帳票はDBさえ普通に出来てればアプリ側は比較的簡単
(帳票は技術的に簡単でも手間がかかるのでパッケージを使うことが多い)
ただアプリ設計もDB設計も実装技術も今から学ぶ必要があるならデスマ確定なので
自社開発は諦めて外部発注のための要求仕様を作ることに力をいれたほうがいいと思う
(帳票は技術的に簡単でも手間がかかるのでパッケージを使うことが多い)
ただアプリ設計もDB設計も実装技術も今から学ぶ必要があるならデスマ確定なので
自社開発は諦めて外部発注のための要求仕様を作ることに力をいれたほうがいいと思う
479デフォルトの名無しさん
2020/05/10(日) 15:34:44.41ID:3Bpnw18G どれくらいの工数かけて内製するのか知らんけど外に出したら億いく案件を中なら安く済むと思ってるのが間違い
その手のパッケージ開発で飯食ってるやつと、そうじゃないやつで同じもの作るときにコストがどれだけ跳ね上がるか…
内製したら安く済むならみんな内製するんだからパッケージ商売自体が成立しない
ソフト開発が甘く見られてる典型例な感じする
その手のパッケージ開発で飯食ってるやつと、そうじゃないやつで同じもの作るときにコストがどれだけ跳ね上がるか…
内製したら安く済むならみんな内製するんだからパッケージ商売自体が成立しない
ソフト開発が甘く見られてる典型例な感じする
480デフォルトの名無しさん
2020/05/10(日) 15:37:46.88ID:p9tAaMVr 製造業だと、まずBOM的な考え方をしないといかんのかとか、そういう所から要件定義じゃないかな。
その後原料ロット、生産ロット、出荷ロット管理なりを考えてから、その後帳票かな。
前後で法規制をきっちり考えないといかん。
その後原料ロット、生産ロット、出荷ロット管理なりを考えてから、その後帳票かな。
前後で法規制をきっちり考えないといかん。
481デフォルトの名無しさん
2020/05/10(日) 15:47:10.22ID:sqrrAwwF482デフォルトの名無しさん
2020/05/10(日) 17:22:36.25ID:p9tAaMVr >>479
>ソフト開発が甘く見られてる典型例な感じする
これホントそうなんだけど、なかなか伝わらないよね。
しかも、それぞれの分野に専業の業者が居るぐらい特化してるって事をわかってほしいし、その上で社内にいた人の価値をもう少し再評価してあげてほしいと思う。
ツギハギって言うけど、ツギハギでも動いてるってのはなかなかよ。
>ソフト開発が甘く見られてる典型例な感じする
これホントそうなんだけど、なかなか伝わらないよね。
しかも、それぞれの分野に専業の業者が居るぐらい特化してるって事をわかってほしいし、その上で社内にいた人の価値をもう少し再評価してあげてほしいと思う。
ツギハギって言うけど、ツギハギでも動いてるってのはなかなかよ。
483デフォルトの名無しさん
2020/05/10(日) 17:47:35.59ID:iac7n6+g 「とりあえず Excel っぽいのを作ってくれればいいから」
484デフォルトの名無しさん
2020/05/10(日) 18:03:57.44ID:z54t4nMz485デフォルトの名無しさん
2020/05/10(日) 18:07:33.63ID:z54t4nMz とりあえず出てきた本は読んでみる
開発は帳票や伝票部分はパッケージ探して業務部分は自作してみる
業務内容は頭に入ってるからのんびりやってみる
アドバイスありがとう
開発は帳票や伝票部分はパッケージ探して業務部分は自作してみる
業務内容は頭に入ってるからのんびりやってみる
アドバイスありがとう
486デフォルトの名無しさん
2020/05/10(日) 18:13:32.99ID:sqrrAwwF 仕様がわからない状態だから
どう転んでも赤字にはならないようリスク要因特盛の見積もりだから
発注側との想定金額と大きく乖離してるんじゃないかな
仕様がわからないと既存システムを調べて一から仕様を起こして検証が必要
それにそういう会社の案件はめちゃくちゃリスク高いから
受託としてはできればやりたくないんだよね
どう転んでも赤字にはならないようリスク要因特盛の見積もりだから
発注側との想定金額と大きく乖離してるんじゃないかな
仕様がわからないと既存システムを調べて一から仕様を起こして検証が必要
それにそういう会社の案件はめちゃくちゃリスク高いから
受託としてはできればやりたくないんだよね
487デフォルトの名無しさん
2020/05/10(日) 18:17:45.69ID:2iyaHVuP 一年後くらいにどうなったか教えてくれたらうれしい。
いや、本気で、一年後にここに報告に来れる状態を保ててるなら、もう一流なんじゃないかって気もする。
いや、本気で、一年後にここに報告に来れる状態を保ててるなら、もう一流なんじゃないかって気もする。
488デフォルトの名無しさん
2020/05/10(日) 18:23:08.34ID:nv4IBqVl 死んでる方にかける
489デフォルトの名無しさん
2020/05/10(日) 18:30:42.22ID:oFa97h2w おいおい、炎上100%な奴きてんね
490デフォルトの名無しさん
2020/05/10(日) 18:33:26.43ID:oFa97h2w レスみた限りだと仮にシステム構築出来たとしても要件漏れありすぎてバグと業務混乱で炎上爆発するの確定やん、、
491デフォルトの名無しさん
2020/05/10(日) 18:44:17.19ID:0Mg1q5gC 今更だが言語以前の話だからスレ違いだし、続けたいのならせめて相談室スレに行ってくれ
492デフォルトの名無しさん
2020/05/10(日) 18:45:46.82ID:p9tAaMVr 問題は締めがある、在庫、物流の処理がある事、受発注、出荷、売上(おそらくは入金も)があるって事で、
仕入れ、設計、ロット管理含めた生産管理、品質管理、不良在庫、不適合管理を全部把握してないといかん上に、
そのすべてが会計、経理上おかしくないようにしないといかんという、
請けるとしてもそこそこ会社が小さい頃から全部門の面倒見てきた人を無理矢理巻き込んだ上に税理士なんかにお伺い立てて確認してもらうレベルの案件だからなぁ。
業務だけじゃなくて法規もちゃんと調査して、必ず必要だから経理の人間捕まえなよ。
仕入れ、設計、ロット管理含めた生産管理、品質管理、不良在庫、不適合管理を全部把握してないといかん上に、
そのすべてが会計、経理上おかしくないようにしないといかんという、
請けるとしてもそこそこ会社が小さい頃から全部門の面倒見てきた人を無理矢理巻き込んだ上に税理士なんかにお伺い立てて確認してもらうレベルの案件だからなぁ。
業務だけじゃなくて法規もちゃんと調査して、必ず必要だから経理の人間捕まえなよ。
493デフォルトの名無しさん
2020/05/10(日) 18:48:19.69ID:p9tAaMVr >>491
言語以前の問題だと質問者が気づいていない以上仕方あるまい。
言語以前の問題だと質問者が気づいていない以上仕方あるまい。
494デフォルトの名無しさん
2020/05/10(日) 20:19:37.21ID:xDftOU/8 内容に応じて他スレ・他板へ行くことを勧められることがあります。
495デフォルトの名無しさん
2020/05/10(日) 20:46:24.37ID:Zipn87fx 快活クラブでリモートワークしてる c#プログラマがいたよ。
女性店員に「エロサイト表示しろ、無修正のやつな」
って大声で要求してた。
c# プログラマってなんでこんなやつばかりなんだろ。
女性店員に「エロサイト表示しろ、無修正のやつな」
って大声で要求してた。
c# プログラマってなんでこんなやつばかりなんだろ。
496デフォルトの名無しさん
2020/05/10(日) 20:49:55.21ID:QGOb6iVk >>495
わかったからRubyスレに帰ろうぜ
わかったからRubyスレに帰ろうぜ
497デフォルトの名無しさん
2020/05/22(金) 09:34:56.53ID:+oO6LUh3 C#でLINE Bot作りたいのだけど、visual studio2019でLINE Botがインストールできないのだが、対応していないのかな?
ググったけどわからない。
ググったけどわからない。
498デフォルトの名無しさん
2020/05/22(金) 14:36:36.86ID:MU4pD2nI 馬鹿には無理
499デフォルトの名無しさん
2020/05/24(日) 10:06:09.98ID:aVoyeE00 >>484
まあ、何も知らない人からすればパソコンオタクが
ゲームでも楽しむようにパソコンをカチャカチャやって
作るだけってイメージだからな
何でこの程度のものでそんなに時間かかるの?
まだできないの?
社内SEによく向けられる疑問
まあ、何も知らない人からすればパソコンオタクが
ゲームでも楽しむようにパソコンをカチャカチャやって
作るだけってイメージだからな
何でこの程度のものでそんなに時間かかるの?
まだできないの?
社内SEによく向けられる疑問
500デフォルトの名無しさん
2020/05/24(日) 10:09:40.10ID:aVoyeE00501デフォルトの名無しさん
2020/05/24(日) 10:15:05.87ID:aVoyeE00502デフォルトの名無しさん
2020/05/24(日) 12:12:27.36ID:hR9OU60G 不要不急のアプリのインストールは禁止されています
503デフォルトの名無しさん
2020/05/24(日) 13:25:26.86ID:2+qSZivW ワッチョイありで関係ない談義するアホどもとここでなぜか連レスするキチガイ
わざと質問できない空気にしてんのかこいつら?
わざと質問できない空気にしてんのかこいつら?
504デフォルトの名無しさん
2020/05/27(水) 19:13:25.22ID:amwFvGuG .NETのフォームアプリケーションで自作のイベントハンドラを動かし続けるにはどうしたらいいですか?
まずサブクラスで、eventとdelegateとevent処理関数を用意。
Form_Shown時に、上記をイベントハンドラ設定。
結果はイベント待ちにより処理が占有される。
理想は、フォームを動かしてる裏で、までイベント待ちさせたいです。(イベント待ちを別スレッドにすれば可能?)
なんともわかりにくい説明になって申し訳ないのですが、よければお答えいただけると幸いです。
よろしくお願いします。
まずサブクラスで、eventとdelegateとevent処理関数を用意。
Form_Shown時に、上記をイベントハンドラ設定。
結果はイベント待ちにより処理が占有される。
理想は、フォームを動かしてる裏で、までイベント待ちさせたいです。(イベント待ちを別スレッドにすれば可能?)
なんともわかりにくい説明になって申し訳ないのですが、よければお答えいただけると幸いです。
よろしくお願いします。
505デフォルトの名無しさん
2020/05/27(水) 19:27:00.10ID:qvWVJQjz Timer
506デフォルトの名無しさん
2020/05/27(水) 19:57:17.45ID:JktWhmx6 PeekMessage
DoEvent
DoEvent
507デフォルトの名無しさん
2020/05/27(水) 20:43:21.48ID:E+xtagcu508デフォルトの名無しさん
2020/05/27(水) 20:46:07.05ID:QQSE4k+3 なるほど調べてみます。
圧倒的理解力不足なもんで…
ありがとうございました
圧倒的理解力不足なもんで…
ありがとうございました
509デフォルトの名無しさん
2020/05/27(水) 20:46:35.43ID:UEBQAav6 イベント待ちなのに処理を占有?
510デフォルトの名無しさん
2020/05/27(水) 20:55:14.84ID:9LOTwxRV511デフォルトの名無しさん
2020/05/27(水) 21:14:29.08ID:883YZTqQ >>506
バッドノウハウだろ
バッドノウハウだろ
512デフォルトの名無しさん
2020/05/28(木) 18:55:24.68ID:jB6NfBip Bad know how?
513デフォルトの名無しさん
2020/06/01(月) 01:35:35.98ID:SyoyRWyY https://dotup.org/uploda/dotup.org2162644.png
https://dotup.org/uploda/dotup.org2162643.png
Blazorを使用してSPAを作ってみたいと考えております。
画像と同じ説明になってしまいますが、
Dictionaryとforeachを使って画像ファイルを並べられたまでは良いのですが、
その画像ファイルとセットで説明文も一緒に添えたいと考えております。
説明文もセットでforeachに加えて並べるにはどうすれば良いでしょうか?
(Dictionaryもforeachも手探りでやっただけでして拘りはありません。)
画像+説明文の数だけulやliやhrefやimgを書いていくのも大変なので、
自動化?のためにforeachとdictionaryを使用しました。
宜しくお願いいたします。
https://dotup.org/uploda/dotup.org2162643.png
Blazorを使用してSPAを作ってみたいと考えております。
画像と同じ説明になってしまいますが、
Dictionaryとforeachを使って画像ファイルを並べられたまでは良いのですが、
その画像ファイルとセットで説明文も一緒に添えたいと考えております。
説明文もセットでforeachに加えて並べるにはどうすれば良いでしょうか?
(Dictionaryもforeachも手探りでやっただけでして拘りはありません。)
画像+説明文の数だけulやliやhrefやimgを書いていくのも大変なので、
自動化?のためにforeachとdictionaryを使用しました。
宜しくお願いいたします。
514デフォルトの名無しさん
2020/06/01(月) 01:58:38.12ID:lLamlcG6515デフォルトの名無しさん
2020/06/01(月) 07:40:38.54ID:RpkIRyj6 BlazorというよりHTMLの問題じゃね
516デフォルトの名無しさん
2020/06/01(月) 07:44:39.98ID:/GiD8hIS 514の言うとおりだけど、キー不要なのにDictionary使う意味はないな。Listで。
517デフォルトの名無しさん
2020/06/01(月) 20:50:10.06ID:SyoyRWyY >>514-516
皆様ありがとうございます。
何とか無事にできました。
https://dotup.org/uploda/dotup.org2163229.png
https://dotnetfiddle.net/2laUxq
こちらが実際に書いたコードになります。
コメントアウトされている16-21行のコンストラクタを書くと、
49-52行のnew ArticleItemに赤波線が表示されてしまい、
「ArticleItem.ArticleItem(int, string, string)' の必要な仮パラメーター 'number' に対応する特定の引数がありません。」
となってしまいます。
一応numberに対応する引数はそのまま書いているつもりなのですが、これはどういう理由なのでしょうか・・・?
皆様ありがとうございます。
何とか無事にできました。
https://dotup.org/uploda/dotup.org2163229.png
https://dotnetfiddle.net/2laUxq
こちらが実際に書いたコードになります。
コメントアウトされている16-21行のコンストラクタを書くと、
49-52行のnew ArticleItemに赤波線が表示されてしまい、
「ArticleItem.ArticleItem(int, string, string)' の必要な仮パラメーター 'number' に対応する特定の引数がありません。」
となってしまいます。
一応numberに対応する引数はそのまま書いているつもりなのですが、これはどういう理由なのでしょうか・・・?
518デフォルトの名無しさん
2020/06/01(月) 20:55:21.10ID:mlavFreb コンストラクタに引数を与えるなら
new ArticleItem(1, "vermeer.jpg", "フェルメールの真珠の耳飾りの少女")
new ArticleItem(1, "vermeer.jpg", "フェルメールの真珠の耳飾りの少女")
519デフォルトの名無しさん
2020/06/01(月) 21:03:08.25ID:EcU6otQL 大文字vs小文字とエスパー
520デフォルトの名無しさん
2020/06/01(月) 21:11:23.50ID:RpkIRyj6 >>517
オブジェクト初期化子でググれ
オブジェクト初期化子でググれ
521デフォルトの名無しさん
2020/06/01(月) 21:21:56.56ID:SyoyRWyY >>518-520
一応そちらも試してみていたのですが、{}を()に直すのを忘れていました・・・初歩的なミスでした。
フィールドの場合ですと毎回Name=、Number=、Description=を書かなくてはなりませんが、
コンストラクタですと文字だけで便利な反面、第三者には伝わりにくい面もあるのでしょうか。
やっていくと色々と違いがわからず混乱してしまいますが、基礎から調べてみようかと思います。
初歩的な質問に答えて頂きありがとうございました。
一応そちらも試してみていたのですが、{}を()に直すのを忘れていました・・・初歩的なミスでした。
フィールドの場合ですと毎回Name=、Number=、Description=を書かなくてはなりませんが、
コンストラクタですと文字だけで便利な反面、第三者には伝わりにくい面もあるのでしょうか。
やっていくと色々と違いがわからず混乱してしまいますが、基礎から調べてみようかと思います。
初歩的な質問に答えて頂きありがとうございました。
522デフォルトの名無しさん
2020/06/01(月) 21:30:09.33ID:9YokFrjE >>521
・該当部分がコメントアウトされている場合、引数無しのコンストラクタ(デフォルトコンストラクタ) public ArticleItem() が暗黙的に定義されている
・public ArticleItem(int number, string name, string description) が定義されている場合は public ArticleItem() は暗黙的に定義されない
多分混乱の原因はこれを忘れてるからなんじゃないかな
・該当部分がコメントアウトされている場合、引数無しのコンストラクタ(デフォルトコンストラクタ) public ArticleItem() が暗黙的に定義されている
・public ArticleItem(int number, string name, string description) が定義されている場合は public ArticleItem() は暗黙的に定義されない
多分混乱の原因はこれを忘れてるからなんじゃないかな
523デフォルトの名無しさん
2020/06/01(月) 22:55:01.21ID:HGtHhUsO どーでもいいけど画面左のグラデーションが綺麗だなぁと思いました
524デフォルトの名無しさん
2020/06/01(月) 23:32:51.74ID:5NIHbXOS 「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
525デフォルトの名無しさん
2020/06/03(水) 16:27:42.45ID:oijTauHo 三項演算子で null のときは
?? とか ?: とか省略方法があるようですが
値で 0 のときにチェックを省く方法はありますか?
a = b == 0 ? c : b;
a = b != 0 ? b : c;
みたいな場合に
a = b ?? c;
a = b ?: c;
とかの書き方無かったですか?
?? とか ?: とか省略方法があるようですが
値で 0 のときにチェックを省く方法はありますか?
a = b == 0 ? c : b;
a = b != 0 ? b : c;
みたいな場合に
a = b ?? c;
a = b ?: c;
とかの書き方無かったですか?
526デフォルトの名無しさん
2020/06/03(水) 16:36:47.26ID:aceFZYCa527デフォルトの名無しさん
2020/06/03(水) 17:06:59.67ID:oijTauHo int orz(int x, int y)=>x==0?y:x;
で
a=orz(b,c);
でいけました
ありがとうございました
で
a=orz(b,c);
でいけました
ありがとうございました
528デフォルトの名無しさん
2020/06/03(水) 17:20:41.93ID:mHZXtGhi あまり意味ない上に、何やってるかわかりずらいようなしないでもないでもない
529デフォルトの名無しさん
2020/06/03(水) 17:22:01.95ID:oijTauHo bの変数名が長い時面倒じゃないですか?
530デフォルトの名無しさん
2020/06/03(水) 17:25:36.20ID:lKbflSVr 本人が満足しているんだしロジックに関わりすらしない部分で持つ変なこだわりが初心者らしくていいじゃないかw
531デフォルトの名無しさん
2020/06/03(水) 17:25:43.29ID:Cpnc/jbv >>529
3ヶ月後の自分に「こいつ死ねばいいのに」って言われるやつ。
3ヶ月後の自分に「こいつ死ねばいいのに」って言われるやつ。
532デフォルトの名無しさん
2020/06/03(水) 17:32:59.89ID:aceFZYCa 気持ちはわかるが変数名メソッド名が文字数的に長い短いを気にしないほうがいい
正しく命名された内容であればたとえ20文字超えとかでも問題ない
エディタ周りが優秀になり強力な入力補間が効く現代で文字数が減ったところで何の恩恵もない
流石に50文字超えみたいなのは正しく命名されたとは思えないので論外ね
正しく命名された内容であればたとえ20文字超えとかでも問題ない
エディタ周りが優秀になり強力な入力補間が効く現代で文字数が減ったところで何の恩恵もない
流石に50文字超えみたいなのは正しく命名されたとは思えないので論外ね
533デフォルトの名無しさん
2020/06/03(水) 17:33:38.70ID:qEEM9XSL534デフォルトの名無しさん
2020/06/03(水) 17:40:32.41ID:69kHBPnK ではプロのお方に考察してもらいたいんだが、
なぜLINQ(IEnumerable)にはListにはあるForEachメソッドが無いのかな?
なぜLINQ(IEnumerable)にはListにはあるForEachメソッドが無いのかな?
535デフォルトの名無しさん
2020/06/03(水) 17:42:54.79ID:HVvELZKL >>534
テンプレ読めない人は退場
テンプレ読めない人は退場
536デフォルトの名無しさん
2020/06/03(水) 18:59:47.48ID:MPquea7T どうせやるなら
static class IntExtension {
public static int ifZeroThen(this int val, int to) => val==0 ? to : val;
}
と拡張メソッドを作って
a = b.ifZeroThen(c);
static class IntExtension {
public static int ifZeroThen(this int val, int to) => val==0 ? to : val;
}
と拡張メソッドを作って
a = b.ifZeroThen(c);
537デフォルトの名無しさん
2020/06/03(水) 19:56:42.20ID:VidMmCEg538デフォルトの名無しさん
2020/06/03(水) 20:12:59.40ID:4PJ7L65K 「foreachは副作用を起こすためだけに存在する操作なのだから手続き型で記述すべき」というだけのことなんだが、
理解できない馬鹿は多いんだよね
理解できない馬鹿は多いんだよね
539デフォルトの名無しさん
2020/06/04(木) 04:52:58.23ID:kthDryXj 1bit脳に無理言わないでくれ
540デフォルトの名無しさん
2020/06/04(木) 07:52:33.54ID:dmqdgjzk Motorola MC14500か
541デフォルトの名無しさん
2020/06/04(木) 14:02:05.72ID:q8whG3cq それってビットスライスプロセッサと同じ?
昔、AMDのAm2900だっけ?
昔、AMDのAm2900だっけ?
542デフォルトの名無しさん
2020/06/10(水) 14:22:02.31ID:AUFXka/X C#で自クラスを表すキーワードってありますか?
thisで自インスタンスを指すのと同じ要領で、
ILogger<This>みたいな書き方で自クラスを指し示せると便利なんですけど
thisで自インスタンスを指すのと同じ要領で、
ILogger<This>みたいな書き方で自クラスを指し示せると便利なんですけど
543デフォルトの名無しさん
2020/06/10(水) 15:14:27.84ID:spn5Hqr7 無いんで毎回書いてください
544デフォルトの名無しさん
2020/06/10(水) 17:27:35.25ID:oCluTwmU なにが便利なんだろう
545デフォルトの名無しさん
2020/06/10(水) 18:53:25.86ID:spn5Hqr7 例示の通り全部のクラスにloggerのstatic instanceをコピペで置きたいんじゃない?
546デフォルトの名無しさん
2020/06/10(水) 20:18:27.76ID:npA4+8k3 派生クラス内のbaseキーワードのthis版みたいなもんか
まあ気持ちはわからんでもないがエディタのリファクタで済む話でもあるしなあ
まあ気持ちはわからんでもないがエディタのリファクタで済む話でもあるしなあ
547デフォルトの名無しさん
2020/06/10(水) 20:19:08.92ID:AUFXka/X まさに>545がやりたいことでした
DIする全クラスにloggerを用意するルールになってて、
本体のクラスとILoggerのクラスが食い違ってるものがけっこうあって、
なにかそういう間違いを防ぐ方法がないかなあと思ったのですが
ないようなら間違えないように気を付けるしかないですね、わかりました
DIする全クラスにloggerを用意するルールになってて、
本体のクラスとILoggerのクラスが食い違ってるものがけっこうあって、
なにかそういう間違いを防ぐ方法がないかなあと思ったのですが
ないようなら間違えないように気を付けるしかないですね、わかりました
548デフォルトの名無しさん
2020/06/10(水) 23:33:38.62ID:YByuqf7A スニペット定義すればいい話じゃないの
なんでそんなクソみたいな需要のためにキーワード追加しなきゃならんのよ
なんでそんなクソみたいな需要のためにキーワード追加しなきゃならんのよ
549デフォルトの名無しさん
2020/06/19(金) 03:25:40.20ID:o8JsoPqL 人種差別を肯定し、master というブランチ名を使うレイシストc# プログラマーのボーナスは全廃し、給与50% カット6ヶ月ぐらいすべき。
550デフォルトの名無しさん
2020/06/19(金) 09:39:13.25ID:wB3O0HGg mainという単語からは主流≒多数派ばかり優遇して少数派を蔑ろにする差別的な印象を感じる
551デフォルトの名無しさん
2020/06/19(金) 21:57:34.06ID:bZZY8ExL branchとかmergeとかもPC的にはそのうち禁止されるんじゃね?
552デフォルトの名無しさん
2020/06/19(金) 22:34:43.07ID:wHZO34HU PATAのデバイスついてるPCもアウトだな。masterにslaveだもの。
553デフォルトの名無しさん
2020/06/19(金) 22:36:55.15ID:cGppewf8 コロナ感染源だからホストも禁止
554デフォルトの名無しさん
2020/06/20(土) 03:28:44.15ID:ASLg4tM8 slaveは言い訳できないが、masterはいいだろ
言葉狩りの暴走は勘弁してほしい
言葉狩りの暴走は勘弁してほしい
555デフォルトの名無しさん
2020/06/20(土) 03:44:34.61ID:cD8U+O2A 変数名やメソッド名全部に差別チェックが入る時代が来るぞ
556デフォルトの名無しさん
2020/06/20(土) 04:13:37.90ID:FLQMzrN5 くだらね
考えすぎだと思うよ
日本語でも主/従というがこれをpolitically incorrectだと言う人はいないでしょ
考えすぎだと思うよ
日本語でも主/従というがこれをpolitically incorrectだと言う人はいないでしょ
557デフォルトの名無しさん
2020/06/20(土) 04:23:55.75ID:fYTLW7H/ 外圧に簡単に屈するぞ?
558デフォルトの名無しさん
2020/06/20(土) 04:26:17.64ID:ASLg4tM8 そんなことより、変数名に日本語使う会社の先輩を禁止にしてほしい
559デフォルトの名無しさん
2020/06/20(土) 08:05:50.48ID:wP1jy1tm560デフォルトの名無しさん
2020/06/20(土) 08:52:50.69ID:bhe8z7NH そういうのって正式に英語名称が定義されたりしないの?
561デフォルトの名無しさん
2020/06/20(土) 09:37:58.40ID:GUrzgoSo 全国の地方自治体向けに作られた翻訳システムがあるが英訳はめちゃくちゃわかりにくいぞ
区役所とかのホームページ見れば分かる
区役所とかのホームページ見れば分かる
562デフォルトの名無しさん
2020/06/20(土) 10:12:31.31ID:bhe8z7NH プログラマが勝手に作ったローマ字使うくらいなら正式な英語あるならそれ使えばいいじゃん
わかりにくさはローマ字も一緒だし
それも嫌なら正式名称の日本語かな
日本語は入力がめんどくさい、isとかつけたら見づらいとかあるんで個人的には英語にしたいところ
わかりにくさはローマ字も一緒だし
それも嫌なら正式名称の日本語かな
日本語は入力がめんどくさい、isとかつけたら見づらいとかあるんで個人的には英語にしたいところ
563デフォルトの名無しさん
2020/06/20(土) 10:20:29.03ID:cD8U+O2A 配偶者特別控除とか英訳した変数使われたら長すぎてたまらん
564デフォルトの名無しさん
2020/06/20(土) 10:25:55.97ID:7xYXUXXu こんなところでくだらん雑談されたらたまらん
565デフォルトの名無しさん
2020/06/20(土) 10:44:13.15ID:bhe8z7NH そんな長いのかと思ってググったら全然長くないじゃん
566デフォルトの名無しさん
2020/06/20(土) 12:35:54.56ID:VKvCWYLS >>560
必ずしも充足されてるとは言い難い。
まず政府管掌健康保険が協会けんぽに変わったから、云々、と歴史まで追いかけるときりがない。
それに、プログラマが勝手に決めないぞ。プロジェクトでコンセンサスとって対訳表作る。
必ずしも充足されてるとは言い難い。
まず政府管掌健康保険が協会けんぽに変わったから、云々、と歴史まで追いかけるときりがない。
それに、プログラマが勝手に決めないぞ。プロジェクトでコンセンサスとって対訳表作る。
567デフォルトの名無しさん
2020/06/20(土) 12:52:11.90ID:bhe8z7NH568デフォルトの名無しさん
2020/06/20(土) 13:33:06.13ID:VKvCWYLS569デフォルトの名無しさん
2020/06/20(土) 14:04:38.62ID:bhe8z7NH570デフォルトの名無しさん
2020/06/20(土) 14:35:58.82ID:VKvCWYLS571デフォルトの名無しさん
2020/06/20(土) 22:15:40.53ID:mviXVPvw 出来もしないのに無理やり英語使われてもなあ
ソースコード読んで直す側としては、変数名で恥ずかしいスペルミスされたり見当はずれの英単語使われるくらいだったら
開き直って日本語の変数名にしてくれてるほうが100倍マシ
ローマ字表記はヘボン非ヘボンの混在だったり長音や「おう」の表記ゆれだったりでgrepできなくて迷惑
子音のみ表記は論外
ソースコード読んで直す側としては、変数名で恥ずかしいスペルミスされたり見当はずれの英単語使われるくらいだったら
開き直って日本語の変数名にしてくれてるほうが100倍マシ
ローマ字表記はヘボン非ヘボンの混在だったり長音や「おう」の表記ゆれだったりでgrepできなくて迷惑
子音のみ表記は論外
572デフォルトの名無しさん
2020/06/20(土) 22:52:27.79ID:Zs4RBEp5 shine←誰だ!ソースコードに死ねって書いた奴は!
お前が一番英語できねーじゃん
お前が一番英語できねーじゃん
573デフォルトの名無しさん
2020/06/20(土) 22:59:06.50ID:hRQ9XdbD 酔っぱらって雑談書き込みたい人はマ板に行けよ
574デフォルトの名無しさん
2020/06/21(日) 13:48:49.92ID:wYwqTW6D 素面だったら失礼だろ…
575デフォルトの名無しさん
2020/06/21(日) 20:17:32.76ID:aN4OBWpj 派生クラスのインスタンスが与えられていて、abstruct な基底クラスの virtual なメソッドを呼び出すにはどうすればいいでしょうか?
using System;
using System.Reflection;
namespace ConsoleApp1
{
class Base1
{
public virtual void method1()
{
Console.WriteLine("Base1 method1");
}
}
abstract class D1 : Base1
{
public override void method1()
{
Console.WriteLine("D1 method1");
}
}
using System;
using System.Reflection;
namespace ConsoleApp1
{
class Base1
{
public virtual void method1()
{
Console.WriteLine("Base1 method1");
}
}
abstract class D1 : Base1
{
public override void method1()
{
Console.WriteLine("D1 method1");
}
}
576デフォルトの名無しさん
2020/06/21(日) 20:17:46.82ID:aN4OBWpj class D2 : D1
{
public override void method1()
{
Console.WriteLine("D2 method1");
}
public void callBaseMethod()
{
base.method1();
}
}
class Program
{
static void Main(string[] args)
{
D2 d2instance = new D2();
d2instance.method1();
d2instance.callBaseMethod();
Type d1type1 = d2instance.GetType().BaseType;
MethodInfo mi1 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi1.Invoke(d2instance, null);
D1 d2asD1 = d2instance as D1;
MethodInfo mi2 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi2.Invoke(d2instance, null);
}
}
}
{
public override void method1()
{
Console.WriteLine("D2 method1");
}
public void callBaseMethod()
{
base.method1();
}
}
class Program
{
static void Main(string[] args)
{
D2 d2instance = new D2();
d2instance.method1();
d2instance.callBaseMethod();
Type d1type1 = d2instance.GetType().BaseType;
MethodInfo mi1 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi1.Invoke(d2instance, null);
D1 d2asD1 = d2instance as D1;
MethodInfo mi2 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi2.Invoke(d2instance, null);
}
}
}
577デフォルトの名無しさん
2020/06/21(日) 20:20:09.44ID:aN4OBWpj D2クラスのメソッド内からは base を使って D1::method1 を呼び出せますが、D2クラス外から D1::method1 を呼び出したいのです。
reflection を例のように試してみましたが、これではD2.method1 が実行されました。
reflection を例のように試してみましたが、これではD2.method1 が実行されました。
578デフォルトの名無しさん
2020/06/21(日) 21:33:25.88ID:PVQJTyJk じゃあbaseでも返してやればいいじゃん
579デフォルトの名無しさん
2020/06/21(日) 21:35:29.29ID:X+exSJnj >>576
ここの方法で一応出来た
https://stackoverflow.com/questions/43797869/how-to-call-base-method-from-derived-class-instance-in-c
何で出来るのかは聞かないでw
さっぱり分からん
ここの方法で一応出来た
https://stackoverflow.com/questions/43797869/how-to-call-base-method-from-derived-class-instance-in-c
何で出来るのかは聞かないでw
さっぱり分からん
580デフォルトの名無しさん
2020/06/21(日) 22:28:34.53ID:aN4OBWpj static void Main(string[] args)
{
D2 d2instance = new D2();
D1 d2asD1 = d2instance as D1;
MethodInfo mi5 = typeof(D1).GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
var dynamicMethod = new DynamicMethod("baseMethod1", mi5.ReturnType, new[] { mi5.DeclaringType }, mi5.DeclaringType);
var il = dynamicMethod.GetILGenerator();
il.Emit(OpCodes.Ldarg_0);
il.EmitCall(OpCodes.Call, mi5, null);
il.Emit(OpCodes.Ret);
dynamicMethod.Invoke(null, new object[] { d2asD1 });
}
これで
D1 method1
と出力されました。
何で出来るのかはさっぱり分からないけど、完全に理解したので、感謝の気持ちだけ送ります。
{
D2 d2instance = new D2();
D1 d2asD1 = d2instance as D1;
MethodInfo mi5 = typeof(D1).GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
var dynamicMethod = new DynamicMethod("baseMethod1", mi5.ReturnType, new[] { mi5.DeclaringType }, mi5.DeclaringType);
var il = dynamicMethod.GetILGenerator();
il.Emit(OpCodes.Ldarg_0);
il.EmitCall(OpCodes.Call, mi5, null);
il.Emit(OpCodes.Ret);
dynamicMethod.Invoke(null, new object[] { d2asD1 });
}
これで
D1 method1
と出力されました。
何で出来るのかはさっぱり分からないけど、完全に理解したので、感謝の気持ちだけ送ります。
581デフォルトの名無しさん
2020/06/22(月) 09:37:12.13ID:0XzJmbel 環境によって動かなくなるかもしんないことした?
582デフォルトの名無しさん
2020/07/10(金) 21:20:51.69ID:X9xi9dVy 今までGUI作ったことなかったなーと思って勉強しようと思ったんですが今だとどれを勉強するのがいいんですかね
さすがにformsは古い?そうだけどWPF以降も色々と出ていてこのタイミングでどれをやるのがいいのか迷ってて
さすがにformsは古い?そうだけどWPF以降も色々と出ていてこのタイミングでどれをやるのがいいのか迷ってて
583デフォルトの名無しさん
2020/07/10(金) 21:29:39.13ID:Yln2FJAO584デフォルトの名無しさん
2020/07/10(金) 22:13:58.78ID:3+C210Fo 正解はwebで
585デフォルトの名無しさん
2020/07/10(金) 22:15:24.02ID:JuXuxxAz OWINで
586デフォルトの名無しさん
2020/07/11(土) 02:28:11.25ID:Xb91GAGB 続きはCM2の後で
587デフォルトの名無しさん
2020/07/11(土) 11:09:59.93ID:J0INoyBc Unityに+1
Unityのゲームの中身じゃなくてEditorの方をおすすめ
Unityのゲームの中身じゃなくてEditorの方をおすすめ
588デフォルトの名無しさん
2020/07/12(日) 21:38:45.35ID:aDzqciee unityがおすすめなんですね。あれゲーム専用だと思ってました
もっぱら業務アプリばっかなんでそういう用途にも使えるとは思ってなかったです
もっぱら業務アプリばっかなんでそういう用途にも使えるとは思ってなかったです
589デフォルトの名無しさん
2020/07/13(月) 09:25:32.82ID:TjSPxylo 業務アプリ用の言語ωでゲーム造ってる人も居るしな
590デフォルトの名無しさん
2020/07/13(月) 15:55:03.59ID:Ke/bF0yo 倉庫の在庫官吏を、VRで実際の倉庫とそっくりに作った仮想倉庫内を移動して有無を確認するようなシステムにしたらITで社会が幸せになるね
591デフォルトの名無しさん
2020/07/13(月) 16:01:37.04ID:H0zeGwMI 数値で確認じゃなくVRでわざわざ見渡すシステムを作るのか
すげーな、現場でそんな発想するやついねーわw
すげーな、現場でそんな発想するやついねーわw
592デフォルトの名無しさん
2020/07/13(月) 16:58:20.45ID:aaJV9hNQ カメラを設置するだけでも大変だったのに
モデリングに手間暇かかるだけ無駄
モデリングに手間暇かかるだけ無駄
593デフォルトの名無しさん
2020/07/13(月) 17:15:16.60ID:9YDjNgWA 商品もリアルに表現しなきゃねってことで
手足に負荷がかかるような器具を付けて商品の重さも再現するんでしょ?
倉庫の広さも実感できるようにランニングマシーンの進化版みたいのに乗ってと・・・
手足に負荷がかかるような器具を付けて商品の重さも再現するんでしょ?
倉庫の広さも実感できるようにランニングマシーンの進化版みたいのに乗ってと・・・
594デフォルトの名無しさん
2020/07/13(月) 17:28:58.81ID:Ke/bF0yo これからは業務アプリもunityやunrealengineだな
595デフォルトの名無しさん
2020/07/13(月) 17:32:08.72ID:aaJV9hNQ 自動倉庫のシステム組むのにそんなもんいらん
596デフォルトの名無しさん
2020/07/13(月) 17:38:07.71ID:VzOfFxcE 配管系のゲージは研修半分でオーバーレイして表示させるとかそういう話聞くけど、在庫数は無いわ。
金はかかるがだいたいパレットやらロットにRFタグつけて棚卸しできるようにするだろ。
ちなみにプラントのモデルは案外あるし、点群で撮っちゃうって手もある。
ただ、確かにモデルを表示する類の業務アプリはUnityで作ってるのもあるよ。
それなりに大手の製造業だけど。
金はかかるがだいたいパレットやらロットにRFタグつけて棚卸しできるようにするだろ。
ちなみにプラントのモデルは案外あるし、点群で撮っちゃうって手もある。
ただ、確かにモデルを表示する類の業務アプリはUnityで作ってるのもあるよ。
それなりに大手の製造業だけど。
597デフォルトの名無しさん
2020/07/13(月) 21:29:20.64ID:dyxM/ipS598デフォルトの名無しさん
2020/07/13(月) 22:41:02.33ID:onCQ4Lj1 そんなに余裕ならamazonの倉庫で
働けば良いのに:-p
働けば良いのに:-p
599デフォルトの名無しさん
2020/07/14(火) 11:59:39.83ID:Mma3I+br 倉庫管理楽しくなりそう
https://www.youtube.com/watch?v=Lu56xVlZ40M
https://www.youtube.com/watch?v=Lu56xVlZ40M
600デフォルトの名無しさん
2020/07/14(火) 20:22:00.29ID:dcabkqyp601デフォルトの名無しさん
2020/07/14(火) 20:29:04.35ID:Wijq2S4p パシフィック・リムが思い浮かぶな
602デフォルトの名無しさん
2020/07/14(火) 20:30:24.39ID:3GhCpHPS まあゲームだな
603デフォルトの名無しさん
2020/07/14(火) 21:04:18.81ID:GSoz0Gzm >>600
それだけでは体力的に厳しいからパワーアシストスーツを着ないとな
それだけでは体力的に厳しいからパワーアシストスーツを着ないとな
604デフォルトの名無しさん
2020/07/19(日) 18:09:36.82ID:PL1UBy2g X軸を対数にしようとIsLogarithmic= Trueにしたら"対数スケールはこの軸には使用できません"と例外が出たが、
Y軸では出ません。
プロットしたデータが悪いのかと試しにXもYも同じデータでプロットしてもX軸を対数にしたときだけやはり例外が出ます(Y軸だけ対数表記だと出ない)。
詳しい方がいたらアドバイスをください。
private void CalcFFT(int samplingNum)
{
chart2.Series[0].Points.Clear();
var input = new Complex[samplingNum];
var output = new Complex[samplingNum];
for (int i = 0; i < chart1.Series[0].Points.Count; i++){
input[i] = new Complex(chart1.Series[0].Points[i].YValues[0], 0);
output[i] = new Complex(chart1.Series[1].Points[i].YValues[0], 0);
}
// FFTを実行
Fourier.Forward(input);
Fourier.Forward(output);
for (int i = 0; i < input.Length; i++){
var aftInput = Complex.Divide(input[i], output[i]);
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;//これだけ例外になる
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
}
Y軸では出ません。
プロットしたデータが悪いのかと試しにXもYも同じデータでプロットしてもX軸を対数にしたときだけやはり例外が出ます(Y軸だけ対数表記だと出ない)。
詳しい方がいたらアドバイスをください。
private void CalcFFT(int samplingNum)
{
chart2.Series[0].Points.Clear();
var input = new Complex[samplingNum];
var output = new Complex[samplingNum];
for (int i = 0; i < chart1.Series[0].Points.Count; i++){
input[i] = new Complex(chart1.Series[0].Points[i].YValues[0], 0);
output[i] = new Complex(chart1.Series[1].Points[i].YValues[0], 0);
}
// FFTを実行
Fourier.Forward(input);
Fourier.Forward(output);
for (int i = 0; i < input.Length; i++){
var aftInput = Complex.Divide(input[i], output[i]);
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;//これだけ例外になる
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
}
605デフォルトの名無しさん
2020/07/19(日) 18:18:21.40ID:R6Y/ShSW606デフォルトの名無しさん
2020/07/19(日) 18:29:40.39ID:PL1UBy2g >>605
0や負数を取り除いてもエラーになってしまうんです。
そもそもY軸では負数を含めてもエラーにはならなかったので悩んでいます・・・。
上記のリンクも調べて既に試したのですが、
SuppressExceptionsを設定してもダメでした。
0や負数を取り除いてもエラーになってしまうんです。
そもそもY軸では負数を含めてもエラーにはならなかったので悩んでいます・・・。
上記のリンクも調べて既に試したのですが、
SuppressExceptionsを設定してもダメでした。
607デフォルトの名無しさん
2020/07/19(日) 20:29:44.78ID:xpqal6/5 chartなんて使ったことないから何か勘違いしてるかもしれんけど
別に何の問題もなかった
private void PlotSomething()
{
for (int i = 0; i < 10; i++)
{
var x = Math.Pow(10, i);
chart1.Series[0].Points.AddXY(x, x);
}
chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
chart1.ChartAreas[0].AxisY.IsLogarithmic = true;
}
別に何の問題もなかった
private void PlotSomething()
{
for (int i = 0; i < 10; i++)
{
var x = Math.Pow(10, i);
chart1.Series[0].Points.AddXY(x, x);
}
chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
chart1.ChartAreas[0].AxisY.IsLogarithmic = true;
}
608デフォルトの名無しさん
2020/07/19(日) 21:46:59.96ID:HgFtcLoK 動くコードから一つ一つ近づけて行くのもいい手だよね
609デフォルトの名無しさん
2020/07/19(日) 22:52:49.13ID:PL1UBy2g >>607
コードをお借りして試してみましたがダメでした・・・
私の環境で気になるのは、
AddXYをした後でもX軸のAxisX.Minumum=0でAxisX.Maximum=1のままだったんですよね・・・
そのままformを抜けて描画すると突然アボートになる・・・
コードをお借りして試してみましたがダメでした・・・
私の環境で気になるのは、
AddXYをした後でもX軸のAxisX.Minumum=0でAxisX.Maximum=1のままだったんですよね・・・
そのままformを抜けて描画すると突然アボートになる・・・
610デフォルトの名無しさん
2020/07/19(日) 23:04:54.28ID:vyF3aSiC フォームロード時にエラーになる?
対数軸持ちチャートはデータ数0を
許さないから、ダミーデータを入れた?
series.enabled = false;はしてある?
でなかったらわからないです。
対数軸持ちチャートはデータ数0を
許さないから、ダミーデータを入れた?
series.enabled = false;はしてある?
でなかったらわからないです。
611デフォルトの名無しさん
2020/07/19(日) 23:35:35.36ID:HgFtcLoK >>609
新規作成したプロジェクトでも同じって言ってるの?
新規作成したプロジェクトでも同じって言ってるの?
612デフォルトの名無しさん
2020/07/19(日) 23:51:19.95ID:PL1UBy2g613デフォルトの名無しさん
2020/07/20(月) 00:01:29.70ID:evpinthC614デフォルトの名無しさん
2020/07/20(月) 10:09:35.64ID:oCdL4TUp for (int i = 0; i < input.Length; i++){
var aftInput = Math.Log10(Complex.Divide(input[i], output[i]));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
var aftInput = Math.Log10(Complex.Divide(input[i], output[i]));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
615デフォルトの名無しさん
2020/07/20(月) 10:10:59.89ID:oCdL4TUp こっちか
for (int i = 0; i < input.Length; i++){
var aftInput = Math.Log10(Complex.Abs(Complex.Divide(input[i], output[i])));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
for (int i = 0; i < input.Length; i++){
var aftInput = Math.Log10(Complex.Abs(Complex.Divide(input[i], output[i])));
var aftOutput = 20*Math.Log10( Complex.Abs(aftInput));
chart2.Series[0].Points.AddXY(aftOutput, aftOutput);
}
chart2.ChartAreas[0].AxisX.IsLogarithmic = true;
chart2.ChartAreas[0].AxisY.IsLogarithmic = true;
616デフォルトの名無しさん
2020/07/20(月) 12:08:59.65ID:2IOyO+tV いや、ソリューション全部比較しないとプロパティまで見えないよね?
617デフォルトの名無しさん
2020/07/22(水) 12:10:47.54ID:G1e5+QGc ※usingは長いので省略
class useDynamicObject1{
static void Main()
{
dynamic order1 = new Order();
order1.ProductID = 100;
}
}
class Order: DynamicObject
{
private Dictionary<string,object> items = new Ditionary<string,object>();
private const object MyDefault = null;
public override bool TrySetMember(SetMemberBinder binder,object value)
{長すぎてエラーが起こるので略}
}
というようなコードがあったとします。dynamic order1 = new Order();
order1.ProductID = 100; この部分でOrderオブジェクトのTrySetMemberメソッドが動作してるっぽいんですが
通常 order1.TrySetMember(引数を入れる);という形でインスタンスメソッドを呼び出しますよね?
なぜorder1.ProductID = 100;の記述でTrySetMenmberメソッドが呼び出されるのかがわかりません
理由を教えてください、よろしくお願いいたします。
class useDynamicObject1{
static void Main()
{
dynamic order1 = new Order();
order1.ProductID = 100;
}
}
class Order: DynamicObject
{
private Dictionary<string,object> items = new Ditionary<string,object>();
private const object MyDefault = null;
public override bool TrySetMember(SetMemberBinder binder,object value)
{長すぎてエラーが起こるので略}
}
というようなコードがあったとします。dynamic order1 = new Order();
order1.ProductID = 100; この部分でOrderオブジェクトのTrySetMemberメソッドが動作してるっぽいんですが
通常 order1.TrySetMember(引数を入れる);という形でインスタンスメソッドを呼び出しますよね?
なぜorder1.ProductID = 100;の記述でTrySetMenmberメソッドが呼び出されるのかがわかりません
理由を教えてください、よろしくお願いいたします。
618デフォルトの名無しさん
2020/07/22(水) 12:17:39.88ID:PZLPLd2s619デフォルトの名無しさん
2020/07/22(水) 13:48:00.79ID:SRlHt7kI >>617
docsに書かれている通り、プロパティに値をsetするときに呼ばれるような仕様だから、じゃダメなの?
https://docs.microsoft.com/ja-jp/dotnet/api/system.dynamic.dynamicobject.trysetmember?view=netcore-3.1
>このメソッドは、sampleObject.SampleProperty = "Test"のようなステートメントがある場合に呼び出されます。
>sampleObject は、DynamicObject クラスから派生したクラスのインスタンスです。
docsに書かれている通り、プロパティに値をsetするときに呼ばれるような仕様だから、じゃダメなの?
https://docs.microsoft.com/ja-jp/dotnet/api/system.dynamic.dynamicobject.trysetmember?view=netcore-3.1
>このメソッドは、sampleObject.SampleProperty = "Test"のようなステートメントがある場合に呼び出されます。
>sampleObject は、DynamicObject クラスから派生したクラスのインスタンスです。
620デフォルトの名無しさん
2020/07/22(水) 15:11:33.71ID:RCIwbmD0 なるほど、状況はわかりましたが コードのイメージができません
どのようなコードを記述するか参考例はないでしょうか?
※どこかのサイトにかいてあるコードでもかまいません
どのようなコードを記述するか参考例はないでしょうか?
※どこかのサイトにかいてあるコードでもかまいません
621デフォルトの名無しさん
2020/07/22(水) 17:11:56.47ID:Vz073kjI マルチスレッドについて質問です。
C#は初心者です。
コードの書き方を見ると、Threadは使うな!Taskを使え!というものばかり見ます。
今の時代はThreadはgotoみたいな扱いで、使っちゃだめなんでしょうか。
C#は初心者です。
コードの書き方を見ると、Threadは使うな!Taskを使え!というものばかり見ます。
今の時代はThreadはgotoみたいな扱いで、使っちゃだめなんでしょうか。
622デフォルトの名無しさん
2020/07/22(水) 17:15:28.36ID:CV+o1S+t >>621
Taskで事足りるから、Threadを直接扱うメリットが無い
Taskで事足りるから、Threadを直接扱うメリットが無い
623デフォルトの名無しさん
2020/07/22(水) 19:37:30.15ID:INn9Gfu9624デフォルトの名無しさん
2020/07/22(水) 20:04:31.24ID:AJamwNQZ 車で例えるなら、
Thread/ThreadPoolを使うマルチスレッドは、クラッチ操作とかいろいろ面倒くさいマニュアル車
Taskを使ってのマルチスレッドは、アクセルを踏むだけで動いてくれるオートマチック車
ってなイメージかな
でもってTask.Run()すら書かなくていいasyncなメソッドは自動運転車
ただ単に移動したいだけなら楽なAT車(Task)を使えばいい
全部お任せしたいなら自動運転車(asyncメソッド)で十分
Thread/ThreadPoolを使うマルチスレッドは、クラッチ操作とかいろいろ面倒くさいマニュアル車
Taskを使ってのマルチスレッドは、アクセルを踏むだけで動いてくれるオートマチック車
ってなイメージかな
でもってTask.Run()すら書かなくていいasyncなメソッドは自動運転車
ただ単に移動したいだけなら楽なAT車(Task)を使えばいい
全部お任せしたいなら自動運転車(asyncメソッド)で十分
625デフォルトの名無しさん
2020/07/22(水) 21:35:45.28ID:Dyis6wZJ >>620
setter c#でググれ
setter c#でググれ
626デフォルトの名無しさん
2020/07/23(木) 00:38:31.81ID:4rdlbzE6 async await で済むならそれが一番良いね
627デフォルトの名無しさん
2020/07/23(木) 09:02:15.09ID:NYI4LF+6 621だけどありがとうございます!
時代の流れに沿ってTaskの勉強します
時代の流れに沿ってTaskの勉強します
628デフォルトの名無しさん
2020/07/23(木) 09:26:43.58ID:5gH7rQay629デフォルトの名無しさん
2020/07/23(木) 11:41:04.02ID:LCQAVDS7 >>627
非同期処理自体に明るくないなら古い生のThreadの時代の記事を
むしろ一番最初に読んだ方が理解が早いと思う。
特に非同期処理固有の落とし穴をちゃんと理解しておくことは重要
今時の便利なスキームの有難みも分かるしね
非同期処理自体に明るくないなら古い生のThreadの時代の記事を
むしろ一番最初に読んだ方が理解が早いと思う。
特に非同期処理固有の落とし穴をちゃんと理解しておくことは重要
今時の便利なスキームの有難みも分かるしね
630デフォルトの名無しさん
2020/07/24(金) 04:18:35.62ID:Xje7ei/I windowsフォームアプリは簡単なものなら作れるようになったので
次はウェブアプリに挑戦しようと思い、ASP.NETの本を読んで勉強してます
テスト用に作ったアプリをローカルではなく
実際にサーバーにあげて動かしてみたいと思っているのですが
こういった用途のサーバーレンタルは有料と考えてよいでしょうか?
さくらのVPS for Windows Serverなどを考えています
とりあえずの目的は、運用するまでの手順を学ぶことです
スレチだったらごめんなさい
次はウェブアプリに挑戦しようと思い、ASP.NETの本を読んで勉強してます
テスト用に作ったアプリをローカルではなく
実際にサーバーにあげて動かしてみたいと思っているのですが
こういった用途のサーバーレンタルは有料と考えてよいでしょうか?
さくらのVPS for Windows Serverなどを考えています
とりあえずの目的は、運用するまでの手順を学ぶことです
スレチだったらごめんなさい
631デフォルトの名無しさん
2020/07/24(金) 04:36:15.16ID:92mFR8ZL aws一択
632デフォルトの名無しさん
2020/07/24(金) 04:49:22.51ID:Xje7ei/I633デフォルトの名無しさん
2020/07/24(金) 10:22:06.04ID:YnCezvlk Azureに無料枠あっただろ
634デフォルトの名無しさん
2020/07/24(金) 10:48:35.32ID:qMgm686n さくらのVPSでも良いけど
shellやpythonやdjangoの便利さに心奪われて
C#やASP.NETのことを忘れてしまうだろうな
それでも良いけど
shellやpythonやdjangoの便利さに心奪われて
C#やASP.NETのことを忘れてしまうだろうな
それでも良いけど
635デフォルトの名無しさん
2020/07/24(金) 11:06:10.55ID:SsZ4AS8R >>634
心奪われるほどのものか?
心奪われるほどのものか?
636デフォルトの名無しさん
2020/07/24(金) 12:11:32.93ID:/tD0n6Gi 型安全じゃない言語ってホビー以外に使えるの?
637デフォルトの名無しさん
2020/07/24(金) 13:32:46.70ID:SsZ4AS8R >>636
使われてるでしょ?保守は地獄だろうけど
使われてるでしょ?保守は地獄だろうけど
638デフォルトの名無しさん
2020/07/24(金) 13:43:02.46ID:7VtUugQr じゃあ業務では使えないね
639デフォルトの名無しさん
2020/07/24(金) 14:23:28.01ID:Y2miOylG640デフォルトの名無しさん
2020/07/24(金) 15:00:20.11ID:SsZ4AS8R >>638
使われてるって言ってるのがわからないの?
使われてるって言ってるのがわからないの?
641デフォルトの名無しさん
2020/07/24(金) 15:19:35.82ID:7VtUugQr ホビーの延長みたいな感覚で仕事をしてる責任感の薄い人が居ることは事実
642デフォルトの名無しさん
2020/07/24(金) 15:22:41.00ID:ZEE8zZDA 板のローカルルールとスレのテンプレが読めない人はNG
643デフォルトの名無しさん
2020/07/24(金) 19:32:24.53ID:uJnpulJb 読んでるけど従うつもりがないだけなんでそこんとこ認識をヨロシク
644デフォルトの名無しさん
2020/07/25(土) 16:09:38.45ID:+eV1ptNI NSのC#自体のソース読むと結構アンマネージ使ってたような覚えがあるけど気のせいか
645デフォルトの名無しさん
2020/07/25(土) 16:10:19.04ID:+eV1ptNI ちゃたった
NS->MS
NS->MS
646デフォルトの名無しさん
2020/07/26(日) 08:31:48.16ID:Vt2OdSTv >>644
気のせいじゃなく、実際結構使ってるよ。
気のせいじゃなく、実際結構使ってるよ。
647デフォルトの名無しさん
2020/07/26(日) 12:34:03.71ID:PwqMs8Qo >>644
C#自体と言われてもよくわからないんだけど、roslynのこと?
C#自体と言われてもよくわからないんだけど、roslynのこと?
648デフォルトの名無しさん
2020/07/26(日) 22:14:35.40ID:/Zfph6D6 idisposeも実装されてない
他のクラスの既にできているオブジェクトを外から強制的に消す
(全く参照させない、gclistに強制的に入れる)方法って
ありますか?
そのクラス内のあるstaticクラス変数にそのオブジェクトの
thisが入っているので外から
そのオブジェクトのアドレスだけはわかる
状態です。
それをなんとか全くどこからも
使わせないようにしたい
他のクラスの既にできているオブジェクトを外から強制的に消す
(全く参照させない、gclistに強制的に入れる)方法って
ありますか?
そのクラス内のあるstaticクラス変数にそのオブジェクトの
thisが入っているので外から
そのオブジェクトのアドレスだけはわかる
状態です。
それをなんとか全くどこからも
使わせないようにしたい
649デフォルトの名無しさん
2020/07/26(日) 22:16:31.03ID:/Zfph6D6 あとthis.anyMethod()も
全くできないようにさせたい
外部から強制的に
できる?
全くできないようにさせたい
外部から強制的に
できる?
650デフォルトの名無しさん
2020/07/26(日) 22:21:36.89ID:/Zfph6D6 そのオブジェクトは
unityのObjectも継承してないので
static destroy(Object)も使えません
unityのObjectも継承してないので
static destroy(Object)も使えません
651デフォルトの名無しさん
2020/07/26(日) 22:25:51.16ID:KwNXIlQB >>648
IDisposable.Dispose()を実装して呼び出してもオブジェクト自体が消される訳じゃない
IDisposable.Dispose()を実装して呼び出してもオブジェクト自体が消される訳じゃない
652デフォルトの名無しさん
2020/07/26(日) 22:33:46.24ID:nxTYlDLI 条件がよくわからんしunityに限る話ならunityスレでは?
というかreflectionがあるんだから完全に禁止するってほぼ不可能じゃない?
というかreflectionがあるんだから完全に禁止するってほぼ不可能じゃない?
653デフォルトの名無しさん
2020/07/26(日) 22:33:57.56ID:/Zfph6D6 gclistに強制的に入れて
強制的にgc実行とかできない?
強制的にgc実行とかできない?
654デフォルトの名無しさん
2020/07/26(日) 22:37:41.22ID:jmmTW8OV 何がしたいのか分からないねw
たぶん問題設定そのものが間違ってると思う
たぶん問題設定そのものが間違ってると思う
655デフォルトの名無しさん
2020/07/26(日) 22:38:39.57ID:TQs5aOn7 >>653
参照を消したいのなら変数にnull入れてGC.Collect()
参照を消したいのなら変数にnull入れてGC.Collect()
656デフォルトの名無しさん
2020/07/26(日) 22:45:32.48ID:/Zfph6D6 >>655
全参照にnullをいれなきゃそれだめなんじゃ?
オブジェクトの元は外部の(管理下にない)ソースなんで自分でコード変えることができないんだけど
コード内容はわかるといった今の状況です
そのコード実行もしなきゃいけないし、オブジェクトも
つくられるんだけど、実行中に使えないように
したいという状況です
全参照にnullをいれなきゃそれだめなんじゃ?
オブジェクトの元は外部の(管理下にない)ソースなんで自分でコード変えることができないんだけど
コード内容はわかるといった今の状況です
そのコード実行もしなきゃいけないし、オブジェクトも
つくられるんだけど、実行中に使えないように
したいという状況です
657デフォルトの名無しさん
2020/07/26(日) 22:51:39.34ID:Smduqo9C 誰かエスパーしてあげてw
658デフォルトの名無しさん
2020/07/26(日) 23:08:48.27ID:kypOQynU 仮に触れなくすることができたとする
でもそれらをそれまで触ってたオブジェクトは当然触れるものと思って触るわけだ
そこで実は触れませんとなったらNullReferenceExceptionか何かで死ぬしかないことになると思うんだけど
ならもう自プロセス終わらせればいいってことにならないかな
でもそれらをそれまで触ってたオブジェクトは当然触れるものと思って触るわけだ
そこで実は触れませんとなったらNullReferenceExceptionか何かで死ぬしかないことになると思うんだけど
ならもう自プロセス終わらせればいいってことにならないかな
659デフォルトの名無しさん
2020/07/26(日) 23:21:40.08ID:KwNXIlQB >>656
そのオブジェクトを使う部分を自由に出来るなら、
管理用のクラスを通してしかそのオブジェクトにアクセス出来ないようにすれば?
管理用のクラスはIDisposable.Dispose()を実装するとして。
そのオブジェクトを使う部分を自由に出来るなら、
管理用のクラスを通してしかそのオブジェクトにアクセス出来ないようにすれば?
管理用のクラスはIDisposable.Dispose()を実装するとして。
660デフォルトの名無しさん
2020/07/26(日) 23:35:57.75ID:/Zfph6D6 >>659
管理部分は盲点でした
外部ソースをdllでまとめて
ある条件のときはそのdllを読み込まず
ダミーのdllを読み込ませる
といったことでなんとかできそうに見えます
ちょっと試してみます
ありがとうございます
管理部分は盲点でした
外部ソースをdllでまとめて
ある条件のときはそのdllを読み込まず
ダミーのdllを読み込ませる
といったことでなんとかできそうに見えます
ちょっと試してみます
ありがとうございます
661デフォルトの名無しさん
2020/07/26(日) 23:52:58.90ID:/Zfph6D6 みなさんありがとうございます
大変参考になりました
大変参考になりました
662デフォルトの名無しさん
2020/07/27(月) 01:47:30.49ID:BYRdt52X 本人が解決したって言うから良いんだけど全然理解できないのは俺だけ?
管理クラスと言うかラッパーみたいな共通窓口作ってそこでフラグ管理みたいなことしてアクセス制御すりゃオッケーって話?
管理クラスと言うかラッパーみたいな共通窓口作ってそこでフラグ管理みたいなことしてアクセス制御すりゃオッケーって話?
663デフォルトの名無しさん
2020/07/27(月) 02:33:31.05ID:msy0LCKO >>662
気になるだろうけど他人が掘り下げても得られるものは無いと思う
気になるだろうけど他人が掘り下げても得られるものは無いと思う
664デフォルトの名無しさん
2020/07/27(月) 02:34:48.02ID:+/9Qvyd1 何がしたいかは何となくわかる。
それが本当に本人が思っているほど必要なことかと聞かれたら...
大半の人は質問者は何か根本的に勘違いをしてるんじゃないかと思うんじゃないだろうか
それが本当に本人が思っているほど必要なことかと聞かれたら...
大半の人は質問者は何か根本的に勘違いをしてるんじゃないかと思うんじゃないだろうか
665デフォルトの名無しさん
2020/07/27(月) 05:15:50.18ID:l/11S2TE やったできたわ
嬉しい
共通に使うクラスAがあって
クラスB.dllのオブジェクトが通信しあってる。
クラスB.dllに似たクラスC.dllをつくってクラスAと通信するがクラスBからはなにもしてほしくない
でもクラスBもAも変えられず実行もする
ってなるとクラスBを殺すしかと
思ってたけど
必要時クラスB.dllをダミーに置き換えればいけた
管理の部分はみれてなかった
コード内容が完全にわかってるからいけた
嬉しい
共通に使うクラスAがあって
クラスB.dllのオブジェクトが通信しあってる。
クラスB.dllに似たクラスC.dllをつくってクラスAと通信するがクラスBからはなにもしてほしくない
でもクラスBもAも変えられず実行もする
ってなるとクラスBを殺すしかと
思ってたけど
必要時クラスB.dllをダミーに置き換えればいけた
管理の部分はみれてなかった
コード内容が完全にわかってるからいけた
666デフォルトの名無しさん
2020/07/27(月) 05:30:47.92ID:BYRdt52X コードの中身全部がわかってなくてもインターフェースさえわかってればできたんじゃ?
ダミー作ることなんてテストとかでも使うしよくある手法じゃないかな
dllファイル名書き換えてとかはあんませんだろうけど
つうかdisposeもgcもunityも関係ない…
無理やりBを解放したら普通はAがまともに動作しないでしょ
ダミー作ることなんてテストとかでも使うしよくある手法じゃないかな
dllファイル名書き換えてとかはあんませんだろうけど
つうかdisposeもgcもunityも関係ない…
無理やりBを解放したら普通はAがまともに動作しないでしょ
667デフォルトの名無しさん
2020/07/27(月) 12:44:08.29ID:vNtx9fDh 餌を与えないで下さい
668デフォルトの名無しさん
2020/07/27(月) 17:25:24.57ID:6PuT4Gny669デフォルトの名無しさん
2020/07/27(月) 17:29:51.74ID:o3qaYBwJ >>668
なんたレガシーな方か
なんたレガシーな方か
670デフォルトの名無しさん
2020/07/27(月) 18:42:15.63ID:CkDy44u6 そりゃフレームワークはどうしたってそうなるだろ。
671デフォルトの名無しさん
2020/07/28(火) 19:00:41.72ID:vZrvythQ 質問させてください。
.NET Framework3.5 で完全な透明な黄緑色で円を描画する方法はありませんか?
Graphics g = Graphics.FromImage(this.bmp);
Color customColor = Color.FromArgb(0, 128, 255, 0);
SolidBrush brush = new SolidBrush(customColor);
g.FillEllipse(brush, 0, 0, 6, 6);
とやった場合、意図せぬ透過処理がされてしまい何も描画されません。
.NET Framework3.5 で完全な透明な黄緑色で円を描画する方法はありませんか?
Graphics g = Graphics.FromImage(this.bmp);
Color customColor = Color.FromArgb(0, 128, 255, 0);
SolidBrush brush = new SolidBrush(customColor);
g.FillEllipse(brush, 0, 0, 6, 6);
とやった場合、意図せぬ透過処理がされてしまい何も描画されません。
672デフォルトの名無しさん
2020/07/28(火) 19:08:56.06ID:CTX9A1Y/ 完全に透明な時点で色もクソもねーだろ
笑わせんな
笑わせんな
673デフォルトの名無しさん
2020/07/28(火) 19:14:28.88ID:IIddPlFk674デフォルトの名無しさん
2020/07/28(火) 19:30:19.58ID:AU+xTBn3 正直な所、これが意図してないとしたら、何を意図してるのかわからん。
675デフォルトの名無しさん
2020/07/28(火) 19:39:57.11ID:8/UcfNM3 村上ドラゴンの小説のタイトルかと思ったよwww
676デフォルトの名無しさん
2020/07/28(火) 19:45:40.40ID:p7iAQgQg 準2級エスパー能力を発揮するなら
半透明な黄緑は期待したものでなく
黄緑のサングラスを通して見たようなものを期待しているのではないか
画素ごとに輝度をとって黄緑と乗算するか、いきなり黄緑と乗算するか、
そんなものがお望みなのではないか
半透明な黄緑は期待したものでなく
黄緑のサングラスを通して見たようなものを期待しているのではないか
画素ごとに輝度をとって黄緑と乗算するか、いきなり黄緑と乗算するか、
そんなものがお望みなのではないか
677デフォルトの名無しさん
2020/07/28(火) 19:50:48.29ID:DIHaAiPw678デフォルトの名無しさん
2020/07/28(火) 19:54:13.43ID:vZrvythQ679デフォルトの名無しさん
2020/07/28(火) 19:58:06.12ID:p7iAQgQg 真っ黒な光みたいな?
680デフォルトの名無しさん
2020/07/28(火) 20:01:17.20ID:AU+xTBn3 >>678
不透明度を1で描いたらどうなる?
不透明度を1で描いたらどうなる?
681デフォルトの名無しさん
2020/07/28(火) 20:02:15.75ID:DIHaAiPw >>678
その保存した画像をアルファ値だけ弄ってみれば期待通りになっているのが分かるはず
その保存した画像をアルファ値だけ弄ってみれば期待通りになっているのが分かるはず
682デフォルトの名無しさん
2020/07/28(火) 20:12:36.90ID:vZrvythQ >>679
いえ、アルファ値が0なので完全に透明で何も見えないのでARGB(0,0,0,0) と区別はつかないですが、
メモリ上のビットマップの内容にはアルファが0でも赤と緑の値に128や255の値を書き込めますよね。
そういう描画(つまり半透明演算をしない)がしたいんです。
>>680
目視できないくらい薄い黄色で描画されました。
何度も重ね描きしたら、うっすらと黄色が見えてきました。
不透明度128なら半透明の黄緑色で描画されます。
>>681
this.bmp は画像ファイルなので、その上に上書きで円を描画すれば元の画像が消えますよね?
そうはならず、元の画像のままなので期待通りにはなりませんでした。
いえ、アルファ値が0なので完全に透明で何も見えないのでARGB(0,0,0,0) と区別はつかないですが、
メモリ上のビットマップの内容にはアルファが0でも赤と緑の値に128や255の値を書き込めますよね。
そういう描画(つまり半透明演算をしない)がしたいんです。
>>680
目視できないくらい薄い黄色で描画されました。
何度も重ね描きしたら、うっすらと黄色が見えてきました。
不透明度128なら半透明の黄緑色で描画されます。
>>681
this.bmp は画像ファイルなので、その上に上書きで円を描画すれば元の画像が消えますよね?
そうはならず、元の画像のままなので期待通りにはなりませんでした。
683デフォルトの名無しさん
2020/07/28(火) 20:21:15.85ID:DIHaAiPw >>682
>その上に上書きで円を描画すれば元の画像が消えますよね
透過で上書きして消えるペイントソフトある?普通は消しゴムじゃないか?
それなら範囲指定するデータを設定してそれに沿ってBitmapDataで画素を置き換えたことしかない
>その上に上書きで円を描画すれば元の画像が消えますよね
透過で上書きして消えるペイントソフトある?普通は消しゴムじゃないか?
それなら範囲指定するデータを設定してそれに沿ってBitmapDataで画素を置き換えたことしかない
684デフォルトの名無しさん
2020/07/28(火) 20:31:52.02ID:s40ygP9w ARGB(0, 128, 255, 0)で描画したはずが
抜き出してみるとARGB(0, 0, 0, 0)になってしまうとか?
それとも
ARGB(0, 128, 255, 0)での描画or透過処理で、画像に目で見える影響を与えたいとか?
抜き出してみるとARGB(0, 0, 0, 0)になってしまうとか?
それとも
ARGB(0, 128, 255, 0)での描画or透過処理で、画像に目で見える影響を与えたいとか?
685デフォルトの名無しさん
2020/07/28(火) 20:49:25.10ID:vZrvythQ >>683
消えるペイントソフトは無いと思います。
消しゴムだと普通はアルファ値だけ0になるか、又は透明な黒 ARGB(0,0,0,0)で消えますよね。
そうではなく、透明で黄緑な消しゴム ARGB(0,128,255,0) を使いたいという事です。
>>684
>ARGB(0, 128, 255, 0)で描画したはずが
>抜き出してみるとARGB(0, 0, 0, 0)になってしまうとか?
違います、元の画像のまま何も変化なしです。
>それとも
>ARGB(0, 128, 255, 0)での描画or透過処理で、画像に目で見える影響を与えたいとか?
そうです、透明な黄緑で円を描画したのだから、
円の形で透明に切り抜かれてほしいんです。
(更に切り抜かれた部分は透明な黒ではなく、透明な黄緑で)
消えるペイントソフトは無いと思います。
消しゴムだと普通はアルファ値だけ0になるか、又は透明な黒 ARGB(0,0,0,0)で消えますよね。
そうではなく、透明で黄緑な消しゴム ARGB(0,128,255,0) を使いたいという事です。
>>684
>ARGB(0, 128, 255, 0)で描画したはずが
>抜き出してみるとARGB(0, 0, 0, 0)になってしまうとか?
違います、元の画像のまま何も変化なしです。
>それとも
>ARGB(0, 128, 255, 0)での描画or透過処理で、画像に目で見える影響を与えたいとか?
そうです、透明な黄緑で円を描画したのだから、
円の形で透明に切り抜かれてほしいんです。
(更に切り抜かれた部分は透明な黒ではなく、透明な黄緑で)
686デフォルトの名無しさん
2020/07/28(火) 21:04:55.49ID:s40ygP9w 透明な黄緑の先には元の画像が薄っすら見える方がいいのか?
透明な黄緑一色の均一な色で塗りつぶすのか?
透明な黄緑一色の均一な色で塗りつぶすのか?
687デフォルトの名無しさん
2020/07/28(火) 21:12:34.91ID:AU+xTBn3688デフォルトの名無しさん
2020/07/28(火) 21:13:39.38ID:CTX9A1Y/689デフォルトの名無しさん
2020/07/28(火) 21:15:26.22ID:CTX9A1Y/ 掲示板で一番楽なのは計算式かな?
それがformsアプリでできるかどうかって言うと微妙だと思うけど
それがformsアプリでできるかどうかって言うと微妙だと思うけど
690デフォルトの名無しさん
2020/07/28(火) 21:20:53.33ID:CTX9A1Y/ ちょっと思ったのは
もしかしてやりたいのはカラーキーの抜き色?
もしかしてやりたいのはカラーキーの抜き色?
691デフォルトの名無しさん
2020/07/28(火) 21:22:54.80ID:DIHaAiPw >>685
あらかじめthis.bmpをFormat32bppArgbにする
this.bmpと同じ大きさのBitmapを作ってくりぬきたい場所にFillEllipseで描画する。(refbmpとする)
refbmpとthis.bmpのBitmapDataを作ってrefbmpの画素がある部分と同じアドレスでthis.bmpの画素のアルファ値を0にした黄緑色の画素データを書き込む
https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.imaging.bitmapdata.scan0
これしかやったことは無い。図形じゃない塗りつぶしならGraphics.Clear(Color)が使えるけど図形を指定するやり方はわからない
あらかじめthis.bmpをFormat32bppArgbにする
this.bmpと同じ大きさのBitmapを作ってくりぬきたい場所にFillEllipseで描画する。(refbmpとする)
refbmpとthis.bmpのBitmapDataを作ってrefbmpの画素がある部分と同じアドレスでthis.bmpの画素のアルファ値を0にした黄緑色の画素データを書き込む
https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.imaging.bitmapdata.scan0
これしかやったことは無い。図形じゃない塗りつぶしならGraphics.Clear(Color)が使えるけど図形を指定するやり方はわからない
692デフォルトの名無しさん
2020/07/28(火) 21:24:32.89ID:8/UcfNM3693デフォルトの名無しさん
2020/07/28(火) 21:51:15.86ID:vZrvythQ >>686
>透明な黄緑の先には元の画像が薄っすら見える方がいいのか?
いいえ。
>透明な黄緑一色の均一な色で塗りつぶすのか?
はい、そうです。
>>688
フォトショップは持っていないのと、
ペイントはアルファチャンネルに非対応のようなので
Gimpで説明させていただきます。
説明画像をこちらにアップロードしました。
https://f.easyuploader.app/eu-prd/upload/20200728214113_76595047614e3537674b.zip
"元画像.png" をGimpの消しゴムツールで消すと、
"消しゴム.png" の画像になります。
この画像をGimpで開き、円で消された部分の色々な箇所を、
Gimpのスポイトツールで色を取得すればわかりますが、
青や黄色、白等が取得でき、
透明でありながら元画像の色が残っている事がわかると思います。
私がやりたいのは、"目的の画像.png" を.NETで作りたいという事です。
この画像の円で消された部分をスポイトツールで色を取得すると、
RGB(128,255,0)の黄緑色のみが取得されます。
>>690
いいえ、やりたいのはカラーキーの抜き色ではないです。
>透明な黄緑の先には元の画像が薄っすら見える方がいいのか?
いいえ。
>透明な黄緑一色の均一な色で塗りつぶすのか?
はい、そうです。
>>688
フォトショップは持っていないのと、
ペイントはアルファチャンネルに非対応のようなので
Gimpで説明させていただきます。
説明画像をこちらにアップロードしました。
https://f.easyuploader.app/eu-prd/upload/20200728214113_76595047614e3537674b.zip
"元画像.png" をGimpの消しゴムツールで消すと、
"消しゴム.png" の画像になります。
この画像をGimpで開き、円で消された部分の色々な箇所を、
Gimpのスポイトツールで色を取得すればわかりますが、
青や黄色、白等が取得でき、
透明でありながら元画像の色が残っている事がわかると思います。
私がやりたいのは、"目的の画像.png" を.NETで作りたいという事です。
この画像の円で消された部分をスポイトツールで色を取得すると、
RGB(128,255,0)の黄緑色のみが取得されます。
>>690
いいえ、やりたいのはカラーキーの抜き色ではないです。
694デフォルトの名無しさん
2020/07/28(火) 22:27:55.85ID:s40ygP9w g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
これで透過処理はされなくなるけど、失敗しそうな気がする(RGBがゼロになりそう)
試していなくてスマン
これで透過処理はされなくなるけど、失敗しそうな気がする(RGBがゼロになりそう)
試していなくてスマン
695デフォルトの名無しさん
2020/07/28(火) 22:36:13.97ID:CTX9A1Y/696デフォルトの名無しさん
2020/07/28(火) 22:40:58.96ID:W+ssPg1l zipわろた
697デフォルトの名無しさん
2020/07/28(火) 22:46:17.21ID:CTX9A1Y/ この掲示板自体に画像が上げられる
698デフォルトの名無しさん
2020/07/28(火) 22:51:35.97ID:CTX9A1Y/699デフォルトの名無しさん
2020/07/28(火) 22:56:23.45ID:vZrvythQ >>691
詳しく説明してくださってありがとうございます。
それで出来ると思います。
ただちょっと一手間がかかりそうですね。
>>694
ああ、これです!私が捜し求めていたものは!
っと思いましたが、残念ながら透明な黒 ARGB(0,0,0,0) になってしまいました。
アルファ値128ならちゃんと半透明の黄緑になるのに、惜しい。
アルファ値1だとほぼ透明な黄色になりました。
スマホで透明部分の色が確認できるのかわかりませんが、アップロードしてみました。
"元画像.png"
https://f.easyuploader.app/eu-prd/upload/20200728224712_3833583973794a4b386f.png
"消しゴム.png"
https://f.easyuploader.app/eu-prd/upload/20200728224758_6e4174726e5477434158.png
"目的の画像.png"
https://f.easyuploader.app/eu-prd/upload/20200728225050_49646a7a674171774f59.png
詳しく説明してくださってありがとうございます。
それで出来ると思います。
ただちょっと一手間がかかりそうですね。
>>694
ああ、これです!私が捜し求めていたものは!
っと思いましたが、残念ながら透明な黒 ARGB(0,0,0,0) になってしまいました。
アルファ値128ならちゃんと半透明の黄緑になるのに、惜しい。
アルファ値1だとほぼ透明な黄色になりました。
スマホで透明部分の色が確認できるのかわかりませんが、アップロードしてみました。
"元画像.png"
https://f.easyuploader.app/eu-prd/upload/20200728224712_3833583973794a4b386f.png
"消しゴム.png"
https://f.easyuploader.app/eu-prd/upload/20200728224758_6e4174726e5477434158.png
"目的の画像.png"
https://f.easyuploader.app/eu-prd/upload/20200728225050_49646a7a674171774f59.png
700デフォルトの名無しさん
2020/07/28(火) 23:02:45.30ID:8/UcfNM3 適当に検証コード書いてみたけど別に変なことしなくても
ピクセルにアルファー値を持つビットマップは作れるけど
何がしたいのかな。
面倒くさいから質問ろくに読んでないけどw
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.Clear( BackColor);
var hb = new HatchBrush(HatchStyle.HorizontalBrick, Color.White, Color.Black);
e.Graphics.FillRectangle(hb, ClientRectangle);
var bmp = new Bitmap(Width, Height);
using (var g = Graphics.FromImage(bmp))
{
var c = Color.CornflowerBlue;
var gb = new LinearGradientBrush(ClientRectangle, c, Color.FromArgb(0, c), 0f);
g.FillRectangle(gb, ClientRectangle);
}
e.Graphics.DrawImage(bmp, 0, 0);
}
ピクセルにアルファー値を持つビットマップは作れるけど
何がしたいのかな。
面倒くさいから質問ろくに読んでないけどw
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.Clear( BackColor);
var hb = new HatchBrush(HatchStyle.HorizontalBrick, Color.White, Color.Black);
e.Graphics.FillRectangle(hb, ClientRectangle);
var bmp = new Bitmap(Width, Height);
using (var g = Graphics.FromImage(bmp))
{
var c = Color.CornflowerBlue;
var gb = new LinearGradientBrush(ClientRectangle, c, Color.FromArgb(0, c), 0f);
g.FillRectangle(gb, ClientRectangle);
}
e.Graphics.DrawImage(bmp, 0, 0);
}
701デフォルトの名無しさん
2020/07/28(火) 23:22:12.18ID:CTX9A1Y/ >>700
あ、アルファ値って普通に書くだけでいけるんや
んじゃあ、最終出力がpngであるならなんでもできるね
1ピクセルずつアクセスしてRGB取り出してRGBAブッ込めばなんでもできるしそれこそなんでも
あ、アルファ値って普通に書くだけでいけるんや
んじゃあ、最終出力がpngであるならなんでもできるね
1ピクセルずつアクセスしてRGB取り出してRGBAブッ込めばなんでもできるしそれこそなんでも
702デフォルトの名無しさん
2020/07/28(火) 23:42:09.06ID:DIHaAiPw >>694
それ知らなかったけどおかげでGraphics.Clearにも完全透明色でのRGB設定できないのわかったわw、ありがとう
http://bbs.wankuma.com/index.cgi?mode=al2&namber=77366&KLOG=131
それ知らなかったけどおかげでGraphics.Clearにも完全透明色でのRGB設定できないのわかったわw、ありがとう
http://bbs.wankuma.com/index.cgi?mode=al2&namber=77366&KLOG=131
703デフォルトの名無しさん
2020/07/29(水) 00:59:34.41ID:l1NFDws7704デフォルトの名無しさん
2020/07/29(水) 01:38:35.72ID:jnMYxU1A 簡単の基準は?
705デフォルトの名無しさん
2020/07/29(水) 01:39:42.78ID:CwVjY0Ri 3分クッキング
706デフォルトの名無しさん
2020/07/29(水) 02:00:24.66ID:l1NFDws7707デフォルトの名無しさん
2020/07/29(水) 08:08:54.77ID:dxgD+NL4 .Netは4.5を指定すればWindows8.1から2004まで追加のアップデートなしで済むんですよね?
最新のVS2019で4.72だかで作って配布したら10でも.netアップデートしなきゃ使えんと文句の嵐でめげた。
最新のVS2019で4.72だかで作って配布したら10でも.netアップデートしなきゃ使えんと文句の嵐でめげた。
708デフォルトの名無しさん
2020/07/29(水) 08:17:48.19ID:ZD2Ud5DP なに作ってんのか知らんけど.NET CoreでSCDという手も
709デフォルトの名無しさん
2020/07/29(水) 08:19:28.87ID:F052uZps なぜサポート切れを?4.8で終わりなんだから4.8にしとけ
710デフォルトの名無しさん
2020/07/29(水) 08:21:09.89ID:jnMYxU1A え?終わりってその後どうなんの?
711デフォルトの名無しさん
2020/07/29(水) 09:24:59.33ID:HB4PhX83 .NET Coreベースの.NET 5に統合
WindowsのOS標準でインストールされてるのはとりあえず当分は.NET Framework 4.8が続くだろうな
WindowsのOS標準でインストールされてるのはとりあえず当分は.NET Framework 4.8が続くだろうな
712デフォルトの名無しさん
2020/07/29(水) 09:42:01.59ID:jnMYxU1A >>711
winformsかもしくはそれぐらいお手軽なのあるの?
winformsかもしくはそれぐらいお手軽なのあるの?
713デフォルトの名無しさん
2020/07/29(水) 09:51:55.20ID:H7KKJzsx WPF(始まってなかった)
714デフォルトの名無しさん
2020/07/29(水) 09:59:34.47ID:HB4PhX83 .NET Core 3.0でWinFormとWPFは移植されたよ(もちろんWindows版限定だけど)
.NET 6以降はXamarinベースの.NET Multi-platform App UIを導入予定だよ
https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
.NET 6以降はXamarinベースの.NET Multi-platform App UIを導入予定だよ
https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
715デフォルトの名無しさん
2020/07/29(水) 10:21:11.13ID:F052uZps いずれにしても4.5はやめとけ
716デフォルトの名無しさん
2020/07/29(水) 11:05:27.84ID:rDHTEYe8717デフォルトの名無しさん
2020/07/29(水) 11:07:32.45ID:7+Ufx8Gb ラインタイム依存が嫌なら、
.Net Core 3.1 でランタイム込みの自己完結型アプリを作ればいいんじゃないの。
その分ファイルサイズはでかくなるけど。
.Net Core 3.1 でランタイム込みの自己完結型アプリを作ればいいんじゃないの。
その分ファイルサイズはでかくなるけど。
718デフォルトの名無しさん
2020/07/29(水) 11:10:47.14ID:dxgD+NL4 そうですか、.netのアップデートは情シスに頼まないと一般ユーザーでは出来ないのがネックです。
会社の端末はwindows updateは殆んどやらないし。
.net位やって欲しいな。
愚痴ってごめんなさい。
会社の端末はwindows updateは殆んどやらないし。
.net位やって欲しいな。
愚痴ってごめんなさい。
719デフォルトの名無しさん
2020/07/29(水) 11:11:48.96ID:dxgD+NL4720デフォルトの名無しさん
2020/07/29(水) 11:18:27.50ID:7+Ufx8Gb .Net Core の自己完結型アプリのことは、
https://docs.microsoft.com/ja-jp/dotnet/core/deploying/
https://dekirukigasuru.com/blog/2019/11/24/csharp-single-executable/
などを読めばわかるよ。
なお、実行ファイルパス問題というのがあるので注意ね。
詳しくは上のページを読めばわかると思う。
https://docs.microsoft.com/ja-jp/dotnet/core/deploying/
https://dekirukigasuru.com/blog/2019/11/24/csharp-single-executable/
などを読めばわかるよ。
なお、実行ファイルパス問題というのがあるので注意ね。
詳しくは上のページを読めばわかると思う。
721デフォルトの名無しさん
2020/07/29(水) 11:20:33.05ID:F052uZps >>716
だめ。BindingRedirect周りの設計をミスったことが散々ディスられてMS側も誤りであったと認めている。4.7.2以降が推奨されている。
だめ。BindingRedirect周りの設計をミスったことが散々ディスられてMS側も誤りであったと認めている。4.7.2以降が推奨されている。
722デフォルトの名無しさん
2020/07/29(水) 11:29:24.87ID:rDHTEYe8723デフォルトの名無しさん
2020/07/29(水) 11:39:14.24ID:F052uZps >>722
なぜここでポインタの話?
なぜここでポインタの話?
724デフォルトの名無しさん
2020/07/29(水) 11:42:14.30ID:DcS06fwg アスペktkr
725デフォルトの名無しさん
2020/07/29(水) 12:04:03.54ID:rDHTEYe8 >>723
ソースのことです
ソースのことです
726デフォルトの名無しさん
2020/07/29(水) 12:06:03.13ID:F052uZps >>725
またややこしい言葉を…このあたりのissueやTwitterのスレッドを眺めると、大体の経緯はわかると思うよ
https://github.com/dotnet/standard/issues/481
https://twitter.com/terrajobst/status/1031999730320986112?s=19
https://twitter.com/5chan_nel (5ch newer account)
またややこしい言葉を…このあたりのissueやTwitterのスレッドを眺めると、大体の経緯はわかると思うよ
https://github.com/dotnet/standard/issues/481
https://twitter.com/terrajobst/status/1031999730320986112?s=19
https://twitter.com/5chan_nel (5ch newer account)
727デフォルトの名無しさん
2020/07/29(水) 12:10:14.59ID:rDHTEYe8728デフォルトの名無しさん
2020/07/31(金) 01:13:19.08ID:durLTnal 無能winformsプログラマのおいらをMicrosoftは見放してしまうのか・・・
729デフォルトの名無しさん
2020/07/31(金) 01:16:45.59ID:mccS7x6Z >>728
ところがどっこい、UWPは消えつつあるのに対し、WinFormsは.NET Coreに移行され、.NET5以降もしぶとく生き延び続ける
ところがどっこい、UWPは消えつつあるのに対し、WinFormsは.NET Coreに移行され、.NET5以降もしぶとく生き延び続ける
730デフォルトの名無しさん
2020/07/31(金) 09:36:09.26ID:5o3L2EFA 4年前に「Win32は廃止されて今後はUWPの時代」と息巻いてた人たち
20年延々懲りずに「すべてのアプリはブラウザ上で動く時代になる」と言い続けてる人たち
どっちも心底センスがないと思うw
そんなことちょっと考えればありえないって分かるよね
20年延々懲りずに「すべてのアプリはブラウザ上で動く時代になる」と言い続けてる人たち
どっちも心底センスがないと思うw
そんなことちょっと考えればありえないって分かるよね
731デフォルトの名無しさん
2020/07/31(金) 09:41:53.03ID:fk+2L6iO732デフォルトの名無しさん
2020/07/31(金) 11:12:25.50ID:N0eufbNj アプリωってストアアプリωωのことか?ωωω
733デフォルトの名無しさん
2020/08/01(土) 08:23:32.56ID:rtK1naa5 ほらほらストアにアプリ公開したら数千円くれるキャンペーン再開してホラホラ
734デフォルトの名無しさん
2020/09/02(水) 02:32:00.82ID:6fqNtNLb うちの会社は特定業界向け製品だけ作ってるけど、旧製品だけWinFormsのまま(もっと古い製品はC++とWin32APIとMFCだけど)
ここ数年内に出した製品はWPFになってるな。
新規でWinFormsは使ってない。
ここ数年内に出した製品はWPFになってるな。
新規でWinFormsは使ってない。
735デフォルトの名無しさん
2020/09/02(水) 06:36:18.34ID:PAY6dedH >>734
wpf始めるにはhtmlとか覚える必要ある?
wpf始めるにはhtmlとか覚える必要ある?
736デフォルトの名無しさん
2020/09/02(水) 08:34:40.77ID:64Ct0prY >>735
WPFで使うxamlは、ぱっと見はhtmlに近いけどまるで違うから覚える必要はない
WPFで使うxamlは、ぱっと見はhtmlに近いけどまるで違うから覚える必要はない
737デフォルトの名無しさん
2020/09/02(水) 21:56:14.13ID:/nOWjplL xmlはマスターしておいた方がいいよな。namespaceとか。
738デフォルトの名無しさん
2020/09/02(水) 23:38:57.96ID:S5lx9AE3 xsltとか
739デフォルトの名無しさん
2020/09/03(木) 05:58:48.80ID:yk4FSoXe wpfでxsltなんて役に立つところあったっけ?
740デフォルトの名無しさん
2020/09/03(木) 07:38:36.62ID:1xUWHYWV もうformはあかんのか?
741デフォルトの名無しさん
2020/09/03(木) 07:46:25.03ID:2k3QR/ew 嫌、ストア系以外はformの方が
小回りが効くな
小回りが効くな
742デフォルトの名無しさん
2020/09/03(木) 08:18:55.17ID:ea/i/g7l WPFはほとんど普及しないまま既にForms同様メンテナンスモード(原則的に新機能の追加はなくバグ修正等の止むを得ない対応のみが行われる状態)でありレガシーなので、
特にFormsと比較してWPFが正義ってことはない
特にFormsと比較してWPFが正義ってことはない
743デフォルトの名無しさん
2020/09/03(木) 09:01:56.44ID:1xUWHYWV なるほど、ならformでいいやw
744デフォルトの名無しさん
2020/09/03(木) 12:01:53.18ID:+QaKkUR1 最近はディスプレイのスケーリング表示に対応させたいからWPFの方が楽だな
745デフォルトの名無しさん
2020/09/03(木) 12:18:31.00ID:F5m5ASgR だけど、大昔VBが開発された頃に想定されたような
いろんなdpiが混在するような状況なんてなく、96pdiとその倍ぐらいしか事実上ないわけで、
だったらそんなのどうでもいい気もする
いろんなdpiが混在するような状況なんてなく、96pdiとその倍ぐらいしか事実上ないわけで、
だったらそんなのどうでもいい気もする
746デフォルトの名無しさん
2020/09/03(木) 12:56:49.83ID:+QaKkUR1747デフォルトの名無しさん
2020/09/03(木) 13:02:08.77ID:O2zrguk1 その倍数の環境が一般的になってきてるからスケーリング対応が必要なんだが
748デフォルトの名無しさん
2020/09/03(木) 13:19:37.70ID:F5m5ASgR どうでもいいの意味は対応しなくていい、ではなく
システムが中途半端な対応しか用意してないWindows Formでも
なんとかなっちゃうでしょって話。
理論上はいろんなdpiが存在する前提になってるが、現実的には96dpiと
その2倍ぐらいしかないんだから。
25年前には想定されてなかったCRTの完全追放が早期に実現したからね。
システムが中途半端な対応しか用意してないWindows Formでも
なんとかなっちゃうでしょって話。
理論上はいろんなdpiが存在する前提になってるが、現実的には96dpiと
その2倍ぐらいしかないんだから。
25年前には想定されてなかったCRTの完全追放が早期に実現したからね。
749デフォルトの名無しさん
2020/09/03(木) 13:24:38.58ID:F5m5ASgR ちょっと思い出したけど、WPFでは1ピクセル幅の水平垂直の直線が綺麗に描画できない(ピンボケになる)
問題があったけど、あれは4Kとかの環境では気にならないのかな
問題があったけど、あれは4Kとかの環境では気にならないのかな
750デフォルトの名無しさん
2020/09/03(木) 14:35:36.67ID:yRd+jnLy751デフォルトの名無しさん
2020/09/03(木) 19:59:17.63ID:+QaKkUR1 >>748
カスタム設定(最大500%)で1%単位で設定する人は稀だろうけど
標準設定(最大350%)の25%単位の指定は使う人が増えて、解像度のバリエーションも増えたって話なのだが
4Kモニターも少しずつ広まってるし
カスタム設定(最大500%)で1%単位で設定する人は稀だろうけど
標準設定(最大350%)の25%単位の指定は使う人が増えて、解像度のバリエーションも増えたって話なのだが
4Kモニターも少しずつ広まってるし
752デフォルトの名無しさん
2020/09/05(土) 08:40:32.65ID:MHY1xOGp その前に、「WinFormsもとっくに高DPIに対応済みだ」って誰か突っ込んでやれよw
753デフォルトの名無しさん
2020/09/05(土) 10:49:33.69ID:9iYaaDzM ankerとフォントサイズの動的変更じゃ駄目?
754デフォルトの名無しさん
2020/09/05(土) 13:21:00.10ID:7aeJiSvy >>752
WinFormsも高DPIに対応してはいるけど面倒臭い
WinFormsも高DPIに対応してはいるけど面倒臭い
755デフォルトの名無しさん
2020/09/05(土) 16:01:56.47ID:ARWucMbq .NET CoreのWinformsでも普通にコントロール崩れるから全然ダメ
756デフォルトの名無しさん
2020/09/16(水) 22:39:54.60ID:jIU6/wNj 【速報】ビル・ゲイツ死去
https://hayabusa9.2ch.net/test/read.cgi/news/1600242851/
ゲイツが天国で寂しくないようにこのスレのc#プログラマを30人ほどいっしょにうめたらどうか?
https://hayabusa9.2ch.net/test/read.cgi/news/1600242851/
ゲイツが天国で寂しくないようにこのスレのc#プログラマを30人ほどいっしょにうめたらどうか?
757デフォルトの名無しさん
2020/09/16(水) 22:46:34.68ID:HQ9YFi7S ビルゲイツじゃないでしょ?
758デフォルトの名無しさん
2020/09/16(水) 23:00:32.69ID:LP9iHCzm 二世の方だ
ビルゲイツの親父のビルゲイツ
ビルゲイツの親父のビルゲイツ
759デフォルトの名無しさん
2020/09/17(木) 08:19:29.64ID:WgqtFT7g ゲイツはジュニアってよばれてたなのかな
インディージョーンズを思い出す
インディージョーンズを思い出す
760デフォルトの名無しさん
2020/09/17(木) 12:22:44.13ID:OW2OZx8D middle name Henry の方はご健在
761デフォルトの名無しさん
2020/09/17(木) 17:19:39.02ID:ZnP+7nxp C#はゲイツの発明品じゃないだろ
762デフォルトの名無しさん
2020/09/17(木) 17:26:35.18ID:DY/TSPVG ここは雑談スレでもない
763デフォルトの名無しさん
2020/09/30(水) 03:00:43.36ID:UkXS54f3764デフォルトの名無しさん
2020/09/30(水) 04:21:31.87ID:Zcv1ppLY Winformでもそれなりにアプリが作れちゃうから、わざわざ新しい手法を覚えようとは思わないよなぁ
765デフォルトの名無しさん
2020/09/30(水) 05:20:08.84ID:/UKb1qW0 >>763
hidpi対応が全然ダメだって話だしlodpi環境自体が淘汰されてないんだから当たり前じゃろ
hidpi対応が全然ダメだって話だしlodpi環境自体が淘汰されてないんだから当たり前じゃろ
766デフォルトの名無しさん
2020/09/30(水) 07:28:45.65ID:MlAR04xo767デフォルトの名無しさん
2020/09/30(水) 07:34:58.16ID:M14URhI0 なんか本気で凝った画面作るならunityとかあるし
工場向けならwinformsだしで
消極的に凝った画面作るときしか選択しないwpf
工場向けならwinformsだしで
消極的に凝った画面作るときしか選択しないwpf
768デフォルトの名無しさん
2020/09/30(水) 08:10:01.23ID:WMsfYqPQ Web技術使えばいいからな
新規でWPF選ぶ時代ではない
Silverlightと同じ
新規でWPF選ぶ時代ではない
Silverlightと同じ
769デフォルトの名無しさん
2020/09/30(水) 08:15:05.31ID:VC7cxOmi WPFも.net5+WinUI3でディスコンだけどな
770デフォルトの名無しさん
2020/09/30(水) 12:35:11.90ID:NNWpaWfq お邪魔します、くだんのUnityで
c#を始めてみたんですがデスクトップビルドとHTML5ビルドのクライアントで対戦ゲームを作るようなとき
あるいはゲームでなくてもデータベース参照でも良いですが、
どうやって通信の仕組み作れば良いのでしょうか?
c#を始めてみたんですがデスクトップビルドとHTML5ビルドのクライアントで対戦ゲームを作るようなとき
あるいはゲームでなくてもデータベース参照でも良いですが、
どうやって通信の仕組み作れば良いのでしょうか?
771デフォルトの名無しさん
2020/09/30(水) 13:19:18.32ID:sYKFg//m Unityのスレがあるよ
772デフォルトの名無しさん
2020/09/30(水) 13:22:19.03ID:oivRVKFU >>770
プロが書かないとそこそこ危険な分野なので、Photonみたいなのを使っとくのが安全じゃないのかな
https://assetstore.unity.com/packages/tools/network/photon-unity-networking-classic-free-1786
個人のゲームで無料の20CCUを使い切ったら大したもんだろうし、それを超えても500CCUまではかなり安く使えるんで、とんでもない大ヒットしない限りこれがいいよ
プロが書かないとそこそこ危険な分野なので、Photonみたいなのを使っとくのが安全じゃないのかな
https://assetstore.unity.com/packages/tools/network/photon-unity-networking-classic-free-1786
個人のゲームで無料の20CCUを使い切ったら大したもんだろうし、それを超えても500CCUまではかなり安く使えるんで、とんでもない大ヒットしない限りこれがいいよ
773デフォルトの名無しさん
2020/09/30(水) 13:49:11.25ID:NNWpaWfq774デフォルトの名無しさん
2020/09/30(水) 15:39:11.81ID:mMxFIkOQ Unity の C# は C# のサブセット
775デフォルトの名無しさん
2020/09/30(水) 22:58:13.59ID:88URXoRi >>232
> WinformもWPFもやったことない人なら、どっちでも楽さは変わらない
ってことは絶対ない
覚える分量もぜんぜん違うし
特にWPFとMVVMと一緒に覚えないといけないのは難関すぎる
c#精通してる人たちでも移行がすんなりいかなかったのにふざけるなよほんと
> WinformもWPFもやったことない人なら、どっちでも楽さは変わらない
ってことは絶対ない
覚える分量もぜんぜん違うし
特にWPFとMVVMと一緒に覚えないといけないのは難関すぎる
c#精通してる人たちでも移行がすんなりいかなかったのにふざけるなよほんと
776デフォルトの名無しさん
2020/09/30(水) 23:17:51.70ID:AZmvyllE >>774
それを言ったらWinformsもサブセットだしWPFもサブセットだし大体がサブセットになるじゃん
それを言ったらWinformsもサブセットだしWPFもサブセットだし大体がサブセットになるじゃん
777デフォルトの名無しさん
2020/09/30(水) 23:32:40.97ID:FlnFD5lW778デフォルトの名無しさん
2020/09/30(水) 23:38:46.92ID:wQcBlxXT ボタンを置いてダブルクリックするとイベントハンドラが自動的に作られる…
みたいな作りやすいUIが早くできればいいのになー
みたいな作りやすいUIが早くできればいいのになー
779デフォルトの名無しさん
2020/10/01(木) 00:03:09.65ID:+QSVvI9y >>778
VSのWinフォームデザイナで出来てるだろうが
VSのWinフォームデザイナで出来てるだろうが
780デフォルトの名無しさん
2020/10/01(木) 00:56:42.92ID:pTVPs5Kc >>778
は?
は?
781デフォルトの名無しさん
2020/10/01(木) 02:42:28.23ID:zz0NqDNj WinFormsを選択する理由がない
C#はXamarin, Unity, WPFでOK
C#はXamarin, Unity, WPFでOK
782デフォルトの名無しさん
2020/10/01(木) 02:51:18.52ID:D0iMq3L3 >>778
せやな
せやな
783デフォルトの名無しさん
2020/10/01(木) 03:18:09.94ID:gmn8vEFr >>778
どういう目的でボタンを配置したのかをAIが忖度して
イベントハンドラーが自動的にプログラミングされるならすごいなー
いや余計なお世話かもしれないから
ダブルクリックでウィザードが起動するくらいなら出来なくもないか!?
ダブルクリックでUnityもXamarinも対象位置に飛ぶだけかな?
if文やトライキャッチはTABキーダブルでテンプレ挿入なるけど、まだまだ物足りない・・・
どういう目的でボタンを配置したのかをAIが忖度して
イベントハンドラーが自動的にプログラミングされるならすごいなー
いや余計なお世話かもしれないから
ダブルクリックでウィザードが起動するくらいなら出来なくもないか!?
ダブルクリックでUnityもXamarinも対象位置に飛ぶだけかな?
if文やトライキャッチはTABキーダブルでテンプレ挿入なるけど、まだまだ物足りない・・・
784デフォルトの名無しさん
2020/10/01(木) 16:01:53.74ID:c282b8/j .net5からはWinUI3でUWPのガワがデスクトップで利用できるようになり
xamarinからunoってのに代替わりもありそう
xamarinからunoってのに代替わりもありそう
785デフォルトの名無しさん
2020/10/01(木) 16:17:26.41ID:15Icpaxe >>776
お前サブセットの意味判ってないやろ
お前サブセットの意味判ってないやろ
786デフォルトの名無しさん
2020/10/01(木) 17:15:28.05ID:Am5BkVHe >>1が理解できない、守れないやつは他へ行けよ
787デフォルトの名無しさん
2020/10/02(金) 00:49:35.05ID:yLHMA8M3 .net coreはまだまだコントロールが足りなくて切り替えは厳しいな
シコシコ作った自家製クソアプリがラズパイ上で踊り狂う日を待ってます
シコシコ作った自家製クソアプリがラズパイ上で踊り狂う日を待ってます
788デフォルトの名無しさん
2020/10/02(金) 07:20:55.57ID:0z7X4+Qf async awaitの原理がよく分かりません。
await以下のコードは実行されないにも関わらずawait中にそのスレッドが固まらないのはどういう原理なのでしょうか?
具体的にはUIのボタンクリックなどのイベント関数内でのawaitの話です
await以下のコードは実行されないにも関わらずawait中にそのスレッドが固まらないのはどういう原理なのでしょうか?
具体的にはUIのボタンクリックなどのイベント関数内でのawaitの話です
789デフォルトの名無しさん
2020/10/02(金) 08:51:18.97ID:kuZFus9w 既に解説してくれてる人が沢山いるから読めば
https://www.slideshare.net/mobile/ufcpp/asyncawait-114647813
https://www.slideshare.net/mobile/ufcpp/asyncawait-114647813
790デフォルトの名無しさん
2020/10/02(金) 10:35:41.15ID:p0460FPy async awaitのメソッドはその時点でノーマルメソッドから呼べないので悪手
791デフォルトの名無しさん
2020/10/02(金) 10:37:50.75ID:m3jHS+gr >>790
何言ってんだこいつ
何言ってんだこいつ
792デフォルトの名無しさん
2020/10/02(金) 11:06:17.65ID:vEIDHK0R const 汚染とか GPL 汚染とかと一緒で
async await 汚染が広がるってのはある
もちろん回避方法知ってれば回避可能
async await 汚染が広がるってのはある
もちろん回避方法知ってれば回避可能
793デフォルトの名無しさん
2020/10/02(金) 11:08:01.96ID:qQOsRvHB Asyncメソッドは名前がキモい
794デフォルトの名無しさん
2020/10/02(金) 12:18:32.20ID:HvZS2dGY githubでc#製のソースコードみてると
visual studioが吐いたファイルとかが含まれてないんですけど
普通はvisual studioで開発をしないものなんでしょうか?
visual studioが吐いたファイルとかが含まれてないんですけど
普通はvisual studioで開発をしないものなんでしょうか?
795デフォルトの名無しさん
2020/10/02(金) 12:22:19.93ID:X17mNl8S 普通はvsじゃない?
例えばどのリポジトリ?
例えばどのリポジトリ?
796デフォルトの名無しさん
2020/10/02(金) 12:23:44.70ID:vEIDHK0R 無駄なものは要らんので .cs だけで済む場合は .cs だけのプロジェクトの方が好き
797デフォルトの名無しさん
2020/10/02(金) 12:25:23.46ID:J9R5Ijdj makefileを自分で書けっていうのは見るなって言ってるのと同じだよな
798デフォルトの名無しさん
2020/10/02(金) 12:30:57.59ID:DER3efA5 自動生成されるようなものをリポジトリに含めてもしょうがないから除外してるだけなんじゃね?
799デフォルトの名無しさん
2020/10/02(金) 12:33:28.61ID:X17mNl8S slnもcsprojファイルも無いってことなんでしょ?
わざわざそんなことする?
わざわざそんなことする?
800デフォルトの名無しさん
2020/10/02(金) 12:41:03.88ID:m3jHS+gr >>794
どれ?
どれ?
801デフォルトの名無しさん
2020/10/02(金) 17:44:48.62ID:XoOS1pa+ >>790
何故そう思った?
何故そう思った?
802デフォルトの名無しさん
2020/10/02(金) 17:56:06.16ID:p0460FPy >>801
エラー出たよ
エラー出たよ
803デフォルトの名無しさん
2020/10/02(金) 19:55:46.73ID:H7VjwKcI 本物の馬鹿だったか
804デフォルトの名無しさん
2020/10/02(金) 20:20:16.02ID:p0460FPy え、ショック
805デフォルトの名無しさん
2020/10/02(金) 20:42:39.37ID:LbxjABVY 間違った使い方をすりゃそりゃエラーも出るよ
806デフォルトの名無しさん
2020/10/02(金) 22:24:30.87ID:p0460FPy 正しい使い方なんてあるのかよ
807デフォルトの名無しさん
2020/10/02(金) 22:34:28.61ID:zXx3uGG2 当たり前だろ
808デフォルトの名無しさん
2020/10/02(金) 22:48:57.10ID:p0460FPy でもググって出てくる例っておかしいのばっかりじゃね?
809デフォルトの名無しさん
2020/10/02(金) 22:52:20.08ID:SS+YiBnr 道路で逆走している車から見て「車がみんな逆走しているぞ」って言っている感じか
810デフォルトの名無しさん
2020/10/02(金) 23:14:47.03ID:p0460FPy そう言えばこの命令が欲しいときってプログレスバーで進捗状況も更新して欲しいときが99.89%なんだけど
結局while+sleepのが綺麗に書けることが多くて使ってないな
結局while+sleepのが綺麗に書けることが多くて使ってないな
811デフォルトの名無しさん
2020/10/03(土) 00:00:37.61ID:YZwmKYAY 正しい使い方を知らないのにも関わらず悪手、なんてよくいい切れるなw
プログレスバーはIProgress使うだけでじゃん
プログレスバーはIProgress使うだけでじゃん
812デフォルトの名無しさん
2020/10/03(土) 00:29:25.48ID:5AEEzqRi >>811
久しぶりに聞いたなIprogress
久しぶりに聞いたなIprogress
813デフォルトの名無しさん
2020/10/03(土) 01:07:24.42ID:sQ+SRwj5 「非同期メソッドは、asyncがついた関数内からしか呼べない。」みたいなことが書いてある嘘ブログが結構あるからな
例の大量書き込みの人は、そう言うのを書いてる人か、それかそう言うのを読んで真に受けてる人なんだろう
例の大量書き込みの人は、そう言うのを書いてる人か、それかそう言うのを読んで真に受けてる人なんだろう
814デフォルトの名無しさん
2020/10/03(土) 02:58:19.24ID:/wA+nWqo プログレスバーなんて、簡単に動かないだろ。
マルチスレッドなのに、素人ができるわけない
非同期と同じ。
コンテキスト・文脈が異なるから、特別な書き方をしないと動かない
マルチスレッドなのに、素人ができるわけない
非同期と同じ。
コンテキスト・文脈が異なるから、特別な書き方をしないと動かない
815デフォルトの名無しさん
2020/10/03(土) 08:26:53.20ID:sEhX1LxQ 別にasync/awaitがなかった時代でも
GUI操作のときだけForm.Invoke()すればよかっただけじゃない
Rubyジジイは老害みたいなこと言ってるわりにいにしえの当たり前のスキルすら持ち合わせてない
GUI操作のときだけForm.Invoke()すればよかっただけじゃない
Rubyジジイは老害みたいなこと言ってるわりにいにしえの当たり前のスキルすら持ち合わせてない
816デフォルトの名無しさん
2020/10/03(土) 08:56:04.28ID:rbnJu3Rq >>814
C#でマルチスレッドじゃないと動かないプログレスバーなんか存在しないからコンテキスト・文脈が異なるスレに帰れ
C#でマルチスレッドじゃないと動かないプログレスバーなんか存在しないからコンテキスト・文脈が異なるスレに帰れ
817デフォルトの名無しさん
2020/10/03(土) 10:29:50.07ID:XvRdXCx6818デフォルトの名無しさん
2020/10/03(土) 10:49:35.02ID:NjZXoVXL UnityのC#にTaskが無いのは何故なんです?
819デフォルトの名無しさん
2020/10/03(土) 10:58:38.87ID:Rg22Ictw C++では、クラスの宣言とメソッドを別々にかけるじゃないですか
class A{
int get();
};
int A:get()
{
}
みたいに。C#でも同様な書き方は出来ますか?
class A{
int get();
};
int A:get()
{
}
みたいに。C#でも同様な書き方は出来ますか?
820デフォルトの名無しさん
2020/10/03(土) 11:03:01.12ID:C2ZTF6bo partial は?
821デフォルトの名無しさん
2020/10/03(土) 11:09:15.30ID:/wA+nWqo JavaScript で言えば、await は、非同期・async を、同期的に書けるもの
例えば、処理A, B, C があり、
Bが非同期なら、コンテキスト・文脈が異なるから、
A, C, B の順番で実行される
await を付けると、下へ行かない。
同期処理と同じ、A, B, C の順番になる
面倒な非同期処理を、同期処理のように、上から書いた順番通りに実行される
漏れは、C# のawait は知らないから、自分で調べて
例えば、処理A, B, C があり、
Bが非同期なら、コンテキスト・文脈が異なるから、
A, C, B の順番で実行される
await を付けると、下へ行かない。
同期処理と同じ、A, B, C の順番になる
面倒な非同期処理を、同期処理のように、上から書いた順番通りに実行される
漏れは、C# のawait は知らないから、自分で調べて
822デフォルトの名無しさん
2020/10/03(土) 11:22:22.57ID:td6OdJ/B >>821
C#のawait知らないならC#のスレに得意げに書き込むなよ知障
C#のawait知らないならC#のスレに得意げに書き込むなよ知障
823デフォルトの名無しさん
2020/10/03(土) 11:34:05.39ID:nJ/4CJLb 進捗率100%中の100%プログレスバー
824デフォルトの名無しさん
2020/10/03(土) 11:36:39.63ID:nJ/4CJLb 1日1%感謝の進捗更新
825デフォルトの名無しさん
2020/10/03(土) 11:44:35.80ID:NjZXoVXL 99% から 100% になるのに 3日かかるんですね判ります
826デフォルトの名無しさん
2020/10/03(土) 12:45:54.24ID:7JLpHN6R827デフォルトの名無しさん
2020/10/03(土) 14:54:53.24ID:cvTPWa8P C#のよりよい書き方を教えてくれるチェッカーってありますか?
シェルスクリプトだとshellcheckみたいなの
シェルスクリプトだとshellcheckみたいなの
828デフォルトの名無しさん
2020/10/03(土) 15:07:25.79ID:oPj9Yyz3 定番はStyleCop
829デフォルトの名無しさん
2020/10/03(土) 16:25:06.84ID:hETfjJzu ReSharperはお母さん
830デフォルトの名無しさん
2020/10/03(土) 17:10:12.58ID:DOKuHmaU831デフォルトの名無しさん
2020/10/03(土) 18:26:08.32ID:NyXscKPR システム更新系のでそんなのがあった気がしたねw
まあ、処理時間ベースの進捗度なんて出すのはどうせ難しいんだから
フリーズしてる不安だけ感じさせないようにしてくれれば十分だよね。
VS2005の時代のイメージライブラリーにナイトライダーのあれみたいな
gifアニメがあったけどああいうのでいいと思う
10段階の処理のnフェーズ目を処理中、みたいな表示はあってもいいかもしれんが
スレ違いなのでこの辺で
まあ、処理時間ベースの進捗度なんて出すのはどうせ難しいんだから
フリーズしてる不安だけ感じさせないようにしてくれれば十分だよね。
VS2005の時代のイメージライブラリーにナイトライダーのあれみたいな
gifアニメがあったけどああいうのでいいと思う
10段階の処理のnフェーズ目を処理中、みたいな表示はあってもいいかもしれんが
スレ違いなのでこの辺で
832デフォルトの名無しさん
2020/10/03(土) 18:31:52.94ID:IvIQIb1V 最近のソシャゲはいい感じでメーター出しとるやん
833デフォルトの名無しさん
2020/10/04(日) 10:09:30.72ID:WrglaOe5 確かにファイルのダウンローダー系のは残り時間表示が減ったり増えたりするな
834デフォルトの名無しさん
2020/10/04(日) 10:12:08.66ID:8hNgrfXT .NET5っていつから正式版使えるの?
俺の中の作りたいプログラムキューが結構溜まってきてるんだけど
俺の中の作りたいプログラムキューが結構溜まってきてるんだけど
835デフォルトの名無しさん
2020/10/04(日) 10:43:30.53ID:k8KFSdqF >>834
もうGAでサポートありでは?
もうGAでサポートありでは?
836デフォルトの名無しさん
2020/10/04(日) 10:47:17.82ID:lIfIRwKF >>833
ファイルがたくさんあるときは、一つのデータに固めて送れば変な変化しないと思う
ファイルがたくさんあるときは、一つのデータに固めて送れば変な変化しないと思う
837デフォルトの名無しさん
2020/10/04(日) 12:58:55.35ID:eUP8i5sY >>835
GAという表現は使ってないね。まだRC1だけどGo Liveライセンス有り。
GAという表現は使ってないね。まだRC1だけどGo Liveライセンス有り。
838デフォルトの名無しさん
2020/10/04(日) 14:59:03.87ID:0bpWQCgk >>837
なるほど、ありがとう。
なるほど、ありがとう。
839デフォルトの名無しさん
2020/10/04(日) 17:41:26.92ID:OuBWvyJw C#でアプリケーションを作ってVisualStudioInstallerをSetupファイルを作ってインストーラーを使ってます
アプリで参照しているdllのバージョンが上がってSetupファイルをビルドして再配布しようとしているんですが
どうも配布先で実行しても該当のdllだけ差し替わらないのです
VisualStudioInstallerの方では該当のdllを参照しているバージョンはプロパティで確認しても最新ですが
同名dllの該当ファイルはアップデート後も書き換わらず上書きされない状態です
何か解決方法ありますでしょうか?
アプリで参照しているdllのバージョンが上がってSetupファイルをビルドして再配布しようとしているんですが
どうも配布先で実行しても該当のdllだけ差し替わらないのです
VisualStudioInstallerの方では該当のdllを参照しているバージョンはプロパティで確認しても最新ですが
同名dllの該当ファイルはアップデート後も書き換わらず上書きされない状態です
何か解決方法ありますでしょうか?
840デフォルトの名無しさん
2020/10/04(日) 17:43:55.75ID:OuBWvyJw 補足です
配布先で、一旦アンインストールしてSetupを実行する限りは
新しいバージョンのdllが入り問題なく動作しています
配布先で、一旦アンインストールしてSetupを実行する限りは
新しいバージョンのdllが入り問題なく動作しています
841デフォルトの名無しさん
2020/10/04(日) 17:54:40.72ID:h2vHNKtG >>839
該当のdllがファイルバージョンを上げ忘れてると思われる
msiは対象のファイルのバージョンが上がっていないと上書きしない余計な仕様があって、これに引っかかる(無視する設定は無いはず)
まずはdllファイルのプロパティからバージョン情報を確認して、新旧で変わっていないようなら配布元に更新をお願いするしかない
該当のdllがファイルバージョンを上げ忘れてると思われる
msiは対象のファイルのバージョンが上がっていないと上書きしない余計な仕様があって、これに引っかかる(無視する設定は無いはず)
まずはdllファイルのプロパティからバージョン情報を確認して、新旧で変わっていないようなら配布元に更新をお願いするしかない
842デフォルトの名無しさん
2020/10/04(日) 18:02:38.99ID:OuBWvyJw >>841
レスありがとうございます
該当のdllのプロパティを除くと、製品バージョンは確かに新しいものですが
ファイルバージョンが1.0.0.0と触ってないような値です
おっしゃられるmsiがチェックするのは、このファイルバージョンという理解であっていますか?
そのメーカーさんが最近nugetでアップデートを配布するようになって
アップデートする度に配布先でバージョン不一致のトラブルで悩まされてるのですが
もしかしてこのせいなのかな・・・
レスありがとうございます
該当のdllのプロパティを除くと、製品バージョンは確かに新しいものですが
ファイルバージョンが1.0.0.0と触ってないような値です
おっしゃられるmsiがチェックするのは、このファイルバージョンという理解であっていますか?
そのメーカーさんが最近nugetでアップデートを配布するようになって
アップデートする度に配布先でバージョン不一致のトラブルで悩まされてるのですが
もしかしてこのせいなのかな・・・
843デフォルトの名無しさん
2020/10/04(日) 18:10:42.63ID:lIfIRwKF 仮想環境入れてやってみろや
844デフォルトの名無しさん
2020/10/04(日) 18:20:31.24ID:iE//6OtY 窓から投げ捨てろ
嫌ならGUID再発行して見るべし
嫌ならGUID再発行して見るべし
845デフォルトの名無しさん
2020/10/04(日) 18:29:28.20ID:OuBWvyJw846デフォルトの名無しさん
2020/10/04(日) 19:29:22.35ID:h2vHNKtG >>845
少し訂正
解決方法としては、REINSTALLMODEプロパティ※を変更する方法もあるそうだ
※VisualStudioInstallerのプロパティではない
結構手間がかかるみたいだから、dllを修正して貰うのが一番だと思うけど一応
少し訂正
解決方法としては、REINSTALLMODEプロパティ※を変更する方法もあるそうだ
※VisualStudioInstallerのプロパティではない
結構手間がかかるみたいだから、dllを修正して貰うのが一番だと思うけど一応
847デフォルトの名無しさん
2020/10/04(日) 19:59:56.73ID:7zaljJEm どぼんさんのとこにREINSTALLMODEを設定する方法が書いてあるので
これが一番簡単だね
http://dobon.net/vb/dotnet/deployment/overwrite.html
これはどぼんさんのところには記事がないと思うが、
MSIのプロパティは外部ツールで手動でやらなくてもPostBuildEventで
自動的に変更する方法があって、ググれば出てくると思う。
しかしMSIってそんな仕様があったんかw
っていうかもうVS10年ぐらい使ってないんだけど
今MSの推奨するインストーラーって何なの?
MSIは廃止されるはずだったよね?
これが一番簡単だね
http://dobon.net/vb/dotnet/deployment/overwrite.html
これはどぼんさんのところには記事がないと思うが、
MSIのプロパティは外部ツールで手動でやらなくてもPostBuildEventで
自動的に変更する方法があって、ググれば出てくると思う。
しかしMSIってそんな仕様があったんかw
っていうかもうVS10年ぐらい使ってないんだけど
今MSの推奨するインストーラーって何なの?
MSIは廃止されるはずだったよね?
848デフォルトの名無しさん
2020/10/04(日) 20:08:17.90ID:h2vHNKtG >>847
そんなに単純じゃないからちゃんと調べて
そんなに単純じゃないからちゃんと調べて
849デフォルトの名無しさん
2020/10/04(日) 20:53:10.83ID:7zaljJEm >>848
何が?
何が?
850デフォルトの名無しさん
2020/10/04(日) 21:15:52.12ID:h2vHNKtG >>849
初回インストールと2回目以降で処理を変える必要があるのだけど、>>847のページからのリンク先に説明があったね
失礼しました
https://dobon.net/vb/dotnet/deployment/upgrades.html#section6
初回インストールと2回目以降で処理を変える必要があるのだけど、>>847のページからのリンク先に説明があったね
失礼しました
https://dobon.net/vb/dotnet/deployment/upgrades.html#section6
851デフォルトの名無しさん
2020/10/04(日) 21:47:36.10ID:OuBWvyJw アドバイスありがとうございます
とりあえずメーカーさんには問い合わせをだしつつ
簡単そうなOrcaを使ってamusにし、強制的にdllを上書きするようにしてうまくいきました
今回分は手動でmsi書き換え対応、あとはメーカーさんの対応待ちというところでひとまず解決です
ご教授いただき感謝です
とりあえずメーカーさんには問い合わせをだしつつ
簡単そうなOrcaを使ってamusにし、強制的にdllを上書きするようにしてうまくいきました
今回分は手動でmsi書き換え対応、あとはメーカーさんの対応待ちというところでひとまず解決です
ご教授いただき感謝です
852デフォルトの名無しさん
2020/10/05(月) 02:38:37.53ID:nd84XqHd >>847
msixかな
msixかな
853デフォルトの名無しさん
2020/10/05(月) 14:34:55.98ID:q4O9ogxl ボタンクリックでpingを並列処理(guiでparallel.for)させてるのですが、並列処理が終わった後に何らかの処理をさせたいのですが、終わる前にさせたい処理が始まってしまうのは何故でしょう?
854デフォルトの名無しさん
2020/10/05(月) 15:16:41.19ID:e+L/idp9 終わるまで待たずに始めてるからだろう
855デフォルトの名無しさん
2020/10/05(月) 16:03:32.02ID:q4O9ogxl856デフォルトの名無しさん
2020/10/05(月) 17:21:36.72ID:yAAG+Ftq やってること、機能の理解、用語の理解、みんなめちゃくちゃすぎて、まるでQiitaをみている気分だ
857デフォルトの名無しさん
2020/10/05(月) 17:35:16.52ID:Xbvrw4me デリケートだからな
858デフォルトの名無しさん
2020/10/05(月) 17:41:37.83ID:gVc00iwv class myDAT {
public int no;
public double[] data = new double[5];
}
public static void Main(string[] args) {
myDAT[] mydata = new myDAT[10]; //★
for (int i = 0; i < 10; i++){
mydata[i] = new myDAT();
}
クラスを配列にしたとき★の箇所の"myDAT[10]"を10固定じゃなく動的にしたいのですが
どうすればよいですか?
public int no;
public double[] data = new double[5];
}
public static void Main(string[] args) {
myDAT[] mydata = new myDAT[10]; //★
for (int i = 0; i < 10; i++){
mydata[i] = new myDAT();
}
クラスを配列にしたとき★の箇所の"myDAT[10]"を10固定じゃなく動的にしたいのですが
どうすればよいですか?
859デフォルトの名無しさん
2020/10/05(月) 17:56:17.90ID:KVy+kNYk 普通に変数入れたらええやん
860デフォルトの名無しさん
2020/10/05(月) 17:56:55.51ID:OgnTy5dE コレクションじゃあかんの?
861858
2020/10/05(月) 18:34:00.09ID:gVc00iwv 最初[10]と宣言した後、[20]とかには・・・・変更できますか?
っと追加で質問してもいいですか?
っと追加で質問してもいいですか?
862デフォルトの名無しさん
2020/10/05(月) 18:37:48.75ID:nd84XqHd863デフォルトの名無しさん
2020/10/05(月) 18:45:03.21ID:jLRpmu5w Resize() があるけど、これは新しいarrayを作って中身をコピって置き換えるので
期待しているようなものとはちがうかもしれない
https://docs.microsoft.com/ja-jp/dotnet/api/system.array.resize?view=netframework-4.8
arrayは要素数が変わらないのが前提というか、そういう伝統なので
要素数が変わるのが分かっているのならコレクション系のものを使いましょう
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/collections
期待しているようなものとはちがうかもしれない
https://docs.microsoft.com/ja-jp/dotnet/api/system.array.resize?view=netframework-4.8
arrayは要素数が変わらないのが前提というか、そういう伝統なので
要素数が変わるのが分かっているのならコレクション系のものを使いましょう
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/collections
864デフォルトの名無しさん
2020/10/05(月) 20:08:01.60ID:CqQ7ITSE >>856
スマヌ…足を突っ込んだばかりで良く分からずに始めたもので…別スレ案件でしたか…
スマヌ…足を突っ込んだばかりで良く分からずに始めたもので…別スレ案件でしたか…
865デフォルトの名無しさん
2020/10/05(月) 21:19:26.58ID:rQ89lJX/ >>858
static void Main(string[] args)
{
const int defaultCount = 10;
var count = defaultCount;
for (int i = 0; i < args.Length - 1; i++)
{
var arg = args[i];
if(arg == "-n" || arg == "/n")
if (int.TryParse(args[i + 1], out count)) break;
}
var chars = new char[count];
for (int i = 0; i < count; i++) chars[i] = (char)('A' + i);
Console.WriteLine(new string(chars));
Console.ReadKey();
}
static void Main(string[] args)
{
const int defaultCount = 10;
var count = defaultCount;
for (int i = 0; i < args.Length - 1; i++)
{
var arg = args[i];
if(arg == "-n" || arg == "/n")
if (int.TryParse(args[i + 1], out count)) break;
}
var chars = new char[count];
for (int i = 0; i < count; i++) chars[i] = (char)('A' + i);
Console.WriteLine(new string(chars));
Console.ReadKey();
}
866デフォルトの名無しさん
2020/10/05(月) 22:04:35.42ID:ToydrsKO 質問です
イベントは、購読する側が寿命が短い場合自分で登録解除しないと開放されず、リークするのは分かるのですが、
イベントを発生させる側が寿命が短い場合はそのインスタンスをフィールドで持っておかないと
購読されていても途中で開放されてしまうのでしょうか
その場合、例えばコンストラクタでイベントを発生させるオブジェクトを受け取って購読するだけのような処理(以下)
public class Subscriber {
public Subscriber(Publisher publisher) {
publisher.ValueChanged += Publisher_ValueChanged;
}
}
の場合、subscriberはpublisherを持っていないので、subscriberが生きている間にpublisherが開放されて購読も解除されるといったことは起こりますか?
これは設計が悪い?
イベントは、購読する側が寿命が短い場合自分で登録解除しないと開放されず、リークするのは分かるのですが、
イベントを発生させる側が寿命が短い場合はそのインスタンスをフィールドで持っておかないと
購読されていても途中で開放されてしまうのでしょうか
その場合、例えばコンストラクタでイベントを発生させるオブジェクトを受け取って購読するだけのような処理(以下)
public class Subscriber {
public Subscriber(Publisher publisher) {
publisher.ValueChanged += Publisher_ValueChanged;
}
}
の場合、subscriberはpublisherを持っていないので、subscriberが生きている間にpublisherが開放されて購読も解除されるといったことは起こりますか?
これは設計が悪い?
867デフォルトの名無しさん
2020/10/05(月) 22:23:53.32ID:rQ89lJX/ >>866
>subscriberはpublisherを持っていない
これが分かってるなら答えは自明でしょ
設計が悪いかどうかは何を実現したいか次第
でも普通は発行側の寿命を購読側に合わせたいことなんてあるのかなと思う。
>subscriberはpublisherを持っていない
これが分かってるなら答えは自明でしょ
設計が悪いかどうかは何を実現したいか次第
でも普通は発行側の寿命を購読側に合わせたいことなんてあるのかなと思う。
868デフォルトの名無しさん
2020/10/05(月) 22:36:15.65ID:ToydrsKO869デフォルトの名無しさん
2020/10/06(火) 22:21:36.32ID:0ZJ/y4Ey パラメータをPOSTしてウェブサイトのHTMLソースを取得しています。
POSTするデータが普通の配列形式の方法は以前から知っているのですが、JSON形式でPOSTするサイトに出くわしました。
いろいろなウェブサイトを見てPOST自体はエラーせずにできるようになったようなのですが、レスポンスもJSON形式のデータしか取得できずに困っています。
欲しいのはウェブサイトのHTMLソースです。
どうしたらいいでしょうか?
POSTするデータが普通の配列形式の方法は以前から知っているのですが、JSON形式でPOSTするサイトに出くわしました。
いろいろなウェブサイトを見てPOST自体はエラーせずにできるようになったようなのですが、レスポンスもJSON形式のデータしか取得できずに困っています。
欲しいのはウェブサイトのHTMLソースです。
どうしたらいいでしょうか?
870デフォルトの名無しさん
2020/10/06(火) 22:21:52.52ID:0ZJ/y4Ey var jsonParameter = new JavaScriptSerializer().Serialize(new
{
hoge1 = new
{
hoge2 = new
{
fuga1 = "0",
fuga2 = "1",
},
hoge3 = new
{
fuga3="3",
}
}
});
// リクエストの作成
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/json; charset=utf-8";
req.Accept = "application/json, text/plain, */*";
using (var streamWriter = new StreamWriter(req.GetRequestStream()))
{
streamWriter.Write(jsonParameter);
}
var httpResponse = (HttpWebResponse)req.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string result = streamReader.ReadToEnd();
}
{
hoge1 = new
{
hoge2 = new
{
fuga1 = "0",
fuga2 = "1",
},
hoge3 = new
{
fuga3="3",
}
}
});
// リクエストの作成
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/json; charset=utf-8";
req.Accept = "application/json, text/plain, */*";
using (var streamWriter = new StreamWriter(req.GetRequestStream()))
{
streamWriter.Write(jsonParameter);
}
var httpResponse = (HttpWebResponse)req.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string result = streamReader.ReadToEnd();
}
871デフォルトの名無しさん
2020/10/06(火) 22:26:11.86ID:UOuIyfzj にゅにゅにゅにゅにゅ〜
872デフォルトの名無しさん
2020/10/06(火) 22:26:56.84ID:3gNx1ZB7 過去ログ抜こうとしてるんかな
873デフォルトの名無しさん
2020/10/07(水) 04:05:43.46ID:qlNjOdYh curl, wget でも出来る。
Windows 10 なら、C:\Windows\System32\curl.exe
が入っている。
これは、PowerShell のcurl alias とは異なる
漏れは、VSCode の拡張機能、Rest Client を使ってる
Windows 10 なら、C:\Windows\System32\curl.exe
が入っている。
これは、PowerShell のcurl alias とは異なる
漏れは、VSCode の拡張機能、Rest Client を使ってる
874デフォルトの名無しさん
2020/10/07(水) 20:04:46.52ID:mkQTgHeP >>870
すいません解決しました。
すいません解決しました。
875デフォルトの名無しさん
2020/10/08(木) 18:41:10.72ID:zyhORnZD 5.0始めたけど new()の出番めっちゃ多いな
varよりnew()優先にするのがいいのかな
varよりnew()優先にするのがいいのかな
876デフォルトの名無しさん
2020/10/08(木) 20:54:36.31ID:toLcLUNb Windows 10だけサポートしたいんですけど
.Netはどのバージョンからサポートしたらいいのでしょうか?
.Netはどのバージョンからサポートしたらいいのでしょうか?
877デフォルトの名無しさん
2020/10/08(木) 20:56:55.59ID:Whd9Wcyu 5
878デフォルトの名無しさん
2020/10/08(木) 21:05:12.84ID:ihp2OLR0879デフォルトの名無しさん
2020/10/08(木) 21:22:37.99ID:+UAfPznY 二つの配列A,Bがあり、Bに入っていない要素がAにある場合の処理はどのようにすればいいでしょうか?
やりたい事は、テキストファイルから一行ずつBに読み込んで格納し、なんらかの結果の配列Aとの照らし合わせを行いたいのですが、なかなか上手くいかず…
やりたい事は、テキストファイルから一行ずつBに読み込んで格納し、なんらかの結果の配列Aとの照らし合わせを行いたいのですが、なかなか上手くいかず…
880デフォルトの名無しさん
2020/10/08(木) 21:27:38.87ID:Whd9Wcyu linq
881デフォルトの名無しさん
2020/10/08(木) 21:41:27.48ID:GTaO2d9W 差集合Except()が直感的かな
882デフォルトの名無しさん
2020/10/08(木) 22:34:11.70ID:+UAfPznY883デフォルトの名無しさん
2020/10/09(金) 11:00:27.55ID:n+WfHqnB C#で構築したORACLEを更新しているシステムがあるのですが、
入力時にタイムアウトするのを防ぐ、もしくは入力を促すような
仕組みを作るにはどうすればいいでしょうか。
入力時にタイムアウトするのを防ぐ、もしくは入力を促すような
仕組みを作るにはどうすればいいでしょうか。
884デフォルトの名無しさん
2020/10/09(金) 11:12:40.23ID:YM8vGnnj アバウトすぎやろw
885デフォルトの名無しさん
2020/10/09(金) 11:16:26.16ID:n+WfHqnB 一般的な対策はありますか?
ユーザーに処理を放置せず、すぐ完了させてくれとかいうしかないですか?
自分はプログラマーでもないので詳しくなてすみません。
ユーザーに処理を放置せず、すぐ完了させてくれとかいうしかないですか?
自分はプログラマーでもないので詳しくなてすみません。
886デフォルトの名無しさん
2020/10/09(金) 11:22:21.55ID:zClV+H3L 入力時にタイムアウト、ってなんでそうなるの?
入力を促されていることにユーザーが気がつかないのか、ユーザーがいい加減でほっとく人が多いのか。
前者なら、
・画面以外でユーザーに入力を促す仕組みを作る
- 決まった音を鳴らしてみる
- メール等で通知してみる
・ユーザーの入力が遅いのであれば、入力を保存してタイムアウト後に画面を開く?などした際にも前回の入力値を復元してあげて二度手間を減らしてあげる
後者なら、
・教育する
などがあるんじゃないかと思うんだけど、エスパーはたいてい外れるので、もうちょっと状況を整理してから聞いてみるのがいいんじゃないかと。
入力を促されていることにユーザーが気がつかないのか、ユーザーがいい加減でほっとく人が多いのか。
前者なら、
・画面以外でユーザーに入力を促す仕組みを作る
- 決まった音を鳴らしてみる
- メール等で通知してみる
・ユーザーの入力が遅いのであれば、入力を保存してタイムアウト後に画面を開く?などした際にも前回の入力値を復元してあげて二度手間を減らしてあげる
後者なら、
・教育する
などがあるんじゃないかと思うんだけど、エスパーはたいてい外れるので、もうちょっと状況を整理してから聞いてみるのがいいんじゃないかと。
887デフォルトの名無しさん
2020/10/09(金) 11:32:30.15ID:n+WfHqnB ありがとうございます。
>ユーザーの入力が遅いのであれば、入力を保存して
ローカル環境に入力途中のデータを保存するようにしてもらうという意味でしょうか
>ユーザーの入力が遅いのであれば、入力を保存して
ローカル環境に入力途中のデータを保存するようにしてもらうという意味でしょうか
888デフォルトの名無しさん
2020/10/09(金) 12:03:32.51ID:YM8vGnnj C#関係あんの?
889デフォルトの名無しさん
2020/10/09(金) 12:14:10.80ID:vMOSOHWg バックグラウンドで定期的に無意味なselectクエリを発行すればいいよ
890デフォルトの名無しさん
2020/10/09(金) 12:19:00.25ID:a2KfB7NN ヘルメット開発しろ
早く入力しないと高圧電流が流れる仕組みだ
早く入力しないと高圧電流が流れる仕組みだ
891デフォルトの名無しさん
2020/10/09(金) 13:26:43.53ID:IpDZ9RMp 設計・実装と運用が根本的にかみ合ってない予感
892デフォルトの名無しさん
2020/10/09(金) 13:53:03.37ID:V1E2IEC6 - 照明を落として赤いパトランプ点灯
- SF映画で自爆装置が作動した時みたいな警報音を鳴らす
- 当然プシューという音とともにスモークを噴出させることも忘れずに
- SF映画で自爆装置が作動した時みたいな警報音を鳴らす
- 当然プシューという音とともにスモークを噴出させることも忘れずに
893デフォルトの名無しさん
2020/10/09(金) 14:26:50.22ID:8xBy2vBw そもそも何がタイムアウトしてるんだ?
真面目な話はそれからだ
まあ、設計が悪いと思うけど
真面目な話はそれからだ
まあ、設計が悪いと思うけど
894デフォルトの名無しさん
2020/10/09(金) 14:42:02.91ID:6ktS8zpy コネクション開きっぱなしでユーザーにフォーム入力求めてると予想。
895デフォルトの名無しさん
2020/10/09(金) 16:22:27.55ID:n+WfHqnB >> 894
それっぽい場合はどのように処理をすればいいのでしょうか
それっぽい場合はどのように処理をすればいいのでしょうか
896デフォルトの名無しさん
2020/10/09(金) 16:32:01.61ID:nKkCxIzL897デフォルトの名無しさん
2020/10/09(金) 16:32:12.90ID:n+WfHqnB 1.My.settingというものに書き込んでおけば呼び出すことが出来る
2.テーブルからデータをSELECTして画面に表示したら、Oracleとの接続を切って
画面の更新ボタンを押す際にOracleと接続すれば、タイムアウトすることはない
1.2.のような理解で正しいでしょうか。
2.テーブルからデータをSELECTして画面に表示したら、Oracleとの接続を切って
画面の更新ボタンを押す際にOracleと接続すれば、タイムアウトすることはない
1.2.のような理解で正しいでしょうか。
898デフォルトの名無しさん
2020/10/09(金) 16:32:12.93ID:n+WfHqnB 1.My.settingというものに書き込んでおけば呼び出すことが出来る
2.テーブルからデータをSELECTして画面に表示したら、Oracleとの接続を切って
画面の更新ボタンを押す際にOracleと接続すれば、タイムアウトすることはない
1.2.のような理解で正しいでしょうか。
2.テーブルからデータをSELECTして画面に表示したら、Oracleとの接続を切って
画面の更新ボタンを押す際にOracleと接続すれば、タイムアウトすることはない
1.2.のような理解で正しいでしょうか。
899デフォルトの名無しさん
2020/10/09(金) 16:48:55.28ID:mOpqVRBo 何のタイムアウトか分からない
何でタイムアウトしてるのか分からない
この状態でどうすればいいか話しても無駄なので
まず上の2つを明らかにしないと
何でタイムアウトしてるのか分からない
この状態でどうすればいいか話しても無駄なので
まず上の2つを明らかにしないと
900デフォルトの名無しさん
2020/10/09(金) 17:15:05.54ID:8xBy2vBw901デフォルトの名無しさん
2020/10/09(金) 17:20:48.89ID:IpDZ9RMp そもそも、なんで「プログラマーじゃない」って言っている ID:n+WfHqnB が改善案を求めているのかが謎
902デフォルトの名無しさん
2020/10/09(金) 19:01:42.52ID:IN0CEnyU 職業的なプログラマーじゃないけどちょっとは齧ってるからやらされてるって感じじゃなのかね
903デフォルトの名無しさん
2020/10/09(金) 19:28:05.97ID:phKb1ah1 データベースついでに教えて欲しいんだけどさ
内蔵のSQLiteって、あれって本家のSQLiteみたいにWALを吐かせることってできないの?
内蔵のSQLiteって、あれって本家のSQLiteみたいにWALを吐かせることってできないの?
904デフォルトの名無しさん
2020/10/09(金) 20:24:45.78ID:6ktS8zpy 内蔵って何の?
905デフォルトの名無しさん
2020/10/09(金) 21:27:28.10ID:a2KfB7NN 「なんか舐められてるからここらで一発英語連発しとくか」
906デフォルトの名無しさん
2020/10/09(金) 23:27:36.61ID:760t1BpC データベースとの接続を、したり切ったりするようなものは、見たことない。
普通、ずっと接続してる
テストでは接続を切って、始めからやり直すけど
本番環境で接続処理をやり直していたら、遅くて話にならない。
ユーザー認証とか、接続の初期化処理から始めるわけだから
普通、ずっと接続してる
テストでは接続を切って、始めからやり直すけど
本番環境で接続処理をやり直していたら、遅くて話にならない。
ユーザー認証とか、接続の初期化処理から始めるわけだから
907デフォルトの名無しさん
2020/10/09(金) 23:58:26.95ID:mOpqVRBo 普通はコネクションプール使うから
908デフォルトの名無しさん
2020/10/10(土) 00:44:06.58ID:79v4aWeJ >>907
それをやってないアプリケーションの可能性が高いよね
それをやってないアプリケーションの可能性が高いよね
909デフォルトの名無しさん
2020/10/10(土) 01:45:08.02ID:0SjnNOm9 普通そこら辺アーケードゲームみたいに
カードをピッで暗所番号入力とか
銀行ATMとかもさ、入力遅かったら
カウントダウンで自動ログオフするんじゃないの?
カードをピッで暗所番号入力とか
銀行ATMとかもさ、入力遅かったら
カウントダウンで自動ログオフするんじゃないの?
910デフォルトの名無しさん
2020/10/10(土) 02:21:11.62ID:79v4aWeJ どんな普通か知らんけど、
MySQLにアクセスしてテーブルの中身を表示して変更するアプリを自作したときのことを、いろいろ思い出した。
データベースのユーザーidとパスワードがあるわけだけど、それはアプリのセッティングに保存できるけど
毎回アプリ起動時に入力する。
データベースにconnectして、ユーザー操作を待つ。selectやupdateが必要になったとき、そのsql文を実行する。
connectionがある間は何度でも繰り返すことができる。
アプリ終了時にはconnectionをcloseする。
何だけど、これだとconnectionが使われない時間が長くなると、接続が切れる。タイムアウトするというやつ。
なのでバックグラウンドでconnectionを維持する(もしタイムアウトしたら、次に必要な時に自動でopenするとか、タイムアウトしないように、ダミーで何かする)ライブラリ機能が大抵はある。
これをコネクションプールと言う。
件のアプリは、そのあたりに問題を抱えているのではないか。
最初からコネクションプールがうまく使えていないのか、データベースかライブラリのバージョンアップでタイムアウトの設定が変わったのか
MySQLにアクセスしてテーブルの中身を表示して変更するアプリを自作したときのことを、いろいろ思い出した。
データベースのユーザーidとパスワードがあるわけだけど、それはアプリのセッティングに保存できるけど
毎回アプリ起動時に入力する。
データベースにconnectして、ユーザー操作を待つ。selectやupdateが必要になったとき、そのsql文を実行する。
connectionがある間は何度でも繰り返すことができる。
アプリ終了時にはconnectionをcloseする。
何だけど、これだとconnectionが使われない時間が長くなると、接続が切れる。タイムアウトするというやつ。
なのでバックグラウンドでconnectionを維持する(もしタイムアウトしたら、次に必要な時に自動でopenするとか、タイムアウトしないように、ダミーで何かする)ライブラリ機能が大抵はある。
これをコネクションプールと言う。
件のアプリは、そのあたりに問題を抱えているのではないか。
最初からコネクションプールがうまく使えていないのか、データベースかライブラリのバージョンアップでタイムアウトの設定が変わったのか
911デフォルトの名無しさん
2020/10/10(土) 03:04:53.98ID:PieQlTcj コネクションプーリングはタイムアウト対策じゃねえよ
912デフォルトの名無しさん
2020/10/10(土) 03:08:30.31ID:PieQlTcj オープンしただけのアイドル状態のコネクションがタイムアウトするならプーリング関係ない
プールに戻さないでタイムアウトするんだからな
まず何がタイムアウトしてるのかはっきりさせんと話にならん
まあどうせトランザクション開始してからユーザ入力待ってるんだろうけど
プールに戻さないでタイムアウトするんだからな
まず何がタイムアウトしてるのかはっきりさせんと話にならん
まあどうせトランザクション開始してからユーザ入力待ってるんだろうけど
913デフォルトの名無しさん
2020/10/10(土) 03:34:35.36ID:BjcbKuib コネクションプールは、大量のアクセスに対して、事前に起動しておくもの
それで接続が速くなる
それで接続が速くなる
914デフォルトの名無しさん
2020/10/10(土) 09:37:17.23ID:zxwCdOcf 普通のWebアプリはリクエスト/レスポンスのたびに毎回コネクションopen/closeしてる
タイムアウトの件とは関係ないがコネクションプーリングは
DBサーバーを使う場合の基本なのでちゃんと押さえておいたほうがいいyo
タイムアウトの件とは関係ないがコネクションプーリングは
DBサーバーを使う場合の基本なのでちゃんと押さえておいたほうがいいyo
915デフォルトの名無しさん
2020/10/10(土) 10:02:07.30ID:OrgjdyW8 いや、マジでいつまでスレチ続けんの
916デフォルトの名無しさん
2020/10/10(土) 12:55:36.90ID:bjtm+bd1 話題もプールされているんだ
917デフォルトの名無しさん
2020/10/10(土) 16:50:19.84ID:i5KfYhU+918デフォルトの名無しさん
2020/10/11(日) 11:18:45.56ID:nehM9hsi try~catch~finallyで質問です。
finallyを使うケース教えて下さい。
finallyを使うケース教えて下さい。
919デフォルトの名無しさん
2020/10/11(日) 11:27:57.38ID:ErUdhCxH プログラム板のスレッドの中で記述されていて
catchブロックの中でreturn文などにより処理が
スレッドの呼び出し元へ戻ってしまう場合には
try文の次に記述されたレスは実行されません。
finallyブロックを使った場合はcatchブロックの中でreturn文などが実行された場合でも必ず実行されます。
(ただしSystem.exit(0)によってプログラムが終了した場合を除きます)。
catchブロックの中でreturn文などにより処理が
スレッドの呼び出し元へ戻ってしまう場合には
try文の次に記述されたレスは実行されません。
finallyブロックを使った場合はcatchブロックの中でreturn文などが実行された場合でも必ず実行されます。
(ただしSystem.exit(0)によってプログラムが終了した場合を除きます)。
920デフォルトの名無しさん
2020/10/11(日) 11:53:49.08ID:mzj9OHDg finallyを使った記憶がないな
IDisposableを正しく実装してusingするのがC#流
IDisposableを正しく実装してusingするのがC#流
921デフォルトの名無しさん
2020/10/11(日) 11:56:36.28ID:2hFwVXKf >>920
歪んだ初心者だな
歪んだ初心者だな
922デフォルトの名無しさん
2020/10/11(日) 16:21:37.29ID:SD6h9HSf async/awaitで排他制御やる時にSemaphoreを使うけど、開放する時にfinally使うのが一般的
923デフォルトの名無しさん
2020/10/12(月) 01:01:50.89ID:S+m0Jln7 必要だから実装されているのでは
924デフォルトの名無しさん
2020/10/12(月) 09:32:25.45ID:941JO02h925デフォルトの名無しさん
2020/10/12(月) 16:12:50.06ID:2Z4zotkW usingっていまいち分かってないんだけど、例外が起きたときにも破棄されるの?
926デフォルトの名無しさん
2020/10/12(月) 16:26:28.81ID:sR+xz/oc されるよ、むしろそのため
927デフォルトの名無しさん
2020/10/12(月) 18:48:18.31ID:8cHhoAHg using変数宣言とref structで無駄なヒープ確保をせずにDisposeを呼べるようになったのは良いね
ネイティブ周りで重宝する
ネイティブ周りで重宝する
928デフォルトの名無しさん
2020/10/13(火) 16:23:58.19ID:401SSeVR ASP.Net Coreで使用しているデータベースを、他の種類のデータベースに移行する手段があれば教えてください
具体的には、SQLServer Expressから月500円の激安マネージドMariaDBに乗り換えたいんです
具体的には、SQLServer Expressから月500円の激安マネージドMariaDBに乗り換えたいんです
929デフォルトの名無しさん
2020/10/13(火) 16:48:03.80ID:mavYzj73 あるよ。
930デフォルトの名無しさん
2020/10/13(火) 16:50:21.93ID:XwYEVn5U931デフォルトの名無しさん
2020/10/13(火) 17:00:55.89ID:cMrfgH2T 月500円の激安マネージドMariaDBに問い合わせろ
932デフォルトの名無しさん
2020/10/13(火) 17:16:14.21ID:401SSeVR MariaDBで動かして見て、どんな感じのテーブルが作られるか自分で確認して、手動で移行するしかないのかな?
933デフォルトの名無しさん
2020/10/13(火) 17:33:50.55ID:qH5Vi/SO こんな質問するような馬鹿には無理では?
934デフォルトの名無しさん
2020/10/13(火) 17:45:52.97ID:/Rq/oe7M EFとか使ってれば差異はある程度吸収してくれるけど、
生SQLベッタベタに書いてたら厳しいだろうな
生SQLベッタベタに書いてたら厳しいだろうな
935デフォルトの名無しさん
2020/10/13(火) 19:34:28.59ID:RxzDulGv SQLiteでええやん
936デフォルトの名無しさん
2020/10/13(火) 19:57:12.80ID:qH5Vi/SO ↑追加の馬鹿が来た
937デフォルトの名無しさん
2020/10/13(火) 22:03:08.89ID:401SSeVR まあ無理そうだけど、どうやるんかな
なんか手段が用意されてないんだったら難しいわ
なんか手段が用意されてないんだったら難しいわ
938デフォルトの名無しさん
2020/10/14(水) 00:03:56.10ID:uO7Ua6+h あまりに頭が悪そうでコメントすると泥沼化しそう
こんなの雇ってるクソ会社あるのか
こんなの雇ってるクソ会社あるのか
939デフォルトの名無しさん
2020/10/14(水) 00:08:35.62ID:NlzTC5au 頭悪い奴「頭が悪そう」
940デフォルトの名無しさん
2020/10/14(水) 00:48:34.18ID:BYmezqa4 結論はこれ
「馬鹿には無理」
「馬鹿には無理」
941デフォルトの名無しさん
2020/10/14(水) 01:51:56.07ID:ZvC0XGAE そのソフトはデータベースを変更できるように作られているのだろうか
多分なってないのでソースコードレベルで変更が必要なのではないだろうか
多分なってないのでソースコードレベルで変更が必要なのではないだろうか
942デフォルトの名無しさん
2020/10/14(水) 05:50:47.73ID:z5Uy/Vd3 Ruby on Rails では、sqlite, postgresql, mysql の3大DB を、
単一のRuby ファイルで定義できる
それを実行したら、各DB の型に合わせて、表が作られる。
表の型などを抽象化してる
単一のRuby ファイルで定義できる
それを実行したら、各DB の型に合わせて、表が作られる。
表の型などを抽象化してる
943デフォルトの名無しさん
2020/10/14(水) 07:38:24.52ID:MAVLXRyI それだと最大公約数になるからDBのポテンシャルを発揮できない
944デフォルトの名無しさん
2020/10/14(水) 07:42:41.11ID:ntkkf+xd なんで突然ruby?
945942
2020/10/14(水) 08:08:27.41ID:z5Uy/Vd3 その代わり、個別のDB の特別な機能を使うと、可搬性が無くなる
どちらを選ぶか、難しい
どちらを選ぶか、難しい
946デフォルトの名無しさん
2020/10/14(水) 15:55:52.84ID:/YzYSvC9 >>944
別言語だけど Railsでは、そういう実装になってて
C#でも同様の実装になっていればデータベースを替えるのも簡単
という話だとおもうけど、そのアプリがMS SQL ServerとMariaDBと
どっちでも動作するようになっているのなら、インストールし直せば
OKなんじゃないかな
別言語だけど Railsでは、そういう実装になってて
C#でも同様の実装になっていればデータベースを替えるのも簡単
という話だとおもうけど、そのアプリがMS SQL ServerとMariaDBと
どっちでも動作するようになっているのなら、インストールし直せば
OKなんじゃないかな
947デフォルトの名無しさん
2020/10/14(水) 16:06:12.99ID:xu8Uupog このruby荒らしは実際に使ったこともないただの頭の悪い人とバレたな
948デフォルトの名無しさん
2020/10/14(水) 16:56:46.74ID:PQeg+6lO >>946
インストールし直せばってなんじゃい
ORM使ってDBMSに依存したSQLを書いてなければ
設定変更でアプリの修正は終わるって話
それはRails(ActiveRecord)でもEF Coreでも同じ
データ移行は別途必要
インストールし直せばってなんじゃい
ORM使ってDBMSに依存したSQLを書いてなければ
設定変更でアプリの修正は終わるって話
それはRails(ActiveRecord)でもEF Coreでも同じ
データ移行は別途必要
949デフォルトの名無しさん
2020/10/14(水) 18:54:47.87ID:MAVLXRyI 将来的にやるかどうかもわからないRDB移行を楽にするためのものというよりは
システム管理者がバックエンドのストレージを選べるメリットのほうが価値としては大きい
システム管理者がバックエンドのストレージを選べるメリットのほうが価値としては大きい
950デフォルトの名無しさん
2020/10/15(木) 00:54:01.16ID:VyNwlTHB ああ、あのrubyの変な人だったのか
951デフォルトの名無しさん
2020/10/15(木) 19:28:50.37ID:WZPJX9UA NGワード:uby
952デフォルトの名無しさん
2020/10/15(木) 21:16:23.76ID:j3TfrCLP ぅゅ……
953デフォルトの名無しさん
2020/10/16(金) 02:23:53.26ID:kSQNYYOM using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[,] ma = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } };
int[,] mb = new int[,] { { 6, 3, 4 }, { 5, 1, 2 } };
int[,] mc = new int[2, 3];
for (int i = 0; i < 2; i++)
{
for (int j = 0; i < 3; j++)
mc[i, j] = ma[i, j] + mb[i, j];
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
Console.Write(string.Format("{000}", mc[i, j]));
}
}
}
}
System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'
というエラーが起きます
配列のレンジをはみ出してはいないと思うのですが、どう直したらいいんでしょうか
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[,] ma = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } };
int[,] mb = new int[,] { { 6, 3, 4 }, { 5, 1, 2 } };
int[,] mc = new int[2, 3];
for (int i = 0; i < 2; i++)
{
for (int j = 0; i < 3; j++)
mc[i, j] = ma[i, j] + mb[i, j];
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
Console.Write(string.Format("{000}", mc[i, j]));
}
}
}
}
System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'
というエラーが起きます
配列のレンジをはみ出してはいないと思うのですが、どう直したらいいんでしょうか
954デフォルトの名無しさん
2020/10/16(金) 02:39:52.51ID:YCT/0knJ 2番目のforの条件式がjじゃなくてiになってるよ
955デフォルトの名無しさん
2020/10/16(金) 02:44:43.74ID:SmZ3YqvD 添字はこの手の問題が頻発するからなあ
956デフォルトの名無しさん
2020/10/16(金) 02:45:43.56ID:SmZ3YqvD C#なんだから型使えばいいのに
957953
2020/10/16(金) 02:52:28.99ID:kSQNYYOM ありがとうございました..
全然気づかなかったです
勉強法がわからないんで手持ちのC言語の参考書の例題をC#で一つづつ書き直してるところです
全然気づかなかったです
勉強法がわからないんで手持ちのC言語の参考書の例題をC#で一つづつ書き直してるところです
958デフォルトの名無しさん
2020/10/16(金) 03:04:54.86ID:mkv3kCzf >>953
iとjの間違いじゃ?
×for (int j = 0; i < 3; j++)
○for (int j = 0; j < 3; j++)
やりたい事と合ってるかどうか知らんが
Console.Write(string.Format("{000}", mc[i, j]));
757968で、エラーなしで出力されます。
iとjの間違いじゃ?
×for (int j = 0; i < 3; j++)
○for (int j = 0; j < 3; j++)
やりたい事と合ってるかどうか知らんが
Console.Write(string.Format("{000}", mc[i, j]));
757968で、エラーなしで出力されます。
959デフォルトの名無しさん
2020/10/16(金) 03:10:59.01ID:mkv3kCzf 実行確認してたら亀レスだったorz
CとC#は別物では?新しく買い直した方が良いのでは?
CとC#は別物では?新しく買い直した方が良いのでは?
960デフォルトの名無しさん
2020/10/16(金) 03:15:48.03ID:rCAM8r34961デフォルトの名無しさん
2020/10/16(金) 03:17:33.49ID:I/ihOPsA >>957
vs使ってないの?エラーの箇所すぐわかるじゃん
vs使ってないの?エラーの箇所すぐわかるじゃん
962デフォルトの名無しさん
2020/10/16(金) 03:21:23.72ID:kSQNYYOM 新・標準プログラマーズライブラリ なるほどなっとく C#入門
この本注文したんですがプライムデーで混んでるのか全然届かなくて。
年内にある程度使えるようになりたい
この本注文したんですがプライムデーで混んでるのか全然届かなくて。
年内にある程度使えるようになりたい
963デフォルトの名無しさん
2020/10/16(金) 03:22:18.38ID:kSQNYYOM964デフォルトの名無しさん
2020/10/17(土) 19:12:24.84ID:PP8bTAlg 馬鹿には無理な例だな
965デフォルトの名無しさん
2020/10/17(土) 21:07:09.85ID:9iD8hqCl966デフォルトの名無しさん
2020/10/17(土) 23:10:24.08ID:hr8QrpsO >>965
ID:kSQNYYOMの馬鹿さ加減がわからない馬鹿
ID:kSQNYYOMの馬鹿さ加減がわからない馬鹿
967デフォルトの名無しさん
2020/10/17(土) 23:47:43.36ID:5+/OiZrO >>962
本を読むよりDOBON.NETを読んだりしながら適当なツール自分で作った方が上達は早いぞ
そして掲示板で聞く前にVSのデバッガを使いこなしたり自分で何でもググって調べる癖をつけるようにした方がいい
ネットで質問するのはググって5分で見つかることを回答してもらうまでずっと待つということだから効率が悪すぎる
本を読むよりDOBON.NETを読んだりしながら適当なツール自分で作った方が上達は早いぞ
そして掲示板で聞く前にVSのデバッガを使いこなしたり自分で何でもググって調べる癖をつけるようにした方がいい
ネットで質問するのはググって5分で見つかることを回答してもらうまでずっと待つということだから効率が悪すぎる
968デフォルトの名無しさん
2020/10/18(日) 00:21:45.35ID:Oa0gZ2cf 俺は本「も」読むのがいいと思う
ネットの情報でつまみ食いばかりしてると
流れが身につかなくて何も作れないままってなる鈍臭いやつもいるから
そうでない才気あふれる人間なら何やっててもすごくなるけど
ネットの情報でつまみ食いばかりしてると
流れが身につかなくて何も作れないままってなる鈍臭いやつもいるから
そうでない才気あふれる人間なら何やっててもすごくなるけど
969デフォルトの名無しさん
2020/10/18(日) 04:34:48.20ID:l893GX8C ネットの情報は新旧入り乱れてるからことが多いから前提となる知識のない初心者は混乱しがち
970デフォルトの名無しさん
2020/10/18(日) 09:19:26.79ID:DMDt9rkO >>962
注文した後に言うのもアレだが、C#は各言語の中で最も日本語WEBサイトが充実してるから本は不要なんだけどな
上でも言われてるDOBON.NETやufcpp.netの2サイトだけで上級者レベルまで学べる
注文した後に言うのもアレだが、C#は各言語の中で最も日本語WEBサイトが充実してるから本は不要なんだけどな
上でも言われてるDOBON.NETやufcpp.netの2サイトだけで上級者レベルまで学べる
971デフォルトの名無しさん
2020/10/18(日) 10:46:36.68ID:NS/00dNr そうかなあ
今時はC#も主流はWeb開発なわけだけど、ASP.NET Coreを学べる日本語のサイトなんてMS公式以外にはほとんど無いぞ
今時はC#も主流はWeb開発なわけだけど、ASP.NET Coreを学べる日本語のサイトなんてMS公式以外にはほとんど無いぞ
972デフォルトの名無しさん
2020/10/18(日) 10:49:21.41ID:S5nNaIhQ 今の.NET界隈はMSが米で主流な内製開発の軽いノリに迎合しすぎて、もはやジャップSIには全く適さない代物になってしまってる
973デフォルトの名無しさん
2020/10/18(日) 10:52:34.27ID:+vZczgoX 今はどの言語もまず最初に公式チュートリアルから始めて
その後に本で理解を深めていくのが良いと思う
https://docs.microsoft.com/ja-jp/dotnet/csharp/tutorials/
https://docs.microsoft.com/ja-jp/learn/browse/?terms=C%23&resource_type=learning%20path
>>971
言語を学ぶこととフレームワークを学ぶことは分けて考えないと
その後に本で理解を深めていくのが良いと思う
https://docs.microsoft.com/ja-jp/dotnet/csharp/tutorials/
https://docs.microsoft.com/ja-jp/learn/browse/?terms=C%23&resource_type=learning%20path
>>971
言語を学ぶこととフレームワークを学ぶことは分けて考えないと
974デフォルトの名無しさん
2020/10/18(日) 11:17:16.00ID:JEwJ8IKM そもそもmsのドキュメントの機械翻訳のレベルが低すぎるっていう
975デフォルトの名無しさん
2020/10/18(日) 11:41:29.97ID:H1xH1BRx ほんそれ
976デフォルトの名無しさん
2020/10/18(日) 11:42:23.08ID:FUmO+ya0 最近特に酷いな😅
977デフォルトの名無しさん
2020/10/18(日) 11:57:14.63ID:hLOQkzaY WOWを「わお」とか訳してくれたことに比べれば
978デフォルトの名無しさん
2020/10/18(日) 12:53:53.68ID:Lw+GI6g9 昔と違って今は何でもかんでも日本語訳される時代じゃないからね
英語で読めない人は取り残されるだけ
英語で読めない人は取り残されるだけ
979デフォルトの名無しさん
2020/10/18(日) 17:12:04.66ID:GgXa8sFd980デフォルトの名無しさん
2020/10/18(日) 17:16:12.19ID:FUmO+ya0 スキあればマウンティング。
オートマウンティングデーモンか
オートマウンティングデーモンか
981デフォルトの名無しさん
2020/10/18(日) 18:46:10.75ID:bt0xe+ws switch文も式になるけど、何でもかんでも式になる方がいいことなのか?
982デフォルトの名無しさん
2020/10/18(日) 19:31:06.35ID:S5nNaIhQ いいかどうかはともかく流行りではある
ついていけないなら引退するしかない
ついていけないなら引退するしかない
983デフォルトの名無しさん
2020/10/18(日) 19:48:17.38ID:pSLLNISm switchって縦にコードが長くなるしね。。
984デフォルトの名無しさん
2020/10/18(日) 19:49:30.22ID:6x+7Jy+N 昔のVBVCは単語でF1押せばとりあえず日本語ヘルプが出てきた
ここでも国力の低下を実感するよね
ここでも国力の低下を実感するよね
985デフォルトの名無しさん
2020/10/18(日) 21:12:02.46ID:L/8uXyJY >>981
副作用のないコードを書くのが少しでも楽になるならいいことだ
副作用のないコードを書くのが少しでも楽になるならいいことだ
986デフォルトの名無しさん
2020/10/18(日) 21:16:43.91ID:o5mWc93K 人手で翻訳したバージョンが提供されたのは確かVS2010の時代が最後じゃなかったかな。
どっちにしろ別に最近の話じゃないね。
日本の国力というよりMSの経営方針が変わったんだろうね。
知らんけどたぶんバルマーさんの発言力がその頃弱くなったんじゃないか
いわゆる"as is"でいいから手動翻訳された古いバージョンも読めるようにしておいてくれればいいのにね。
別に英語でも読めるけど日本語の方がやっぱり早く読めるし斜め読みもしやすいよね
どっちにしろ別に最近の話じゃないね。
日本の国力というよりMSの経営方針が変わったんだろうね。
知らんけどたぶんバルマーさんの発言力がその頃弱くなったんじゃないか
いわゆる"as is"でいいから手動翻訳された古いバージョンも読めるようにしておいてくれればいいのにね。
別に英語でも読めるけど日本語の方がやっぱり早く読めるし斜め読みもしやすいよね
987デフォルトの名無しさん
2020/10/18(日) 21:21:16.65ID:FUmO+ya0 WIN32APIのHELPはVS2までだっけな
988デフォルトの名無しさん
2020/10/19(月) 00:11:08.07ID:QQYfduDC >>983
if分みたいにcase毎にアウトラインを畳めればなあ(visual studio)
if分みたいにcase毎にアウトラインを畳めればなあ(visual studio)
989デフォルトの名無しさん
2020/10/19(月) 05:42:05.38ID:bpzVn112 英語で表示してgoogle 翻訳使ってる
990デフォルトの名無しさん
2020/10/19(月) 08:43:46.79ID:ULPDe33D991デフォルトの名無しさん
2020/10/19(月) 12:33:54.30ID:9I8x18Tz992デフォルトの名無しさん
2020/10/19(月) 12:51:57.31ID:qGPDmfjh ハァ?
993デフォルトの名無しさん
2020/10/19(月) 13:55:26.03ID:asy7wTux サイトに訪問した人が翻訳結果が可笑しいと思ったら
その場で治せる仕組みが一時期あったやろ?
あれでかえってめちゃくちゃになってたところもあるんやで
その場で治せる仕組みが一時期あったやろ?
あれでかえってめちゃくちゃになってたところもあるんやで
994デフォルトの名無しさん
2020/10/19(月) 14:17:56.99ID:9I8x18Tz コミュニティー何とかって奴ね
わんくまの人たちとか結構頑張ってたね
あれはWikipediaみたいに直接編集できるんじゃなくてコメントを書けるだけじゃなかったかな
わんくまの人たちとか結構頑張ってたね
あれはWikipediaみたいに直接編集できるんじゃなくてコメントを書けるだけじゃなかったかな
995デフォルトの名無しさん
2020/10/19(月) 14:19:57.00ID:asy7wTux 日本語と英語が交互に表示されてるのに
コメント欄が英語の上にかぶさって
肝心な英語が読めない機能付きで
うざかった希ガス
コメント欄が英語の上にかぶさって
肝心な英語が読めない機能付きで
うざかった希ガス
996デフォルトの名無しさん
2020/10/19(月) 15:00:55.55ID:g0sfGRb8 英語読めるようになったほうがいい
それですべて解決する
それですべて解決する
997デフォルトの名無しさん
2020/10/19(月) 17:18:53.83ID:QQYfduDC マイクソが無料でエンジニア用英語読解講習コースを開けば解決
998デフォルトの名無しさん
2020/10/20(火) 00:31:21.67ID:p0Iib1Gp \ __ /
_ (m) _ ピコーン
|ミ|
/ `´ \ 言語解説に特化した言語を開発すれば・・・・!
( ゚∀゚)
ノヽノ |
< <
_ (m) _ ピコーン
|ミ|
/ `´ \ 言語解説に特化した言語を開発すれば・・・・!
( ゚∀゚)
ノヽノ |
< <
999デフォルトの名無しさん
2020/10/20(火) 10:11:38.08ID:pHiz9StD emacs/elisp は特化し過ぎて成功した例
1000デフォルトの名無しさん
2020/10/20(火) 10:13:59.79ID:Nlf6zVNG 1000なら>>1-999がコロナに感染して死ぬ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 674日 23時間 27分 52秒
新しいスレッドを立ててください。
life time: 674日 23時間 27分 52秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 映画「ゼルダの伝説」、リンクとゼルダ姫が白人になってしまう。日本のものは日本人だろうが!! [592058334]
- 高市早苗「株やってる奴ザマァwww格差是正のためにも、もっと暴落した方がいいよwww」(´・ω・`)確かに。 [252835186]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- なんかデカいミスしても 「でも明日戦争行くかもしれないしなぁ」 でなんでも乗り切れるよな
