C♯相談室 Part25
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん♯
2005/07/26(火) 13:37:30(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
過去スレは>>2-5あたり。
関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0002名無しさん♯
2005/07/26(火) 13:38:04Part24 http://pc8.2ch.net/test/read.cgi/tech/1117631000/
Part23 http://pc8.2ch.net/test/read.cgi/tech/1112968209/
Part22 http://pc8.2ch.net/test/read.cgi/tech/1109630502/
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
0003名無しさん♯
2005/07/26(火) 13:38:44Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0004デフォルトの名無しさん
2005/07/26(火) 13:43:390005デフォルトの名無しさん
2005/07/26(火) 14:12:08if(ex is NewThreadException)
((NewThreadException)ex).Thread.Post("新スレ乙","sage");
}
0006デフォルトの名無しさん
2005/07/26(火) 14:29:040007デフォルトの名無しさん
2005/07/26(火) 14:36:45どんな例外だそれは。
0008デフォルトの名無しさん
2005/07/26(火) 14:48:25……ああひょっとしてこういう違和感があれの違和感なのか……
0009デフォルトの名無しさん
2005/07/26(火) 14:50:28レス数が1000を超えたら例外が飛ぶはず
0010デフォルトの名無しさん
2005/07/26(火) 14:55:49代わりに1000超えたイベントが発生する。
0011デフォルトの名無しさん
2005/07/26(火) 15:00:170012デフォルトの名無しさん
2005/07/26(火) 19:38:40Microsoft Excel xx.x Object Libraryへの参照を追加して
Excel.Application app = new Excel.Application();
とすると、「抽象クラスまたはインターフェイスのインスタンスを作成出来ません」とエラーがでます。
なぜでしょうか??
0013デフォルトの名無しさん
2005/07/26(火) 19:47:33バージョン依存か?
Microsoft Excel 11.0 Object Library
では、問題なし。
0014デフォルトの名無しさん
2005/07/26(火) 19:57:46new Excel.ApplicationClass(); ではうまく行くというオチ?
0015デフォルトの名無しさん
2005/07/26(火) 20:20:42Excel._ExcelApplicationClass app = new Excel._ExcelApplicationClass();
だとうまくいきました。しかし、_ExcelApplicationClassにはVisibleプロパティが
ないみたいで、app.Visible = true;
でエラーが出てしまいます。
>>13
ちなみにversionは10.0でした。
001612
2005/07/26(火) 20:40:54どうやら、フォルダにコピーされた
Microsoft Excel 10.0 Object Library(Interop.Excel.dll)が
壊れていたか、リンクがうまくいって無かったのだと思われます。
>>13 >>14
ありがとうございました
0017デフォルトの名無しさん
2005/07/27(水) 21:35:590018デフォルトの名無しさん
2005/07/28(木) 18:27:43と思っています。
Form f = new ABCForm.FormMain();
this.TabPage1.Controls.Add(f);
f.Show();
のように、行なうと「トップレベルのコントロールをコントロールに追加できません。」
とエラーになります。
これを
Form f = new ABCForm.FormMain();
f.Toplevel = false;
this.TabPage1.Controls.Add(f);
f.Show();
とするとタブページの中にフォームは表示されますが、Windows の
ボーダー枠(閉じるボタンなど)も表示され、タブページの中を
フォームが移動できてしまいます。
そうではなくて、タブページに、フォーム自体をはりつけて表示
させたいのですが、タブコントロールではそのような事はできません
でしょうか?
実現させる方法がありましたらアドバイスよろしくお願いします。
0019デフォルトの名無しさん
2005/07/28(木) 18:48:48Form f = new ABCForm.FormMain();
f.Toplevel = false;
f.FormBorderStyle = FormBorderStyle.None;
this.TabPage1.Controls.Add(f);
f.Show();
002018
2005/07/28(木) 20:04:19ありがとうございました。できました。
もう1つ教えてください。
Windows XP で、画面のプロパティ内のフォントサイズを
標準から大、特大に変更した時に、 C# で作成した自前の
アプリケーションのラベルなども変化させたいのですが、
何かの設定で、行なう事はできますでしょうか?
方法がありましたら教えてください。よろしくお願いします。
0021デフォルトの名無しさん
2005/07/29(金) 09:53:330022デフォルトの名無しさん
2005/07/29(金) 11:47:16http://pc8.2ch.net/test/read.cgi/tech/1117631000/
前スレ先に埋めろ。
0023デフォルトの名無しさん
2005/07/29(金) 11:48:130024デフォルトの名無しさん
2005/07/29(金) 11:49:08埋めるの('A`)マンドクセ
0025デフォルトの名無しさん
2005/07/29(金) 11:59:030026デフォルトの名無しさん
2005/07/29(金) 16:41:290027デフォルトの名無しさん
2005/07/29(金) 18:21:210028デフォルトの名無しさん
2005/07/29(金) 19:04:200029デフォルトの名無しさん
2005/07/30(土) 00:26:31計算式を現す文字列から結果を出す為にJScriptに投げて取得してるのですが、
文字列の中に変数があるので、変数の値は自分で解析したいのですが
うまい方法(変数の切り出し方?)はありませんか?
0030デフォルトの名無しさん
2005/07/30(土) 00:42:21宣言せずとも変数が使える言語だから var だけを頼りにしちゃだめだろうけど
0031デフォルトの名無しさん
2005/07/30(土) 00:48:25というか
3 * a + 2
の文字列からC#側でaに5を代入した上でEvalさせたいと言うことではない? よくわからんけど
0032デフォルトの名無しさん
2005/07/30(土) 01:41:540033デフォルトの名無しさん
2005/07/30(土) 01:53:180034最凶VB厨房
2005/07/30(土) 02:06:38003529
2005/07/30(土) 08:17:05あと再帰下降パーザはググって見ました。
自前で構文解析して見たいので勉強します。
どうもでした。
0036デフォルトの名無しさん
2005/07/30(土) 09:17:27とか書かれたらどうするつもりなんだろう。
0037デフォルトの名無しさん
2005/07/30(土) 11:30:57正規表現の事前チェックで文法エラーははじくでしょ。たぶん。
0038デフォルトの名無しさん
2005/07/30(土) 18:13:23むしろそれをも包含した文法で。
0039デフォルトの名無しさん
2005/07/31(日) 19:01:24ボタンを押したりするのってどうするんでしょうか?
具体的にはOperaの認証管理みたいな感じなんですが。
0040デフォルトの名無しさん
2005/07/31(日) 20:26:51HTMLElement にたいして SetAttrubute でいくね?
0041デフォルトの名無しさん
2005/07/31(日) 21:03:31ぐぐったらJavaScript関連の物ばっかり出てきたんですが・・・
もう少し調べてみます。
0042デフォルトの名無しさん
2005/07/31(日) 21:25:35The Code Project - Microsoft Web Browser Automation using C# - C# Programming
http://www.codeproject.com/csharp/mshtml_automation.asp
0043デフォルトの名無しさん
2005/07/31(日) 22:24:03CodeProjectにあったんすか・・・
さすがにないと思って今回だけは見てなかったです。
0044デフォルトの名無しさん
2005/07/31(日) 22:54:14CollectionBase, DictionaryBase, HashTable の実装の違いが
いまいちよく掴めないのですが、実際何が違うのでしょうか?
0045デフォルトの名無しさん
2005/07/31(日) 23:02:36DirctionaryBase : 特定の型に対応するキーと値のペアを格納する独自コレクションを作成するための基本抽象クラス
Hashtable : キーと値にobject型を使用することで任意の型を格納できるキーと値のペアを格納するコレクションの実装クラス
0046デフォルトの名無しさん
2005/07/31(日) 23:21:15理解できました。
分かりやすい説明をしていただきありがとうございました。
0047デフォルトの名無しさん
2005/07/31(日) 23:27:31分かったんならいいけど。
0048デフォルトの名無しさん
2005/07/31(日) 23:56:35ttp://example.com/h.html
にアクセスしてHTTPのヘッダを取得したいのですが、
どのクラスを使えばよいですか?
004944
2005/07/31(日) 23:57:25キー・値の概念を持たない純粋なコレクション
DictionaryBase
DictionaryEntry(key, value) で固定された (厳密に型指定された) コレクション
コレクションの延長線上?
Hashtable
キー(key, value), 値(キーのhash) のコレクション
自分はこんな感じで解釈しましたが…
たぶん大筋では間違っていないような気がしますが。
0050デフォルトの名無しさん
2005/08/01(月) 00:07:52HttpWebRequest/HttpWebResponse
>>49
> CollectionBase
> キー・値の概念を持たない純粋なコレクション
いやそれぞれの要素に格納されるのが"値"な。
> DictionaryBase
> DictionaryEntry(key, value) で固定された (厳密に型指定された) コレクション
> コレクションの延長線上?
延長というかなんというか。別物?
まあ要素へのアクセスにインデックスの代わりにキーを使うコレクションといった感じ?
> Hashtable
> キー(key, value), 値(キーのhash) のコレクション
前述の通り要素に格納されているのが値。英語でvalue。
それにアクセスするのに使うのがキー。
キーの同一性チェックにハッシュを使う。
DictionaryBaseの一つの実装としてHashtableが存在すると考えれば。
//いや本当は順番は逆なんだけど。
CollectionBaseの一つの実装がArrayListとか。
//いやこれも順番が逆だけど。
0051デフォルトの名無しさん
2005/08/01(月) 00:36:44ありがとうございます。
やはり奥が深いです… しっかり頭の中を整理して考え直してみます。
005244
2005/08/01(月) 00:55:42愛してる!今度夕食でもご一緒しませんか?
0053デフォルトの名無しさん
2005/08/01(月) 20:05:14ぐぐって検索してみたところ
string str = System.Text.Encoding.GetEncoding(932).GetString(bytesData);
と、GetString()の中身がbyteデータなものばかりです。
string str = System.Text.Encoding.GetEncoding(932).GetString(mail);
このように変えましたが、byteデータじゃないとエラーがでます。
mailをいったんbyteデータ型に変換してからGetStringの引数に入れるしかないのでしょうか。
stringのmailを、shift-JISに変換して、stringのstrに入れるというもっとスマートな変換方法はないのでしょうか。
どなたか助言いただけるとうれしいです。
0054デフォルトの名無しさん
2005/08/01(月) 20:08:32C♯のstringがどういうエンコーディングで文字列データを
持っているか知っているかい?
005553
2005/08/01(月) 20:17:03助言ありがとうございます。
ぱっとぐぐってみましたが、ずばりのページが見つからなかったので。
なんとなく勘で、.NETだからUnicodeでしょうか?
でも、Unicodeだとして、それがどのように解決に向かうのか思いつきません。
しかしこれはヒントなのですよね。もうちょっと調べて考えて見ます。
0056デフォルトの名無しさん
2005/08/01(月) 20:33:27005753
2005/08/01(月) 20:34:38メール受信のコードをそのままはりつけて使ったのですが、そのメール受信コードは、メール1通分のstring mailを返すんです。
メールの世界ではJISコードだから、きっとmailの中身はJISコードに違いないと思ったのですが。
そのコードを改めてよく見てみたところ
ReceiveData(stream, multiLines, bufferSize, Encoding.GetEncoding(50220))
の記述から、やっぱりJISに変換してると思うんですよね。
なので、string型の変数(オブジェクト?)に入っているのはJISコードの文字列だと思うのですが
なにかものすごい勘違いをしているでしょうか。
005853
2005/08/01(月) 20:39:02タイトルに○○が含まれているメールが到着したら知らせるというような。
英文字ならひっかったり引っかからなかったりで、日本語を○○に指定するとひっかからない
ことから、どうもstring mailの中身はJISで、C#のコードがshift-JISだから、それでひっかからないのだな
と思い。
mailの中身はJISコードだろうと思ったのです。
なのでmailをshift-JISに変換しちゃえば、ちゃんとチェックにひっかかるだろうなと思ったわけです。
0059デフォルトの名無しさん
2005/08/01(月) 20:39:49単純に考えてさ、フレームワークが文字列型を処理するときに一々エンコードを考えて処理しなきゃならないってのは効率悪いと思わない?
006053
2005/08/01(月) 21:05:01ヒントをくれまして、ありがとうございます。
やっぱり勘違いしてるのですね。
なるほど、このstringの中身は、JISコードだからとかshiftJISだからとかいちいち判別しながら処理しないといけないとなると面倒ですね。
http://www.atmarkit.co.jp/fdotnet/csharptips/010string/010string.html
の最初のほうに、オブジェクト内部では、文字列はUnicode文字として扱われる。
と、書かれているので、stringに入っている文字列のコードは全部、Unicodeと。
で、C#のコードもUnicodeが扱えるから、特に文字コード変換する必要など最初からなかった。が解でしょうか。
メール受信コードも、もう一度よく見てみると、JISに変換しているというよりも、byteデータを文字列に変換しているように
みえます。
しかし、じゃあなぜメールチェック機能にひっかかってくれないのか。
特に、英文字がひっかかったりひっかからなかったりするのが気になります。
単にコードの書き方が悪いだけなのか。
ということは、stringに入れるとUnicodeになるから、JISやshift-JISはbyteデータに入れてたのですかね。
なぜ、ひっかからないのかに関しても、もうちょっと考えてみようと思います。
0061デフォルトの名無しさん
2005/08/01(月) 22:34:08その際本体のdllやタイプライブラリをインポートしたアセンブリとか
どういう形態で配布したものでしょうか。
ユーザにgacutilやregasmさせるわけにはいきませんよね……
0062デフォルトの名無しさん
2005/08/01(月) 22:47:090063デフォルトの名無しさん
2005/08/01(月) 22:48:23なにを迷っているのかいまいち分からんが…
自作ライブラリ配布ならDLL群をそのままzipにでも圧縮すればいいだろ
どうせ使うのDeveloperなんだし。
っていうかよっぽどのもの以外GACに入れるな。うざい
0064デフォルトの名無しさん
2005/08/02(火) 00:44:29exeと同じところにDLLがいっぱいあるとうざいから、フォルダ切ってそこに入れればすっきりするよ。
推奨はされてないが、.configファイルに
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin" />
</assemblyBinding>
</runtime>
とか書いとけばよし。
0065デフォルトの名無しさん
2005/08/02(火) 01:03:23006661
2005/08/02(火) 01:06:59>>64
>>65
ありがとうございます。
最近始めたんでGACに入れる重大さとか分かってませんでした。
聞かぬは一生の恥と思ってお訊ねしますが
http://mobiquitous.com/programming/ietoolbar.html
http://www.codeproject.com/csharp/dotnetbandobjects.asp
ここで見て自作ツールバーをつくったんです。
自作.dll、BandObjectLib.dll、Interop.SHDocVw.dll、Interop.Shell32.dll
以上のファイルを配布してインストールしてもらう場合、
どうしたらいいんでしょうか?
regasm /codebase....とバッチにでもするんでしょうか……
0067デフォルトの名無しさん
2005/08/02(火) 01:11:08とってもありがたい大手のライブラリもあったりするが
0068デフォルトの名無しさん
2005/08/02(火) 02:35:32おまえらのsystem32にもへんなDLLとかいっぱい入ってない?
0069デフォルトの名無しさん
2005/08/02(火) 06:40:37なに?配布対象はEndユーザー?
それならインストーラーつくるのが普通。VSでもWiXでも好きにどうぞ
0070デフォルトの名無しさん
2005/08/02(火) 07:39:39でもインターフェースが変わっててまるで互換性がないなんてdllがあったなぁ。
0071デフォルトの名無しさん
2005/08/02(火) 07:41:520072デフォルトの名無しさん
2005/08/02(火) 11:01:11どういう対処をすればええ?
0073デフォルトの名無しさん
2005/08/02(火) 11:08:180074デフォルトの名無しさん
2005/08/02(火) 13:08:36で、メールを送ったんです。そしてそれを受信したら
Subject: =?iso-2022-jp?B?GyRCJCIkJCQmJCgkKhsoQg==?=
と、このように文字化けしていました。
iso-2022-jpを調べてみると、JISコードの一種だということがわかりました。
C#はUnicodeだから、JISなのにUnicodeで変換したため文字化けしたものと思われます。
これをJISで変換してやって、stringに入れなおしてやれば
Subject: あいうえお
に戻るだろうと思い、下記のようにコードを書きましたが、相変わらず
Subject: =?iso-2022-jp?B?GyRCJCIkJCQmJCgkKhsoQg==?=
と表示され、まったく、あいうえおになってくれません。化けてしまったものを、元に戻そうと思ったら
こんな単純な変換だけじゃだめということなのでしょうか。
public Form1()
{
string str = "Subject: =?iso-2022-jp?B?GyRCJCIkJCQmJCgkKhsoQg==?=";
byte[] byteArray = Encoding.ASCII.GetBytes(str);
string str2 = System.Text.Encoding.GetEncoding(50220).GetString(byteArray);
MessageBox.Show(str2, "test32");
}
0075デフォルトの名無しさん
2005/08/02(火) 13:17:31お前はまずRFCを読め。
親切にヒントをやるが、それがメールのフォーマットなんだよ。
文字化けなどしていない。
0076デフォルトの名無しさん
2005/08/02(火) 13:17:39いかにもたこにもどう見てもBase64でエンコードされてるな。
そもそもどういうやり方でメールを受信してるのさ。
0077デフォルトの名無しさん
2005/08/02(火) 13:20:25そしてこのスレはC#相談室であるから、メールの仕様に関しての話題はふさわしくない。
007874
2005/08/02(火) 13:36:44>>75
http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html
ここ長いのですが、iso-2022-jpとタイトル打ってるとこだけ読んでみます。
文字化けではないのですね。またなにか勘違いをしていたようです。
>>76
ということはBase64をデコードすればいいのかな。
string str = "Subject: =?iso-2022-jp?B?GyRCJCIkJCQmJCgkKhsoQg==?=";
byte[] byteArray = Encoding.ASCII.GetBytes(str);
string str2 = System.Convert.ToBase64String(byteArray);
MessageBox.Show(str2, "test32");
このように書いてデコードしてみましたが、あいうえおには戻りませんでした(T T)
メールの受信は、.NETでは標準でライブラリが提供されてないということで、ネットでいろいろ検索した
メール受信のコードをそのまま引用しました。
string msg = Encoding.GetEncoding(50220).GetString(ms.ToArray());
の記述から、JISにエンコードして、stringに入れて返してるんだろうなと思われます。
>>78
メールの仕様をまず勉強したほうがいいのですね。
調べてそれでもわからないときは、ふさわしそうなスレで相談しようかと思います。
0079デフォルトの名無しさん
2005/08/02(火) 13:51:390080デフォルトの名無しさん
2005/08/02(火) 14:05:02めんどくさいやつだな。よめ
ttp://www.y-adagio.com/public/standards/tr_mime-p3_2047/mime2047toc.htm
それとDecodeMailのサンプル。ぶっちゃけ即興で書いたのでバグってるだろうが。
private static readonly Regex regex = new Regex(@"=\?(?<Encoding>[^?]*)\?[B|Q]\?(?<EncodedText>.*?)\?=");
public static string DecodeMail(string value) {
return regex.Replace(value, new MatchEvalator(OnMatch));
}
private static string OnMatch(Match m) {
string encName = m.Result("${Encoding}");
string encText = m.Result("${EncodedText}");
return Encoding.GetEncoding(encName).GetString( Convert.FromBase64String(encText) );
}
008178
2005/08/02(火) 14:17:32親切な方、どうもありがとうございます。
正直メールのどこから手をつけていいのかといったかんじだったので大変助かります。
読む範囲を限定していただいたので、紹介サイトを集中して読むことにします。
サンプルまで書いていただいて本当に親切にありがとうございます。
解読してよく勉強しようと思います。
0082デフォルトの名無しさん
2005/08/02(火) 15:27:41008378
2005/08/02(火) 17:05:46紹介サイト読みました。まだ5割ぐらいしか消化しきれてませんが、メーラーなんか作るとき困ると思うので
がんばって理解しようと思います。
サンプルをいろいろいじって動かしたところ、Subject: あいうえお が出力されましたヾ(*´∀`*)ノ
こちらも消化しきれてないので、解析して理解できるようにがんばろうと思います。
大変たすかりました。どうもありがとうございました。
0084デフォルトの名無しさん
2005/08/02(火) 17:13:19慇懃無礼な奴だからだよ。
言葉の端々から、「早く教えろヴォケ」という雰囲気がにじみ出てる。
0085デフォルトの名無しさん
2005/08/02(火) 21:47:36というか、突っ込みどころがありすぎるから。
レスもらった後理解&むかう方向が毎回間違ってるから、
「だから違うだろこのやろう」って突っ込みたくなるのです
0086デフォルトの名無しさん
2005/08/02(火) 22:45:450087デフォルトの名無しさん
2005/08/03(水) 11:46:491が果物、2が野菜だとします。
これを普通にADO.NETでDataTableに読み込んで、DataViewを
そのままDataGridとかにバインドすると、種別の列には当然
1と2が表示されますが、これを果物とか野菜とか表示させるには
どういう方法がよいでしょうか。
C#のコード内では種別のenumを作ったので、GatName()で
名前が取れるんですが。
いまんとこ、
(1)種別名マスタを別テーブルで作ってLEFT JOIN
(2)DataTableに種別名のColumnを追加して、Fill後に1行ずつ埋める
くらいしか思いつきません。
0088デフォルトの名無しさん
2005/08/03(水) 12:05:290089デフォルトの名無しさん
2005/08/03(水) 13:13:03PropertyDescriptorを継承したクラスを作ってGetValueのオーバーライドで列挙体の値を返すようにする。
該当するカラムのDataGridColumnStyleのPropertyDescriptorプロパティに上記のクラスのインスタンスを設定。
で一応いける。
0090デフォルトの名無しさん
2005/08/03(水) 14:47:36特定のプロパティを非公開にしたい場合
どうすれば?
0091デフォルトの名無しさん
2005/08/03(水) 15:08:56無理。派生クラスは「完全に」基底クラスとして振舞うことが出来る必要がある。
というか派生クラス⊂基底クラスの関係理解してる?
virtualプロパティなら上書きしてNotSupportedExceptionあたり投げることも出来るが、
あまり推奨しない。
ただしデザイナで表示させないことやエディタ(インテリセンス)で表示させないように
指定することなら出来る。前者がBrowsableAttribute、後者がEditorBrowsableAttribute。
指定しても普通にアクセスは出来るからあまり意味はないんだが。
0092デフォルトの名無しさん
2005/08/03(水) 15:19:32> ただしデザイナで表示させないことやエディタ(インテリセンス)で表示させないように
> 指定することなら出来る。前者がBrowsableAttribute、後者がEditorBrowsableAttribute。
こいつは派生クラスでいじるにはnewで隠蔽する必要があるんじゃないか?
0093デフォルトの名無しさん
2005/08/03(水) 15:26:44もちろん。でもその際のnew隠蔽はbaseそのまま呼ぶべきっていうか。
((Control)this.myControl).Visible = true;
((MyControl)this.myControl).Visible = true;
で結果が違うのでしゃれにならんというか、この例だとあからさまに変だけど
void myControl_Click(object sender, EventArgs e) {
Control ctrl = sender as Control;
if(ctrl!=null) {
ctrl.Visible = true;
}
}
とかもあるので・・・。
009493
2005/08/03(水) 15:35:09そもそもControlクラス内で
this.Visible = true;
の一行があるだけでもアウトだわな。
009590
2005/08/03(水) 17:07:29>>91-94 ありがとうございました。
参考までに
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17197&forum=7
0096デフォルトの名無しさん
2005/08/04(木) 01:03:12どのようにするのがベターでしょうか?
RollingFileAppenderを使ってファイルに書き込みつつ、ファイルを定期的にリロードしてみせるアプリ作るとか、
TraceAppenderを使って、GUIにログを吐き出すTraceListenerをアプリケーション側に実装するとか考えたんですけど。
0097デフォルトの名無しさん
2005/08/04(木) 11:07:44ttp://www.atmarkit.co.jp/news/200508/04/ms.html
0098デフォルトの名無しさん
2005/08/04(木) 14:53:59マイクロソフトOBでWindows 1.xの時代からWindowsの開発に関わっていた方(2000年に退職)から
コメントをいただいた。引用させていただくと、
“私の住むシアトル近辺のマイクロソフトOBの間では、2004年の前半に「Longhornがキャンセルに
なったらしい」という噂がさかんに交わされ、その後次々と「OFSはLonghornとは別」、
「Managed APIは採用しない」とのアナウンスがありました。結局の所、もともと計画していた
Longhorn は出せなくなったけれども、いまさらキャンセルになったとは言えないので、出せるもの
だけかき集めてLonghornと呼ぶことにした、という見方がこちらでは一般的です”
0099デフォルトの名無しさん
2005/08/04(木) 17:10:09Visual C# .NETによる
0100デフォルトの名無しさん
2005/08/04(木) 17:11:56C#は、小さなプログラムだと結構速いんだけど、少し大きなプログラムになると、
再トランスレート処理が途端に増えるのか、ものすごく重くなる。
0101デフォルトの名無しさん
2005/08/04(木) 17:57:030102デフォルトの名無しさん
2005/08/04(木) 20:49:150103デフォルトの名無しさん
2005/08/04(木) 21:02:180105デフォルトの名無しさん
2005/08/04(木) 21:17:090106デフォルトの名無しさん
2005/08/04(木) 21:17:100107デフォルトの名無しさん
2005/08/04(木) 21:18:33それがファイルなのかフォルダなのかを判断するにはどうしたらいいのでしょうか?
調べていて考え付いたのは
System.IO.File.ExistsとSystem.IO.Directory.Existsを使ってtrueな方
という方法なのですが,ほかによいやり方があったら教えてください.
0108デフォルトの名無しさん
2005/08/04(木) 21:21:44↓とC#がどう関係があるのか、説明してくれないか?
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=DVXA,DVXA:2005-19,DVXA:ja&q=%E5%86%8D%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%88
0109デフォルトの名無しさん
2005/08/04(木) 21:21:450110デフォルトの名無しさん
2005/08/04(木) 21:22:060111デフォルトの名無しさん
2005/08/05(金) 15:58:09「書き込む」が見当たりません。
exeに埋め込んだテキストファイルに書き込みといったことはできないのでしょうか。
0112デフォルトの名無しさん
2005/08/05(金) 16:02:12どこか適当なリソース部分1バイト書き換えて保存してみたらどうなるか分かるか?
0113デフォルトの名無しさん
2005/08/05(金) 16:14:41でもWebサービスの場合は、デプロイしたら自動的に起動して、
停止することができません。
IISごと停止することは可能ですが。
Webサービスを、一時的に停止できる方法って、特に無いですよね?
無理やり、エラーを返す状態にするしかないですよね?
0114111
2005/08/05(金) 16:14:52助言をありがとうございます。
想像ですが、固まってエラーはいて落ちちゃうんじゃないかなと思われるのですが
道理で書き込みの方法を解説した記述が見つからないなと思ったのですが
読み込みはできるけど書き込みはできないが解なのですね。
メールのパスワードを外部のテキストファイルに平文で書き込んでは、まずいかなと思い。
そのテキストファイルをexeに埋め込んじゃえば、セキュリティも保たれるし、簡単なんじゃと思いついたのですが
甘かったようです。
しょうがないので、パスワード部分を暗号化して、外部テキストファイルに保存しようと思うのですが
大体皆さん、ユーザが入力したパスワードを保存する場合、暗号化といった手法を使うのでしょうか。
パスワードをまずくないように保存しようと思えば、後は暗号化しか思いつかないのですが
0115デフォルトの名無しさん
2005/08/05(金) 16:57:32textBox1.Text = Encoding.Unicode.GetString(test);
このように書いて、textBoxに表示させましたが、stringに変換したため、筰・XッSィy|メー%A・,o桎r�香E のような感じに出力され
BinaryWriterで、txtに保存すれば数値が見れるかもと思ったのですが、開いてみると、\り?ュ・%[オワ;ッシ=gツH・ハ( のような感じで
出力されます。
byte配列に入っている数値を見たいのですが、どのように書けばstringに変換せずに見ることができるでしょうか。
0116デフォルトの名無しさん
2005/08/05(金) 17:02:46まあ2桁16進表記なんだろうけど。
foreachでToString("X2")していくとか、
BitConverter.ToStringするとか。
0118デフォルトの名無しさん
2005/08/05(金) 17:24:145桁の表示で110を ” 110"の文字列、前にスペース2個あるを取り出したいです。
D5も駄目だし,#####も駄目でした。何か書式ありますか?
0119デフォルトの名無しさん
2005/08/05(金) 17:27:050120デフォルトの名無しさん
2005/08/05(金) 17:44:230121最凶VB厨房
2005/08/05(金) 22:02:170122デフォルトの名無しさん
2005/08/06(土) 00:59:06どうしたらいいんでしょうか?
データセットとかデータテーブルとかストリングクラスなんかは入るのですが・・・・
0123デフォルトの名無しさん
2005/08/06(土) 01:25:570124デフォルトの名無しさん
2005/08/06(土) 01:30:220125デフォルトの名無しさん
2005/08/06(土) 01:40:220126デフォルトの名無しさん
2005/08/06(土) 02:48:55シリアライゼーション&デシリアライゼーション出来ないから。
ちなみにセッションにも同じコレクションクラス入れてたりしないよな?そんなことすると
InProc以外で動かないアプリの出来上がりですよ?
0127デフォルトの名無しさん
2005/08/06(土) 08:38:28exe に埋め込んでもセキュリティは保たれない。
暗号化はここ参照。
http://dobon.net/vb/dotnet/string/encryptstring.html
0128114
2005/08/06(土) 11:03:20アドバイスをありがとうございます。
そうですか。埋め込んじゃえば見えなくなるからセキュリティも保たれて簡単なんじゃと思ったのですが。
セキュリティが保たれないのですか。解析なんかされると見えてしまう。ということなんでしょうかね。
埋め込んでも書き込めないし、最初からパスワードを保存する方法としてはふさわしくなかったのですね。
とりあえず、DESで暗号化してファイルに保存は実装成功しました。
保存したtxtファイルを開いたら、わけのわからない文字記号の羅列になってるし、保存したファイルから
復号も成功してるので、ちょっと不安要素もないわけでもないのですが、とりあえずこれでいいだろうと
思うことにしました。
0129デフォルトの名無しさん
2005/08/06(土) 11:41:46まぁそれ以上しようがないのです、ローカルに保存する限り。
最もセキュリティを保つには「復元できないもの」なわけですが、
当然「参照も出来ない」わけで処理を複雑にしたりして「誤魔化す」
しかないんですよ。解析されればどうしようと見ることができます。
0130128
2005/08/06(土) 11:55:26アドバイスありがとうございます。
ということはパスワードのセキュリティを保つ方法として、DESで暗号化して保存。でOKということですね。
もっと解析が難しい暗号技術を使うという手もあるかもしれませんが。
DESの方がC#で実装が簡単だし、とりあえずはこれでよしということで済まそうと思います。
0131最凶VB厨房
2005/08/06(土) 12:07:393です^3=6です
6です^3=9です
なんです。
0132デフォルトの名無しさん
2005/08/06(土) 12:35:40mm.To = "aaa@***.ne.jp; bbb@***.ne.jp";
このように書いて送信すると
To: <aaa@***.ne.jp>, <bbb@***.ne.jp>
上のように、To:に複数のメールアドレスが載ったものを受け取ることになりますよね。
ところが、プロバイダなどの大量に一気にメールを送信したであろうメールのToが
To: <aaa@***.ne.jp>
なんです。こういった大量送信されたメールは皆Bccに書いて送ってるものだと思っていたのです。
mm.Bcc = "aaa@***.ne.jp; bbb@***.ne.jp";
このように書いて送信すると
To:
Cc:
のように、ToにもCcにも何も書き込まれずに送られてきますよね。
大量送信されたであろうメールが、なぜTo: <aaa@***.ne.jp> で送られてくるのか不思議なのですが
一通ずつToにアドレスを入れて送ってるのか?とも思うのですが、そんな効率の悪いことするだろうか
という疑問がわきます。
大量送信されたメールが使っているメーラーでそういったふうになるようにしているのでしょうか。
0133デフォルトの名無しさん
2005/08/06(土) 15:54:31スレ違い。
C#とは関係ないし。
UNIX板かLINUX板のメル鯖スレで聞け。
0135デフォルトの名無しさん
2005/08/06(土) 19:49:23例外が出たり、リンク以外の物を抽出してたりします
どうすればうまくいくでしょうか
//リンク抽出
string link = "";
int s = 0;
int e;
while (true)
{
s = this.source.IndexOf("<a href=",s)+9;
e = this.source.IndexOf("target", s)-2;
link += this.source.Substring(s, e - s) + "\n";
if (this.source.IndexOf("<a href=") == 0)
break;
}
this.sourceにはウェブページのソースが入ってます
0136デフォルトの名無しさん
2005/08/06(土) 19:52:59正規表現にチャレンジ
0137デフォルトの名無しさん
2005/08/06(土) 19:58:42厳密に取るのは結構難しいが、
@"<a .*?href=(?:""(?<url>.*?)""|'(?<url>.*?)'|(?<url>.*?)[ >])"
こんな感じで。
0138デフォルトの名無しさん
2005/08/06(土) 20:00:510139デフォルトの名無しさん
2005/08/06(土) 20:04:31難しそうなので避けてたんですがやるしかないみたいですね
ありがとうございました
0140デフォルトの名無しさん
2005/08/06(土) 20:53:42C++のDLLプロジェクトを作って、C#からDLL起動等、問題なく動作しているが。
C#内でブレークやデバックが出来るが、C++のDLL内でブレークが動作せず。
デバックが出来ない。何か設定ミスをしている?
それとも、出来ないのが正しいですか?
0141デフォルトの名無しさん
2005/08/06(土) 21:20:56AxWebBrowserを介さずに直接MSHTMLでhtmlをパースすることってできるのかな?
HTMLDocumentをnewしたあとopenはずっとloadingのままになるしwriteでhtmlを書き込もうにもCOMException"種類が一致しません"。
HTMLWindow2はnewできない……。
0142デフォルトの名無しさん
2005/08/06(土) 21:39:55クラスを直接使うんじゃなくて変なおまじないが必要だった希ガス
たしか親ドキュメントに空のHTMLを書き込んでからなんかするような
0143140
2005/08/06(土) 22:53:230144デフォルトの名無しさん
2005/08/07(日) 02:58:54なにがいいたいのかわからん。
唯一わかってるのは、「いじってたら」でイジリー岡田を思い出したと言うことだ。
0145122
2005/08/08(月) 00:18:070146122
2005/08/08(月) 00:19:12えー!そうなんですか?
でもdatasetとかdatatableはできますよね?
結局配列っぽいコレクション型をセッションやビューステイとにほうりこみたいなら
datatableの形式にしないとダメって事ですか?
uza−
0147デフォルトの名無しさん
2005/08/08(月) 00:24:020148デフォルトの名無しさん
2005/08/08(月) 00:32:030149デフォルトの名無しさん
2005/08/08(月) 01:09:35基礎知識の足りないやつだな
「お前が必要なコードを書いていないから動きません」って話なんだが?
コードもかかんと動くわけがなかろう。そんな当たり前の話も分からないのか
0150122
2005/08/08(月) 02:40:56じゃあビューステイとにコレクションクラスを格納することも可能なんですか?
何かコードかけば。
0151デフォルトの名無しさん
2005/08/08(月) 20:54:060152デフォルトの名無しさん
2005/08/08(月) 23:39:42コレクションクラスじゃなくて、中に格納してるもんが
シリアライズ出来るようになってないだけじゃないのか?
0153デフォルトの名無しさん
2005/08/08(月) 23:53:55DESのキーはどこに…
0154デフォルトの名無しさん
2005/08/08(月) 23:54:010157デフォルトの名無しさん
2005/08/09(火) 02:53:45そのテキストの一番右側までいくと勝手に
次のセルが選ばれてしまう。これを簡単に辞めさせる
方法はないのでしょうか?うっかり右キー押したら
編集ENDとか虚しすぎます
0158デフォルトの名無しさん
2005/08/09(火) 04:40:39抽象クラスつくって、それを継承するクラスを書いているんだけど…
この抽象メソッドの実装を書くときに、自分でコピペしないとダメですか?
自動で継承もとからメソッドの概要copyしてくれる機能とかないでしょうか。
イベントハンドラのTAB押下での自動追加は便利だったんで、
そんな追加方法があるなら知りたいなぁ。
0159デフォルトの名無しさん
2005/08/09(火) 07:08:050160デフォルトの名無しさん
2005/08/09(火) 07:39:520161デフォルトの名無しさん
2005/08/09(火) 12:22:270162デフォルトの名無しさん
2005/08/09(火) 13:36:110163デフォルトの名無しさん
2005/08/09(火) 15:06:18終わらせるということになったのですが、どれくらいのペースで進めたら良さそうかということと
お勧めの入門書などがあったら教えていただけないでしょうか?
0164デフォルトの名無しさん
2005/08/09(火) 15:31:16http://pc8.2ch.net/test/read.cgi/tech/1119115838/
0165デフォルトの名無しさん
2005/08/09(火) 16:28:39手前のイメージの背景を透明にしました。(MakeTransparent使用)
しかし手前のイメージの透明背景部分には
フォームの背景が見えます。
奧のイメージを見せるにはどうしたら?
0166デフォルトの名無しさん
2005/08/09(火) 16:36:160167デフォルトの名無しさん
2005/08/10(水) 17:22:381列目:TemplateColumn 2列目:EditCommandColumn(編集、更新、キャンセル)
というDataGridがあるんですが、DataBindする前に、ソースの中でEditCommandColumn列の前に
↓のように連結列を動的に挿入してます。
dataGrid.Columns.AddAt(1,col1);
そうすると、編集とキャンセルは正常に動作するんですが、
更新をクリックすると何故かキャンセルのイベントハンドラに飛んでしまいます。
どなたかお助けを・・・。
//編集
private void EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg.EditItemIndex = e.Item.ItemIndex;
ListDataBind();
}
//更新
private void UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//アップデート処理
}
//キャンセル
private void CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg.EditItemIndex = -1;
ListDataBind();
}
private void ListDataBind()
{
dg.Columns.AddAt(1,col1);
dg.Columns.AddAt(2,col2);
dg.Columns.AddAt(3,col3);
dg.DataBind();
}
0168デフォルトの名無しさん
2005/08/12(金) 00:11:150169デフォルトの名無しさん
2005/08/12(金) 18:07:080170デフォルトの名無しさん
2005/08/12(金) 18:17:130171デフォルトの名無しさん
2005/08/12(金) 18:19:22一応、プロパティの説明を全部読んでみましたがそれらしいものはありませんでした。
しかし、もしあったら悔しいので、自分で各列の幅を記録するコードを書く前に聞いてみようと思い質問しました。
0172デフォルトの名無しさん
2005/08/12(金) 18:23:43dllというものを知り、フリーで公開されているのを使ってみようと思ったのですが、どのメソッドを使って読み込み、呼び出すかわかりません。
MSDNでもdllに関する記述はたくさんあるものの、関係のないものしか見つかりませんでした。
基礎的なサンプルソースをいただけませんか?
0173デフォルトの名無しさん
2005/08/12(金) 18:30:51DllImport
http://wisdom.sakura.ne.jp/programming/cs/cs65.html とか
http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html とかどうだろう。
0174デフォルトの名無しさん
2005/08/12(金) 18:40:33> ListViewの列の幅を、アプリを閉じても保存してくれるようなプロパティってないでしょうか。
フォームの位置とか保存してくれるプロパティも無いだろ?
ていうか"保存"は動作だからプロパティにはならないんじゃね?
>>172
ちなみにそれが.NETで書かれたDLLなら参照設定に追加するだけで自由に扱えるぞ。
0176デフォルトの名無しさん
2005/08/12(金) 20:34:45漏れはC++/Win32だとオーナーデータにしてタブ区切りのテキストファイルに吐いてたな。
結局、レジストリなりINIファイルなりに保存するのがセオリーかと。
0177デフォルトの名無しさん
2005/08/12(金) 21:09:55なるほど!こんなに簡単に使えるんですね
これは便利です、助かりました
ありがとうございました
0178171
2005/08/12(金) 21:50:11アドバイスありがとうございます。
列幅は、テキストファイルに吐き出さそうかと思ってました。
それはできるだけレジストリを使わずに、フォルダごとゴミ箱へとか、フォルダごとバックアップできるようにと考えたからですが。
そのため、テキストファイルが18個もできてしまい、更に、ユーザに簡単に開いていじれるようになってるっていうのはどうなの?という
疑問もわいてきて、どうしようか迷っていたところでした。
既存のメーラーがどのように設定を保存してるのか、フォルダを開いて探しましたがそれらしいファイルが見あたらないので
そういったソフトはやはりレジストリに保存してるのでしょうかね。フォルダの中のファイル数が少ないのですっきり見えます。
とりあえずは、テキストで作ってみて、フォルダの中のファイル数の具合や使い勝手なども考えて、どちらに保存するか
決めようかと思います。
0179デフォルトの名無しさん
2005/08/12(金) 22:11:33http://ukamen.hp.infoseek.co.jp/Programming/ConfigFile/
0180デフォルトの名無しさん
2005/08/12(金) 22:19:540181デフォルトの名無しさん
2005/08/12(金) 22:23:330182デフォルトの名無しさん
2005/08/12(金) 22:29:45素直にxml使えばいいのに……
0183171
2005/08/12(金) 22:38:12>>179
参考サイトどうもありがとうございます。
>>180
そうですが、なんだかどんどん設定ファイルが増えるなと不安になってたんです。
現在設定ファイルが、5個。今回のカラム幅は、ListViewが3つあるので、更に3つファイルを作ろうかと思ってました。
>>181
やはりtxtはまずかったでしょうかね。
>>182
xml使えば設定の管理が楽になるのでしょうか。それならぜひ使いたいです。
今のところは
http://dobon.net/vb/dotnet/programing/storeappsettings.html
にある、設定をクラスで管理して、XMLファイルに保存という方法にしようかと傾いています。
この方法で、いくつもある設定ファイルを1つにできたらうれしいなと思います。
NETはXMLを扱う機能が充実しているそうで、サンプルコードが短かったので扱いやすそうなので、一度この
方法でやってみようかと思います。
0184デフォルトの名無しさん
2005/08/12(金) 22:44:45[ListView1]
Column0Width=AAA
Column1Width=BBB
[ListView2]
Column0Width=CCC
Column1Width=DDD
[ListView3]
Column0Width=EEE
Column1Width=FFF
INIファイルを呼ぶのは一般的にはAPIコールになるけど
ググればそれなりにサンプルが出てくると思う
まあXMLベースのほうがいいだろうけど。
0185171
2005/08/12(金) 22:51:21アドバイスありがとうございます。
iniファイルの中身はそのように記述するのですね。
XMLのほうを推奨ということなので、とりあえず、XMLでいってみようと思います。
外部に書き出しとなると、txtかcsvしか扱ったことがないので、何もかもtxtで書き出してしまってました。
とにかく、ファイルが多くて不恰好なのでXMLの方法で1つにまとめられるようにやってみようかと思います。
0186デフォルトの名無しさん
2005/08/12(金) 23:12:09それはそれでありな気が
0187171
2005/08/12(金) 23:19:57それでいいなら修正しなくていいから楽でいいんですけど。
設定ファイルのクラスの設計と、書き直す箇所とか考えると、txtで書き出しまくるのが標準だったらと思うこともないですね。
フォルダ開いたらファイルだらけってどうかなと、ファイルが増えるたびにちょっぴり不安な心持になってたので。
ありならありでそのまんまにしちゃおうかなという気持ちも半分あるし、XML扱う方法やっといた方がいいかなという気持ちも半分です。
0188デフォルトの名無しさん
2005/08/12(金) 23:23:250189デフォルトの名無しさん
2005/08/12(金) 23:26:560190171
2005/08/12(金) 23:35:00皆さん、アドバイスありがとうございます。
>>188
フォルダに入れちゃえば、ごちゃごちゃファイルが多い件は解決ですね。
そうしちゃおうかな。この方法ならすっきりするし、苦労もしなくてすみますね。
今夜は横になりながら考えて明日決断しようかと思います。
>>189
SpecialFolder.LocalApplicationData をざっとぐぐったところ。
どうやら隠しフォルダなのですかね。
見えないのならよけいに好都合ですね。
フォルダの中身がすっきりする上に、表示させる設定にすれば見えちゃうのかもしれませんが
ファイルの中身をいじられにくいのもいいですね。
0191デフォルトの名無しさん
2005/08/12(金) 23:35:51ところでXmlSerializerのインスタンス作るのって何であんなに重いんだろうね?
0192デフォルトの名無しさん
2005/08/13(土) 00:43:55ListView(詳細)のオーナードローのサンプル↑をコンパイルしてみたのですが
マウスカーソルをListViewの上に持ってくると、マウスカーソルの指す領域の
ItemのSubItemが消えてしまいます。(消えるのははじめ一回だけで再描画後は消えない)
どこがおかしいのでしょうか?
0193171
2005/08/13(土) 14:23:18アドバイスありがとうございます。
なるほど、ユーザにフォルダの存在が見えなかったら、バックアップがしやすいメリットがなくなってしまいますね。
とりあえず、カラム幅の記録のみをXMLで保存してみようということにしました。
XML保存への変更が面倒だったら、Settingsフォルダを作ってそこにまとめてファイルを入れとこうと思います。
0194デフォルトの名無しさん
2005/08/13(土) 18:59:41mm.From = "[email protected]";
mm.Fromは、送信者のメールアドレスを入れますが、では送信者の名前はどのように書けばいいのでしょうか。
なんとなく、mm.From = "名前 <[email protected]>"; かなと思ったのですが
使っているメーラーの差出人のところが、名前 <[email protected]> のような記述なので。
0195194
2005/08/13(土) 19:13:04今度はOutlook Expressで確認したら、ちゃんと名前の欄に、名前 と載っていました。
mm.Name = "名前";
と書ければわかりやすいのに。と思います。
とりあえず
mm.From = "[email protected]"; の部分を、mm.From = "名前 <[email protected]>";
に書き換えようと思います。
何か、勘違いしていることなどありましたらご指摘いただけるとうれしいです。
どうもお騒がせいたしました。
0196デフォルトの名無しさん
2005/08/13(土) 19:42:19System.Web.Mail.MailMessage mm = new System.Web.Mail.MailMessage();
// 送信者
mm.From = "送信者のコメント <[email protected]>";
で合ってるよ。
e-mailのタグをベースにプロパティ名称を付与しているから、仕方がない。
0198デフォルトの名無しさん
2005/08/15(月) 18:57:22引数eに何を入れればいいのかわからず困ってます。
menuItem1_Click("基本設定", e); のように書いて呼び出そうとすると、ビルド時に
'e' は クラスまたは名前空間 'test41.Form1' に存在しません。 と、エラーが出るので
"基本設定"の部分はこれで大丈夫なのかなと思うのですが、eの部分に何を書いたらいけるでしょうか。
ちなみに"基本設定"は、メニューの[設定&S]-[基本設定&K] のテキスト部分です。
0199デフォルトの名無しさん
2005/08/15(月) 19:02:34それ以前に、普通のメソッド呼び出しすら分かってないような予感たっぷり
面倒だし、menuItem1_Click(null, null) で良いよ
0200デフォルトの名無しさん
2005/08/15(月) 19:03:230201198
2005/08/15(月) 19:11:47皆さんアドバイスありがとうございます。
menuItem1_Click(null, null);
menuItem1_Click(null, EventArgs.Empty);
menuItem1_Click("基本設定", EventArgs.Empty);
どれも試しましたが、どれも成功しました。
正直いって、なんで全部いけるのか、さっぱり理解できてませんが、今度から、既存のイベント発生のメソッドを呼び出すときは
面倒なので、null, null でいこうと思います。
0202デフォルトの名無しさん
2005/08/15(月) 19:14:49いや、199 の身でなんだが、(this, EventArgs.Empty) を薦めるよ
もしくは、menuItem1_Click の処理を別なメソッドに分けて、分けた方のメソッドを呼び出すんだ
0203デフォルトの名無しさん
2005/08/15(月) 19:16:190204198
2005/08/15(月) 19:23:50ご親切にどうもありがとうございます。
お勧めの、menuItem1_Click(this,EventArgs.Empty);
に書き換えました。
0205デフォルトの名無しさん
2005/08/15(月) 20:10:07ハンドラ直接呼出しよりPerformClickの方がいいと思われ。
0206デフォルトの名無しさん
2005/08/15(月) 20:12:480207デフォルトの名無しさん
2005/08/15(月) 20:15:070208デフォルトの名無しさん
2005/08/15(月) 20:59:100209デフォルトの名無しさん
2005/08/15(月) 21:03:340210198
2005/08/15(月) 21:10:46アドバイスありがとうございます。
menuItem1.PerformClick();
でも呼び出せました。こちらに書き換えようと思います。
0211デフォルトの名無しさん
2005/08/15(月) 23:04:270212デフォルトの名無しさん
2005/08/15(月) 23:52:240213デフォルトの名無しさん
2005/08/16(火) 09:37:48public:
virtual void func() = 0;
こういうのC#でどう書くんでしたっけ
public abstract void func();
にしたら抽象クラスに非抽象関数入れられないって蹴られたよ…
徹夜明けで参考書調べる余裕ないんだわ。頼む…
0214デフォルトの名無しさん
2005/08/16(火) 09:49:56> 抽象クラスに非抽象関数入れられない
こんなエラーメッセージをcsc.exeは吐かないので、スレが間違ってるんじゃないか?
0215デフォルトの名無しさん
2005/08/16(火) 09:59:23逆
0216デフォルトの名無しさん
2005/08/16(火) 13:02:31クラスを抽象クラスにすれば解決
0217デフォルトの名無しさん
2005/08/16(火) 13:38:27public Form1()
{
InitializeComponent();
MessageBox.Show("てすと");
}
これだと、メインフォーム生成前に表示されてしまいます。
static void Main()
{
Application.Run(new Form1());
MessageBox.Show("てすと");
}
これだと、メインフォームを閉じた後に表示されてしまいます。
protected override void WndProc(ref Message m)
{
if(m.Msg == 0x0001) //WM_CREATE
{
MessageBox.Show("てすと");
}
}
ウィンドウプロシージャで、フォームが生成されたのをキャッチして表示させようと思ったのですが
これも、メインフォーム生成前に表示されてしまいます。
WM_SHOWWINDOW(0x0018)にもしてみましたが、こちらは生成前と生成後の2回も表示されてしまいます。
どのように書いたらメインフォーム生成後にひょうじさせることができるでしょうか。
0218デフォルトの名無しさん
2005/08/16(火) 13:45:19Application.Idleイベントにハンドラ追加して、
そのイベントハンドラで追加したハンドラ削除&したい処理をする。
0219デフォルトの名無しさん
2005/08/16(火) 13:49:300220217
2005/08/16(火) 13:59:30アドバイスありがとうございます。
>一つ確認したいが、"生成"じゃなくて"表示"だよな?
すみません、表現が正確じゃなかったですね。表示です。
無事メインフォーム表示後に表示させることができました。
0221デフォルトの名無しさん
2005/08/17(水) 12:39:14ダイアログ A を表示した時点で
スクリーンセーバが起動中であっても解除し、
Aが表示されている間はスクリーンセーバを起動させない。
Aが表示されていない間は、時間経過後(画面のプロパティで設定する分)
スクリーンセーバを起動する。(ほうっておけば起動される)
[やってみたこと1]
ダイアログA表示中、タイマー(100ms周期)で座標0,0にマウス移動し、直後に移動前座標に戻る。
Point oldPos = new Point(System.Windows.Forms.Control.MousePosition.X,System.Windows.Forms.Control.MousePosition.Y);
System.Windows.Forms.Cursor.Position = new Point(0,0);
System.Windows.Forms.Cursor.Position = oldPos;
↑だと、画面のプロパティのプレビューを解除することは出来ましたが、
時間経過後(画面のプロパティで設定する分)に表示される、本当(?)の
スクリーンセーバでは解除ができません。
[やってみたこと2]
座標(0.0)から座標(100.100)にループにて順に移動させるも、やはりダメ。
うまいことやる方法、ありますでしょうか?
0222デフォルトの名無しさん
2005/08/17(水) 13:07:380223デフォルトの名無しさん
2005/08/17(水) 20:46:47例えば、以下のような場合に、<Name>の次に<Age>を入れたいのです。
<Address>
<Name/>
<Tel/>
</Adress>
<Tel>の次に入れるなら、SelectSingleNodeで<Address>を取得し、
AppendChildすれば、自動的に最後である<Tel>の後に入ります。
でも、<Name>の次に入れるには、どのようにしたら良いのでしょうか?
そもそも、Xmlでこのようなことを求めること自体、間違ってます?
0224デフォルトの名無しさん
2005/08/17(水) 21:04:070225223
2005/08/17(水) 21:09:13MSDNにおける以下の引数の意味が理解できなくて使えなかったのですが、
newChild 挿入する XmlNode 。
refChild 参照ノードである XmlNode 。 newNode は、 refNode の後に配置されます。
ここに書いてありました〜
http://dotnetjunkies.com/WebLog/sayadhashim/archive/2004/08/17/22287.aspx
0226デフォルトの名無しさん
2005/08/17(水) 21:40:42COM化したDLLをIEのOBJECTタグを使って自動インストールさせ、
DLLのメソッドを使えるようにしたいと思っています。
色々テストしてみたのですが、
作成したインストーラを別のローカルマシンで実行したところ、
きちんとインストール・DLLのメソッドも実行できました。
しかし、OBJECTタグを使ってDL→インストールしようとすると、
「インストールしますか?」というメッセージはでるのですが、
まるで何もインストールされてないように、そのDLLのメソッドを使うことができません。
レジストリのClassID登録がローカルでインストールしたときと違っているようです。
(NameSpaceとClassが登録されていません)
イメージ的にはC++のOCXみたいに使いたいのですが…
0227デフォルトの名無しさん
2005/08/17(水) 21:57:51ttp://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=31966
これかな?
0228デフォルトの名無しさん
2005/08/18(木) 20:55:28フォームの左上にあるアイコン、タスクバーに表示されるアイコンの設定はできたのですが。
アプリケーションのアイコンの設定がわからず困ってます。
参考書に、リソースビューを表示して設定する方法が書いてあるのですが、肝心のリソースビューを表示してみても
中身はまったくの空でどうしようもありません。
この参考書はC++.NETの参考書だからだめなのでしょうか。
C#でアプリケーションのアイコンの設定はどのようにすればできるでしょうか。
0229デフォルトの名無しさん
2005/08/18(木) 21:04:42VSだとプロジェクトのプロパティにあるだろ
ちなみにこのアイコンリソースをプログラム上から利用するにはWin32APIが必要になる
//あれ、/win32resが必要だったっけ? >プログラムから利用
0231デフォルトの名無しさん
2005/08/18(木) 22:35:42stringに読み込むにはどうしたら良いでしょうか?
0232デフォルトの名無しさん
2005/08/18(木) 22:45:02無ければデータの初めにBOMが無いかどうかチェック
見つからなければmeta要素でContent-Typeが定義されていないかチェック
それで見つからなければ自前で判断
文字コード判別にはこことか
ttp://www.gprj.net/
0233デフォルトの名無しさん
2005/08/18(木) 22:51:44C#の標準でコンバータが用意されていたりはしないのですね。
ありがとうございました。Microsoft最悪ですね。
0234デフォルトの名無しさん
2005/08/18(木) 23:06:510235デフォルトの名無しさん
2005/08/18(木) 23:12:29これだけ文字コードが乱立しているのだから、あってもおかしくないとオモタ。
0236デフォルトの名無しさん
2005/08/19(金) 00:39:090237デフォルトの名無しさん
2005/08/19(金) 00:51:340238デフォルトの名無しさん
2005/08/19(金) 01:46:580239デフォルトの名無しさん
2005/08/19(金) 02:11:43「日本語」って限定すれば結構高確率で出来るけど言語限定しないと難しいし。
UTF16とか完璧に判別無理なのあるし
何で未だに文字化けがあるのかと小一時間(ry
そんなん標準で用意されてもその、なんだ、困る
0240デフォルトの名無しさん
2005/08/19(金) 03:41:03今は組み込まれたけど以前はなかった。
0241デフォルトの名無しさん
2005/08/19(金) 08:14:09てかそれってまさか日本語だけとか言うなよ・・・
0242デフォルトの名無しさん
2005/08/19(金) 08:49:54メソッドとか探してみたのですが見つからなかったので困っております
(最悪、クリップボード経由で貼り付ける方法もあるのですが、できれば普通にやりたいです)
0243デフォルトの名無しさん
2005/08/19(金) 10:29:060244デフォルトの名無しさん
2005/08/19(金) 12:43:08ファイル バージョン・作成日時・サイズ がチップに表示されますが
ファイル バージョンが、1.0.2056.38066
と長々しいので、1.02にしたいのですが、そういった設定はどのようにすればいいのでしょうか。
後、皆さんバージョンはどのようにつけているのでしょうか。
これはだいぶ機能を追加したからバージョンを1アップしようとか、これはちょっとした改変だから0.5だけアップしとこうとか
そういったどんぶり勘定でバージョンの数字をアップしているのでしょうか。
0245デフォルトの名無しさん
2005/08/19(金) 13:11:08AssemblyInfo.csの[assembly: AssemblyVersion("1.0.*")]
0247デフォルトの名無しさん
NGNGあるけど、探せなかった。
0248243
2005/08/19(金) 14:15:43バルーンツールチップ
http://www.codeproject.com/cs/miscctrl/notifyiconex.asp
0249デフォルトの名無しさん
2005/08/19(金) 15:52:43つ[MLang]
Introduction to MLang
ttp://msdn.microsoft.com/workshop/misc/mlang/overview/overview.asp
ここの"Code Page Detection"あたりかな。
0250デフォルトの名無しさん
2005/08/19(金) 16:10:59無難に2000,XPのみ対応を謳っておいたほうがいいでしょうか。
0251デフォルトの名無しさん
2005/08/19(金) 16:16:1398でも動くが一部機能しない。
0253デフォルトの名無しさん
2005/08/19(金) 16:31:520254デフォルトの名無しさん
2005/08/19(金) 16:45:56最新の.NET Framework2.0Beta版をダウンしたとしてももちろん動きますよね。
0255デフォルトの名無しさん
2005/08/19(金) 16:50:182.0で1.1のアプリも一応うごく
0257デフォルトの名無しさん
2005/08/19(金) 18:15:319xは動くかもしれないとだけでも書いておいてあげようよ。
まあ流石にWin95にFrameworkはインストールできないけど。
0258254
2005/08/19(金) 19:33:06そのように書いておけば、98もカバーできたようなきにはなりますね。
そのうように書いとこうと思います。
どうもアドバイスありがとうございます。
0259デフォルトの名無しさん
2005/08/20(土) 12:43:14クリップボード経由か、そうでなきゃRtfを直に操作するしかないんじゃないかな
0260デフォルトの名無しさん
2005/08/20(土) 16:13:07Thu, 2 Jun 2005 18:22:12 +0900
のようなメールで使われている形式をパースするにはどうするのが簡単でしょうか?
+0900のような形式が書式指定に無いのですが。
入力文字列を変換して 「 Thu, 2 Jun 2005 18:22:12 +09:00 」< コロンを入れた
でParseするのって適当ですかね?
0261デフォルトの名無しさん
2005/08/20(土) 18:31:50秒まで(Thu, 2 Jun 2005 18:22:12)でParseしてから時差を手計算、ということになるかなぁ。
0262デフォルトの名無しさん
2005/08/20(土) 18:39:38こういう表記考えた奴アホでしょ。
「2005/08/20 18:30:00」とかでいいじゃん
0263デフォルトの名無しさん
2005/08/20(土) 19:02:500264デフォルトの名無しさん
2005/08/20(土) 19:10:37はげしく同意。字句解析する身にもなってみろ!!
0265デフォルトの名無しさん
2005/08/20(土) 19:42:43大体の事はMSDN見ながらやってれば何とかなるんですが、
イベント、マルチスレッド、マーシャリング辺りに重点を置いた書籍があるなら、
手元に置いておきたいんですが。
0266デフォルトの名無しさん
2005/08/20(土) 22:21:14含まれていますか?もし含まれていなければ、これは自分で作るしか
ありませんか?
boost::regex_replace→ttp://www.boost.org/libs/regex/doc/regex_replace.html
0267デフォルトの名無しさん
2005/08/20(土) 22:30:49ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtextregularexpressionsregexclassreplacetopic.asp
0268デフォルトの名無しさん
2005/08/20(土) 22:33:180269デフォルトの名無しさん
2005/08/20(土) 22:40:02いや、それだと国によって解釈がまちまちになってしまうし…
0270デフォルトの名無しさん
2005/08/20(土) 22:40:31Del厨をいじめないように。
0271デフォルトの名無しさん
2005/08/20(土) 22:40:480272デフォルトの名無しさん
2005/08/20(土) 22:44:55.net 2.0だとそのままいけるのかぁ
.net 1.1だとコロン入れればzzzだかの書式に当てはまるので普通にパースできるようです。
0273266
2005/08/20(土) 22:50:46ややこしくて申し訳ありませんが、boost::regex_replace()はreplaceと
言うよりもむしろformatterなのです。というわけで探していたものが
見つかりました。
System.Text.RegularExpressions.MatchのResultメソッドでした。
ご協力ありがとうございました。
0274デフォルトの名無しさん
2005/08/20(土) 22:52:26DateTime.Parse("Thu, 2 Jun 2005 18:22:12 +09:00");
は.NET 1.0/1.1では
2005/06/02 9:00:12
と解釈されるはず。時間・分が後ろの+HH:mmに支配される。
0275デフォルトの名無しさん
2005/08/20(土) 22:57:40EndInvokeの後に書いた処理と
AsyncCallbackで行わせる処理って実行順序は保障されない。でいいんですかね?
//...コード例
private void _processX(){
ThreadStart ts = new ThreadStart(_method);
ts.EndInvoke( ts.BeginInvoke(new AsyncCallback(_callback), null) );
Console.WriteLine("main thread");// A
}
//...
private void _method(){}
private void _callback(IAsyncResult r){
//...........
Console.WriteLine("thread pool thread");// B
}
とやると AとBの実行順序は保障されないのが仕様?
(自分で非同期処理関連実装しないといけなくてIAsyncResultを実装したクラスを作ろうとしてふと疑問に
0276デフォルトの名無しさん
2005/08/20(土) 23:22:37EndInvokeが待機するのはそれでいう_methodで実行される部分。
0277デフォルトの名無しさん
2005/08/21(日) 01:44:14回答ありがとうございます。
結局、
クリップボードの中身を変数(?)に退避
↓
クリップボードに画像ファイルを読み込み
↓
リッチテキストボックスにペースト
↓
変数(?)に退避した中身をクリップボードに戻す
という方法を採用することにしました。
0278デフォルトの名無しさん
2005/08/21(日) 01:54:11ちょうど同じことやってる人がいた(^^)
RSS2.0で普通に使われてるのに困ったもんだねぇ。ということで>>274の
内容を踏まえて書いてみた。間違ってたら指摘お願い。
date = System.DateTime.ParseExact(strdate, "ddd, d MMM yyyy HH:mm:ss zzz", System.Globalization.DateTimeFormatInfo.InvariantInfo);
0279デフォルトの名無しさん
2005/08/21(日) 02:46:590280デフォルトの名無しさん
2005/08/21(日) 02:51:050281デフォルトの名無しさん
2005/08/21(日) 02:55:420282デフォルトの名無しさん
2005/08/21(日) 03:01:14これを見てレジストリを読み書きしようとしたんですけれども
VS2005だとRegistryクラスのCurrentUserやLocalMachineメンバがヌルリです
VS2002では問題なく動いているので .NET 2.0 のバグなのでしょうか
0283デフォルトの名無しさん
2005/08/21(日) 15:33:150284デフォルトの名無しさん
2005/08/21(日) 20:58:41AppendText()では常に最後に代入されてしまいます。
現在のカーソル位置に代入したい場合、どうすればよいのでしょうか?
0285デフォルトの名無しさん
2005/08/21(日) 21:02:220286デフォルトの名無しさん
2005/08/21(日) 21:02:350287デフォルトの名無しさん
2005/08/21(日) 23:28:20どうしたらよいでしょうか?
System.String replaced = System.Text.RegularExpressions.Regex.Replace(str, "[\\p{Zl}]", "", System.Text.RegularExpressions.RegexOptions.Multiline);
ではダメでした。
0288デフォルトの名無しさん
2005/08/21(日) 23:45:470289デフォルトの名無しさん
2005/08/22(月) 00:53:42改行を持ってたんですね…
0290デフォルトの名無しさん
2005/08/22(月) 00:57:03たまたまStringに入ってた文字列の改行が\r\nだっただけだろ。
Windowsだと改行に\r\n使ってる場合が多いからな。
ただWebとかから拾ってきたファイルとかだと違う改行もありえる。
0291デフォルトの名無しさん
2005/08/22(月) 01:05:09と言う事は、一般的にSystem.Stringの改行を削除するには、改行と
解釈されうる全てのシーケンスを削除する必要があるということでしょうか。
0292デフォルトの名無しさん
2005/08/22(月) 01:10:530293デフォルトの名無しさん
2005/08/22(月) 01:14:18ではstr.Replace("\n", "").Replace("\r", "")ですね。でもかっこ悪い…
0294デフォルトの名無しさん
2005/08/22(月) 01:18:30Regex.Replace(str, "[\r\n]", "");
0295デフォルトの名無しさん
2005/08/22(月) 01:22:27それでいきます。ありがとうございました。
0296デフォルトの名無しさん
2005/08/22(月) 15:22:33出来ました!
ありがとうございました!
0297デフォルトの名無しさん
2005/08/22(月) 16:15:55何か良い方法は無いでしょうか?
0298デフォルトの名無しさん
2005/08/22(月) 16:26:50System.Runtime.InteropServices.Marshalクラスの
AllocHGlobal/FreeHGlobal/StructureToPtr/PtrToStructure/Copyメソッド。
素直なのは、その構造体にToBytesメソッドでも作って自前で実装。
0299デフォルトの名無しさん
2005/08/22(月) 16:37:090301デフォルトの名無しさん
2005/08/22(月) 22:44:28MSDNのインストールウィザードが変なタイミングで出るようになってしまいました。
WebからMSDNのオンラインを参照したり、
Windowsサービスのインストーラプロジェクトを作ってビルドの際などに、
確実にダイアログが出て、プログレスバーが進行していきます。
どうせ、そのまま続けてもエラーが出るので、キャンセルするのですが、
キャンセルすると、何事も無かったように動作します。
何か、対処法があるでしょうか?よろしくお願いします。
0302デフォルトの名無しさん
2005/08/22(月) 22:45:270303デフォルトの名無しさん
2005/08/22(月) 22:55:38やっぱり、そうなりますよね……
0304デフォルトの名無しさん
2005/08/22(月) 23:00:54その部分だけの修復だからすぐ終わるはず。
>>301 は違うようだが、
VSなのにOfficeが暴走したりするのがわけわかんないんところ。
0305デフォルトの名無しさん
2005/08/22(月) 23:33:050306デフォルトの名無しさん
2005/08/22(月) 23:37:090307デフォルトの名無しさん
2005/08/22(月) 23:40:020308デフォルトの名無しさん
2005/08/22(月) 23:45:52両方使えこなしたらええやん
0309デフォルトの名無しさん
2005/08/22(月) 23:46:430310デフォルトの名無しさん
2005/08/22(月) 23:56:55廃れたら捨てればいいだけ
無能な人間は一言語しか出来ないのでそれが廃れると困る
0311デフォルトの名無しさん
2005/08/22(月) 23:58:41ほい。
C#: Is the Party Over?
ttp://jdj.sys-con.com/read/117741_p.htm
0312デフォルトの名無しさん
2005/08/23(火) 00:18:10もしかしてjv16 Power Toolsでレジストリを掃除しなかった?
俺は前にそれ2回やって、2回とも君と同じ症状が出るようになり、二度とjv16を
使わない決心をした。修復インストールをしても直らず、全部削除してからもう
一度最初から入れ直した。
多分一つか二つのレジストリキーの問題だろうと思うんだけど・・・
0313デフォルトの名無しさん
2005/08/23(火) 00:26:41ゲームとか作るのには向いていないでしょうか?
0314デフォルトの名無しさん
2005/08/23(火) 00:31:360315デフォルトの名無しさん
2005/08/23(火) 00:36:52DirectX使うならいいけど
ManagedDirectX使うならフツーのDirectX使った方が・・・
というわけであんまり向いてないと思うよ
0316デフォルトの名無しさん
2005/08/23(火) 00:37:22パフォーマンスは悪くない。ただし、初回起動が遅い。
ゲームの場合、Managed DirectX を利用する事になるが、
ユーザにインストール方法を説明するのが面倒かも。
ただ、こういった環境面を考慮しないなら生産性は高い。
0317デフォルトの名無しさん
2005/08/23(火) 00:58:25どっかテンポラリディレクトリに隠してあるのけ?
0318デフォルトの名無しさん
2005/08/23(火) 01:02:52違う。メモリに入れている。だからメモリも馬鹿食いする。
0319デフォルトの名無しさん
2005/08/23(火) 01:03:34.NET Frameworkの起動に費やしてるだけだ。
だいたいネイティブコードへのコンパイルは実行中に行われるんであって起動時のみに行われるんではない。
0320デフォルトの名無しさん
2005/08/23(火) 01:09:58プロパティが存在しないContext-Encording;gzip, deflateを
指定し、gzip圧縮をしていないリクエストデータをサーバに送ると
タイムアウトはするものの、CPUの使用率が異常に跳ね上がります。
同じ症状に悩まされたことある人いませんか?
0321デフォルトの名無しさん
2005/08/23(火) 01:11:32ランタイムが異常に肥大しているので、それの読み込みに時間がかかる。
二回目以降はDLL保持してたり、ディスクキャッシュが効いてたりで早い。
0322デフォルトの名無しさん
2005/08/23(火) 01:11:400323デフォルトの名無しさん
2005/08/23(火) 07:58:12そもそもgzipとdeflateを両方同時に指定するのは間違ってないか
0324デフォルトの名無しさん
2005/08/23(火) 11:02:28Collection<T> が消えているのですが、どこへ行ってしまったのでしょうか。
0325デフォルトの名無しさん
2005/08/23(火) 11:11:510326デフォルトの名無しさん
2005/08/23(火) 11:15:56ありがとう。発見しました。
System.Collections.ObjectModel.Collection<T>
0327313
2005/08/23(火) 13:13:36大人しくC++にした方が無難ですかね?
0328デフォルトの名無しさん
2005/08/23(火) 13:27:19ていうか上で言われてるのはインストールの面倒さが主だから。読んでる?
0329デフォルトの名無しさん
2005/08/23(火) 14:11:400330デフォルトの名無しさん
2005/08/23(火) 14:15:200331デフォルトの名無しさん
2005/08/23(火) 17:43:07実数を用いて条件分岐したい場合は、else ifしかないんですか?
というかcではそれがあたりまえなの?
0332デフォルトの名無しさん
2005/08/23(火) 17:50:40なんでfloat, double, decimalは駄目なんだろうな
0333デフォルトの名無しさん
2005/08/23(火) 17:56:49そうレスか
ということはひょっとしてVBよりショボチンってことかい
0334デフォルトの名無しさん
2005/08/23(火) 18:07:33フォールスルーの機能が無いのにいちいちbreakを書かされるのは、Cの流れを汲んでることの弊害だと思う。
話を戻して、
>というかcではそれがあたりまえなの?
これは俺にはわからんな
0335デフォルトの名無しさん
2005/08/23(火) 18:12:27漏れも、いちいちbreak;はめんどくさいのでgoto使ってみたが、
意外ときれいに書けた。 ここ以外goto使ってないがな。
0336デフォルトの名無しさん
2005/08/23(火) 18:18:59できるだけテーブルジャンプにしたいから、整数じゃないとまずい
むしろ string がなんで使えるのかが不思議
>>335
break を外に出る goto へ単純に置換するだけなら、それは違うんじゃないか?
0337デフォルトの名無しさん
2005/08/23(火) 18:20:04Cでの意図は整数・列挙型ならジャンプテーブルの最適化を狙うためだったんじゃないかと思う。
その仕様がC#にも引き継がれたってことでしょ。
0338デフォルトの名無しさん
2005/08/23(火) 18:29:55case:内の違う処理後に共通処理部分case:の一つに飛ぶんだが。
0339デフォルトの名無しさん
2005/08/23(火) 18:31:28この記事には納得した
0340デフォルトの名無しさん
2005/08/23(火) 19:15:180341デフォルトの名無しさん
2005/08/23(火) 19:20:37インストールの途中でCPUがフル稼働して固まります。
修復しても同じでした。
他に考えられる原因はありますか?
0342デフォルトの名無しさん
2005/08/23(火) 19:23:160343デフォルトの名無しさん
2005/08/23(火) 19:42:220344デフォルトの名無しさん
2005/08/23(火) 19:58:16VSを削除してインストール、それでも駄目なら、HDD初期化してOSからインストール。
たまーにやるけど、HDDが綺麗になっていい。
VSでおかしくなった事は無いけどね。
0345デフォルトの名無しさん
2005/08/23(火) 20:01:43ちゃんと立ち上がってフォームが表示され、ちゃんと動きました。
XPも2000も初期状態では皆、.NETFrameworkが入ってないと思っていたのですが
最近のPCは入れてくれているものもあるのですね。
こういったPCが増えてくれれば、ユーザに.NETFrameworkのインストールの案内とかの手間が省けて助かりますね。
0346デフォルトの名無しさん
2005/08/23(火) 20:17:280347345
2005/08/23(火) 20:25:06それもそうだね。
.NETFrameworkのインストールという手間さえなければ、なかなか生産性も高くていい言語だと思うんだけどなあ。
0348デフォルトの名無しさん
2005/08/23(火) 20:30:390349デフォルトの名無しさん
2005/08/23(火) 20:35:54MDXは再配布してやらにゃならん。
ここがC#でゲームを作る場合の鬼門なんだよな。作ってるけど。
0350デフォルトの名無しさん
2005/08/23(火) 20:40:00勝手に Managed DirectX もインストールされたと思ったんだけど
俺の記憶違い?
0351デフォルトの名無しさん
2005/08/23(火) 20:40:57MDXは添付していいものなのか?
0352デフォルトの名無しさん
2005/08/23(火) 20:42:39俺も昔そう思い込んでたのだが、残念ながら違う。
やっぱそう思うのが自然だよなあ。MSは変だよ。
0354デフォルトの名無しさん
NGNGこの人は、どうでもいいような事を非常に重要なことのように書いたり、
センセーショナルに煽ったりするのが芸風だね。
0355デフォルトの名無しさん
2005/08/23(火) 20:47:06いや結構好きな人だけどね。
0356デフォルトの名無しさん
2005/08/23(火) 20:53:18.NET 1.0 を入れてから DX 9 を入れれば大丈夫
って書いたけれど特に不具合の報告なかったぞ
0357デフォルトの名無しさん
2005/08/23(火) 20:54:49・たまたま入っていた
・動かないのですぐゴミ箱へ
さあどれだ。
0358デフォルトの名無しさん
2005/08/23(火) 21:03:46OSは2000、昔、DX8で、DX9にして今DX9の最新を入れているが、意識してMDXを
インストールした記憶が無い、しかし普通にMDXを使用している。 (知らずに入れたかもしれない・・
この場合、古いMDXを使用している可能性もあるのだろうか? VS.NET 2003を使用。
普通に使っていたので気にもしなかった。 MDXにバージョンがあるのだろうか?
0359デフォルトの名無しさん
2005/08/23(火) 21:04:25遅レスだけど…実数型で==なんて比較(caseで指定する方法ね)をそもそもしてはダメポ。
だからfloatやdoubleはだめ。
decimalはまだいいけど・・・それでも無理にサポートする必要もないな
>>336
stringはimmutableなので、比較が高速に出来る場合があるからじゃない?
最適化次第だけど
0360デフォルトの名無しさん
2005/08/23(火) 21:06:27MDXを使った代表的アプリとしてNASA制作のWorld Windがある。
それのインストールプロセスを調べてみれば?
0361デフォルトの名無しさん
2005/08/23(火) 21:07:43http://pc8.2ch.net/test/read.cgi/tech/1103998649/l50
MDXについてはこのあたりを一応参考に。
ttp://www.dwahan.net/nyaruru/getreadyformdx/runtime.html
0362デフォルトの名無しさん
2005/08/23(火) 21:26:52参考になりました、有難うございます。
0363デフォルトの名無しさん
2005/08/24(水) 01:07:47直接流し込んだら遅いのなんのって酷過ぎだよ。
10kで1秒ちょっとうんまぁまぁ
3M読み込みやってみたら10分は無反応、どうなんてるんだ?
<\cf2 td\cf1 >\cf3 test\cf1 <\cf4 /\cf2 td\cf1 >\par
こんなので3Mだよ?それで、javaより読み込み速度遅いわ、
糞クラス多すぎて本当に困るよ。
みんなRichTexeBoxは使わないの?困らないの?
0364デフォルトの名無しさん
2005/08/24(水) 03:31:35MSはこんなのをWinのデフォにしようとしているんでしょ?
0365デフォルトの名無しさん
2005/08/24(水) 05:26:37最初からJava並みだと分かってたから、期待はしてなかった。
Javaよりも当然Windowsとの相性はずっといいけどな。
こんなんデフォにされたら、CPUをいくら速くしてももっさりして
溜まらんわ。絶対反対。
0366デフォルトの名無しさん
2005/08/24(水) 09:31:41技術者なら技術的な話をしようか。
実行ファイルを読み込むほうが全体としては時間かかるので、実際のところ
大体においてJITは誤差程度のはずなんだが。ngenやってどの程度速くなるか
確かめてみ。
大規模なライブラリにおいては確かに結構きくけどな。でもngenがあるわけで
解決策があるのにこれでも問題だというのはなぜ?
あ、それと、WinFormで遅いっていってるのは別の理由であって、JITの責任では
ないが?
実際のところJITとネイティブコンパイルを比較すれば最適化がひっくり返る手前
まで来ている時代だと思う(プロファイル最適化がVS2005ででた段階でもうこれ
以上望めんし)し、それ以上に他の要求を実現するために妥当な処置だと思う
けどな>JIT化
0367デフォルトの名無しさん
2005/08/24(水) 10:59:53そうか。ま、2005のC#が出てから使ってみて考えるわ。
2003のC#はもっさりしてて、ちょっと大きなプログラムを組むと、ユーザーが
ストレスを感じる。CPUをダウングレードしたような感覚に襲われる。
0368デフォルトの名無しさん
2005/08/24(水) 13:22:320369デフォルトの名無しさん
2005/08/24(水) 21:04:57起動速度が劇的に遅くなったよ
0370デフォルトの名無しさん
2005/08/24(水) 21:08:03まあWinFormが全体に遅いのは事実だけど。
0371デフォルトの名無しさん
2005/08/24(水) 22:02:09定説
0372デフォルトの名無しさん
2005/08/24(水) 22:55:460373デフォルトの名無しさん
2005/08/24(水) 23:03:280374デフォルトの名無しさん
2005/08/24(水) 23:10:03使い方による
0375デフォルトの名無しさん
2005/08/24(水) 23:11:030376デフォルトの名無しさん
2005/08/24(水) 23:12:28ワロス
0377デフォルトの名無しさん
2005/08/24(水) 23:16:16Java のは ArrayList と同じ感覚で使えるのに
0378デフォルトの名無しさん
2005/08/24(水) 23:20:130379デフォルトの名無しさん
2005/08/24(水) 23:45:330380デフォルトの名無しさん
2005/08/25(木) 00:07:000381デフォルトの名無しさん
2005/08/25(木) 01:12:15LinkedListがインデクサなんか実装したら、構造とか頭に入れてない
奴が使いまくって遅くなる可能性あり、というfail safe。ということで実装
するべきではないと思うが。
0382デフォルトの名無しさん
2005/08/25(木) 01:34:080383デフォルトの名無しさん
2005/08/25(木) 02:34:360384デフォルトの名無しさん
2005/08/25(木) 07:21:19自分は学生の頃に買った初期のVS.NETアカデミックで開発しております。
VS.NET2005を購入しようか検討しているので教えて下さい。
0385デフォルトの名無しさん
2005/08/25(木) 07:53:28V.V.V. ------------- Vank V.s. Vipperからのお願い。
VIPPERは韓国政府公認のサイバーテロリストVANKと
「日本海呼称問題」を巡り、臨戦体制に入っております。
現在、VIPPERは連中のメールボムのような抗議メールを周到し、
山のような抗議メール(嫌がらせ)を送るために、
VANK関連サイトのメールアドレスを収集しております。
わずかな情報でも構いません、重複でも構いません。
調べて分かったものがあったら、どんどん情報を下さい。
http://yy16.kakiko.com/test/read.cgi/vippervsvanker/1124879949/
御協力、お願い致します。
0386デフォルトの名無しさん
2005/08/25(木) 08:05:02まあそりゃ多少差はあるだろうが。
それよりもライブラリの追加変更の方がよほど重要。
VS2005ベータを試してみれば。
.NET 2.0のパフォーマンスについては正式版がでてないんだから評価するのは意味無い。
0387デフォルトの名無しさん
2005/08/25(木) 11:41:59入力したファイル名が正常(使えない文字を使っていないか)かをチェックする方法が分かりません。
どうすればファイル名のチェックを行えますか?
メソッドを探したけど見つかりませんでした。
0388デフォルトの名無しさん
2005/08/25(木) 11:51:02フィールド定義されてるよ。
System.IO.Path.InvalidPathChars
0389デフォルトの名無しさん
2005/08/25(木) 11:57:10ありがとう御座います。
0390387
2005/08/25(木) 12:04:52{
char ch;
for(int i = 0; i < filename.Length; i++)
{
ch = Convert.ToChar(filename.Substring(i, 1));
for(int j = 0; j < Path.InvalidPathChars.GetLength(); j++)
{
if(ch == Path.InvalidPathChars[j])
{
return false;
}
}
}
return true;
}
こんな感じで使えば良いですかね?
0391デフォルトの名無しさん
2005/08/25(木) 12:19:54String.IndexOfAny 使えば?
あと
: * ? \ / もチェックしなきゃなんないよ。
InvalidPathCharsには含まれないがファイル名には使えない。
//GetInvalidFileNameCharsには含まれる。
0392デフォルトの名無しさん
NGNGCのstrspn()に相当する関数ってないのかな?
0393デフォルトの名無しさん
2005/08/25(木) 12:30:53ありがとう御座います。
試してみます。
0394デフォルトの名無しさん
2005/08/25(木) 12:37:56> //GetInvalidFileNameCharsには含まれる。
それは2.0では・・・?
0395デフォルトの名無しさん
2005/08/25(木) 12:38:22だからコメントアウトw
0396デフォルトの名無しさん
2005/08/26(金) 21:04:19ファイルをいくつか読み込んで吐き出す際SQL使いたいんだけど
クライアントにアクセス入ってない場合動くのかな
0397デフォルトの名無しさん
2005/08/26(金) 21:17:57Access入ってなくてもmdb操作できるよ。
0398396
2005/08/27(土) 02:49:46ありがと
ウィザード使ってコネクション作ってソース見たら絶対パスで書いてあったんだけど
インストーラにして配布したら相対パスになる??
ぐぐってみたけど探し方が悪いのかそこらへん書いてる資料見つからない・・・
0399デフォルトの名無しさん
2005/08/27(土) 08:58:44// 直接関係ないけど、mdb内のリンクテーブルとかも絶対パスなのよね。。。
0400396
2005/08/27(土) 09:50:45pgの下位フォルダ読んで探しに行くようにしなきゃ駄目かな・・・
0401C ◆.6Hqkk7dyk
2005/08/27(土) 14:03:49C#での印刷機能の実現方法が分かりません。
できればプレビューとページ設定も追加したいのですが……
どうやればC#で印刷機能などを実現できますか?
印刷の対象はリッチテキストボックスです。
開発環境はVisualStudio.NET2002です。
0402デフォルトの名無しさん
2005/08/27(土) 14:23:51まずはここを読もう。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbconPrintSupport.asp
0403C ◆.6Hqkk7dyk
2005/08/27(土) 14:27:460404デフォルトの名無しさん
2005/08/28(日) 04:03:56[既存の項目追加]で[リンクとして追加]を実行するしか方法がないのでしょうか?
0405デフォルトの名無しさん
2005/08/28(日) 12:38:32引数なしの場合はこんなコードでうまくいきました。
Activator.CreateInstance(typeof(Klass), true);
引数がある場合はこんな感じかなあ、と思ったのですが
typeof(Klass).InvokeMember(null, BindingFlags.CreateInstance | BindingFlags.NonPublic, null, null, new object[] { 100 });
例外が出てしまいます。
System.MissingMethodException: 型 'Klass' にコンストラクタが見つかりませんでした。
ご存知の方おられましたらご教示ください。
0406デフォルトの名無しさん
2005/08/28(日) 12:46:53InvokeMemberよりも一旦GetConstructorでConstructorInfoを取得する方をお薦め。
0407デフォルトの名無しさん
2005/08/28(日) 13:11:00BindingFlags.CreateInstance | BindingFlags.NonPublic | BindingFlags.Instance じゃね?
でも>>406に同意。
0408デフォルトの名無しさん
2005/08/28(日) 13:12:04> | BindingFlags.Instance
って書いてあったか。スマソ
0409デフォルトの名無しさん
2005/08/28(日) 13:52:35回答ありがとうございます。
ひとまず BindingFlags.Instance を追加して動作することを確認しました。
ConstructorInfo についても試してみます。
0410デフォルトの名無しさん
2005/08/28(日) 15:29:49タイトルバーをドラッグしてウィンドウを移動している間は、処理を止める、
というような事をしたいのですが、タイトルバーを押下するのに対応するイベントは在るのでしょうか?
非クライアント領域に対する操作に関するイベントを探しているのですが、見つかりません。
WM_ENTERSIZEMOVEメッセージを処理するコールバックメソッドを用意しないとだめなのでしょうか?
VC#.net2003を使ってます。よろしくお願いします。
0411デフォルトの名無しさん
2005/08/28(日) 15:42:52ウィンドウ移動はFormのMoveイベントで取れるよ。
0412デフォルトの名無しさん
2005/08/28(日) 15:48:11いや、Moveイベントでは移動開始/終了判定がめんどくさい。
WM_ENTERSIZEMOVE / WM_EXITSIZEMOVEを自前で捕らえた方が楽かと。
0413デフォルトの名無しさん
2005/08/28(日) 18:41:01今試して見たところ、移動に関してはMoveイベントで取れるのがわかりました
しかしタイトルバー押下したあとマウスを動かさなければ、
イベントが発生せず望み通りの動きをしてくれません。
些細な事なのですが、ゲーム用途なので数フレームでも無駄に進んでしまうと都合が悪く、
>>412さんが仰られるように自前で捕らえるしかないようです。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclasswndproctopic.asp
こんな感じでやればいいんですよね?
0414デフォルトの名無しさん
2005/08/29(月) 01:50:390415デフォルトの名無しさん
2005/08/29(月) 03:27:070416デフォルトの名無しさん
2005/08/29(月) 10:53:34("-12345.6789"とか、指数形式とかはムシ)判断したいのですが
double.TryParseや正規表現だと、書式は判断できるんですが
何桁以内か、というのを調べる方法が分かりません。
いまはとりあえず上記の書式チェックをした後ピリオドでSplit
して調べてますが、一発で出来る方法ってありますか?
0417デフォルトの名無しさん
2005/08/29(月) 10:56:05正規表現で()を巧く使えばできるだろ
0418デフォルトの名無しさん
2005/08/29(月) 11:05:05[1-9][0-9]{0,4}\.[1-9][0-9]{0,3}
とすればできるはずだけど
0419デフォルトの名無しさん
2005/08/29(月) 11:58:450.0434とか拾えないぜ
あと必ず小数点が含まれているのかどうかとか、>416は条件を出し切れてないね
0420デフォルトの名無しさん
2005/08/29(月) 14:59:38うそ?
0422デフォルトの名無しさん
2005/08/29(月) 15:32:270423414
2005/08/29(月) 15:45:53の定義がありません。
とでますが……
0424デフォルトの名無しさん
2005/08/29(月) 16:09:140425デフォルトの名無しさん
2005/08/29(月) 16:18:330426デフォルトの名無しさん
2005/08/29(月) 16:26:51で、メニューってのはMainMenu? MenuItem?
MainMenu、つまりタイトルバーの下部分なら、フォームのWndProcで、WM_NCRBUTTONDOWN/UP/DBLCLKでwParamがHTMENUの時。
MenuItem、開いた後のメニューテーブルなら、同じくフォームのWndProcで、WM_MENURBUTTONUP辺りかな。
0428デフォルトの名無しさん
2005/08/29(月) 18:25:03確かに・・・orz
[1-9][0-9]{0,4}(\.[0-9]{0.3}[1-9])?
これだとどうだろうか
0429デフォルトの名無しさん
2005/08/29(月) 18:32:42それだと0.なんとかが拾えない。
整数部を([1-9][0-9]{0,4}|0)にしないと。
あと1.0という表現を認めるとなると小数部も変わってくるな。まあ[1-9]の代わりに,の後ろを1増やすだけだが。
0430デフォルトの名無しさん
2005/08/29(月) 18:42:35C#の2005版でいつごろでるの?
0431デフォルトの名無しさん
2005/08/29(月) 18:43:33確か11月
0432デフォルトの名無しさん
2005/08/29(月) 18:48:50それじゃ今2003を買うのはハズレということか?
2003を安く買うのもありかな?
0433デフォルトの名無しさん
2005/08/29(月) 19:34:58ネットで検索とかしても分かりませんでした。
どうやれば印刷できるのですか?
0434デフォルトの名無しさん
2005/08/29(月) 19:41:25ttp://www.google.com/search?hl=ja&c2coff=1&q=richtextbox+%E5%8D%B0%E5%88%B7&lr=lang_ja
0435デフォルトの名無しさん
2005/08/29(月) 19:54:26まだまだ初心者なもので・・・
0436デフォルトの名無しさん
2005/08/29(月) 20:46:05個人的には気持ち悪いのだが。
0437デフォルトの名無しさん
2005/08/29(月) 20:50:16別にいい。。。
0438デフォルトの名無しさん
2005/08/29(月) 21:02:57そこで例外投げないとクラスができてしまうわけだが。
0439デフォルトの名無しさん
2005/08/29(月) 21:05:350440デフォルトの名無しさん
2005/08/29(月) 21:07:35コンストラクタの中で例外発生させても安全なの?
C++だと御法度だったよね。
0441デフォルトの名無しさん
2005/08/29(月) 21:13:02俺もそう思ってなるべくやらないようにしてたが、
いかんせん、間違った引数渡されたおかげで
どうしても正常なクラスを作れない場合があるし。
それにMSのクラスの中にもコンストラクタから例外投げてるやつもいるし問題ないべ。
0442デフォルトの名無しさん
2005/08/29(月) 21:22:37Managedのありがたさを全身で受け取れ。
0443デフォルトの名無しさん
2005/08/29(月) 21:23:05ども、ありがとん。
0444デフォルトの名無しさん
2005/08/29(月) 21:38:58C++でデストラクタでは例外投げちゃ駄目ってのは、よく聞く話。
コンストラクタで例外投げるのはC++、C#、Java共にOK。
0445デフォルトの名無しさん
2005/08/29(月) 21:47:21最近はfunction-try-blockをちゃんとサポートしているコンパイラも増えてきているから、
ご法度と言うほどでもなくなっているように思う。
0446デフォルトの名無しさん
2005/08/29(月) 23:06:08Graphics.ScaleTransform(float, float) ;
で縮小した画像が、イメージが劣化して醜くなってしまいます。
Windowsのペイントで同じ比率(50%)に縮小てみたところ、
ScaleTransformで縮小したものよりはきれいでした。
できるだけ綺麗なまま縮小したいのですが、
分かる方いらっしゃいますか?
0447デフォルトの名無しさん
2005/08/29(月) 23:08:150448デフォルトの名無しさん
2005/08/29(月) 23:38:12ありがとうございます。
とりあえず
grf.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
とやって、なんとか綺麗な画像を得られました。
Modeにも色々あるのですね。これから試してみます。
0449デフォルトの名無しさん
2005/08/30(火) 07:39:02それをちょっと改造してプログラムを作った場合、
そのプログラムの著作権ってどうなるの?
アセンブリ情報のとこの著作権の欄に何て書こうか迷っているんだが
0450デフォルトの名無しさん
2005/08/30(火) 07:45:53気にしてるときりがないがw
向こうが要求してるところを除いて、特に書く必要はないと思ふ。
ヘルプとかリドミとかに参考サイトとしてURL挙げとけば良いんじゃないかな。
0451デフォルトの名無しさん
2005/08/30(火) 11:31:350452デフォルトの名無しさん
2005/08/30(火) 14:31:50コピペの量によるんじゃないか、APIの使い方程度のサンプルだったら問題ないと思う。
オリジナル性が認められる内容の引用なら著作権が発生するからそのサイトの方針しだい。
フリーウェアやオプソならその配布ルールに従う。
余談だけど、以前ソフトの著作権の裁判でここが類似していると指摘したところがSDK/DDKの
サンプルともそっくりだったって話があったのを思い出した。
0453デフォルトの名無しさん
2005/08/30(火) 17:55:10監視して、以下のようなソフトを作りたいと思っています。
�@ワード文書内において、
�AIME入力、言い換えれば漢字入力を開始すると、
�B入力された文字が確定されるまで、
�C背景を薄いブルーにする、
というものです。
すでに私は、
ソリューションダイアログでWord.ObjectLibraryを参照するように設定することで、
�@ワード文書に例えば文字列をinsertしたり、選択範囲を変更したりできるようになりました。
また、
自分のフォームに、テキストボックスから派生させたMyテキストボックスを
貼り付けて、そのMyテキストボックスに文字が入力されはじめたことを
ウィンドウメッセージとして取得できるようになりました。
具体的には、派生させたクラス(Myテキストボックス)のWndProcをOverrideして
m.MsgがWM_IME_STARTCOMPOSITIONかどうかを判定する機能を追加しました。
【質問】
しかしながら、Myテキストボックスでは「文字が入力されはじめたことを検知」する
機能を搭載することに成功したのですが、
ワード文書ではうまくいきません。とうかどうやるのかよくわかりません。
テキストボックスから、上記の機能を搭載したクラスを派生させるように、
例えば、Word.ApplicationやWord.Documentから派生クラスを用意して適宜同じように
WndProcをoverrideすればうまくいくでしょうか。
もっとも、Word.Applicationは、インターフェース型(?)ですが。
【質問2】
思いっきりすれ違いな予感もしますが、当方VisualC#2.0 beta2 , WindowsXPsp2,Word2000です。
よろしくお願いします。
0454デフォルトの名無しさん
2005/08/30(火) 17:59:56回答まで貰ってるのに。
0455デフォルトの名無しさん
2005/08/30(火) 19:36:39BinaryFormatterなどでは出来るんですが。
> System.InvalidOperationException: System.Uri
> に既定のパブリック コンストラクタが含まれていないため、シリアル化できません。
でもUriクラスをMSのサイトで見ると、[Serializable]とISerializableって書かれてるのに。。
0456デフォルトの名無しさん
2005/08/30(火) 20:08:47理由は例外メッセージの通り。
0457デフォルトの名無しさん
2005/08/30(火) 21:14:04そうですか。
仕方ないのでBinaryFormatterで我慢します。
レスサンクスコ!
0458デフォルトの名無しさん
2005/08/30(火) 22:36:580459デフォルトの名無しさん
2005/08/30(火) 23:21:090460デフォルトの名無しさん
2005/08/31(水) 16:57:05別のフォームでオリジナルサイズ表示したいのですが
Form frm = new Form();
frm.Size = picture.Image.Size;
frm.BackgroundImage = picture.Image;
frm.ShowDialog();
と書いても落ちてしまうんですよね
すでに表示してる画像を別のフォームで表示しようとしてるのがいけないのでしょうか・・・
0461デフォルトの名無しさん
2005/08/31(水) 16:58:410462デフォルトの名無しさん
2005/08/31(水) 17:03:44失礼しました
例外はShowした先のフォームで出るのですが
'System.OutOfMemoryException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : メモリが不足しています
です。
メモリは512ありますし、普通にフォームを開くことは可能なので、画像が原因じゃないのかなと思っています。
なにか情報ありませんでしょうか?
0463デフォルトの名無しさん
2005/08/31(水) 17:32:14取りあえずこの辺とか。
ttp://66.102.7.104/search?q=cache:dobon.net/cgi-bin/vbbbs/cbbs.cgi%3Fmode%3Dal2%26namber%3D8405%26rev%3D%26no%3D0%26KLOG%3D2
0464416
2005/08/31(水) 17:36:21・先頭に+または-、または符号なし。
・符号は桁数に入れない。
・整数部または小数部のどちらかだけ省略可能。
・余分にゼロが入っていてもよし。
・10進表記。指数とかはなし。
たとえば4桁3桁なら以下の表現はセーフにしたいです。
-.123 / -1234. / -1234.000 / -0000.123
>>429だと、なんか桁数チェックが利いてないみたいです。
[0-9]{0,4}だと"12345"でもマッチしてしまいます。
あと"7F"みたいなのがOKになってしまいます。
0465デフォルトの名無しさん
2005/08/31(水) 17:58:35ありがとうございます
何がいけなかったのか良くわからないのですが
URLを参考に
Bitmap bmp = new Bitmap(picture.Image);
frm.Size = bmp.Size;
frm.BackgroundImage = bmp;
frm.ShowDialog();
で問題なく動きました
streamからpictureboxにimageをセットしてクローズしてたのですが
それが問題だったのでしょうか??
0466デフォルトの名無しさん
2005/08/31(水) 18:08:37小数点は入らない可能性もあるんだよな?
この場合整数部を持ってるかどうかで小数部の判定を分けるしかなさげだなー。
@"^[+-]?(?:[0-9]{1,4}(\.[0-9]{0,4})?|\.[0-9]{1,4})$"
無駄に複雑バージョン
@"^[+-]?(?<int>[0-9]{1,4})?(?(int)(\.[0-9]{0,4})?|\.[0-9]{1,4})$"
0467デフォルトの名無しさん
2005/09/01(木) 21:35:36「.NET Framework クラス ライブラリ」のカテゴリ(検索結果のリストの「場所」の
列に「.NET Framework クラス ライブラリ」と表示されるグループ)のページが、
検索に一切引っかからなくなりました。
例えば、"form メンバ"で検索をかけると、以前はFormのメンバが乗っているページが
検索結果に出ていたのですが、これが出なくなりました。
もちろんフィルタ条件に(フィルタなし)を選択しても。
なにか解決法ご存知ないでしょうか?
MSDNのバージョンは2005 - Aprilです。
アンインストール/インストールは試しましたが変化なし。
0468デフォルトの名無しさん
2005/09/02(金) 11:25:54stringの変数を直接読むことってできないかな??
ページを生成して、保存する前にプレビューとかで使おうと思うんだけど
0469デフォルトの名無しさん
2005/09/02(金) 11:30:100470デフォルトの名無しさん
2005/09/02(金) 12:37:03ありがと、できたよ
一回保存するよりも楽だね
private void BrowserReload(){
//ブラウザコントロールに文字列から直接プレビュー表示
_previewData = CreatePreviewData();//プレビュー用HTMLを生成
object url = "about:blank";
object o = null;
this._browser.Navigate("about:blank", ref o, ref o, ref o, ref o);
}
private void browser_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e) {
((mshtml.IHTMLDocument2)browser.Document).write(_previewData);
}
0471デフォルトの名無しさん
2005/09/02(金) 12:44:51object url = "about:blank";
は必要ないな
0472デフォルトの名無しさん
2005/09/02(金) 21:20:050473デフォルトの名無しさん
2005/09/03(土) 05:07:43グリッドのチェックボックスの全解除、全選択をしたいのですが
javascriptでグリッドのチェックボックスを舐めていく方法ってどうしたらいいのですか?
普通にdocument,grid.チェックボックスじゃ参照できないのですが・・・
サーバ側じゃなくてクライアント側でやりたいのですが。、
0474デフォルトの名無しさん
2005/09/03(土) 09:39:270475デフォルトの名無しさん
2005/09/03(土) 10:14:270476デフォルトの名無しさん
2005/09/03(土) 10:29:27うぜー
スレ違いなんていわれて他で質問すると
マルチなんて言われる・・・
0477デフォルトの名無しさん
2005/09/03(土) 10:35:10元スレにも移動したことと移動先を書けば何の問題も無し
0478デフォルトの名無しさん
2005/09/03(土) 10:36:26ど う 見 て も ス レ 違 い だ
0479デフォルトの名無しさん
2005/09/03(土) 10:39:00使うのはなぜ?
「Excelでも10MB位なのに、なんか下手な作り方してない?」
なんて言われちゃいました・・・
0480デフォルトの名無しさん
2005/09/03(土) 10:41:21って言っとけ
0481デフォルトの名無しさん
2005/09/03(土) 10:42:30Windows Forms使ってるとね。
「定期的に最小化してください」って言っとけ
0482デフォルトの名無しさん
2005/09/03(土) 10:42:40Visual Studioの評価版って60日が過ぎても、再インストールすれば
もう1度使えるのですか??
0483デフォルトの名無しさん
2005/09/03(土) 10:53:20仮想マシンの上に乗っかっているから。
一定量のメモリを OS から貰って VM を構築し、その上でソフトを動かしてる。
……って思ってたけど合ってるのかなコレ
>>482
素直に買え。もしくは無料版があるからそれ使え
0484デフォルトの名無しさん
2005/09/03(土) 11:02:28無料版って評価版とどう違うの??
もしかして、試用期間がないの??
0485デフォルトの名無しさん
2005/09/03(土) 11:04:040486デフォルトの名無しさん
2005/09/03(土) 11:06:040487デフォルトの名無しさん
2005/09/03(土) 11:08:18int a[4][4];
これってC#の場合はどうするの?
0488デフォルトの名無しさん
2005/09/03(土) 11:10:060489デフォルトの名無しさん
2005/09/03(土) 11:11:02int[][] a = new int[4][];
for (int i = 0; i < a.Length; i++)
a[i] = new int[4];
意味的には前者だがお薦めは後者だ。
0490デフォルトの名無しさん
2005/09/03(土) 11:21:48メモリは幻想だって何万回出ただろう。
http://www.itwriting.com/dotnetmem.php
0492デフォルトの名無しさん
2005/09/03(土) 12:02:49SetProcessWorkingSetSize を明に呼び出したほうがいいんじゃない(w
0493デフォルトの名無しさん
2005/09/03(土) 13:56:28プログラムをデバックするときにVSでは引数を指定できないのでしょうか?
.NetSDKについてくるDbgCLRではできたんですが・・・。
それとVSでクラスを作成してクラスだけでデバッグなどはできないのでしょうか?
変数に値を代入してデバッグなどをしたいのですが。
0494デフォルトの名無しさん
2005/09/03(土) 14:00:27後者は適当にMainメソッド書けば
0495デフォルトの名無しさん
2005/09/03(土) 14:27:39C#では、ほかの人が作ったdllを自分のアプリでプログラム部品として利用する際
[DllImport("aaaaa.dll")]
public static extern uint bbbbb(uint a, uint b);
こんな感じに記述するだけで、Dll使えるようになるんですよね。
aaaaa.libファイルがあるのですが、C#ではlibファイルの統合開発環境での登録の設定はしなくても大丈夫でしょうか。
aaaaa.hファイルもC++だったら使うけどC#ではいらいないという理解であってますでしょうか。
0496デフォルトの名無しさん
2005/09/03(土) 14:32:070497495
2005/09/03(土) 14:35:16回答ありがとうございます。
dllファイルと一緒に入ってたlibファイルとhファイルを何かに使わなければいけないような不安にかられたのですっきりしました。
ちなみにそのdllファイルはC++でかかれてます。
0498デフォルトの名無しさん
2005/09/04(日) 04:10:13商用アプリの殆どがVC++で作られてる。
C#じゃ大したものできないのかな?
0499デフォルトの名無しさん
2005/09/04(日) 04:15:18C++/CLIがデファクトスタンダード最有力
0500デフォルトの名無しさん
2005/09/04(日) 05:25:560501デフォルトの名無しさん
2005/09/04(日) 05:54:090502デフォルトの名無しさん
2005/09/04(日) 06:53:34俺がいっぱい書いている。
0503デフォルトの名無しさん
2005/09/04(日) 07:36:550504デフォルトの名無しさん
2005/09/04(日) 09:27:130505デフォルトの名無しさん
2005/09/04(日) 10:48:180506デフォルトの名無しさん
2005/09/04(日) 10:57:54それが普通だと思うが。今更、Javaってこともないのでは。
0507デフォルトの名無しさん
2005/09/04(日) 11:07:44.NETはまだ必須じゃないけど
必用になってから始めたら手遅れ
0508デフォルトの名無しさん
2005/09/04(日) 11:08:34@ITの会議室とかでもWinFormの質問:ASP.NETの質問=1:2位だし。
0509デフォルトの名無しさん
2005/09/04(日) 11:26:33ttp://www.microsoft.com/japan/office/homestyle/prodinfo/default.mspx
これが.NET Frameworkが必要
0510デフォルトの名無しさん
2005/09/04(日) 12:37:26すまんが、日本語おかしくないか。
0511デフォルトの名無しさん
2005/09/04(日) 13:31:12size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
説明
fread 関数は stream ポインタで指定されたストリームから nmemb 個のデータを読み込み、 ptr で与えられた場所に格納する。個々のデータは size バイトの長さを持つ。
ファイル位置指示子を読み込んだデータバイト分進める。
これと同じことをC#に書き換えたいのですが
データバイト分進めたり、nmemb個のデータを読み込むといったことは、なんというクラスのメソッドを使えば簡単にできるでしょうか。
0512デフォルトの名無しさん
2005/09/04(日) 13:37:18ファイルならStreamから派生したFileStreamクラス
あるいはそれを元に作ったBinaryReaderオブジェクトの各種メソッド
そういえばReadInt32Arrayとかは無いな。不便を覚えたことはないが。
0514taka
2005/09/04(日) 15:21:37どのソフトがあればインストールできるかわかりますか?
0515デフォルトの名無しさん
2005/09/04(日) 15:26:130516taka
2005/09/04(日) 15:37:00VS.NET2003 Enterprise Dveloper,Disc1 Disc2
なんですけど他に必要なのってなんですか??
インストールできないんですよ…
0517デフォルトの名無しさん
2005/09/04(日) 15:45:460518taka
2005/09/04(日) 15:47:140519デフォルトの名無しさん
2005/09/04(日) 15:50:270520511
2005/09/04(日) 15:56:10short[] ptr = new short[nmemb];
uint dwRead = 0;
while((dwRead = fread(ptr, sizeof(SHORT), nmemb, pFileIn)) > 0){}
ファイルから、sizeof(SHORT)バイトのデータnmemb個をptrに格納し、ファイルの終わりまで繰り返すという
C言語のコードをC#に書き直すということをやっているのですが、スマートなコードがかけなくて困っています。
C#で以下のように書き直しました。
FileStream fs = new FileStream("test.wav", FileMode.Open);
Binary br = new BinaryReader(fs);
br.ReadBytes(40); //40バイト飛ばす
while((ptr = br.ReadBytes(2)) > 0){}//short配列ptrに2バイトデータを格納の処理
このように書くと、>はshortとintを比べられない、byte[]をshort[]に変換できない。とエラーが出るし
nmemb個入れるという作業ができません。
0521続きです
2005/09/04(日) 15:56:42{
ptr = br.ReadBytes(2);
nmemb--;
}
このように書くと、nmemb個入れれますが、bute[]をshort[]に変換できないというエラーは相変わらずです。
shortは2バイトだから2バイト入れようと思えば入れれるだろうと考えたのですが、エラーが出ます。
どうにかCのコードのように、nmemb個をptrに入れることと、ファイルの終了を感知する式を同時にwhile()に入れられるような
スマートなC#の書き方があれば助言いただけるとうれしいです。
0522デフォルトの名無しさん
2005/09/04(日) 16:07:44ReadInt16使えばいいじゃん。
0523511
2005/09/04(日) 16:11:43アドバイスありがとうございます。
ちょうど2バイトずつ読み込める関数があるんですね。
ReadInt16を使って書き直してみます。
0524デフォルトの名無しさん
2005/09/04(日) 17:45:24shareで
(アプリ) Microsoft VisualStudio.NET 2003 Professional 日本語版 CD6枚組.ccd+rr.rar
を拾えるぞ
2.7GB程度
俺も無論拾った。
あんなものに数万円はボッタ1確
0525デフォルトの名無しさん
2005/09/04(日) 17:51:170526デフォルトの名無しさん
2005/09/04(日) 17:55:010527デフォルトの名無しさん
2005/09/04(日) 17:57:470528デフォルトの名無しさん
2005/09/04(日) 18:49:05読み込んだ画像の一部を転送するプログラムをBitBltで作成しているのですが、
このとき転送先、転送元のハンドルの取得方法が分かりません。
教えてください。
Picturebox1.Handleとやってもダメでした。
0529デフォルトの名無しさん
2005/09/04(日) 19:30:51GraphicsつくってGetHdcすれ。ReleaseHdcも忘れずにな。
でもなんでGraphics.DrawImageじゃ駄目なんだ?
0530デフォルトの名無しさん
2005/09/04(日) 19:48:291確ってなんですか?
新手の2ちゃん語?
0531デフォルトの名無しさん
2005/09/04(日) 21:01:02MSのWindowsだけのための言語で、どうしても勉強する気になれん。
0532デフォルトの名無しさん
2005/09/04(日) 21:02:59プギャー(AAry
0533デフォルトの名無しさん
2005/09/04(日) 21:04:47作ったPCでは問題なく動くのですが、別PCではHtmlが表示しません。
どなたか動作確認して貰えないでしょうか。
http://49uper.com:8080/html/img-s/77058.zip
0534デフォルトの名無しさん
2005/09/04(日) 21:11:39もうされてますが・・・
0535デフォルトの名無しさん
2005/09/04(日) 21:13:14ECMA と JIS で標準化されてるハズ〜
某言語と違ってグローバルな言語だと主張したいのか、ECMA への登録は速かった
0536デフォルトの名無しさん
2005/09/04(日) 21:20:40単に表示されないだけなのか何らかの例外は吐かないのか
Microsoft.mshtml.dllは対象のPCに入っているのか?
0537デフォルトの名無しさん
2005/09/04(日) 21:29:00何も表示せず真っ白けなんです。
>>536
メインプログラムの方でtry-catchを付けてみても何も引っかからなかったんです。
mshtml.dllはSystem32に入っています。
試しに実行ファイルと同じフォルダに入れてみても結果は同じでした。
0538デフォルトの名無しさん
2005/09/04(日) 21:31:37それが原因だから。
0539デフォルトの名無しさん
2005/09/04(日) 21:38:57バッチリその通りでした。
と言っても「C:\Program Files\SharpDevelop\bin」に入ってたんですけどね・・・。
実行ファイルと同じフォルダに入れたらちゃんと表示するようになりました。
ありがとうございました。
0540デフォルトの名無しさん
2005/09/04(日) 22:37:31フォルダの中身は、C#(***.cs)のファイルいくつかと、Makeファイルと、Manifestファイルが入ってました。
プロジェクトもソリューションも入っていません。
こういった場合、Makeとかやったことないのですが、makeコマンドとかをいじったりすれば実行ファイルを作ることができる
ということでしょうか。
0541デフォルトの名無しさん
2005/09/04(日) 22:40:57そのうちの一つのプロジェクトをビルドしようとすると
一々マウスでプロジェクトを右クリックしてビルドしか
ないの?
マジ使いづれー > VS
0542デフォルトの名無しさん
2005/09/04(日) 22:45:01nmake Makeファイル名
で。
0543デフォルトの名無しさん
2005/09/04(日) 22:46:170544デフォルトの名無しさん
2005/09/04(日) 22:46:58標準化はされているが、強くWindowsOSのアーキテクチャに依存している。
Windows以外のプラットフォームで満足に動かされたら、MSも商売上がったりだろ?
0546デフォルトの名無しさん
2005/09/04(日) 22:51:53別にC#はWindowsとはまるで無関係だろ?
.NETの実装とごっちゃにするのはいけない
.NETもWinFormのほか幾つかを除けばそれなりにプラットフォーム中立だしな
0547540
2005/09/04(日) 22:55:40nmake makefile.mak
と打ったのですが、
nmakeは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
と出てしまいます。
試しに
make makefile.mak
と打ってみましたが、同じ言葉が返ってきます。
何かmakeコマンドを設定する必要があるのでしょうか。
0548デフォルトの名無しさん
2005/09/04(日) 22:57:47じゃあ、おまえはCとUNIXも無関係だと?
0549デフォルトの名無しさん
2005/09/04(日) 22:57:480550デフォルトの名無しさん
2005/09/04(日) 22:58:11pathを通す
0551デフォルトの名無しさん
2005/09/04(日) 22:58:19無関係ちゃうんかと・・・・・・・
0552デフォルトの名無しさん
2005/09/04(日) 22:58:42無関係
0554デフォルトの名無しさん
2005/09/04(日) 23:01:410555デフォルトの名無しさん
2005/09/04(日) 23:02:03makeなんてないし。
とりあえずPCの中に nmake.exe があるか検索。
0556デフォルトの名無しさん
2005/09/04(日) 23:05:180557デフォルトの名無しさん
2005/09/04(日) 23:10:15これに1票追加
0558540
2005/09/04(日) 23:10:19そのとおりかもです。「パスを通 make」で一生懸命ぐぐってました。
>>555
検索して発見しました。
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin
ここにありました。
>>556
そのとおりです。具具って見たら
特に問題なければC:\Windowsに入れてしまえばよいですが、
AUTOEXEC.BATに
SET PATH="%PATH%";"フォルダ名"
という行を追加すれば任意のフォルダにパスを通すことができます。
と書いてあるので、この方法でやってみます。
どうも皆さんアドバイスありがとうございます。助かりました。
0559デフォルトの名無しさん
2005/09/04(日) 23:11:080560デフォルトの名無しさん
2005/09/04(日) 23:12:21autoexec.bat ってことは Win9x か?
NT系では別方法だぞ
0561デフォルトの名無しさん
2005/09/04(日) 23:13:350562デフォルトの名無しさん
2005/09/04(日) 23:15:140563デフォルトの名無しさん
2005/09/04(日) 23:15:530564540
2005/09/04(日) 23:17:27OSはXPです。ということはパスの通し方の別方法なのですね。
今日はもう遅いので明日ぐぐって調べることにします。
>>562
何かほかにまだ設定しないとmakeできないのですか。面倒ですね。
まあ、とりあえず、明日やってみて、できなかったらまた考えるということで今日はもう眠ります。
どうも皆さんアドバイスありがとうございました。
0565デフォルトの名無しさん
2005/09/04(日) 23:23:080566デフォルトの名無しさん
2005/09/04(日) 23:35:55usoiuna
dokodewakarunosa?
0567デフォルトの名無しさん
2005/09/04(日) 23:47:49D:\XXX\works\Visual C# .net\WindowsApplication2\
0568デフォルトの名無しさん
2005/09/05(月) 14:59:11例えばフォームが一つだけのアプリだったらそのフォームのCSファイルだけで良いのかな
0569デフォルトの名無しさん
2005/09/05(月) 15:07:59コマンドラインでやるなら.resxを一旦resgenして/resに含めるとかしないといかんし
0570デフォルトの名無しさん
2005/09/05(月) 15:46:29ajaxで動的にコンボボックスを生成した後に
asp.netのボタンクリックなどのイベントハンドラが発動すると、
ajaxで変更した部分が初期状態(コンボボックスを生成する前)に戻っちゃうんだけど、
何か回避策ありませんか・・・?
0571デフォルトの名無しさん
2005/09/05(月) 17:06:49レスありがとうございます。
VSを使っているのですが、>>533みたいな添付の仕方で良いんですね。
って事は>>567みたいにディレクトリが知られてしまうのは仕方がないって事ですか・・・。
0572デフォルトの名無しさん
2005/09/05(月) 17:18:17ソリューションファイルがあるところに隠しファイルがある
その隠しファイルには検索履歴とかも保存されているんで
消しておくのが吉
0573デフォルトの名無しさん
2005/09/05(月) 17:51:15暗号化するためのメソッドとかはデフォで用意されてませんか?
APIとかでもOKです
0574573
2005/09/05(月) 17:53:44以下続き
暗号化する対象は様々な種類のファイルです
バイト単位(或いはビット単位)で暗号化したいです
アセンブリとして公開されているものでも構いません
基本的に文系なので自分で暗号方式を考えるのは不可能に近いです
なので既存のものを部分的に利用したいと考えています
0575デフォルトの名無しさん
2005/09/05(月) 18:01:33*.suoファイルを消しとけばいいのでしょうか。
で、>>533はそれも添付してしまったからディレクトリが分かってしまったと言うことですね。
0576デフォルトの名無しさん
2005/09/05(月) 18:01:390577デフォルトの名無しさん
2005/09/05(月) 19:30:10大感謝っす!
0578デフォルトの名無しさん
2005/09/05(月) 19:40:15標準ライブラリとかでキー指定して暗号化するじゃん
これってさ、何かあったときのためにさ、
すぐに復号してしまえるような仕組みが組み込まれてないか不安になるんだよね
まあ、暗号化した後にXORで一部ビット反転とか簡単な暗号化をやってしまえば良いんだけどさ
0579デフォルトの名無しさん
2005/09/05(月) 19:44:07そのレベルで心配するのならプロプライエタリなもんは使えないことになるぜ
0580デフォルトの名無しさん
2005/09/05(月) 19:47:24チラシの裏にでもかいてろカス
.NETのプログラムは逆コンパイルできるしそもそも.NETの標準ライブラリは
ただのWIN32APIのラッパーだから暗号ならcrypt.dllあたりを逆汗すればいいだけ
0581デフォルトの名無しさん
2005/09/05(月) 19:49:16何かあった時ってのはだな、
犯罪の証拠となるファイルとかそういうのを犯人が暗号化してさ、
それでキーを忘れたとか言って煙に巻こうとするような時だよ
0582デフォルトの名無しさん
2005/09/05(月) 19:55:22将来のスーパーコンピュータでの力ずくの復号とかは考えずに
0583デフォルトの名無しさん
2005/09/05(月) 20:11:17絶対って何だろうな…
0584デフォルトの名無しさん
2005/09/05(月) 20:14:31そういったのは確実に暗号化して隠したいよな
0585デフォルトの名無しさん
2005/09/05(月) 20:16:11復号の仕方を知っているのが自分だけという状況にする。(公開鍵暗号方式の基本だが)
ファイルを読み込むプログラムを配布するようだとそもそも無理ぽ。
0586デフォルトの名無しさん
2005/09/05(月) 20:18:32プログラムは非公開
ってか、キー値さえばれなきゃ大丈夫なんじゃないの?
0587デフォルトの名無しさん
2005/09/05(月) 20:23:09まあ世の中に絶対は無いので、絶対とは言わんが。
あとは処理速度と強度のバランスを調整しつつ実装すればよかろ。
0588デフォルトの名無しさん
2005/09/05(月) 20:27:370589デフォルトの名無しさん
2005/09/05(月) 20:31:17確かにそうだな
多くのエンジニアの目に触れる訳だからな
ヘタなものは出さないだろ
0590デフォルトの名無しさん
2005/09/05(月) 20:35:13公開したメソッドにアクセスしたクライアントのIPアドレスをログとして残そうと思っています
Webサービス側でクライアントのIPアドレスを取得するにはどのプロパティ?メソッドを
使えばすれば良いのでしょうか?
0591デフォルトの名無しさん
2005/09/05(月) 20:43:10ttp://www.gdncom.jp/general/mllog/tech/webTech.aspx?ID=2-06
0592デフォルトの名無しさん
2005/09/05(月) 20:55:38ということは、C#でシェアウェアのアプリを作るというのはそもそも向いてないということなのでしょうか。
0593デフォルトの名無しさん
2005/09/05(月) 21:05:440594デフォルトの名無しさん
2005/09/05(月) 21:10:04難読化ツールを使っておくと、複雑なものほどネイティブの逆汗よりも面倒になる。
0595592
2005/09/05(月) 21:16:04アドバイスありがとうございます。
ネイティブよりも面倒になるのなら逆コンパイルを心配することもないようですね。
.NET逆コンパイラとコードを難読化するDotfuscator
http://www.atmarkit.co.jp/fdotnet/tools/dotfuscator/dotfuscator_03.html
上記サイトによると難読化するDotfuscatorがVS2003についてるそうなのでこれでやってみようと思います。
0596デフォルトの名無しさん
2005/09/05(月) 21:16:54「エラーを特定できません」というダイアログが出て、
それを閉じるとクラスウィザードが終了するようになった。
ほかのプロジェクトに切り替えても変わらず。
「既存項目の追加」で追加することは可能。
こういう症状の出たことある人っている?
環境はVC#2003, XP Pro SP2。
0597デフォルトの名無しさん
2005/09/05(月) 21:21:27たとえ簡単な暗号化しかしてなくても
「暗号化してあります」と書いておくだけでも十分有効
0599デフォルトの名無しさん
2005/09/06(火) 00:17:44結局VC+++MFCしかないと思う
↑
くだなねー突っ込みがきそうw
0600デフォルトの名無しさん
2005/09/06(火) 00:33:540601デフォルトの名無しさん
2005/09/06(火) 00:35:440602デフォルトの名無しさん
2005/09/06(火) 01:52:19せっかく勉強したのにちょっと残念
0603デフォルトの名無しさん
2005/09/06(火) 02:10:020604デフォルトの名無しさん
2005/09/06(火) 04:23:53@ITの読みすぎ
0605デフォルトの名無しさん
2005/09/06(火) 05:22:32もう過去の資産扱いだと思うんだが
0606デフォルトの名無しさん
2005/09/06(火) 06:01:00マネージドC++って使われてんのかな?
0607デフォルトの名無しさん
2005/09/06(火) 11:12:14"test.wav".TrimEnd(".wav");
としたいのですが、引数はcharの配列でないとだめみたいでうまく.wavを削除できません。
後ろから4文字削除したいのですがどのように記述すればできるでしょうか。
0608デフォルトの名無しさん
2005/09/06(火) 11:15:020610デフォルトの名無しさん
2005/09/06(火) 11:20:160611デフォルトの名無しさん
2005/09/06(火) 11:25:360612デフォルトの名無しさん
2005/09/06(火) 11:35:300613デフォルトの名無しさん
2005/09/06(火) 11:42:100614607
2005/09/06(火) 12:48:46アプリの処理の流れ上、test.wav.gz というファイルは処理しないようになってるので大丈夫です。
>>611
拡張子を取り除きたいです。
ただこの場合、.wavしかありえないので、String.Replaceで十分満たせます。
>>613
"test.wav". と.を押してみたら、Replaceが出てきたので、これも使えるなと思い。
使ってみました。
0615デフォルトの名無しさん
2005/09/06(火) 12:57:070616607
2005/09/06(火) 13:16:30もっともなご指摘ありがとうございます。
そのようなファイル名をつけようと思えばつけれますね。
そういった名前のファイルだと、String.Replaceでは対応しきれませんね。
やっぱり末尾から4文字削除するというのが一番汎用性がありそうですね。
末尾から4文字取り除くのにぴったりのメソッドとかないでしょうか。
0617607
2005/09/06(火) 13:23:18で末尾から4文字削除できました。
皆さんアドバイスどうもありがとうございました。
0618デフォルトの名無しさん
2005/09/06(火) 13:23:23System.IO.Path.GetFileNameWithoutExtension
0619デフォルトの名無しさん
2005/09/06(火) 13:23:39すでに>>608 で出てるけど・・・
0620デフォルトの名無しさん
2005/09/06(火) 13:23:570621607
2005/09/06(火) 13:29:43これが一番どの拡張子にも対応できて汎用性がありますね。
便利なメソッドを教えていただいてどうもありがとうございます。
>>619
String.SubstringやRegex.Replaceとかもいじれば同じような処理ができるようですね。
案外いろんなメソッドで実現できることだったのですね。
これらのメソッドも参考にします。
0622デフォルトの名無しさん
2005/09/06(火) 15:09:460623デフォルトの名無しさん
2005/09/06(火) 15:14:390624デフォルトの名無しさん
2005/09/06(火) 15:14:480625デフォルトの名無しさん
2005/09/06(火) 15:21:000626デフォルトの名無しさん
2005/09/06(火) 15:22:400627デフォルトの名無しさん
2005/09/06(火) 15:43:28そんな例を出しても無意味
0628デフォルトの名無しさん
2005/09/06(火) 18:16:23ソースコードが公開されているHPがありましたら教えて下さい。
0629デフォルトの名無しさん
2005/09/06(火) 18:23:510630デフォルトの名無しさん
2005/09/06(火) 18:26:190631デフォルトの名無しさん
2005/09/06(火) 18:33:070632デフォルトの名無しさん
2005/09/06(火) 19:02:06DigiPen Institute Of Technology
MSDN Webcast Archive Video Game Development Learn to Write C# the Fun Way
http://www.digipen.edu/webcast/
0633デフォルトの名無しさん
2005/09/06(火) 19:27:10この流れに妙に感動した俺がいる。疲れてるのかな・・・。
0634デフォルトの名無しさん
2005/09/06(火) 19:37:24キーがダブっているとSqlExceptionが出るのでcatchするのですが、
この例外がPK違反かどうかというのはどこを見ればよいんでしょう?
Number? ErrorsのいずれかのNumber? それ以外?
Numberだとしたら、何番が何とか言うのはまさかcatch内で定数
べた打ち判断ですか?
PK違反だったらキーを付け直してリトライしたいです。
0635デフォルトの名無しさん
2005/09/06(火) 19:42:10書いてありました。これって不変なんでしょうか。
0636デフォルトの名無しさん
2005/09/06(火) 19:53:40俺が以前実装したときはNumberが2601か2627の時はユニーク制約違反と
みなすようなベタなコーディングをした。
特にお勧めはしないが。気になるならまあ具体的な数値は設定ファイルか何かで
持っておけば。
ユニーク制約違反かどうかを知りたいアプリ的に知りたいケースって
多いのに、一般的で移植性の高い方法は無いんだよな。
0637デフォルトの名無しさん
2005/09/06(火) 20:07:30OleDbException捕まえてErrorCodeでベタうち
なんか良い方法があれば良いんだけどね
0638デフォルトの名無しさん
2005/09/06(火) 20:12:470639デフォルトの名無しさん
2005/09/06(火) 20:16:25つまり、
byte[] b = new byte[*];
で、 * の場所に入れれる最大数は何ですか?
1億は可能ですか?
0640デフォルトの名無しさん
2005/09/06(火) 20:20:03一応の制限として2GB前後でなんかの壁があったような気がする
0641デフォルトの名無しさん
2005/09/06(火) 20:21:26つまり 9223372036854775808 まで OK
多分、その前に OutOfMemoryException 出るけど
0642デフォルトの名無しさん
2005/09/06(火) 20:24:130643デフォルトの名無しさん
2005/09/06(火) 20:29:440644デフォルトの名無しさん
2005/09/06(火) 20:29:53ありがとうございます!
0645デフォルトの名無しさん
2005/09/06(火) 20:38:50new byte[] の [] 内に入る値は int みたいだ
0646デフォルトの名無しさん
2005/09/06(火) 20:50:17System.Arrayの制限としてはInt32.MaxValueが上限っぽいねー。
0647デフォルトの名無しさん
2005/09/07(水) 01:40:37longの値も普通に入るみたいだけど。
手元のメモリではint.MaxValue/3くらいまでが限界でしたが。
>>641
2次元配列とかにしたらintでもLongLengthが必要になる状況が起こりうる気がする。
0648デフォルトの名無しさん
2005/09/07(水) 09:34:12やっぱり数字で判断ですか。SQL Server限定なので
その数字参考にします。さんくす
0649デフォルトの名無しさん
2005/09/07(水) 12:52:41new byte[3000000000L]; だと OverflowException 出たのよ
0650デフォルトの名無しさん
2005/09/07(水) 12:55:21持ってたら64bit環境でやってみてくれないか (>>646)
0651デフォルトの名無しさん
2005/09/07(水) 14:02:09ヘルプには必要になったらすぐに呼ばれるようなことが書いてありますが
下のクラスのFooを呼んでもNameを呼んでもコンストラクタが
呼ばれません。
あとこれとは別に、静的コンストラクタを含むクラスを継承したら、
派生クラスの静的メンバを呼んでるのに基底クラスの静的
コンストラクタしか呼ばれなかったりしています。
public class ClassA
{
static ClassA()
{
Debug.WriteLine("ClassA()");
}
public static string Name
{
get
{
return "ClassA";
}
}
public static void Foo()
{
Debug.WriteLine("Foo()");
}
}
0652デフォルトの名無しさん
2005/09/07(水) 14:15:15> 静的コンストラクタっていつ呼ばれるんでしょうか。
そのクラスが初めて使われるとき。
> 下のクラスのFooを呼んでもNameを呼んでもコンストラクタが呼ばれません。
呼ばれてるよ?
> あとこれとは別に、静的コンストラクタを含むクラスを継承したら、
> 派生クラスの静的メンバを呼んでるのに基底クラスの静的
> コンストラクタしか呼ばれなかったりしています。
呼んでるのは基底クラスの静的メンバであって派生クラスとは何の関係もないから。
//個人的には"派生クラス.基底クラスの静的メンバ"って表記は分かりにくいので使いたくない。
0653デフォルトの名無しさん
2005/09/07(水) 15:09:31>呼ばれてるよ?
呼ばれてました。勘違いですスマソ
なんかステップ実行してもとまってくれないみたいで。
>何の関係もないから
ああ つまりたとえばClassAを継承してClassBを作ったとして
ClassB.Foo()って書いても、実行するのはClassA.Foo()だから
ClassBのメンバを参照したことにならないと。なろふど。。。
同じ名前のnewを作って委譲みたいなことしないとだめか。
ちょっと設計みなおしますorz
0654デフォルトの名無しさん
2005/09/07(水) 15:57:13> 同じ名前のnewを作って委譲
隠蔽な。
つか静的コンストラクタの呼ばれ方に依存するコードってどんなんだ?
0655デフォルトの名無しさん
2005/09/07(水) 20:12:50スレ違いなレスだが俺はINSERTの前はCOUNTで確認取る。
どの言語でもこれが普通だと思ってるが。
面倒かもしれんが、catchに色々書くぐらいなら同じじゃない?
まあCOUNTからINSERTの間に割り込まれる可能性はあるんだけど、それはエラーとして扱ってる。
そういうタイミングが頻繁に起こりえるシステムなら間違ってるけどね。
0656デフォルトの名無しさん
2005/09/07(水) 20:58:36圧縮形式はZIPでも何でも結構です
今、自分専用のツールを作りながらC#の勉強をしているので
0657デフォルトの名無しさん
2005/09/07(水) 21:04:32だいたいNativeCLRでの解凍ツールは少ないというか遅くて意味がない
zlibと7zipのホームページにそれぞれdllラッパーした.NET用のライブラリがある
0658デフォルトの名無しさん
2005/09/07(水) 21:07:270659デフォルトの名無しさん
2005/09/07(水) 21:08:13ありがとうござい
0660デフォルトの名無しさん
2005/09/07(水) 23:10:11自作するかどっかから拾ってきたランダム関数使って、ランダムシードをkeyにxor。
暗号化されたファイルは乱数列にしか見えないし、
暗号複合プログラムはどっかのフォルダに隠蔽すればいい。
0661デフォルトの名無しさん
2005/09/07(水) 23:26:50アンマネージDLLにコールバック関数を指定する関数があって、
マネージコードからその関数にデリゲートを渡しているのですが、
初回だけデリゲートが呼ばれて、その後まったく呼ばれなくて困っています。
アンマネージDLL(ソースコード無し)を使ったWin32のサンプルコードは完全に動作しています。
ソースコードはだいたい以下のような感じです。
マネージコードからアンマネージDLLを呼び出すとアンマネージDLLでスレッドが起動できないとか、
なにか特別なルールがあるのでしょうか?アドバイスお願いします。
public delegate void CallBack();
[DllImport("CallBack.dll")]
public static extern void SetCallBack(CallBack cb);
-------------
public void Main()
{
CallBack cb = new CallBack(call_back);
SetCallBack(cb);
while (true)
{
Thread.Sleep(100);
}
}
public static void call_back()
{
DoSomething();
}
0662デフォルトの名無しさん
2005/09/07(水) 23:27:32(OpenJaneのアンカー’>>’ポップアップ機能みたいな)
Formを作ってポップアップウィンドウを表示させると、ポップアップウィンドウのほうに
フォーカスが移ってしまうのですが
どなたか実現方法をご存知の方いませんか?
例 メインフォーム上のLinkLabel llにカーソルがいったときにポップアップするようなコード
LinkLabel ll = new LinkLabel();
ll.MouseHover += new EventHandler(ll_MouseHover);
//
private void ll_MouseHover(object sender, EventArgs e){
FloatingForm ff = new FloatingForm();//< NoBorderなポップアップ用の自作継承Form
ff.Location = MousePosition;
ff.Show();
//この時点でメインフォームのフォーカスがポップアップウィンドウに行ってしまい、タイトルが薄い青に
}
0663デフォルトの名無しさん
2005/09/07(水) 23:34:21GCのせい。
アンマネージドにデリゲートオブジェクトの参照を渡そうとしても、
参照じゃなくてデリゲートオブジェクトがマーシャリングされた関数ポインタとして渡される。
だからGCは、スコープを抜けた時点でもうそのデリゲートオブジェクトへの参照がないと判断してデリゲートオブジェクトを破棄しちゃうって訳。
フィールドとしてデリゲートオブジェクトを持っておけば、
その保持クラスのインスタンスが破棄されるまで(staticならアプリケーションの終了まで)破棄されることはない。
0664デフォルトの名無しさん
2005/09/07(水) 23:34:47ShowWindow(this.Handle, 8);
this.Visible = true;
ShowWindowはWin32APIね。
ttp://www.gotdotnet.com/workspaces/workspace.aspx?id=167542e0-e435-4585-ae4f-c111fe60ed58
これのNotificationWindowを参考にした。
0665662
2005/09/07(水) 23:43:50この程度でWin32APIを使わないといけないのか(´・ω・`)
0666デフォルトの名無しさん
2005/09/07(水) 23:52:021つ目のクラスのstaticコンストラクタから呼び出してるクラスがstaticコンストラクタで1つ目のクラスを呼ぶ場合とか。
0667デフォルトの名無しさん
2005/09/08(木) 00:00:43MSDNでコールバック関数にデリゲートを渡しているサンプルとかでも考慮されてないんだけど、
GCが通常のオブジェクト同様にデリゲートのメモリ位置の再配置をやらないのか不安になります。
デリゲートのメモリ再配置は行なわないみたいな仕様があるのでしょうか?
0668デフォルトの名無しさん
2005/09/08(木) 13:22:40ここから、Windows Media Encoder 9 Series SDK をダウンしてインストールしたのですが
コードに、using WMEncoderLib; を記述すると
型または名前空間名 'WMEncoderLib' が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください。
とエラーが出るので、参照の追加から、それらしきものを追加したのですが、どれもはずれでした。
ちなみに追加してみたのは以下のものです
Windows Media Player Compatibility Layer
Windows Media Player
Windows Media Player Launcher
Windows Media Streamer Plugin Type Library
調べてみると、コンポーネント名が、Windows Media Encoder object library
のものを追加すればいいのだと思うのですが、どこにもないので
どうも参照の追加の一覧に載ってないのではと思うのですが、こういった場合どうすればいいのでしょうか。
0669デフォルトの名無しさん
2005/09/08(木) 13:46:07とりあえずローカルにWMEncoderLib.dllがあるか検索。
0670デフォルトの名無しさん
2005/09/08(木) 13:58:19アドバイスありがとうございます。
検索はしたんです。
で、WMEncoderLib.dllを2つ発見しました。正しくはinterrop.WMEncoderLib.dllでした。
C:\WMSDK\WMEncSDK9\samples\C#\remadmin\WMEWebSvc\bin の中と
C:\WMSDK\WMEncSDK9\samples\Vb\Batcher の中です。
発見したinterrop.WMEncoderLib.dllを、開発中のアプリのDebugフォルダにほうりこみましたが
型または名前空間名 'WMEncoderLib' が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください。
とエラーがでます。
ためしに、using interrop.WMEncoderLib; にしてみましたが結果は同じでした。
どのようにしたらこのdllを使えるようになるんでしょうか。
0671デフォルトの名無しさん
2005/09/08(木) 14:14:43using WMEncoderLib;
using WMPREVIEWLib;
using WMDEVICECONTROLLib;
この3つを一緒にプロジェクトへ追加せ〜
とあるけど…どうなんでしょ(横レス、スマソ)
0672668
2005/09/08(木) 14:23:28貴重な情報ありがとうございます。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmencode/htm/encodingafilecsh.asp
ここにあるC#のサンプルコードには、using WMEncoderLib;
しか記述されていないので、WMEncoderLibさえ設定してしまえば大丈夫かと思ったのですが
ほかにもいるのでしょうか。
参照の追加の一覧のWindows Media 関係のものはあらかた試しましたが
using WMPREVIEWLib;
using WMDEVICECONTROLLib;
に関連があるらしきものは見当たりませんでした。
もしかして、Windows Media Encoder 9 Series SDK 以外にも何かインストールしなければいけなかったのでしょうか。
普通は、SDKダウンしてインストールしたら、COMだったら参照の設定の一覧にあるはずですよね。
0673デフォルトの名無しさん
2005/09/08(木) 14:39:51ラベルへの文字列代入させていきたいのですが
label名 + 連番用変数 .Text = "文字列";
のような処理はできないのできませんか?
よろしくおねがいします。
0674デフォルトの名無しさん
2005/09/08(木) 14:41:54できます。
0675デフォルトの名無しさん
2005/09/08(木) 14:42:43reflection
番号どおりに配列にでもぶっこんどくのが楽だろうけど
0676デフォルトの名無しさん
2005/09/08(木) 14:45:16WMEncoderLib.dllじゃなかった、スマソ。
using WMEncoderLib; に相当するものは、
Windows Media Encoder (wmenc.exe)
using WMPREVIEWLib; に相当するものは、
Windows Media Encoder Preview Control (wmprevu.dll)
0677668
2005/09/08(木) 14:50:09情報ありがとうございます。
さっそくwmenc.exeを探したところ、何も見つかりませんでした。
これは結局、Windows Media Encoder 9 Series SDK じゃなくて別のSDKをダウンしなければいけなかったのでしょうか。
名前からしてずばりWindows Media Encoder 9 Series SDKだと思ったのですが。
0678デフォルトの名無しさん
2005/09/08(木) 14:58:56wmenc.exeはSDKじゃない只のWindows Media Encdoer、それを入れる。
0679668
2005/09/08(木) 15:02:51ありがとうございます(T T) やってみます。
0680673
2005/09/08(木) 15:15:34ちょっとやってみたのですが
"label"+"連番変数".Text = "line";
のように処理するとstringにTextの定義がありません。
とエラーがでます。
reflectionについてもちょっと調べたのですが
少し難しくてまだ理解できてません。
どのように処理するのが正しいのでしょうか?
しょぼい質問で申し訳ありません。
0681668
2005/09/08(木) 15:46:17WMEncoderをダウンしてインストールしたところ
参照の追加の一覧に
Windows Media Encoder が現れました。
それを追加したところエラーはなくなりビルドできました。
どうもありがとうございました。
0682デフォルトの名無しさん
2005/09/08(木) 16:07:23諦めて事前に配列に突っ込んでおく。
0683デフォルトの名無しさん
2005/09/08(木) 16:40:32Label[] lab = new Label[3];
lab[0] = label1;
lab[1] = label2;
lab[2] = label3;
for (int i = 0; i < lab.Length -1; i++)
{
lab[i].Text = i.ToString();
}
0684デフォルトの名無しさん
2005/09/08(木) 16:48:33Lhacaみたいな圧縮ソフトを作りたいので
0685デフォルトの名無しさん
2005/09/08(木) 16:57:590686デフォルトの名無しさん
2005/09/08(木) 17:03:32普通にDirectory.GetFilesとか使えばいじゃん
0687673
2005/09/08(木) 17:21:15じゃんぬねっとさんでそれらしきものを見つけました。
http://jeanne.wankuma.com/tips/form/29-findcontrol.html
が、>>683さんのやり方でやってみようと思います。
ありがとうでした!
0688デフォルトの名無しさん
2005/09/08(木) 17:34:52Control.NameはVisual Studioのデザイナーは自動でNameプロパティに
フィールド名を入れてるがあれは規定値は空文字列のプロパティで
必ずしもフィールド名が入ってるわけじゃないので頼らないほうがいい。
0689デフォルトの名無しさん
2005/09/08(木) 19:33:170690デフォルトの名無しさん
2005/09/08(木) 19:59:180691デフォルトの名無しさん
2005/09/08(木) 21:59:580692デフォルトの名無しさん
2005/09/08(木) 22:02:490693デフォルトの名無しさん
2005/09/08(木) 22:30:20WebForm1.aspx から、WebForm2.aspxを呼び出すにはどうしたらいいんでしょうか?
Transferを試してみましたが、URLがWebForm1.aspxのままで同一ブラウザ内で
開いてしまいました。
別ブラウザで開かせることはできないのでしょうか?
0694デフォルトの名無しさん
2005/09/08(木) 22:44:230695デフォルトの名無しさん
2005/09/08(木) 22:46:50まあ、C# の方が必要なものだけ機能しぼられてて綺麗し。
0696デフォルトの名無しさん
2005/09/08(木) 23:06:34たとえばformタグのtarget属性追加。
次は遷移について学習。
0697デフォルトの名無しさん
2005/09/08(木) 23:17:43{
Server.Transfer("WebForm2.aspx");
}
見たいな感じで、同様に、プログラム中で新しいブラウザで表示させるようなものは無いのでしょうか?
0698デフォルトの名無しさん
2005/09/08(木) 23:19:420699デフォルトの名無しさん
2005/09/09(金) 00:10:18ありがとうございました^^
0700デフォルトの名無しさん
2005/09/09(金) 00:41:050701デフォルトの名無しさん
2005/09/09(金) 14:36:01エラーが出たとき、どうやらSQLが原因だとします。
Fill中のイベントでCommandTextを見ると、パラメータ部分がパラメータ名の
ままなのでですが、ここにそのときの具体的な値が入った状態の
完成したSQL文字列って、どこかで取得できませんでしょうか。
0702デフォルトの名無しさん
2005/09/09(金) 15:55:48Form1.vb があり、VBで書かれています。
そのForm1.vbから、
Dim a As Aclass
Dim b As Bclass
a = New A()
b = New B()
といった具合に、クラスをインスタンス化して使うわけですが、なんとクラスaはC#で書かれており
クラスbはC++で書かれています。
Form1.bと、 a.csと、b.cpp、1つのソリューションの中にそれぞれ別プロジェクトとして入っていて
ちゃんとビルドできるし、ビルドできたアプリはきちんと動作しました。
こんな書き方できるのでしょうか。
Form1はvbで書くとして、クラスはプロジェクトが別なら別の言語で記述しても大丈夫ということでしょうか。
更に、それが可能だとします。可能だった場合
Form1をC#、クラスAをcppでといったことも可能でしょうか。
0703デフォルトの名無しさん
2005/09/09(金) 15:59:45コンパイル済みのアセンブリを参照してる。アセンブリってことは言語は関係ない。
0704702
2005/09/09(金) 16:02:33回答どうもありがとうございます。
できるんですか。最初見たときは驚愕でした。
なるほどコードじゃなくてアセンブリを参照なのですか。納得。
アセンブリなためどの言語でも関係ないとなると
Form1をC#、クラスAをcppでといったことも可能ですね。
0705デフォルトの名無しさん
2005/09/09(金) 16:12:39そりゃ、それが .NET Framework の理念だから。
C# で書いたクラスAの派生クラスBをC++で書いて、そのBをVBで使ったりも出来るよ。
0706702
2005/09/09(金) 16:18:25書いたクラスをいろんな言語で使いまわせるんですね。
言語乗り換えたときなんかに便利ですね。
これができるんならひとつの言語に執着しなくても気軽に別の言語も使ってみたくなります。
どうもありがとう。
0707デフォルトの名無しさん
2005/09/09(金) 16:20:49クロスプラットフォーム共通言語仕様CLSっていうのを知っておく必要がある。
C#で作ったクラスライブラリをVB.NETで使う(クラスライブラリの作り方と共通言語仕様CLS)
http://santamartadotnet.hp.infoseek.co.jp/documents/dotnet/classlibrary.html
0708702
2005/09/09(金) 16:50:02詳しい解説サイトを教えてくださってありがとうございます。
読んでみて実際やってみようと思います。
0709デフォルトの名無しさん
2005/09/09(金) 17:23:550710デフォルトの名無しさん
2005/09/09(金) 18:19:52自分が作ったクラスをXML形式に(XMLシリアライズ?)して
そのままオラクルにCLOB型で入れたいのですがやり方がわからずに困っています。。。
どなたか教えてください。
0711デフォルトの名無しさん
2005/09/09(金) 18:20:52その配列から部分文字列(開始位置と文字数はバイト数指定)を取り出しstringに変換したいのですが、
みなさんならどうやってやりますか?
BinaryReaderのReadChars(int count)を使ってみたところ、
shift-jisの文字幅でポインタが進められてしまって、うまく取得できません。
よろしくお願いします。
0712デフォルトの名無しさん
2005/09/09(金) 18:24:15Encoding.GetString
0713デフォルトの名無しさん
2005/09/09(金) 18:25:38で、その流れのどの部分が分からないの?
キーワードはそれなりに揃ってるようだけど?
0714デフォルトの名無しさん
2005/09/09(金) 18:31:16素早いレスありがとうございました。
0715596
2005/09/09(金) 19:49:09検索してもあまり引っかかってこない。
何か手がかりを知ってる人がいたらよろしくです。
0716デフォルトの名無しさん
2005/09/09(金) 20:27:420717デフォルトの名無しさん
2005/09/09(金) 20:34:19縦書きにすることってできませんか?
0718デフォルトの名無しさん
2005/09/09(金) 20:51:32.NET半日かかるし。
0719710
2005/09/09(金) 20:53:48レスありがとうございます!
まず自作のクラスをXML形式に変換したいのですが
XMLシリアライズのようにファイルに書き出すことなく
オラクルに格納する方法がわからないんです。
0720デフォルトの名無しさん
2005/09/09(金) 21:12:220721596
2005/09/09(金) 21:14:32それもそうだが、ファイル作って名前つけて
(最低限だが)クラス定義のコードも書いてくれて、と
便利だったんだよ。
でも楽をしすぎるのもいかんか。
>>718
OS入れる方がまだ時間かからないからなあ。
.NET Frameworkのインストールで手間取るのかな。
必須のことでもないしあきらめるよ。ありがとう。
0722デフォルトの名無しさん
2005/09/09(金) 21:30:14ttp://forums.belution.com/ja/vb/000/002/81s.shtml
大変なようだな。
0723デフォルトの名無しさん
2005/09/09(金) 23:17:38簡単にテキストボックスのデフォルトメニューにすることはできませんか?
地道に実装するしかないのでしょうか?
0724デフォルトの名無しさん
2005/09/09(金) 23:23:180726押忍、オラ狂う!
2005/09/09(金) 23:55:180727デフォルトの名無しさん
2005/09/10(土) 00:14:13・・・2005が出たらさすがに買います。 つд`)モウチョットヤスクシテクレ
0728デフォルトの名無しさん
2005/09/10(土) 01:22:260729デフォルトの名無しさん
2005/09/10(土) 01:25:52前に誰かそんなこと言ってなかったっけ?
0730デフォルトの名無しさん
2005/09/10(土) 01:27:07うむ。2005は割と良心的な値段設定になってるとおもた。
Team Systemなんかは逆の方向に吹っ切れてるけどなw
0731デフォルトの名無しさん
2005/09/10(土) 01:32:540732デフォルトの名無しさん
2005/09/10(土) 02:55:38買ったらアフォ
0733デフォルトの名無しさん
2005/09/10(土) 04:27:44使えないのではなく作れない。
というか、単にウィザードが用意されてないだけだから
技量のある人なら作れるのかもしれないが俺は知らん。
0734デフォルトの名無しさん
2005/09/10(土) 09:26:11ググった感じだと、
インターウィズのPostgreSQL ODBC Driver 日本語版をつかってODBC接続?
monoのnpgsqlを使ってADO.net接続?
このどちらかでいけるのかな?といった気がしましたが、詳しい手順等ポインタをいただけたらと思います。
よろしくお願いします。
0735デフォルトの名無しさん
2005/09/10(土) 09:32:51C#は仮想(抽象)メソッドを静的にできないんだけど何故だと思います?
駄目な理由が分からない。。。
private virtual static int hoge() {}
protected abstract static int foo();
0736デフォルトの名無しさん
2005/09/10(土) 09:44:560737デフォルトの名無しさん
2005/09/10(土) 10:07:480738デフォルトの名無しさん
2005/09/10(土) 10:14:24それ、C# はっていうか、Java や C++ でできるか?
0739デフォルトの名無しさん
2005/09/10(土) 10:54:000740デフォルトの名無しさん
2005/09/10(土) 10:54:280741デフォルトの名無しさん
2005/09/10(土) 13:36:16Form1.csに
Form1.とインテリセンスを出してみましたが、当然のようにAメソッドはインテリセンスの一覧にはありません。
どのようにすればインテリセンスに登場させることができるでしょうか。
0742デフォルトの名無しさん
2005/09/10(土) 13:42:12参照しているのなら、クラスからじゃなくて名前空間から書いていく。
あといつまでもForm1なんて名前使ってるのはださくね?
0743741
2005/09/10(土) 14:15:53回答ありがとうございます。参照設定やってみます。
0744デフォルトの名無しさん
2005/09/10(土) 14:20:28これ定番
0745デフォルトの名無しさん
2005/09/10(土) 14:22:26マジで?
Delphi のイメージがまたちょっと悪化。
static virtual ってどういう扱いになるん?
0746デフォルトの名無しさん
2005/09/10(土) 14:48:50「TClass.Method;」で呼び出すと C# の static メソッド風に、
「Object.Method;」で呼び出すと C# の non-static メソッド風に振舞う。
……みたい。ガイドを見る限りでは。多分。
0747デフォルトの名無しさん
2005/09/10(土) 16:21:270748デフォルトの名無しさん
2005/09/10(土) 16:24:340749名無しさん@そうだ選挙に行こう
2005/09/10(土) 21:02:090750デフォルトの名無しさん
2005/09/10(土) 22:33:57下のコードだとビルドは通るのですが、実行したらアプリが固まってしまいます。
Splitメソッドを使おうと思ったのですが、1つの文字しか指定できないのでやむなく下のように書いたのですが
どなたか何かヒントをいただけるとうれしいです。
string[] split;
string moji = textBox1.Text;
int count = 0;
int a;
int b;
while(moji.Length > 0)
{
a = moji.IndexOf("。"); //。の最初の出現位置
b = moji.IndexOf("\r\n"); //\r\nの最初の出現位置
if(a > b) //。と\r\nのどちらが先に出現するかで処理をわける
{
split[count] = moji.Substring(0, a + 1); //文の最初から。までを抜き出す
moji = moji.Remove(0, a+ 1); //文の最初から。までを削除したものをmojiに入れる
}
if(b < a)
{
split[count] = moji.Substring(0, b + 1);
moji = moji.Remove(0, b + 1);
}
count++;
}
0751名無しさん@そうだ選挙に行こう
2005/09/10(土) 22:35:220752名無しさん@そうだ選挙に行こう
2005/09/10(土) 22:37:210753750
2005/09/10(土) 22:37:40便利なメソッド教えていただいてありがとうございます。
これで楽できます。
0754名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:35:27Controlを継承して作るのとそうでない方法、どちらがよいのだろうか。
各、描画オブジェクトは摘んで動かしたりできる機能を持つとして
試しに、ドラッグして動かすものをつくってみたのですが
Controlで作った場合 Locationプロパティを変更するだけで綺麗に描画できた。
Controlを継承せずに OnPaint(Graphics), NotifyView(Rectangle), MoveTo(int,int)などを
実装したオブジェクトを使った場合、かなりちらつきがあったり、遅かったりしたんですけど。
どちらの方が一般的なんでしょうか?
0755名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:38:07DllImport属性だとDllの場所を動的に指定できないみたいなのですが、
実行時にdllの場所を指定して読み込ますことはできないんでしょうか?
それができるDllImportの代替手段などもあれば教えてください。
0756名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:42:48前者はウィンドウハンドルの無駄遣いっぽい。
後者を使ってダブルバッファリングさせるのが一般的じゃないかな?
0757名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:44:01オブジェクトの数が増えるとそれが逆転する可能性がある。
>>755
俺も調べたことがあってそういう方法を紹介してたサイトがあったが、
それがとてつもなく面倒な手間がかかって欠点もある、ということで結局
アンマネージDLLを呼ぶアンマネージDLLという馬鹿馬鹿しくなるものを作った覚えがある。
つまりお勧めできない。
0758名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:46:33構造をDocumentとViewにわけてDocumentで描画オブジェクトを管理。
View部分にはTimerクラスをくっつけて、
Documentの更新状況に関係なく毎秒nフレームとかで描画すればそんなに遅くならないよ。
ちらつきはBMPのバックバッファ用意して、そこに描画して一気にメインバッファに
流し込めば起きなくなる。描画するコントロールのOnPaintbackgroudを無効にしておくのも忘れずに。
0759名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:46:40http://dobon.net/vb/dotnet/links/extractarchive.html
これを参考に。ちなみに俺には中身は理解できなかった。
0760名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:48:42.NET2.0になればMarshal.GetDelegateForFunctionPointerで関数ポインタをデリゲートに変換できるんだが。
Managed C++でLoadLibraryをラッピングするしかないかな。
0761名無しさん@そうだ選挙に行こう
2005/09/10(土) 23:54:22LoadLibrary使うのにこんなメンドクサイ事するとは……。
システム寄りの事をするにはC++のほうが適してるな、こりゃ。
0762名無しさん@そうだ選挙に行こう
2005/09/11(日) 00:01:22何を今更
ま、Managed用の言語であるC#とUnmanagedのDLLで食い合わせが悪いのは当然だわな
0763758
2005/09/11(日) 00:02:21ttp://venus.aez.jp/uploda/data/dat2/upload318729.zip
0764名無しさん@そうだ選挙に行こう
2005/09/11(日) 00:26:58set PATHすればええやん。
そういう問題じゃないのか?
0765名無しさん@そうだ選挙に行こう
2005/09/11(日) 00:31:490766名無しさん@そうだ選挙に行こう
2005/09/11(日) 00:43:01そのためのManaged C++でしょう。
0767名無しさん@そうだ選挙に行こう
2005/09/11(日) 01:19:590768名無しさん@そうだ選挙に行こう
2005/09/11(日) 01:47:40IDEで出ちゃいます?
0769755
2005/09/11(日) 01:59:59でもラッパーDLLをそのフォルダに置いて、それを呼び出せば良さそうですね。
たくさんのレスありがとうございました。
ところでマネージDLLを実行時に場所を指定して読み込むのってどうやるんでしたっけ?
0770名無しさん@そうだ選挙に行こう
2005/09/11(日) 02:02:480771755
2005/09/11(日) 02:06:03ttp://www.misuzilla.org/docs/net/dynamic-pinvoke
0773名無しさん@そうだ選挙に行こう
2005/09/11(日) 02:17:17>571-575
0774754
2005/09/11(日) 11:43:18オブジェクト4000個で実験したところ
Controlだと消費メモリは+3M@タスクマネージャ
遅い原因はView側のOnPaintがClipRectangleに対応していなかったようです
0775名無しさん@そうだ選挙に行こう
2005/09/11(日) 11:55:230776名無しさん@そうだ選挙に行こう
2005/09/11(日) 14:49:130777名無しさん@そうだ選挙に行こう
2005/09/11(日) 15:51:06ポトペタ最高
0778名無しさん@そうだ選挙に行こう
2005/09/11(日) 19:58:22その発言の意図がわからん。
古いっつーなら勉強し直した方がいいかも。
0779名無しさん@そうだ選挙に行こう
2005/09/11(日) 20:08:54MFC信者?
0780名無しさん@そうだ選挙に行こう
2005/09/11(日) 20:52:230781デフォルトの名無しさん
2005/09/11(日) 22:39:04C#でシェアウェアを作ったとします。
コードの中にパスワードが書いてあった場合、逆コンパイルでパスワードって見えちゃうんじゃないかと思うのですが
どうなんでしょうか。
0782名無しさん@そうだ選挙に行こう
2005/09/11(日) 22:41:29普通、そういう場合はパスワードを暗号化したものを入れておくんじゃないか。
ユーザーに入力された文を暗号化して結果が、暗号化されてるパスワードと比較する。
0783名無しさん@そうだ選挙に行こう
2005/09/11(日) 22:42:37そこでMD5暗号化
しかし固定文字列では割れ厨はシリアル集からパス入手するかもね。
0784名無しさん@そうだ選挙に行こう
2005/09/11(日) 22:43:310785781
2005/09/11(日) 22:46:58なるほど、それなら見えちゃっても大丈夫ですね。ありがとうございます。そのようにしようと思います。
>>783
MD5という暗号技術がお勧めですか。ありがとうございます。やってみます。
そんなに需要のあるジャンルじゃないので洩れて晒されるほどではないのでわと思っているのですが。
>>784
文字列の暗号化は確か有料でけっこうなお値段だったような気がするのですが、いくらだったか。
ちょっと見てみます。
0786781
2005/09/11(日) 22:48:52このサイトに30万とか書いてますよ。
0787名無しさん@そうだ選挙に行こう
2005/09/11(日) 22:59:01お前は何も見なかった。
0788名無しさん@そうだ選挙に行こう
2005/09/11(日) 23:05:24UPX 圧縮するともしかするかも
マネージコードで試したこと無いからわかんないけど
0789名無しさん@そうだ選挙に行こう
2005/09/11(日) 23:08:002005だけど。
0790781
2005/09/11(日) 23:17:13>>788
UPX圧縮って、調べてみたら実行ファイルを圧縮して、サイズが小さくなって起動が早くなるとかいう説明でしたが
ひょっとして圧縮ファイルにパスワードとかかけられるのでしょうか。
それか圧縮した状態だから中のパスが見られないということかな。
http://www.vector.co.jp/soft/win95/util/se246580.html
実は、シェアだけど、これも圧縮ファイルにパスワードかけるやつなのですが、これ使っちゃおうかなと思ってたんですけど
一応プログラマーなんだから自分のシェアソフトのパスぐらい自分でなんとかしないといけないんじゃないかというジレンマがあって
こういうの使うのが一番簡単な気がするのですがいまだに迷ってます。
>>789
2005には便利なものがついてるのですね。
使っているのはVS2003です。
確か2005はまだベータでしたよね。
0791名無しさん@そうだ選挙に行こう
2005/09/11(日) 23:20:00いまだに悩んでる。
MSが簡単に「もう辞めた」と言いそうで怖い
0792名無しさん@そうだ選挙に行こう
2005/09/11(日) 23:21:57複数の言語を使えるに越したことはない。
特に.NETでは。
0793名無しさん@そうだ選挙に行こう
2005/09/11(日) 23:23:57現在ver2は開発中だしver3は仕様の構想中だよ
C++と違って実装できた機能が規格に追加されるので堅実だと思う
M$は.netいじりにはC#が最適と言いたいみたいだし
0794名無しさん@そうだ選挙に行こう
2005/09/11(日) 23:29:420795名無しさん@そうだ選挙に行こう
2005/09/11(日) 23:42:21今までの資産が大きすぎるからなぁ。両方できればそれに越したことは
ないけど、そうでない、頭が固まってしまった人がかなりいるし。
0796デフォルトの名無しさん
2005/09/11(日) 23:50:24他人が読むときに不便になりそうな奇抜な機能は付けないでほしい…
0797デフォルトの名無しさん
2005/09/12(月) 00:00:01次のタマはないんだよ。
現在研究中の言語もC#に取り込まれていくだけ。
0798デフォルトの名無しさん
2005/09/12(月) 00:25:10幅広く何でもやりたいなら、当分の間安泰なC/C++がお勧め。
0799デフォルトの名無しさん
2005/09/12(月) 02:08:24UserControlを継承したクラスで
OnPaint(Graphics g)内で
g.DrawString(...)を読んで文字列を書いて
ScrollWindowExやScrollWindow読んで画面をスクロールさせるようなサンプルありませんでしょうか?
どうにもどうすればいいのかつまってしまって困ってます3ヶ月前まで、Linux一筋だったので助けてください。
0800デフォルトの名無しさん
2005/09/12(月) 03:03:29Microsoft .NET Framework の Windows フォームを使用したペインティング テクニック
http://www.gotdotnet.com/japan/team/windowsforms/windowsformspainting.aspx
サムネイル画像コントロールを作ろう
http://www.atmarkit.co.jp/fdotnet/practprog/wisearch02/wisearch02_01.html
0801デフォルトの名無しさん
2005/09/12(月) 03:44:14それともJavaの勉強をするべきか
或いはネイティブのC/C++の勉強をするべきだろうか
正直悩むな
どれが一番将来性があるのか
0802デフォルトの名無しさん
2005/09/12(月) 04:27:513つとも大して難しい言語でもなく、ましてや基本的には似た言語であるので
人並みの能力があれば3つの勉強を同時にこなすぐらいわけないことだ。
つまり一番将来性がないのはそれができないお前。
0803デフォルトの名無しさん
2005/09/12(月) 04:52:25出たらC++/CLIで.NETの勉強すればいいじゃん。
俺の見解だけどその中で一番将来性ないのはJAVAじゃないのか?
JAVAのコンセプトは悪くないんだけど、コンセプトを実現させるパワーに欠ける気がする。
あくまでMSと比較してだけどな。
0804デフォルトの名無しさん
2005/09/12(月) 06:23:20後者でやる場合、四角、三角、円などのクラスに自分の位置とサイズを表すプロパティをつける。
描画する先のコントロールのOnPaintをオーバーライドして
ClipRectangleから描画する必要があるオブジェクトだけを求めて
必要ならダブルバッファリングして、最終的に描画するって感じかな
おもしろそうだったんで試しに作ってみた。VS2005 Beta2
http://49uper.com:8080/html/img-s/79426.zip
0805デフォルトの名無しさん
2005/09/12(月) 07:47:040806デフォルトの名無しさん
2005/09/12(月) 16:30:28あえて将来性の無い言語を選ぶのも悪くないね
ひとつの言語しか使用経験がないのに比べ
複数の言語を使った経験があると
その言語でしか通用しない概念か
多くの言語でも通用する概念かの区別がつくので
未経験の言語を使い始めるときに苦労が少ないよ
要するに「未経験の言語=使えない言語」ではなくなる
0807デフォルトの名無しさん
2005/09/12(月) 16:32:44そして、ユーザがパスワードを入力して制限が外れます。
毎回毎回起動の度にパスワードを入力させるわけにもいかないから当然、ユーザが入力したパスワードを
どこかに保存することになりますよね。
今までテキストに書き込んでおいたのですが、内部に保持する方法はないでしょうか。
コンボボックスを作っといて、コンボボックスのアイテムとして書き込んだら内部に保持できるかなあとか考えて
comboBox1.Items.Add((object)textBox1.Text);
このように書いてみたりしたのですが、アプリを終了して再度起動したときには、せっかく追加した文字が消えており
保持に失敗。
ユーザの入力したパスワードをアプリ内部に保持する方法があれば教えていただけるとうれしいです。
0808デフォルトの名無しさん
2005/09/12(月) 16:38:37自分なら暗号化してレジストリへ書き込みますね
MACアドレスなども含めて暗号化することで
同じ値を入れたのでは他のPCで使えないようにすることもできます
0809807
2005/09/12(月) 16:43:08アドバイスありがとうございます。
やはり外部に書き込むしかないのですね。
テキストにパスワードそのまんま書き込んでたので、あんまりかなあと思っていたので暗号化はしようかと思います。
MACアドレスを含む技も、1台に1ライセンスのシェアを作ったときに使わせていただこうと思います。
0810デフォルトの名無しさん
2005/09/12(月) 18:25:53>このように書いてみたりしたのですが、アプリを終了して再度起動したときには、せっかく追加した文字が消えており
こんな知識で一体どんなシェアウエアつくる気だ?
0811デフォルトの名無しさん
2005/09/12(月) 19:59:240812754
2005/09/12(月) 21:51:25綺麗ですね。
ダブルバファリングはControlStyleに任せていたので参考になります。
Point + Sizeとか始めて見ました。
ForEach(delegate(T){});とか2005のソースは面白いですね。
0813デフォルトの名無しさん
2005/09/12(月) 22:00:540814デフォルトの名無しさん
2005/09/12(月) 22:14:080815デフォルトの名無しさん
2005/09/12(月) 22:18:120816デフォルトの名無しさん
2005/09/13(火) 00:56:31特定のカスタムアトリビュートが付与されているクラス
のみTに取るとかって指定できませんか
たとえば
List<T>
のTは[serializable]が付与されているものだけに限定とか
型は指定できるけどアトリビュートはできないのでしょうか?
0817デフォルトの名無しさん
2005/09/13(火) 00:59:10なんでもいれられるじゃないですか
それなのにGenericってなんの意味があるんですか?
0818デフォルトの名無しさん
2005/09/13(火) 00:59:180819デフォルトの名無しさん
2005/09/13(火) 01:05:43IAかIBってインターフェイスを実装しているType指定って
できないのかな?
Factoryかませないとできないか?
0820デフォルトの名無しさん
2005/09/13(火) 01:14:52少なくとも.NET 2.0ではできない
>>817
キャストしないで良いじゃん
>>819
ANDのみだね
0821デフォルトの名無しさん
2005/09/13(火) 01:16:25だったら配列に入れればキャストしなくてもよくね?
0822最凶VB厨房
2005/09/13(火) 01:19:480823デフォルトの名無しさん
2005/09/13(火) 01:20:110824デフォルトの名無しさん
2005/09/13(火) 01:20:520825デフォルトの名無しさん
2005/09/13(火) 01:46:35List<T>で言えばPredicate<T>での検索とかComparison<T>でのソートとか
型に合わせた部分だけ変えればいいっていう
0826デフォルトの名無しさん
2005/09/13(火) 02:02:16javaで言えばComparatorを実装するオブジェクトはソートできる
みたいにアルゴリズムの再利用はできるぞ
0827デフォルトの名無しさん
2005/09/13(火) 11:12:15何でも入れられるのは問題あるから、型 T だけしか入らないように限定しよう
……というコンセプトもある
0828デフォルトの名無しさん
2005/09/13(火) 12:04:07いちいちキャストが必要。
キャストが必要と言うことは、InvalidCastException 発生の危険性が常に伴う。
Generics 使えば、この例外の発生はありえない。
これは、実行時エラーの回避、効率の両面で有効。
0829デフォルトの名無しさん
2005/09/13(火) 12:04:16オブジェクト指向と絡むとちょっと重要なところが変わるんだけどな
実は配列ってのも似たような機能を固定的に成り立たせている
ところもあるっていうか、MyClassって型があったとして、MyClass[]
って型が暗黙的に存在しているだろ。この関係はList<MyClass>と一緒だ
C++のtemplateみたいな一種のコードジェネレータで実現できる機能って
ことは重要で継承とはちがった拡張性が型パラメータによる総称性って
いうか何かに何かを「適用する」って概念だな
で?なんの役に立つのそれ?ってのがたぶん大半の理解できないひとの
いいぶんだと思うけど、それは使ってみて分かるしかないと思うよ
0830デフォルトの名無しさん
2005/09/13(火) 13:37:26using System;
using System.Text;
using System.Web;
とやっても名前空間に見つからないって言われてしまいます。
System.Web.
まで送って、コード補完かけても、AspNetHosting〜しかでてきません。
何か足りないものがあるんでしょうか(´・ω・`)
0831デフォルトの名無しさん
2005/09/13(火) 13:40:51参照を追加しろ
0833デフォルトの名無しさん
2005/09/13(火) 17:13:27とある自作ゲームで、CPU側の動作(AI)をユーザが
DLLでプラグインできるようにしたいのですが、、
まず、ゲーム本体はプラグインするDLLから動的にアセンブリを呼び、
どういう動作をするのかを問い合わせる形をとるものとします。
しかし、ゲームの本体で持っているデータ構造をDLLと
共有する方法がわかりません
ゲーム本体で使っているクラスとゲーム中のデータを
プラグインするDLLがそのまま参照できると嬉しいのですが、
そういうことは可能でしょうか?
0834デフォルトの名無しさん
2005/09/13(火) 17:23:38データやクラスを定義したDLLを作成し、本体とプラグインの両方から参照する。
MSのTerrariumが実際にそんな方法でやってるからTerrariumやってみたら?
http://www.microsoft.com/japan/msdn/net/terrarium/
0835デフォルトの名無しさん
2005/09/13(火) 17:25:52意味不明な部分もあるが、全部可能。
ググルで
C# DLL 遅延
C# DLL 構造体
C# DLL コールバック
で検索して、読めれば全部解決する。
0836833
2005/09/13(火) 18:14:26めちゃめちゃ参考になりそうです、ありがとうございます!
データとクラスを定義したものをDLLに分離したらよいのですね
ところで、共有したいクラス(シングルトンで使っている)を別DLL内に
閉じ込めたとして、プラグインとゲーム本体で同じDLLを参照したとすると、
中身のデータも共有できるんでしょうか??
>>835
説明が下手ですいません。
とっかかりとなることがわからない状態ですので
キーワードを提示していただけて助かります、早速調べてみます
0837デフォルトの名無しさん
2005/09/13(火) 18:33:51>共有したいクラス(シングルトンで使っている)を別DLL内に
>閉じ込めたとして、プラグインとゲーム本体で同じDLLを参照したとすると、
>中身のデータも共有できるんでしょうか??
なにをどうしたいのかいまいちよく見えないが、
ゲーム本体がプラグインのDLLと共有クラスDLLから
インスタンスを作って使うわけで可能じゃね?
とゆーか調べてから設計しる。
0838833
2005/09/13(火) 18:53:21>>837
そのとおりでした。ゲーム本体が共有データを持つDLLの
インスタンスを作って、その後からプラグインがゲーム本体から
動的にロードされて共有データのDLLを見に行くので
問題無しでした
>とゆーか調べてから設計しる。
そうっすね・・・
0839デフォルトの名無しさん
2005/09/13(火) 20:15:17プログラムが組めるような書籍、どなたかご存知じゃないでしょうか?
ジャンルは問いません、友達に教えてあげたいので教えてください。よろしくおねがいします。
0840デフォルトの名無しさん
2005/09/13(火) 20:16:24例えば、rubyで言えば、恋するプログラム〜Rubyでつくる人工無脳
のような本ですね。
0841デフォルトの名無しさん
2005/09/13(火) 20:18:420842デフォルトの名無しさん
2005/09/13(火) 20:19:370843デフォルトの名無しさん
2005/09/13(火) 20:20:400844デフォルトの名無しさん
2005/09/13(火) 20:32:41文法だけでライブラリのことはノータッチだけど
0845デフォルトの名無しさん
2005/09/13(火) 20:42:55『初心者でも順を追ってそれなりの小説が書けるようになる書籍』って読み替えてみた。
こういうのを探すと多分無駄足を踏む事になるね。
俺も >>841 とか >>844 が素直な正解だと思う。
0846デフォルトの名無しさん
2005/09/13(火) 20:50:230847デフォルトの名無しさん
2005/09/13(火) 22:26:17要素数は同じです。
参考サイト
ttp://blog.livedoor.jp/gushwell/archives/2005-03.html
やはり逐一比較しかないのでしょうか?
0848デフォルトの名無しさん
2005/09/13(火) 22:29:070849デフォルトの名無しさん
2005/09/14(水) 04:15:37Terrarium って今でも活発に使われてますか?
0850名無しさん♯
2005/09/14(水) 04:16:24http://msdn.microsoft.com/vcsharp/future/
0851デフォルトの名無しさん
2005/09/14(水) 04:26:180852デフォルトの名無しさん
2005/09/14(水) 04:47:08Extension methods
Lambda expressions
Object and collection initializers
Anonymous types
Implicitly typed arrays
Query expressions
Expression trees
0853デフォルトの名無しさん
2005/09/14(水) 04:50:28死ねよ
0854デフォルトの名無しさん
2005/09/14(水) 04:54:54Terrariumはもともと学習用のゲームみたいな面があった。
0855デフォルトの名無しさん
2005/09/14(水) 05:52:31ファイルが添付されているところまで持って行きたいのですが、
ちょうどInternetExplorerの、ツールメニュー -> メールとニュース -> 「ページの送信」
を実行した後の様な形です。
よい方法ありませんか?
0856デフォルトの名無しさん
2005/09/14(水) 05:59:09とか振っても、この板では元ネタ知ってる人が居なさそう_| ̄|○|||
0857デフォルトの名無しさん
2005/09/14(水) 06:04:10きたー。
でもあんまり感動がねえなあ。
0858デフォルトの名無しさん
2005/09/14(水) 07:41:14プださ
0859デフォルトの名無しさん
2005/09/14(水) 12:17:090860デフォルトの名無しさん
2005/09/14(水) 13:06:03インスタンスを生成する良い場所が思いつきません。自動的に
生成されるForm1のメンバとして作成するのが定石なのでしょうか?
0861デフォルトの名無しさん
2005/09/14(水) 13:11:150862デフォルトの名無しさん
2005/09/14(水) 13:40:36ヒント:シングルトン サービスロケータ
0863デフォルトの名無しさん
2005/09/14(水) 16:06:32Web.conifgの設定を変更したらWebサービスは再起動するのでしょうか?
0864デフォルトの名無しさん
2005/09/14(水) 16:09:54いちいちファイル監視なんてやってられないでしょ
0865デフォルトの名無しさん
2005/09/14(水) 16:31:45有難うございます
普通のWindowsアプリは再起動するらしいので
Webサービスもするのかどうか分からなかったので心配でした
0866デフォルトの名無しさん
2005/09/14(水) 16:38:54それなら当然設定を反映させるのには再起動が必要だぞ。
0867デフォルトの名無しさん
2005/09/14(水) 16:46:500868デフォルトの名無しさん
2005/09/14(水) 17:13:45>>867
プログラム少し変更して
Global.asaxのApplication_Start内でWeb.config変更ログ取るようにしてから
メモ帳でWeb.configを変更してみたんですが
いじる前といじる後ではこちらで再起動掛けなくても変更がログに残ってたんですが
理由は>>867だったんですね
納得しました
お二人とも有難うございました
0869デフォルトの名無しさん
2005/09/14(水) 21:10:35プログラム内部にファイル(データ)を内包した感じのプログラムを作りたいのですが、
どうやれば作れますか?
0870デフォルトの名無しさん
2005/09/14(水) 21:14:26どぼんでも見に行ってみたらどう?
0871デフォルトの名無しさん
2005/09/14(水) 21:20:090872デフォルトの名無しさん
2005/09/14(水) 21:26:00レスありがとうございます。
どぼん見ても分からなかったらまた来ます。
0873デフォルトの名無しさん
2005/09/15(木) 01:38:35なんて自慢できる人いますか?
つっこみ来る前にw
デザインがダサかったら萎え
0874デフォルトの名無しさん
2005/09/15(木) 01:40:16ユーザビリティが優れてればそれで
0875デフォルトの名無しさん
2005/09/15(木) 01:42:49晒してみる。
【実況用】2chブラウザ「Balloo!」スレ Part2
http://pc8.2ch.net/test/read.cgi/software/1107744498/
0876デフォルトの名無しさん
2005/09/15(木) 02:30:520877デフォルトの名無しさん
2005/09/15(木) 22:16:39const uint[] Color = new uint[]{0xFF006000,0xFF0060FF,0xFF00FF00}
としてもエラーになってしまいます。
0878デフォルトの名無しさん
2005/09/15(木) 22:19:470879デフォルトの名無しさん
2005/09/15(木) 22:20:54配列自体はconstでも中身が操作できるから。
0880デフォルトの名無しさん
2005/09/15(木) 22:21:180881デフォルトの名無しさん
2005/09/15(木) 22:28:56readonly も中身は操作できなかったっけ?
0882デフォルトの名無しさん
2005/09/15(木) 22:40:03static readonlyにするぐらい。
各要素の変更まで禁じようと思ったら独自クラス作るかArrayList.ReadOnly使うとか。
0883デフォルトの名無しさん
2005/09/15(木) 23:24:340884877
2005/09/15(木) 23:31:58今回はこれまでコードの中できめ打ちしてたのを
頭でconstにまとめて読みやすくと思っただけなのでまぁ諦めます
ありがとうございました。
0885デフォルトの名無しさん
2005/09/15(木) 23:33:400886デフォルトの名無しさん
2005/09/15(木) 23:34:050887デフォルトの名無しさん
2005/09/16(金) 01:07:52正確に意味理解しとき。
あれは、バイナリイメージにそのまんま「埋め込む」んだ。
だから基本型しか適用できないし、リンク時の動作も埋め込みに
なるんだ。
0888デフォルトの名無しさん
2005/09/16(金) 01:09:460889デフォルトの名無しさん
2005/09/16(金) 02:09:480890889
2005/09/16(金) 02:22:14Ctrl+Pとかを送ってやることにしました。
0891デフォルトの名無しさん
2005/09/16(金) 02:26:340892デフォルトの名無しさん
2005/09/16(金) 03:42:10だが、publicやprotectedの別アセンブリ内のconstを参照するときには埋め込まないでほしかったよ。
constはreadonlyにすればいいんだけど、enumが値の埋め込みになるのが痛い。
0893デフォルトの名無しさん
2005/09/16(金) 09:57:520894デフォルトの名無しさん
2005/09/16(金) 10:00:20俺は877じゃないし、現状、const でも readonly でも 877 の望むようなことはできないのはわかるけど、
バイナリイメージにそのまま埋め込むタイプの、固定長・中身 const の配列欲しくない?
System.Array 型にマッピングされるんじゃなくて。
>>892
いや、それは readonly でもなくて、public プロパティにしろって MSDN かなんかにかかれてたぞ。
public const にしていいのは、円周率 Math.PI みたいに、ほんとに絶対変わらない値だけ。
0895デフォルトの名無しさん
2005/09/16(金) 10:00:320896デフォルトの名無しさん
2005/09/16(金) 12:08:54あと構造体の初期値。
0897デフォルトの名無しさん
2005/09/17(土) 00:47:32ハイハーイ。おれはこんなコード書くことが多いです
public static readonly Regex regex = new Regex(@"...", RegexOptions.Compiled);
0898デフォルトの名無しさん
2005/09/17(土) 00:58:470899デフォルトの名無しさん
2005/09/17(土) 01:12:410900デフォルトの名無しさん
2005/09/17(土) 01:14:370901デフォルトの名無しさん
2005/09/17(土) 01:36:380902897
2005/09/17(土) 02:04:33これかいとかないと確かにダメダメだ…orz
0903デフォルトの名無しさん
2005/09/17(土) 02:11:51気持ち速くなってる。
かなり頻繁に呼ばれないと最初のコンパイルのコストを取り返せないような、微妙。
もっと速くなると思ってたので期待はずれだった。
0904デフォルトの名無しさん
2005/09/17(土) 02:27:320905デフォルトの名無しさん
2005/09/17(土) 11:48:45これを適切に読み込むにはどうしたらいいのでしょうか?
int data[]として、
data[i] = fs.ReadByte()<<8 + fs.ReadByte();
としているのですが、
0x0000が最小0xFFFFが最大として扱われてしまいます。
符号ビットによって場合わけして読みこむように自分でコードを書かないとだめなのでしょうか?
0906デフォルトの名無しさん
2005/09/17(土) 12:03:33ついでにBinaryReaderとか(EOF検出が例外によるものしかないっぽいので使いにくいが)
0907905
2005/09/17(土) 12:07:23intって32bitだってなぜか忘れてました orz...
(short)( fs.ReadByte()<<8 + fs.ReadByte());
でばっちりいけますた。
即レス多謝。
0908デフォルトの名無しさん
2005/09/17(土) 13:12:490909デフォルトの名無しさん
2005/09/17(土) 13:48:57なんじゃそりゃ?
0910デフォルトの名無しさん
2005/09/17(土) 13:56:43C++/CLIでASP.NETしてろよ。
0911デフォルトの名無しさん
2005/09/17(土) 14:29:34なんじゃそりゃ?
0912デフォルトの名無しさん
2005/09/17(土) 15:54:51自作コンポーネントを作成して、プロパティにMyCollectionというクラスを作った場合
コードの自動生成で
MyCollection.AddRange( new AbstractClass[]{
new ClassA(), new ClassA(), new ClassB, new ClassB));
のように記述されるためにはどのようにすればよいのでしょうか?
http://www.comrade.co.jp/component/dotnetroom/kt_vsdn/kt_vs5b.htm#4
を見て単純な場合はうまくいったのですが、CollectionEditorをカスタマイズすると
追加された内容が反映されなくなってしまいます (コードが自動生成されない)
こんな感じのコード
[Editor(typeof(MyCollectionEditor), typeof(UITypeEditor))]
[Serializable]
public class MyCollection : IList{ /* */}
public class MyCollectionEditor : CollectionEditor{/* 具象クラスを何種類か選ばせて追加できるようなエディタ */}
0913デフォルトの名無しさん
2005/09/17(土) 18:02:43ttp://www.codeproject.com/csharp/DzCollectionEditor.asp
0914デフォルトの名無しさん
2005/09/17(土) 22:55:07公開できないとなると作る気もなくなるので
0915デフォルトの名無しさん
2005/09/17(土) 22:57:07遅くなくね?
0916デフォルトの名無しさん
2005/09/17(土) 23:03:22微笑ましいね
0917デフォルトの名無しさん
2005/09/18(日) 00:21:420918デフォルトの名無しさん
2005/09/18(日) 00:30:28ASP.NET デベロッパー センター ホスティング情報
http://www.microsoft.com/japan/msdn/asp.net/hosting/
0919
2005/09/18(日) 00:42:26JAVAからc♯へ移行ってどの程度かかりますか?
最終的にJSP サーブレットをある程度できるようになったら
.NETとasp.netも勉強しようと思ってます。
.NETのほうが簡単に見えてきて。
0920デフォルトの名無しさん
2005/09/18(日) 00:51:11本腰入れて学習が必要なのはASP.NETくらいかな?
VS.NETの使い方、.NET FrameworkのAPI、C#.NETの文法なんかは
それぞれ本一冊あればどうとでもなる。
0921デフォルトの名無しさん
2005/09/18(日) 02:54:42C# の文法とかはむしろ、ウェブ上の情報だけでも十分かも。
ほとんど Java だし。
0922デフォルトの名無しさん
2005/09/18(日) 03:07:20JavaもC#もオブジェクト指向に根ざした言語なのだから、
片方で得られたテクニックなんかもそのまま適当できるっしょ。
0923デフォルトの名無しさん
2005/09/18(日) 03:11:220924デフォルトの名無しさん
2005/09/18(日) 08:14:03別のメソッドで行う処理は数分かかるので、その処理が終わるまで
待つのは避けたいんです。
どうすればいいのですか?
0925デフォルトの名無しさん
2005/09/18(日) 08:20:36整合性に気をつけて
0926デフォルトの名無しさん
2005/09/18(日) 11:01:270927デフォルトの名無しさん
2005/09/18(日) 11:17:010928デフォルトの名無しさん
2005/09/18(日) 11:21:54BeginInvokeの方
0929デフォルトの名無しさん
2005/09/18(日) 11:24:340930デフォルトの名無しさん
2005/09/18(日) 11:54:43VS.NETの使い方が本一冊ぶんも書いてある書籍なんてあるの?
ちょっと気になるので、参考書名を教えて欲しいのですが。
0931デフォルトの名無しさん
2005/09/18(日) 12:20:47モデムと通信するための新しいスレッドを立てて、たとえばATなどを送信して、
返っていた文字列の最後が「OK\r\n」か「ERROR\r\n」になるまでループして待機、
ということをやっているのですが、
while(CommString.EndsWith("OK\r\n") || CommString.EndsWith("ERROR\r\n"));
のところで、「スレッドを中止しようとしました」との例外が出ます。
解決策をお願いします。
do
{
CommString += ((string) mscomm.Input);
//リソースを食い尽くさないように待機
Thread.Sleep(100);
}while(CommString.EndsWith("OK\r\n") || CommString.EndsWith("ERROR\r\n"));
return CommString;
0932デフォルトの名無しさん
2005/09/18(日) 12:28:40> while(CommString.EndsWith("OK\r\n") || CommString.EndsWith("ERROR\r\n"));
訳:CommStringの末尾が"OK\r\n"か"ERROR\r\n"である限りループを繰り返せ
そうでない場合はループを終了せよ
0933デフォルトの名無しさん
2005/09/18(日) 13:50:030934デフォルトの名無しさん
2005/09/18(日) 14:29:080935デフォルトの名無しさん
2005/09/18(日) 14:44:51イントラWebや以前はVB6などで作ってた事務系システムの分野ではかなり使われてる。
Longhornが最初の予定通りなら利用分野が広がった可能性もあるがかなり後退してしまった。
んなもんで、大型のパッケージソフトやユーティリティ系のソフトはネイティブのC++が主流。
そんなこんなでシェアウェア作家あたりが.NET使えねーとかいってこういうスレッドで
暴れだす例が後を絶たない。
0936デフォルトの名無しさん
2005/09/18(日) 15:58:17分野にもよるけど今だにそんなこと本気でいってる人は少ないと思われ。
0937デフォルトの名無しさん
2005/09/18(日) 16:01:580938デフォルトの名無しさん
2005/09/18(日) 16:12:49>>934-935
0939デフォルトの名無しさん
2005/09/18(日) 16:17:300940デフォルトの名無しさん
2005/09/18(日) 16:17:39(PhotoShopでいうレイヤーが常に透明な色で重なっている状態)
Graphicsで描画すると描画した直後はいいのですが
コンテキスト等でその領域に何か表示された後に
その無効領域を取得する方法がわかりません。
どうすればいいのでしょうか?
全部再描画かけてしまうと透明な描画が
2枚以上重なってしまう部分等があり悩んでいます。
0941デフォルトの名無しさん
2005/09/18(日) 16:21:33WindowsUpdateで入れようと思えば入れられるものを
入れてないから普及してないと言い張るのは根拠としてはいまいちだな。
0942デフォルトの名無しさん
2005/09/18(日) 16:25:190943デフォルトの名無しさん
2005/09/18(日) 16:32:08MSCommってCOM(ややこしいな)でしょ?
COMってスレッドセーフ違うんじゃなかったっけ?
というか、0.1秒も眠らせるなら別にスレッドでやることないと思うんだが。
>>940
普通にOnPaintかPaintイベントで再描画するだけでしょ。
正直「どうすればいいでしょうか」なんて他人に質問する以前の問題だね。
0944デフォルトの名無しさん
2005/09/18(日) 16:52:58コンテナPaint→レイヤー描画→コンテナ無効領域発生
のコンボはどうするんだ?
0945デフォルトの名無しさん
2005/09/18(日) 17:02:25因果関係の順番が狂ってないか。
無効領域が発生したからOnPaintが呼ばれるわけだが。
0946デフォルトの名無しさん
2005/09/18(日) 17:34:02それを画面サイズ内で縮小して描画したいのですが、
普通にg.ScaleTransformしてからg.DrawLinesで描くと線が拡大されて表示が汚くなります。
座標データの位置だけを画面サイズに変換してその間を結ぶ線は細いままにしたいのですが
どうしたらいいでしょうか?
色々見る感じだと、g.TransformPointsってのがあるのですが、
System.Drawing.Drawing2D.CoordinateSpaceとかがよくわかりません。
よろしくお願いします。
0947デフォルトの名無しさん
2005/09/18(日) 17:57:180948946
2005/09/18(日) 18:01:20Matrixを定義してやればいけるっぽいです。
グラフィクス周り触るのは初めてで変換行列の定義から読んでるので時間がかかりそうですが…
0949デフォルトの名無しさん
2005/09/18(日) 18:18:25用途が限られてくると思うのですが。
0950デフォルトの名無しさん
2005/09/18(日) 18:20:070951デフォルトの名無しさん
2005/09/18(日) 18:21:13ちなみに.NET 2.0でParameterizedThreadStartってobjectを一つ引数に取るデリゲートが追加される。
0952デフォルトの名無しさん
2005/09/18(日) 18:21:47コンテナにいくつかコントロールが足されている場合
もともとのコンテナ領域分レイヤー描画ってどうするん?
普通に描画してもコンテナにコントロールが
足されていない部分は描画できるが
足されたコントロール上の領域にもかかなきゃならんやん
0953デフォルトの名無しさん
2005/09/18(日) 18:28:32なるほど、クラスを作るんですね。
0954デフォルトの名無しさん
2005/09/18(日) 18:55:30Pointを8つ指定してDrawCurveを使うしかない?
0955デフォルトの名無しさん
2005/09/18(日) 19:09:32Thread じゃなくて Delegate を使えばよろし
0956デフォルトの名無しさん
2005/09/18(日) 19:48:49GraphicsPathを作ってAddLineとAddCurveを繰り返し、FillPath/DrawPath
0957デフォルトの名無しさん
2005/09/18(日) 19:49:530958デフォルトの名無しさん
2005/09/18(日) 21:15:34やりたいことがいまいちよく理解できないけど、
要は座標変換だけしたいってこと?
Graphics.PageScaleの使い方は知ってるのかなあ。
この辺は読んだ?
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/_gdiplus_types_of_coordinate_systems_about.asp
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnprogvbnet/htm/chapter18.asp
0959デフォルトの名無しさん
2005/09/19(月) 00:28:580960デフォルトの名無しさん
2005/09/19(月) 00:30:490961デフォルトの名無しさん
2005/09/19(月) 00:33:400962デフォルトの名無しさん
2005/09/19(月) 00:34:570963デフォルトの名無しさん
2005/09/19(月) 00:49:140964デフォルトの名無しさん
2005/09/19(月) 00:54:510965デフォルトの名無しさん
2005/09/19(月) 01:03:440966デフォルトの名無しさん
2005/09/19(月) 01:07:21まあリアルで厨房のとき友達がいなかったからそういう精神的成長段階を
卒業できてない可哀想な奴らなんだろうけど。
0967デフォルトの名無しさん
2005/09/19(月) 01:19:14御教授お願いします。
0968デフォルトの名無しさん
2005/09/19(月) 01:22:500969デフォルトの名無しさん
2005/09/19(月) 01:23:450970デフォルトの名無しさん
2005/09/19(月) 01:27:020972デフォルトの名無しさん
2005/09/19(月) 01:49:54[Q]キーを押した時にアプリケーションを終了させる事を意図して、
次のようなコードを書いたのですが、
qキーではなく、Shift+qキーを押さないと、思った通り終了してくれません。
qキーを押した事を拾うにはどのように書いたら良いのでしょうか・・・?
ご教示お願いします
protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e)
{
switch ((int)(byte)e.KeyChar)
{
case (int)System.Windows.Forms.Keys.Q:
this.Dispose();
break;
}
}
0973デフォルトの名無しさん
2005/09/19(月) 01:57:540975973
2005/09/19(月) 02:05:33=> switch (e.KeyChar)
case (int)System.Windows.Forms.Keys.Q:
=> case 'q':
紛らわしいから間違えちまったよ
0976名無しさん♯
2005/09/19(月) 02:13:45http://pc8.2ch.net/test/read.cgi/tech/1127063469/l50
0977972
2005/09/19(月) 02:25:30ありがとうございました
あと紛らわしくてすいませんでした
インデントしてたのですが反映されなかったもので…
0978デフォルトの名無しさん
2005/09/19(月) 02:49:40描画しようとしているのですが
各コントロールの描画を一端メモリ上に書き込んで
全てのコントロールでの描画を一括で画面に反映させるには
どうしたらいいんでしょうか
0979デフォルトの名無しさん
2005/09/19(月) 10:15:38可変領域へ文字列を書き込む必要がありDrawStringしてるのですがうまくいきません。
例えば、FormのOnPaintをオーバライドして実行し
フォームをリサイズしてWidthを0にして、少しづつ大きくするとStringが描画されないのですが
どなたか解決方法を知っている人いますでしょうか
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint (e);
e.Graphics.DrawString("WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW",
this.Font, Brushes.Black, this.DisplayRectangle);
}
0980デフォルトの名無しさん
2005/09/19(月) 10:24:380981デフォルトの名無しさん
2005/09/19(月) 11:20:59乙
0982946
2005/09/19(月) 11:35:11二個目のリンクを発見してワールド変換することで対応しました。
一個目のリンクもよんで勉強します。
ご丁寧にありがとうございました。
0983デフォルトの名無しさん
2005/09/19(月) 11:37:32>this.DisplayRectangle
これの中身ヲチしてみた?
これって画面座標なんじゃないの?
コントロールGraphicsに描画するんだから、座標系はコントロールのクライアント座標を
つかわなきゃダメでしょ。
0984979
2005/09/19(月) 12:14:20StringFormatのStringTrimmingをNoneに設定で解決しました。
(ResizeRedrawを有効にするのもOK)
0985デフォルトの名無しさん
2005/09/20(火) 08:05:120986デフォルトの名無しさん
2005/09/20(火) 16:24:160987デフォルトの名無しさん
2005/09/20(火) 16:35:11i r-ー-┬-‐、i
| |,,_ C#_,{|
N| "゚'` {"゚`lリ
ト.i ,__''_ !
/i/ l\ ー .イ|、
,.、-  ̄/ | l  ̄ / | |` ┬-、
/ ヽ. / ト-` 、ノ- | l l ヽ.
/ ∨ l |! | `> | i
/ |`二^> l. | | <__,| |
_| |.|-< \ i / ,イ____!/ \
.| {.| ` - 、 ,.---ァ^! | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l
__{ ___|└―ー/  ̄´ |ヽ |___ノ____________|
}/ -= ヽ__ - 'ヽ -‐ ,r'゙ l |
__f゙// ̄ ̄ _ -' |_____ ,. -  ̄ \____|
| | -  ̄ / | _ | ̄ ̄ ̄ ̄ / \  ̄|
___`\ __ / _l - ̄ l___ / , / ヽi___.|
 ̄ ̄ ̄ | _ 二 =〒  ̄ } ̄ / l | ! ̄ ̄|
_______l -ヾ ̄ l/ l| |___|
0988デフォルトの名無しさん
2005/09/21(水) 01:00:590989デフォルトの名無しさん
2005/09/21(水) 01:44:250990デフォルトの名無しさん
2005/09/21(水) 01:46:03「これがホントのメモリリーク」
「山田君、座布団ぜんぶとっちまいな」
とか言いたいのかテメコノヤロウ
0991デフォルトの名無しさん
2005/09/21(水) 08:10:59おいダンカン
こんなゲームにマジになってどうするの
0992デフォルトの名無しさん
2005/09/21(水) 15:35:430993デフォルトの名無しさん
2005/09/21(水) 18:04:450994デフォルトの名無しさん
2005/09/21(水) 18:24:300995デフォルトの名無しさん
2005/09/21(水) 20:00:19(__) .. ,、、,,,,,,,,,,,,,,,,
{::::::::}三三三ミミミ`、、
(_) >ー"'" ⌒,,ィシヽミミiミミ 、
/ 三彡彡彡ィ`、ミミミ`、
(_) / シ彡彡彡彡ノ'ヽミミミ`、
,' ,三彡彡彡彡彡ソ,ー'
○ l _ _ """'彡彡彡彡彡ノi
{;、 ';;;='''"""` 彡彡彡 、ノノi
kr) .ィェー 彡彡' r、ヽ}彡i
レ' .. シ彡' )ァ' /彡'
{_,,,、 ;、 シ彡 ニンミミ{
l '''"::. 彡ミi
! ̄"` ...:::::::: ノ""{
l .......::::::::: / \_
`''ー 、:::: / /
0996デフォルトの名無しさん
2005/09/21(水) 21:51:26磔獄門のうえ遠島を申しつける
0997デフォルトの名無しさん
2005/09/21(水) 22:59:36¶ ∧彡
( `Д) 彡 ・ \
返してよぅ /丑/つヽ,)彡 人.ヽ.)
 ̄∨ ̄ ̄ ̄ //丑/(三"'''--/'''" ̄
∧_∧ =≡=( (**)─┘ ヽ
( ´Д⊂ヽ / / ⊇ )
⊂ ノ / / ノ ノ ̄丶 ソ \
人 Y / /// / \ ヽ\ .\
し (_) [こくまろ] 《_/ 《_/ ヽ/ラ丶/ラ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ''';;';;;;;,., ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
シチュー引き回しの刑
0998デフォルトの名無しさん
2005/09/21(水) 23:01:250999デフォルトの名無しさん
2005/09/21(水) 23:19:511000デフォルトの名無しさん
2005/09/21(水) 23:20:4610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。