C♯, C#相談室 Part34
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/11/02(木) 20:45:59前スレ
C♯, C#相談室 Part34
http://pc8.2ch.net/test/read.cgi/tech/1157549657/
過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
0002デフォルトの名無しさん
2006/11/02(木) 20:46:35Part32 http://pc8.2ch.net/test/read.cgi/tech/1149934230/
Part31 http://pc8.2ch.net/test/read.cgi/tech/1145075577/
Part30 http://pc8.2ch.net/test/read.cgi/tech/1141448072/
Part29 http://pc8.2ch.net/test/read.cgi/tech/1138925245/
Part28 http://pc8.2ch.net/test/read.cgi/tech/1134514022/
Part27 http://pc8.2ch.net/test/read.cgi/tech/1131544541/
Part26 http://pc8.2ch.net/test/read.cgi/tech/1127063469/
Part25 http://pc8.2ch.net/test/read.cgi/tech/1122352650/
Part24 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/
0003デフォルトの名無しさん
2006/11/02(木) 20:48:01Part17 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/ (ログ行方不明)
Part12 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 ttp://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 ttp://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 ttp://pc.2ch.net/tech/kako/977/977112364.html
0004デフォルトの名無しさん
2006/11/02(木) 20:48:58http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
MSDNライブラリ
http://msdn.microsoft.com/library/ja/
MSDN2
http://msdn2.microsoft.com/ja-jp/library/default.aspx
相互運用マーシャラによるメモリ管理
http://msdn2.microsoft.com/ja-jp/library/f1cf4kkz.aspx
Buffers のサンプル
http://msdn2.microsoft.com/ja-JP/library/x3txb6xc.aspx
文字列のマーシャリング
http://msdn2.microsoft.com/ja-JP/library/e8w969hb.aspx
pinvoke.net: the interop wiki!
http://pinvoke.net/
テンプレ終了
0005デフォルトの名無しさん
2006/11/02(木) 20:50:56ほんとは35
00061
2006/11/02(木) 20:56:50http://pc8.2ch.net/test/read.cgi/tech/1162193452/70
でも書いたが、本気で間違った。
0007デフォルトの名無しさん
2006/11/02(木) 21:04:150008デフォルトの名無しさん
2006/11/02(木) 23:20:490009デフォルトの名無しさん
2006/11/02(木) 23:23:49過去ログの整理がややこしい
0010デフォルトの名無しさん
2006/11/02(木) 23:32:23他スレ(つってもC#初心者スレだが)の人間が善意で立てたのにそれかw
0012デフォルトの名無しさん
2006/11/03(金) 00:35:19つぎ忘れなければ36ってことで
0013前スレ983
2006/11/03(金) 00:49:18貼っておきます。MeasureStringに文字数計測があったとは、盲点でした。
private int printingPosition;
private void printDocument_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
printingPosition = 0;
}
private void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
StringFormat format = StringFormat.GenericTypographic;
int charactersFitted, linesFilled;
e.Graphics.MeasureString(textMain.Text.Substring(printingPosition), textMain.Font, e.MarginBounds.Size, format, out charactersFitted, out linesFilled);
e.Graphics.DrawString(textMain.Text.Substring(printingPosition, charactersFitted), textMain.Font, Brushes.Black, e.MarginBounds, format);
printingPosition += charactersFitted;
if (printingPosition >= textMain.Text.Length) {
e.HasMorePages = false;
}
else {
e.HasMorePages = true;
}
}
0014デフォルトの名無しさん
2006/11/03(金) 01:01:04せっかく乙って付けたのに・・・。
0015デフォルトの名無しさん
2006/11/03(金) 03:09:57http://pc8.2ch.net/test/read.cgi/tech/1162490865/
0016デフォルトの名無しさん
2006/11/03(金) 03:16:100017デフォルトの名無しさん
2006/11/03(金) 17:36:540018デフォルトの名無しさん
2006/11/04(土) 19:53:31パート35の人よんできてー
0019デフォルトの名無しさん
2006/11/29(水) 21:19:330020デフォルトの名無しさん
2006/11/30(木) 00:31:51URLから、ファイルをダウンロードし、ファイルサイズを取得したいのですが、どのようにすればいいでしょうか。
取っかかりを教えて貰えると助かります・・。
0021デフォルトの名無しさん
2006/11/30(木) 00:55:200022デフォルトの名無しさん
2006/11/30(木) 02:26:350023デフォルトの名無しさん
2006/11/30(木) 08:56:18単に時間を計りたいのなら StopWatch クラス使っとけ
0024デフォルトの名無しさん
2006/11/30(木) 09:24:32P/Invoke とは、"マネージコードからアンマネージコード(Win32APIなど)を呼び出すこと"と理解してOK?
0025デフォルトの名無しさん
2006/11/30(木) 10:03:580026デフォルトの名無しさん
2006/11/30(木) 22:37:42自動的にダイアルアップし、切断するような動作をさせたいのですが、ダイアルアップの確立、切断は、どのようにするとできるのでしょうか。
0027デフォルトの名無しさん
2006/12/01(金) 12:44:00フォームBを、別のフォームAから操作して、フォームB内のボックスに入力する値を
決めているのですが、フォームBはアクティブにならないように設定したいです。
OS下段のタスクバーにはフォームBが表示されないようにはできたんですが、
Alt+Tabを入力した時にフォームBの選択アイコンが表示されてしまいます。
このアイコンを消す方法をご存知の有識者の方いらっしゃったら教えてください。
お願いします。
0028デフォルトの名無しさん
2006/12/01(金) 14:54:31{
Button[] b;
public hoge(int n)
{
b = new Button[n];
for(int i = 0; i < 10; ++i)
{
b[i] = new Button();
b[i].Left = i * 20;
b[i].Visible = true;
}
}
}
ボタンを引数の数だけ並べる場合に
こういうようなコードを考えたのですが間違ってますか?
ボタンが一個しか描画されないのですが
0029デフォルトの名無しさん
2006/12/01(金) 14:55:55間違えました
for(int i = 0; i < n; ++i)です
0030デフォルトの名無しさん
2006/12/01(金) 15:13:46ソースの中にでてきてないが、適切なContainerControlのControlsにAddする。
0031デフォルトの名無しさん
2006/12/01(金) 15:21:10ありがとうございます、できました
0032デフォルトの名無しさん
2006/12/01(金) 15:26:380033デフォルトの名無しさん
2006/12/01(金) 17:21:500034デフォルトの名無しさん
2006/12/01(金) 17:40:25を自分で作りたい場合、新しいformとしてメッセージボックスを作って、それをメインフォームから
Form2 f2 = new Form2;みたいに呼び出せばいいんですか?
0035デフォルトの名無しさん
2006/12/01(金) 17:53:30しかしここは廃棄スレです。
こちらへどうぞ
C♯, C#相談室 Part35
http://pc8.2ch.net/test/read.cgi/tech/1162490865/
0036デフォルトの名無しさん
2006/12/01(金) 23:18:38誘導トンクスです
0037デフォルトの名無しさん
2006/12/02(土) 09:33:32http://www.willcom-fan.com/wzero3/entries/kzou/000087/
0038デフォルトの名無しさん
2006/12/02(土) 11:01:04そういうユーティリティを作りたい、欲しいという話ではなくて、
ダイアルアップして、処理をして、終了後すぐ切断するプログラムを作りたいので、
その手法をという話です。
0039デフォルトの名無しさん
2006/12/02(土) 22:57:500040デフォルトの名無しさん
2006/12/03(日) 02:05:320041デフォルトの名無しさん
2006/12/09(土) 17:58:43ListViewではオーナードローが出来ないようなのですが、どのようにしたらListViewに
自由に描画できるようになりますか?
0042デフォルトの名無しさん
2006/12/09(土) 18:18:370043デフォルトの名無しさん
2006/12/11(月) 23:53:47考えていいんでしょうか?
0044デフォルトの名無しさん
2006/12/12(火) 00:02:350046デフォルトの名無しさん
2006/12/16(土) 21:37:17MSDNみたら?
それとどうやって
>OS下段のタスクバーにはフォームBが表示されないようにはできたんですが、
を実現したか書いたほうがいいよ。
多分その方法が書いてあるMSDNのページから手繰っていくと
以下の文章を見つけることが出来るよ。
Alt + Tab キーを押したときに表示されるウィンドウには表示されません
ただ希望の内容を全て満たすかは分からないよ。
0047デフォルトの名無しさん
2007/01/06(土) 01:08:010048デフォルトの名無しさん
2007/01/06(土) 01:15:28・メモリ食いすぎ
・別フォームへの値の受け渡し
0049デフォルトの名無しさん
2007/01/20(土) 00:42:30FillEllipseで作った円をゴールの座標に動かす場合、
どのような方法をとるべきでしょうか?
とても初歩的な質問かとは思いますが、
入門書などでさがしても方法がのっていないもので
ご教示おねがいします。
使用ソフトはMicrosoft Visual C# 2005 Express Editionです。
0050デフォルトの名無しさん
2007/01/21(日) 00:33:450051デフォルトの名無しさん
2007/02/23(金) 13:30:22Append()は戻り値がvoidなので新たにオブジェクトを作らない。
よーく考えろ。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄
_,,t-‐‐-、,-‐‐-、
三'::::::............... .....::::::`y,.
ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ
| ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{
| ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ
| | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f
| | | | i {t)テ" ヘ' '___,イ ヽ_/ 介'
| | | | _,rヘ_,j|!' /ー--''! |'
|,.ィ―'''' ̄ /| | /二ク !
/;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\
/'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\
/:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、
i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ
/⌒ヽ |;;''':::;| \ !;;::''|/ i
/ \{'';;;::''}  ̄二ニ= !::;;| |
/ヘ |;;:::::;{ ‐- !/ |
/ i |:::;;;''! ー ! / |
/ l |;;'';イ } {、
〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´
/ \_ //レ!  ̄  ̄ { ̄ |
0052デフォルトの名無しさん
2007/02/24(土) 11:58:380053デフォルトの名無しさん
2007/03/25(日) 18:21:12扱うときのことに関して質問があります。
まず、秘密鍵K 、Kから生成され予め配布された公開鍵P、Kで暗号化された
データCがあります。今から実装するプログラムにおいて、
RSACryptoServiceProvider.FromXmlString() を用いてPを読み込み、それによって
Cを復号したいのです。質問内容は、
1. そもそもこの処理は実装可能か
2. Kで署名されたデータSを、Pから作られた RSACryptoServiceProvider の
VerifyData() で検証することには成功した。しかし、Encrypt() や Decrypt()
では鍵が違うと文句を言われたが、別のメソッドを用いるべきか。あるいは何か
留意すべきことがあるか
以上、何かアドバイスがあれば、よろしくお願いします。
0054デフォルトの名無しさん
2007/03/25(日) 18:23:33書き忘れました。すみません。実行環境としては WindowsXP Proなんですが、
OAEP パディング は無しでやっています。
0055デフォルトの名無しさん
2007/03/25(日) 18:47:21http://pc11.2ch.net/test/read.cgi/tech/1172662746/
0056デフォルトの名無しさん
2007/03/25(日) 18:48:01---
C♯, C#相談室 Part38
http://pc11.2ch.net/test/read.cgi/tech/1173763436/
0057デフォルトの名無しさん
2007/03/25(日) 20:23:44http://pc11.2ch.net/test/read.cgi/tech/1162467959/
から誘導されました。
.Net Framework 2.0 の System.Security.Cryptography; 以下のクラスでRSA暗号を
扱うときのことに関して質問があります。
まず、秘密鍵K 、Kから生成され予め配布された公開鍵P、Kで暗号化された
データCがあります。今から実装するプログラムにおいて、
RSACryptoServiceProvider.FromXmlString() を用いてPを読み込み、それによって
Cを復号したいのです。質問内容は、
1. そもそもこの処理は実装可能か
2. Kで署名されたデータSを、Pから作られた RSACryptoServiceProvider の
VerifyData() で検証することには成功した。しかし、Encrypt() や Decrypt()
では鍵が違うと文句を言われたが、別のメソッドを用いるべきか。あるいは何か
留意すべきことがあるか
実行環境としては WindowsXP Proなんですが、 OAEP パディング は無しでやっています。
以上、何かアドバイスがあれば、よろしくお願いします。
0058デフォルトの名無しさん
2007/03/25(日) 20:31:04ここは「C♯, C#相談室 Part34」だ
0059デフォルトの名無しさん
2007/03/25(日) 20:34:380060デフォルトの名無しさん
2007/03/25(日) 21:15:20うわ、誤爆した。。
0061デフォルトの名無しさん
2007/04/02(月) 14:02:21という文章から「シンプル」と「ユーザーインターフェース」
を抜き出したいのですが、正規表現でやるとおもうのですが、
どうすればいいのでしょうか?
お願いします。
0062デフォルトの名無しさん
2007/04/02(月) 14:09:14カタカナだと「ヴ」とかがあるから
実際はもっと複雑な正規表現使わんといかんだろうけど
0063デフォルトの名無しさん
2007/04/02(月) 14:12:12ありがとうございます。範囲でやればいいんですね。
ついでに質問なんですが、漢字の場合も範囲でできるのでしょうか?
よろしければ教えてください。
0064デフォルトの名無しさん
2007/04/02(月) 14:31:450065デフォルトの名無しさん
2007/04/02(月) 14:38:20.NETではユニコードブロック名が使えるから、それを用いるとよい。
Regex re = new Regex("([\\p{IsKatakana}]+)");
これで連続するカタカナがキャプチャされる筈。
0066デフォルトの名無しさん
2007/04/02(月) 14:40:49漢字の場合もユニコードブロックを使うことが出来るが、CJK統合漢字の
ブロックにはShift_JISには含まれないような漢字(要するに中国や韓国で
使ったりするようなもの)も含まれるので注意。
そのようなものを省きたいとなると、連続領域でも指定できないので、
面倒だろうな。
0067デフォルトの名無しさん
2007/04/02(月) 15:12:38ありがとうヽ(´ー`)ノ
0068デフォルトの名無しさん
2007/04/02(月) 22:26:020069デフォルトの名無しさん
2007/04/04(水) 23:38:04入力待ちの時にキャレットが点滅して入力を受け付けて、
それ以外の時は入力を受け付けない(入力しても画面にエコーさせない)、
という2つの状態はどう判断すれば良いのでしょうか?
0070デフォルトの名無しさん
2007/04/04(水) 23:40:310072デフォルトの名無しさん
2007/04/05(木) 00:28:23ここはC#のスレだよ?エスパー募集のスレじゃないよ?
0073デフォルトの名無しさん
2007/04/05(木) 01:01:20じゃあおまえいらないじゃーん
0074デフォルトの名無しさん
2007/04/05(木) 12:24:470075デフォルトの名無しさん
2007/04/05(木) 20:33:29唯一無二のワールドスタンダードである。
ホームページ制作王の普及なくして、
我が国のWebが世界と肩を並べる日は決してやってこない。
これに対し、非標準ソフトを販売する他社は、生活を維持するために工作員を動員して、
2chなどの掲示板で、真実をねじ曲げて、ホームページ制作王を貶し、
非標準ソフトの販促を行っている。
標準ソフト・ホームページ制作王に対して根も葉もない風評をでっち上げ、
非標準ソフトのシェア維持活動を行っている者たちこそ、
悪質な宣伝行為として非難されるべき、これが道理である。
他社製非標準ソフトを野放図にはびこらせておきながら、
世界標準・ホームページ制作王に対して反動的な発言をする
他社工作員たちに正義の鉄槌を下さなければ、我が国のWebに未来はない。
いかなる者も、世界の権威であるCOMDEXの決定に背くことはできない。
世界の権威COMDEXの決定に従わない者に、21世紀のWebをクリエイトする
権利や資格は1つもないのだ。あろうことか、COMDEXの意志を否定することに至っては
許されない暴挙であり、制裁の対象である。非標準のアプリケーションを販売して生計を立てる
他社が送り込む工作員による煽動ともいえる行為、および無知な大衆による工作員を
支持あるいは賞賛する行為は我が国のWebを大きく退行させるものであり、万死に値する。
COMDEXが定めた21世紀の世界標準は、ホームページ制作王のみである。
21世紀も早や7年目。我々日本国民は、他社工作員の煽動行為に対して真実を見抜く眼を持ち、
ホームページ制作王の我が国における標準化を達成しなければならない。
COMDEXが定めた世界標準・ホームページ制作王の普及は、情報化時代において、
日本国が国際社会において名誉ある地位を獲得するためのスタートであり、かつゴールである。
0076デフォルトの名無しさん
2007/04/05(木) 20:41:550077デフォルトの名無しさん
2007/04/05(木) 20:49:26どのようにすれば良いのでしょうか?
COMを使用すれば良いのかなとも思うのですが
詳しく記載したHPがなくて困っています。
ヒントでも良いので教えていただけないでしょうか。
0078デフォルトの名無しさん
2007/04/05(木) 20:53:340079デフォルトの名無しさん
2007/04/05(木) 20:58:330080デフォルトの名無しさん
2007/04/05(木) 22:02:38結構、めんどいね。
0081デフォルトの名無しさん
2007/05/26(土) 12:47:59教えてエロい人!!
0082デフォルトの名無しさん
2007/05/26(土) 13:11:330083デフォルトの名無しさん
2007/05/26(土) 13:36:19(σ・∀・)σ ))´Д`;)
0084デフォルトの名無しさん
2007/05/26(土) 15:24:01プログラミング.NET FrameWork 第2版
この本はガチ
0085デフォルトの名無しさん
2007/05/26(土) 19:31:31C#を英語で学びたいんだけど、いい本ありますか?
薄くて説明が少ない奴じゃなくて、分厚くてこれでもかと
細かく説明してある本を読みたい。
0086デフォルトの名無しさん
2007/05/26(土) 19:34:210087デフォルトの名無しさん
2007/05/26(土) 19:42:22008885
2007/05/26(土) 20:15:13俺英語は少し読めるけど、英語で文章作れないのだから、
むこうのBBSで質問なんてムリポ。
エロサイト、英語で書かれた論文と教科書で読む方は経験豊富だけど
書く聴く話すは全然童貞なんだよね。小名ぬーばかりしてる中年童貞みたいだな。
0089デフォルトの名無しさん
2007/05/26(土) 20:37:02009085
2007/05/26(土) 21:54:410091デフォルトの名無しさん
2007/05/26(土) 22:31:490092デフォルトの名無しさん
2007/05/27(日) 01:19:12http://pc11.2ch.net/test/read.cgi/tech/1178639189/
0093デフォルトの名無しさん
2007/06/07(木) 13:05:17世間様としてはどうもC#っぽいよなぁ・・・
移行したいけど ちょっとやってみてたら方言の違いが多すぎてちょっとつらいorz
でも・・・これ乗り越えなきゃ今後キツい様な気がする・・・
0094デフォルトの名無しさん
2007/06/07(木) 14:58:190095デフォルトの名無しさん
2007/06/07(木) 15:50:02て方言ていうのかそれw
0096デフォルトの名無しさん
2007/06/07(木) 16:05:050097デフォルトの名無しさん
2007/06/15(金) 09:41:15例えば「label1」というフォームがあった場合、
「1」という数字の部分を変数に置き換えたいのです。
VBによるものは検索出来たのですが、C#での実現方法がよく分かりません
http://vsug.jp/tabid/63/forumid/47/postid/9033/view/topic/Default.aspx
よろしくお願いします。
0098デフォルトの名無しさん
2007/06/15(金) 10:06:29こういうこと?
0099デフォルトの名無しさん
2007/06/15(金) 11:12:250100デフォルトの名無しさん
2007/06/15(金) 23:53:48おい、そこのフナムシ! ここが次スレでいいのか?
0101デフォルトの名無しさん
2007/06/16(土) 10:27:56質問が書いてあったけど、放置してるスレだったのか。
再利用する?
0102デフォルトの名無しさん
2007/06/16(土) 15:21:400103デフォルトの名無しさん
2007/06/16(土) 15:22:210104デフォルトの名無しさん
2007/06/16(土) 15:22:21C#, C♯, C#相談室 Part39
http://pc11.2ch.net/test/read.cgi/tech/1178639189/
0105デフォルトの名無しさん
2007/06/16(土) 15:23:59まあ今更それが通ることもなかろうが
0106デフォルトの名無しさん
2007/06/16(土) 15:28:48100スレごとに大声でさけんどけばok
まあ過去にスレ番も何回かずれてた気がするが
0107デフォルトの名無しさん
2007/06/16(土) 15:30:25○100レスごと
0108デフォルトの名無しさん
2007/06/16(土) 15:34:420109デフォルトの名無しさん
2007/06/16(土) 15:42:26俺みたいな頭のおかしいヤツに誘導されて本当によかったのか?
0110デフォルトの名無しさん
2007/06/16(土) 15:42:510111デフォルトの名無しさん
2007/06/16(土) 16:12:130112デフォルトの名無しさん
2007/06/16(土) 16:34:28PDPerは、オクタルダンプを見れば容易にデバッグできるのが普通だった。
で、Unix&Cにとってはオクタル処理機能が必須(やらない=死)だったわけ。
今となっては盲腸でしかないけどな。
0113デフォルトの名無しさん
2007/06/16(土) 16:59:29C#, C♯, C#相談室 Part40
http://pc11.2ch.net/test/read.cgi/tech/1181979651/
0114デフォルトの名無しさん
2007/06/16(土) 17:00:10C#, C♯, C#相談室 Part40
http://pc11.2ch.net/test/read.cgi/tech/1181979651/l50
0115デフォルトの名無しさん
2007/06/16(土) 17:00:130116デフォルトの名無しさん
2007/06/16(土) 18:11:00コンパイル通っても、あれでなんどかバグだしたよ。
C#になってなくなってすっきりしたわ
0117デフォルトの名無しさん
2007/06/16(土) 18:19:510118デフォルトの名無しさん
2007/06/16(土) 18:22:528進だから8はないんだよね
0119デフォルトの名無しさん
2007/06/16(土) 18:27:200120デフォルトの名無しさん
2007/06/16(土) 18:28:330121デフォルトの名無しさん
2007/06/16(土) 18:32:19ふむ。なるほど。
0122デフォルトの名無しさん
2007/06/18(月) 21:49:440123デフォルトの名無しさん
2007/06/27(水) 21:53:530124デフォルトの名無しさん
2007/06/27(水) 21:57:370125デフォルトの名無しさん
2007/06/27(水) 21:59:090126デフォルトの名無しさん
2007/06/27(水) 23:29:49例えばclass Cがあったとして
std::vector<C *>や
std::vector<double>*などを
メンバに持っていて、それをC#に書き直すとListに
なるのは解りますがどう表記して良いのかが
わからないです。
単純にint *ipなんて感じのメンバならint[] p
とするんですが、上記の様な場合
どうしたらよいか教えていただけないでしょうか。
あとstd::mapはDictionaryであってますでしょうか
初心者の質問ですみませんが教えて下さい。
0127デフォルトの名無しさん
2007/06/27(水) 23:33:160128デフォルトの名無しさん
2007/06/28(木) 01:02:34ラッパー書くの面倒くさいけど。
0129デフォルトの名無しさん
2007/06/28(木) 02:17:07仕事?趣味?
仕事なら「転職」マジお勧め
0130デフォルトの名無しさん
2007/06/28(木) 08:52:37C#使いにC++もできるやつは居ないって事がわかったろ?
0131デフォルトの名無しさん
2007/06/28(木) 08:55:47ポインタは普通に書く必要がないが、
配列を意味してる場合はまた変わってくるだろうな。
というか、ポインタでないもので
代入が行われているコードの方がむしろ厄介だな。
0132デフォルトの名無しさん
2007/06/28(木) 08:56:28C じゃねえ。C# だ。
0133デフォルトの名無しさん
2007/06/28(木) 10:43:52おまえみたいなフナムシは↓こっちへ池や
C統合・質問スレッド
http://pc11.2ch.net/test/read.cgi/tech/1068359871/
0134デフォルトの名無しさん
2007/06/28(木) 11:45:540135デフォルトの名無しさん
2007/06/28(木) 12:46:020136デフォルトの名無しさん
2007/06/28(木) 12:48:01どの地方?
0137デフォルトの名無しさん
2007/06/28(木) 16:33:020138デフォルトの名無しさん
2007/06/28(木) 16:36:33class MyControl : Control
{
string myproperty="";
public string MyProperty {
get { return myproperty; }
set { myproperty = value; }
}
}
これに、次のようにデータソース ds をバインドしました。データソースにも MyProperty があります。
MyPropery obj = new MyProperty();
obj.DataBinding.Add("MyProperty", ds, "MyProperty");
で、obj.MyProperty = 〜 のように値を設定してみたのですが、データソースが更新されません。
プロパティの変化に追従してデータソースも変更されるようにするには、何が必要なのでしょうか?
0139138
2007/06/28(木) 16:38:57規定クラスとして Control を使ったのは、データバインドを実験するのに一番簡単かと思ったからです。
0140デフォルトの名無しさん
2007/06/28(木) 16:43:160141138
2007/06/28(木) 16:56:56それって、データソースの方に実装するインターフェースじゃないですか?
データソースが更新されたことを、データソースをバインドしてるコントロールへ通知するというか。
今回やりたいのは、何らかのコントロールの派生クラスを作って、自分で追加したプロパティを変化させたとき、
それをデータソースへ反映させることです。
ちなみに、データソースの変化をコントロールに通知する方法も知りたかったことです。
INotifyPropertyChanged がソレみたいですね。
ありがとうございます。
0142138
2007/06/28(木) 18:11:38データソースが更新されるようになりました。
ありがとうございました。
ただ、Control をはじめ、その派生クラスである TextBox とかの標準コントロールは INotifyPropertyChanged を
実装していないようですが、どうやって変更を通知してるんですかね?
Control.Text にデータをバインドして、Control.Text に値を代入すれば、ちゃんとデータソースも更新されるし。
せっかく Control を派生させて自分のクラスを作るなら、標準のコントロールがやっているのと同じ方法を使って
変更通知したいと思うのですが。
0143デフォルトの名無しさん
2007/06/28(木) 18:12:430144デフォルトの名無しさん
2007/06/28(木) 18:14:52ただし、.NET Fx2.0からは後者推奨
0145142=138
2007/06/28(木) 18:35:50Help にある 「バインド型の各プロパティに変更イベントを提供します。」というのはそういう意味だったんですね。
すっきり理解できました。
ありがとうございました。
0146デフォルトの名無しさん
2007/07/06(金) 20:25:57Activator.CreateInstance がそれです。
では、Type を指定して、その配列のインスタンスを作る方法はあるでしょうか。
たとえば typeof(string) と要素数 10 を指定したとき、string[10] を作るような感じです。
0147146
2007/07/06(金) 20:36:31Type t = typeof(string);
int n = 10;
object a = System.Activator.CreateInstance(t.MakeArrayType(), new object[] { n });
みたいですね。
0148デフォルトの名無しさん
2007/07/06(金) 20:45:06C#, C♯, C#相談室 Part40
http://pc11.2ch.net/test/read.cgi/tech/1181979651/
0149デフォルトの名無しさん
2007/07/06(金) 20:58:13別にどっちでも構わんと思うんだが。
0150デフォルトの名無しさん
2007/07/06(金) 21:05:26スレ立てたヤツ依頼出しとけよ
0151デフォルトの名無しさん
2007/07/09(月) 23:54:59テメエがだせや
0152デフォルトの名無しさん
2007/08/26(日) 12:55:00http://pc11.2ch.net/test/read.cgi/tech/1184840053/
0153デフォルトの名無しさん
2007/08/26(日) 18:05:09C#, C♯, C#相談室 Part42
http://pc11.2ch.net/test/read.cgi/tech/1188099745/
0154デフォルトの名無しさん
2007/09/04(火) 18:46:23Label1.Text = Replace(Session("body"), vbCrLf, "<br />")
-----------------------------------------------
VBの本の中にソースが載っていたのですが、
この1文が、どうにもわかりません。
そのコード意味は、どうやらセッションというデーター内の改行を
HTMLの改行に変換するっぽいのですが・・・。(推測)
ちなみに、他の行は自力で調べましたが肝心のこのコードが分りませんし、
C#でどう書けば良いのか分りません。
賢者の方々、どうか愚者の私にご指導をお願い申し上げます。
0155デフォルトの名無しさん
2007/09/04(火) 18:47:39次のスレに書きます。
0156デフォルトの名無しさん
2007/09/22(土) 09:58:02HP一通り見たんだけどどうもその辺の記述が見当たらなくて・・
ちなみに先程、誤爆しました。
0157デフォルトの名無しさん
2007/09/22(土) 22:19:32まぁ、開発者にメールでお願いしてみたら良いんじゃないでしょうか。
0158デフォルトの名無しさん
2007/09/22(土) 23:28:380159デフォルトの名無しさん
2007/09/22(土) 23:43:15うんそうだね〜そうだね〜
0160デフォルトの名無しさん
2007/09/23(日) 00:20:08もう少し気の利いたレスはできんのかなぁと思う。
0161デフォルトの名無しさん
2007/09/23(日) 00:20:360162デフォルトの名無しさん
2007/09/23(日) 00:21:28心のゆとりがなさ杉
0163デフォルトの名無しさん
2007/09/23(日) 00:22:11CodeProjectって投稿されてるコードに統一的な共通のEULAみたいの掲げてたっけ?
見たことないが。
まあ、>>158-159みたいのは自信がないから言質をとられないような煽りしか
書けないんだろうけどw
0164デフォルトの名無しさん
2007/09/23(日) 00:24:01その程度のことも知らずに「ゆとり」とかいう言葉を安易に使う人間のお里は知れてるでしょ。
0165デフォルトの名無しさん
2007/09/23(日) 00:25:460166デフォルトの名無しさん
2007/09/23(日) 00:27:05>お里は知れてるでしょ。
使い方おかしいよ
0167デフォルトの名無しさん
2007/09/23(日) 00:28:26暴走って具体的に何?
0168デフォルトの名無しさん
2007/09/23(日) 00:33:2670年代後半からゆとり教育が段階的に開始されたんじゃなかった?
40代はまだまるまるゆとり教育以前じゃない?
まぁ、どっちにしろ、いわゆる「ゆとり世代」といわれるものを勘違いしているんだろうけどw
0169デフォルトの名無しさん
2007/09/23(日) 00:33:44頭悪いな。
別におかしくないよ。
本気で言っているなら単にお前さんが日本語に疎いだけ。
本当にお里が知れるよまったくw
0170デフォルトの名無しさん
2007/09/23(日) 00:37:110171デフォルトの名無しさん
2007/09/23(日) 00:40:36本当に気づいてないんだな
指摘されたら辞書くらい見てみなよ
0172デフォルトの名無しさん
2007/09/23(日) 00:56:19ものによる。
GPLとかBSDとかライセンスの記述があるのは話が早いが、ものごとに統一されてないので一つずつ確認しろ。
0173デフォルトの名無しさん
2007/09/23(日) 01:21:07辞書ねえw
なるほど、では具体的に「どこが」、「いかなる理由で」おかしいか書いてみな。
0174デフォルトの名無しさん
2007/09/23(日) 01:37:380175デフォルトの名無しさん
2007/09/23(日) 01:47:180176デフォルトの名無しさん
2007/09/23(日) 02:47:420177デフォルトの名無しさん
2007/09/23(日) 03:40:180178デフォルトの名無しさん
2007/09/23(日) 13:13:45C#, C♯, C#相談室 Part42
http://pc11.2ch.net/test/read.cgi/tech/1188099745/
0179デフォルトの名無しさん
2007/09/23(日) 15:24:44自分のものにしてしまえ
0180デフォルトの名無しさん
2007/09/23(日) 15:36:20C#, C♯, C#相談室 Part42
http://pc11.2ch.net/test/read.cgi/tech/1188099745/
0181デフォルトの名無しさん
2007/09/23(日) 15:38:570182デフォルトの名無しさん
2007/09/24(月) 10:28:56OnTextChangedみたいなイベントOnHogeChangedを発生させる場合って
どうすれば良いのでしょうか?
プロパティ内でif文でイベントを発生させようとしましたがsenderとかが取得で格好悪いです。
又、色々調べたらPropertyChangedってのが近い気がしますがあまり実体がわかりませんでした。
ここら辺りで何か参考になる情報なサイトを知ってたら教えて下さい。
0183デフォルトの名無しさん
2007/09/24(月) 11:31:060184デフォルトの名無しさん
2007/09/24(月) 11:42:44C#, C♯, C#相談室 Part42
http://pc11.2ch.net/test/read.cgi/tech/1188099745/
0185デフォルトの名無しさん
2007/09/24(月) 11:45:44http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_013/csharp_abc01.html
0186デフォルトの名無しさん
2007/09/24(月) 12:04:42レスありがとうございます。
通常のイベントに関しては理解しているつもりです。
プロパティの変更通知の機構をどのように作るのが最適かと悩んでいます。
又、上記のサイトではプロパティを変更したsenderの取得には言及してません。
0187デフォルトの名無しさん
2007/09/24(月) 12:09:080188デフォルトの名無しさん
2007/09/24(月) 12:29:43いや、君理解してないから絶対にw
なんで分からなかったらまず地道に学習しようとは思わないのかな
この手の人って。
0189デフォルトの名無しさん
2007/09/24(月) 13:05:19レスありがとうございます。
thisだと自分自身になるんではないでしょうか?
こちらの思惑としてはプロパティを変更したオブジェクトがsenderに入って欲しいと考えています。
例えばボタンクリック時にプロパティを変更する処理を記述したら
OnHogeChangedのsenderにはボタンのオブジェクトが入ってきて欲しいのです。
0190デフォルトの名無しさん
2007/09/24(月) 13:13:060191デフォルトの名無しさん
2007/09/24(月) 13:14:04senderはイベントを発行しだオブジェクトだよ。
そんな気持ちの悪いことをしちゃならん。
0192デフォルトの名無しさん
2007/09/24(月) 13:15:39senderにはボタンを入れればいい
0193デフォルトの名無しさん
2007/09/24(月) 13:16:31普通そういう情報はEventArgsに入れる
0194デフォルトの名無しさん
2007/09/24(月) 13:33:41イベントのsenderはなぜobjectなんですか?
たとえばイベントを発行したのがButtonならsenderの型もButton、
またControlから継承したクラスのイベントならsenderはControlでもいいように思うのですが。
0195デフォルトの名無しさん
2007/09/24(月) 13:35:360196デフォルトの名無しさん
2007/09/24(月) 13:39:570197デフォルトの名無しさん
2007/09/24(月) 13:42:44PictureBoxに線を描いてみようと思ったのですが、どうも挙動がおかしいのです。
Form_Paintに線描画のコードを書いたのですが、最初は線が表示されず、
ウィンドゥを左右に振ると線が表示されるようになるんです。
さらに振っていると表示されている線の位置も移動します。
何かコーディグが足りてないんでしょうか?
0198デフォルトの名無しさん
2007/09/24(月) 13:42:53そうするとcovariantなデリゲート型の代入が出来なくなるから
0199デフォルトの名無しさん
2007/09/24(月) 13:46:21クラス毎に作るのはめんどいから…
0200デフォルトの名無しさん
2007/09/24(月) 13:56:28{
System.Console.WriteLine("じじい");
}
0201デフォルトの名無しさん
2007/09/24(月) 14:40:42covariantなデリゲート型を代入しないといけない乃至したほうがいい場面ってあるの?
0202デフォルトの名無しさん
2007/09/24(月) 14:52:560203デフォルトの名無しさん
2007/09/24(月) 14:54:220204デフォルトの名無しさん
2007/09/24(月) 14:56:480205デフォルトの名無しさん
2007/09/24(月) 14:59:500206デフォルトの名無しさん
2007/09/24(月) 15:01:35Refresh()
0207デフォルトの名無しさん
2007/09/24(月) 15:02:42あらゆるボタンクリックを起こすコントロールがボタンコントロールから派生するとはいえんからな。
0208デフォルトの名無しさん
2007/09/24(月) 15:03:260209デフォルトの名無しさん
2007/09/24(月) 15:05:32たしかにそうだね
0210デフォルトの名無しさん
2007/09/24(月) 15:12:31covariantなデリゲート型を代入しないといけない乃至したほうがいい場面ってあるの?
あるならたとえばどんな場面?
0211デフォルトの名無しさん
2007/09/24(月) 15:45:43C#, C♯, C#相談室 Part42
http://pc11.2ch.net/test/read.cgi/tech/1188099745/
0212デフォルトの名無しさん
2007/09/24(月) 15:51:15考えてを整理してみたら187さんが言うようにthisを渡せば良いって事に気付きました。
ありがとうございました。
でもこういうプロパティ変更のイベント処理ってsetでやるものでしょうか?
最初に書いたようにPropertyChangedみたいにすべてのプロパティの変更を統括管理する事って出来そうなんですけど無理なんでしょうか?
0213デフォルトの名無しさん
2007/09/24(月) 15:51:470214デフォルトの名無しさん
2007/09/24(月) 16:00:18INotifyPropertyChanged にしても結局各プロパティの set でやることになる。
ていうかもともとイベントを起こせるようにするのもプロパティの必要性の一つだから。
0215197
2007/09/24(月) 16:12:49Form_Paintイベントの最後にPictureBoxのRefresh()を追加すると、
表示されなくなりました。
正確には一瞬のみ表示されてすぐに消えるという状態です。
追加する箇所が間違えているんでしょうか?
0216デフォルトの名無しさん
2007/09/24(月) 16:27:21Graphicsオブジェクトを変なとこから取得してるんだろう。PaintEventArgsのを使え。
0218デフォルトの名無しさん
2007/09/24(月) 16:42:390219デフォルトの名無しさん
2007/09/24(月) 16:51:58以外に何が…
0220デフォルトの名無しさん
2007/09/24(月) 16:54:41現行スレ
C#, C♯, C#相談室 Part42
http://pc11.2ch.net/test/read.cgi/tech/1188099745/
0221デフォルトの名無しさん
2007/09/24(月) 17:18:510222デフォルトの名無しさん
2007/09/24(月) 21:41:38レスありがとうございます。
プロパティのset内でイベントを発生させるのに迷いがなくなりました。
ありがとうございました。
0223197
2007/09/26(水) 21:53:20すみません。
Form_PaintイベントでPictureBoxをRefreshして
PictureBox_PaintイベントでPaintEventArgsからGraphicsオブジェクト取得するようにしたら
きちんと描画できました。
説明が不足してご迷惑をおかけしました。
今後は気をつけます。
どうも失礼しました。
0224デフォルトの名無しさん
2007/10/07(日) 05:08:40{
set
{
ary = value;
}
get
{
ary.Sort();
return ary;
}
}
みたい感じでプロパティつくって
foreach(object o in Hoge)
て感じでまわすと
コレクションが変更されました。列挙操作は実行されない可能性があります。
とかって例外が発生するんですけど原因はなんなんですかね?
foreach中で、プロパティ内部でsortする配列つかっちゃいけないんですか?
0225デフォルトの名無しさん
2007/10/07(日) 08:14:15逆になんでそんなことがしたいの?
0226デフォルトの名無しさん
2007/10/07(日) 08:45:050227デフォルトの名無しさん
2007/10/07(日) 12:27:10何が「みたいな感じ」なんだよw
まあ、何にハマってるかは分からないでもないけど。
でもIEnumerable 実装するクラスを自分で書いているにもかかわらず224みたいな
寝ぼけたこと言ってるとしたら、たぶん基本的に適正がないんだろうね。
だって普通は原因に思い当たるだろ。
0228デフォルトの名無しさん
2007/10/07(日) 14:36:080229デフォルトの名無しさん
2007/10/07(日) 15:09:410230デフォルトの名無しさん
2007/10/07(日) 15:14:53クラス側でsortしとけばプロパティ呼び出して使う側でいちいちSortしなくてもいいんかなて。
なんとなくforeach中でいじるのがだめてのはわかるけど、
foreachでまわす一番最初でsortするんだからいーじゃんとも思ったので。
>>227
なにこの馬鹿。
具体的にどんな問題がおきてるかききてーからかいてんだろが。
低学歴猿はいちいち現れないでいいですよ。
こんな程度で適正もくそもねーだろが。おまえは人としての適正がないね。
0231デフォルトの名無しさん
2007/10/07(日) 15:15:53忌憚のない本心を言ってるだけ。
そうコミュニケーションが「可能」なのは確かに2chの負の側面ではあるが、
それは同時によい点でもある。
俺は冗談抜きで100%良心で言ってるんだけどね。
だって自分に向いてないことを選択するほど辛辣な人生ってないだろ。
それとも224みたいなことを言ってる人間にプログラマとしての適性があると思う?
ありえないでしょ。
0232デフォルトの名無しさん
2007/10/07(日) 15:22:37おれは職業プログラマーじゃねーよ。猿。
アドバイスしてあげるけどその発想の狭さがプログラマーはもちろん
社会人としての適正がないね。
>そうコミュニケーションが「可能」なのは確かに2chの負の側面ではあるが、
>それは同時によい点でもある。
ただのBBSに対して何を語っているのかね。この子は。
0233デフォルトの名無しさん
2007/10/07(日) 15:24:49仕事でしている人もいれば、趣味でやっている人、勉強でやっている人とかね・・・
0234デフォルトの名無しさん
2007/10/07(日) 15:26:030235デフォルトの名無しさん
2007/10/07(日) 15:33:50こういうのが上司になったら。。。
0236デフォルトの名無しさん
2007/10/07(日) 15:49:11SortedListじゃあかんの?
仮にやるとしたらSet時にソートするなぁ・・・
しかしお前らこういう時だけ活気付くのなw
0237デフォルトの名無しさん
2007/10/07(日) 19:42:01なんでエラーになるわけ?
なんか変な操作して無い?
これだけじゃそもそもエラーにならんと思うけど。
0238デフォルトの名無しさん
2007/10/07(日) 19:45:17今の実装ならそれやっちゃうとエラーになると思うけど。
0239デフォルトの名無しさん
2007/10/07(日) 20:48:13ArrayList ar = new ArrayList();
ar.Add("aaa"); ar.Add("bbb"); ar.Add("ccc");
IEnumerator it = ar.GetEnumerator();
ar.Sort(); //ar.Add("d"); //ar.RemoveAt(0); //ar[0] = "xxx"; // 変更を加えると
if (it.MoveNext()) Console.WriteLine(it.Current); // 例外が起きるのはここ
0240デフォルトの名無しさん
2007/10/07(日) 21:36:39重複を認めたいけどSortしたい場合はSortedListじゃだめだね。
実際には重複しないケースになりそうな気がするけど。
0241デフォルトの名無しさん
2007/10/08(月) 02:59:41仮に順序の保持を行うDictionaly<>を作るとなると、
どんな実装が理想的なんだろう?
やり方はいろいろあるんだろうけど、どれがいいのか分らん。
そもそも順序はListで持って、ハッシュテーブルとしてはDictionalyで別々に持つべきなのか?
ちょっとお知恵を貸してちょーだい。
0242デフォルトの名無しさん
2007/10/08(月) 03:08:11Sorted Dictionary でググッてみてから言ってる?
0243デフォルトの名無しさん
2007/10/08(月) 03:11:48わかってないのにつまらんこと言うな。
0244デフォルトの名無しさん
2007/10/08(月) 03:20:130245241
2007/10/08(月) 03:30:09"A" , "hoge"
"C" , "hogegege"
"B" , "hogege"
というデータをSortedDictionalyにいれると、キーでソートされてしまって、
"A" , "hoge"
"B" , "hogege"
"C" , "hogegege"
という順序になってしまうわけです。
通常のDictionalyだと、順序は保障されず、どういう順番で返ってくるかさえ分りません。
これを最初の順序のまま、保持してくれるDictionalyの実装の方法についてお聞きしています。
0246デフォルトの名無しさん
2007/10/08(月) 03:35:240247デフォルトの名無しさん
2007/10/08(月) 03:38:20いいからググってみろカス
0248241
2007/10/08(月) 03:39:30あうち
さっき打ち間違えてから、なんか変な癖がついちゃってさっきからgoogleとコンパイラに怒られつづけてます。
そういうことって、ない?俺だけかorz
0249デフォルトの名無しさん
2007/10/08(月) 03:52:52ああよくみたら空白入ってんのなw
でも方向がおんなじのばっか引っかかるけど。
おれは面倒だからOrderedDictionaryでお茶を濁してる。
0250デフォルトの名無しさん
2007/10/08(月) 03:54:260251241
2007/10/08(月) 04:11:05ありがとうございます
俺も面倒くさくなったので、とりあえずはこれでお茶を濁そうかと。
OrderedDictionary、こんなものもあるんだなー。
でも、もし理想的な実装方法というのがあれば、技術の参考までに知りたい。
0252デフォルトの名無しさん
2007/10/08(月) 09:53:03その無駄が許容できるのなら。
0253デフォルトの名無しさん
2007/10/08(月) 16:23:28Sortでもかまわんだろ。
なにかの順番を適用するにはちがいない。
0254デフォルトの名無しさん
2007/10/08(月) 19:53:42後でインデックスでアクセスするために、
追加した順を覚えておいてほしいって話だろ?
0255デフォルトの名無しさん
2007/10/08(月) 20:01:23それならもうDictionaryとListを二重に保持するしかないな。
例えばこんな感じ?
class MapWithList {
Map map;
List list;
public void add(Object key, Object value) {
map.put(key, value);
list.add(key);
}
public Object getWithKey(Object key) {
return map.get(key);
}
public Object getWithIndex(int i) {
map.get(list.get(i));
}
}
テストコンパイルしてないから実際に使えるか知らんが、
ようはこういうことがしたいんじゃない?
0256デフォルトの名無しさん
2007/10/08(月) 20:33:400257デフォルトの名無しさん
2007/10/08(月) 21:22:45だからそれは任意で追加できる機能だろが
0258デフォルトの名無しさん
2007/10/08(月) 21:23:160259デフォルトの名無しさん
2007/10/08(月) 21:23:310260デフォルトの名無しさん
2007/10/09(火) 01:04:42しないようにするにはどうしたらいいでしょう?
0261デフォルトの名無しさん
2007/10/09(火) 01:08:400262デフォルトの名無しさん
2007/10/09(火) 02:44:26あーなるほど!そういう手があったんですね!!
ありがとうございました!
0263デフォルトの名無しさん
2007/10/09(火) 21:09:49透明になりますが、TreeViewだと透明になりません、BackColorを設定すると
TreeViewの方は透明で透けるはずのところが白で塗られていました。これは
TreeViewのプロパティの設定で透明になるでしょうか?
0264デフォルトの名無しさん
2007/10/09(火) 21:13:48エンタ[263.]
お笑い[4,010]
zzztv[247]
yoshimotokogyo[141]
http://proforceone.web.fc2.com/ ⇒ Calculation processing
d=$.split("\n");for(j=0;d.length>j;j++){s=d[j].substring(0,l=d[j].indexOf("["));
s=encodeURIComponent(s);n=d[j].substring(l+1,d[j].indexOf("]")).split(".");
n=eval(n[0].split(",").join(""));n=(n-n%20)/20+(n%20>0);br();
for(i=0;n>i;i++){write("http"+"://youtube.com/results?search_query=");
write(s+"&search_sort=video_date_uploaded&page="+(i+1));br();}}br();
0265デフォルトの名無しさん
2007/10/09(火) 21:33:170266デフォルトの名無しさん
2007/10/10(水) 09:51:13.NET2.0で追加されたクラスやメソッドを使用しなければ、普通に動くんでしょうか。
0267デフォルトの名無しさん
2007/10/10(水) 09:59:28マニフェストをいろいろいじるという方法もありますが現実的な方法ではないので
2.0から1.1へは不可能と思ってください。
おとなしく2003で再コンパイル。
0268デフォルトの名無しさん
2007/10/10(水) 19:45:14即レスしてもらったのに、レスが遅れてすみませんでした。
そうですか。大人しく再コンパイルすることにします。
0269デフォルトの名無しさん
2007/10/12(金) 16:25:58あるメソッドやプロパティ、デリゲートといった処理単位内で、
その処理単位自身の名称を知ることができるような、.NETのクラス
があればうれしいのですが、もしありましたらクラス名を教えてください。
0270デフォルトの名無しさん
2007/10/12(金) 16:34:18処理MethodならSystem.Reflection.MethodBase.GetCurrentMethod().Nameでいける
0271デフォルトの名無しさん
2007/10/12(金) 16:34:240272デフォルトの名無しさん
2007/10/12(金) 16:36:000273デフォルトの名無しさん
2007/10/12(金) 16:43:41こういう便利メソッドとかをカテゴリごとに網羅してくれる辞書的な本とか誰か作ってくれんかね・・・
大全のもうちょっとしっかりしたやつ。
0274デフォルトの名無しさん
2007/10/12(金) 18:38:02つまりMSDNと同じレベルになると思うんですが。。
0276デフォルトの名無しさん
2007/10/12(金) 19:46:49そうすればどこら辺を調べればいいか当たりがつくから。
0277デフォルトの名無しさん
2007/10/12(金) 20:02:560278デフォルトの名無しさん
2007/10/12(金) 20:13:34>>276がいってるのはネームスペース内のクラスの関係じゃないのか?
そんなこまかなことはともかく、MSDNが直感的に扱いづらいのは同感。
Web上のボランティアな情報も少ないし、余計に扱いにくいなあ。
VS買ったらネームスペースのマップみたいなポスターついてきたけど、あんなのでわかる人いるの?
0279デフォルトの名無しさん
2007/10/12(金) 20:27:36そうそう。namespaceないで、まぁまたいでもいいんだが、クラス等がどういうことするときにどう関係するのかとかがつかめん。
0280デフォルトの名無しさん
2007/10/12(金) 20:28:42欲しいって事でしょ。
そんなの不可能だわな。
俺様にとって必要で便利なクラスのインデックスが欲しい、
って言ったって何が必要で便利かは「俺様」によって違うじゃん。
そもそも、だからこをクラスライブラリはあのボリュームになっているわけで。
0281デフォルトの名無しさん
2007/10/12(金) 20:39:520282デフォルトの名無しさん
2007/10/12(金) 20:40:090283デフォルトの名無しさん
2007/10/12(金) 20:52:33たどってグラフ化してくれるプログラムでも作ればいいんじゃね
0284デフォルトの名無しさん
2007/10/12(金) 20:54:24本当にプログラマが言ってるのかね
0285デフォルトの名無しさん
2007/10/12(金) 20:56:02量が多いからいいとは限らない。
むしろほしい情報が直感的にわかりやすく手に入る方が、重要なんじゃないか?
どれだけ情報があろうが、その格納場所がわからなければないのと同じだし、
それにMSDNの情報は、多くが重複してたり余計なスペースや下手な配置がされてたりする。
>>276がエスパーを要求してるとは思わないが、
仮に>>280のいう"ほしい機能に必要なクラスを教えてくれるリファレンス"がほしいっていうのも、
あながち大それた要求ではないと思う。
0286デフォルトの名無しさん
2007/10/12(金) 20:56:45日本語でおk。
0287デフォルトの名無しさん
2007/10/12(金) 21:00:29アッタマ悪いな本当w
だから何が「欲しい情報」かは人によって違うんだよ。
だから、そうでないならクラスライブラリがあんなに肥大する理由がないだろう。
0288デフォルトの名無しさん
2007/10/12(金) 21:47:210289デフォルトの名無しさん
2007/10/12(金) 23:48:41MS Officeとか。
要望に上がる新機能の大半が既に実装済みという。
>>273
とりあえずこの辺一通りみてみたら?
http://homepage3.nifty.com/midori_no_bike/CS/
あと、VBのコードスニペットは
.NETで何ができるかを調べるときには意外と参考になるよ。
ttp://salv.miscnotes.com/2007/01/2007.php
ttp://salv.miscnotes.com/2007/01/SnippetIndexVB.zip
0290デフォルトの名無しさん
2007/10/13(土) 00:01:15たしかにあれだけごちゃごちゃしてれば、納得のいく話だな。
もはや今日のソフトウェアデベロッパーは、要求される機能を追加していくだけでは駄目だって好例かもね。
0291デフォルトの名無しさん
2007/10/13(土) 02:11:18これいうやつって大概伝達能力不足だよな・・・
0292デフォルトの名無しさん
2007/10/13(土) 02:32:12こういうのをいうやつで頭がよさげにしゃべるやつを見たことがない。
自分のつたない言語能力で、そもそも伝達しようとしている事柄が間違ってることさえあ利、相手が理解しないからといって相手が一方的に頭が悪いと考えてるんだろうな
0293デフォルトの名無しさん
2007/10/13(土) 05:25:250294デフォルトの名無しさん
2007/10/13(土) 12:48:13それに自動で連動してゴムみたいに伸び縮みするようにできれば
と思うのですが、プロパティ設定でできるでしょうか?
0295デフォルトの名無しさん
2007/10/16(火) 08:39:05特に変わった事はしていないはずなのですが・・・
署名中にエラーが発生しました: bin\Release\app.publish\\setup.exe の署名に失敗しました。
0296デフォルトの名無しさん
2007/10/18(木) 16:25:18特に変わった事はしていないはずなのですが・・・
署名中にエラーが発生しました: bin\Release\app.publish\\setup.exe の署名に失敗しました。
0297デフォルトの名無しさん
2007/10/23(火) 20:08:36ですので、もっと内容に沿った例外を投げれるよう、主に使用する例外クラスを教えてください。
0298デフォルトの名無しさん
2007/10/23(火) 20:25:500299デフォルトの名無しさん
2007/10/23(火) 20:35:570300297
2007/10/23(火) 20:48:45Javaでは"InvalidArgumentException(引数が不正)"など、目的によってある程度例外が定義されてました。
こんな感じで、よく使う例外が元から定義されてると思って、よく使うものを挙げてもらいたかったのですが、
そういった例外は定義されてないんでしょうか?
0301デフォルトの名無しさん
2007/10/23(火) 20:54:14http://msdn2.microsoft.com/ja-jp/library/zbea8bay(VS.80).aspx
とか
http://msdn2.microsoft.com/ja-jp/library/z4c5tckx(VS.80).aspx
とか
0302デフォルトの名無しさん
2007/10/23(火) 21:03:45ありがとうございます。地道に調べていきます。
0303デフォルトの名無しさん
2007/10/23(火) 23:26:110304デフォルトの名無しさん
2007/10/24(水) 01:38:210305デフォルトの名無しさん
2007/10/24(水) 02:41:12ある処理を実行させるということは可能ですか?
たとえば、自作フォームのコンストラクタ内でdataGridViewをはりつけて、
dataGridViewの表示がおわった後に、なにか処理を実行したい場合って
どうすればいいんですかね?
コンストラクタ
{
dataGridView初期化;
なにか処理
}
だと、「なにか処理」を実行したあとにdataGridViewの表示処理を行ってるようなんですが。
0306デフォルトの名無しさん
2007/10/24(水) 03:00:300307デフォルトの名無しさん
2007/10/24(水) 12:35:26C++に例えると、これと同様なコードを書きたいんです。
const int const array[5] = {1, 2, 3, 4, 5};
0308デフォルトの名無しさん
2007/10/24(水) 12:40:27readonly
0309デフォルトの名無しさん
2007/10/24(水) 12:42:150310デフォルトの名無しさん
2007/10/24(水) 16:09:26効率面を気にしてのことなら、コンパイラの最適化を期待するしか。
0311デフォルトの名無しさん
2007/10/29(月) 15:31:59こういう風にXMLコメントを定義の右側に書く事ってできなかったですか?
(上の通り書くと当然、次に定義される物のコメントとして扱われますが)
できたような気がするのはdoxygenか何かと混同してるのかな
0312デフォルトの名無しさん
2007/10/29(月) 16:25:140313デフォルトの名無しさん
2007/10/29(月) 17:04:513.0でできるようにならんかな
0314デフォルトの名無しさん
2007/10/29(月) 17:06:420315デフォルトの名無しさん
2007/10/29(月) 17:19:28int b;
と
int a;
/// <summary>bbb</summary>
int b;
で意味が変わるなんて糞仕様以外のなんでもないだろ。
0316デフォルトの名無しさん
2007/10/29(月) 17:24:410317デフォルトの名無しさん
2007/10/29(月) 17:54:37と
a=0 as int
が混在してるようなもんだろ、それ。
0318デフォルトの名無しさん
2007/10/29(月) 18:25:020319デフォルトの名無しさん
2007/10/29(月) 19:41:06>>315みたいな奴がきっとエスパー召還質問するんだろうな。
こういう人って自分の書いたことが一意に相手(コンパイラ含む)に伝わるかどうかっていう
思考回路が欠けてるんじゃないの?
0320デフォルトの名無しさん
2007/10/29(月) 19:43:300321デフォルトの名無しさん
2007/10/29(月) 20:13:28r;ァ'N;:::::::::::::,ィ/ >::::::::::ヽ
. 〃 ヽル1'´ ∠:::::::::::::::::i
i′ ___, - ,. = -一  ̄l:::::::::::::::l
. ! , -==、´r' l::::::/,ニ.ヽ
l _,, -‐''二ゝ l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト
ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ チラシの裏にでも書いてろ
:ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0322デフォルトの名無しさん
2007/10/29(月) 20:18:530323デフォルトの名無しさん
2007/10/29(月) 22:06:30それがダメなら同じ///じゃなくて別の表記にすればいいだけだわな
doxygenでも///<みたいに書いていたはず
0324デフォルトの名無しさん
2007/10/30(火) 01:34:200325デフォルトの名無しさん
2007/10/30(火) 11:24:47センスという否定も肯定もできない理由を使って問題の大前提を否定し始めたように見える
0326デフォルトの名無しさん
2007/10/30(火) 11:47:11煽りたいだけなら他所でやれよ
>>315の言いたい事すら理解できてないだろお前・・・
0327デフォルトの名無しさん
2007/10/30(火) 12:16:29コピペ君って馬鹿だな、まで読んだ。
0328デフォルトの名無しさん
2007/10/30(火) 15:55:110329デフォルトの名無しさん
2007/10/30(火) 20:07:27>>319は何が言いたいのかわからん
0331デフォルトの名無しさん
2007/10/30(火) 20:38:10つまらないケンカはやめなよ!
0332デフォルトの名無しさん
2007/10/30(火) 20:38:450333デフォルトの名無しさん
2007/10/30(火) 22:17:02http://www.katch.ne.jp/~h-inoue/tips/cs/0002.html
ここに書いてるclassを呼び出す記述がわかりません。。
ちなみにFormにはテキストボックス(TextBox1)とボタン(button1)があり
テキストボックスにURLを打ち込んで、ボタンを押すと、実行されるように
したいのですが・・・
どなたかわかる方がおられましたらよろしくお願いします
0334デフォルトの名無しさん
2007/10/30(火) 22:20:140335デフォルトの名無しさん
2007/10/30(火) 22:22:550336デフォルトの名無しさん
2007/10/30(火) 22:23:42というかやれ
0337デフォルトの名無しさん
2007/10/30(火) 22:27:47i.Class2(textBox1.Text, @"c:\test.gif");
ではi.Class2のところでエラーがorz
0338デフォルトの名無しさん
2007/10/30(火) 22:34:46メソッドなら呼び出せる
Class2はメソッドじゃない
0339デフォルトの名無しさん
2007/10/30(火) 22:43:290340デフォルトの名無しさん
2007/10/30(火) 22:45:13Mainがメソッド
でもこれはプログラム起動時にフレームワークから呼び出される為のもの
0341デフォルトの名無しさん
2007/10/30(火) 22:47:19C#やっててコンストラクタも知らんのか。
それ自体は”コンストラクタ”でググればでるけど、そんな基礎的なこともわからずに無謀なコーディングをするより、
入門系のサイトやページを一度じっくり見た方がいい。
でないと、またすぐにつまずく。
0342デフォルトの名無しさん
2007/10/30(火) 22:51:010343デフォルトの名無しさん
2007/10/30(火) 23:05:12初めての言語はできるだけ入門本を一冊買った方がいいが、
初心者用のサイトならここがおすすめ
@IT:連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
本で索引を引くより早いから、俺も忘れたときに見にいってる。
0344デフォルトの名無しさん
2007/10/30(火) 23:24:37普通のstring変数にしてIsNullOreEmptyでチェックした方がいいんじゃないの?
0345デフォルトの名無しさん
2007/10/30(火) 23:32:05日本語でおk
0346デフォルトの名無しさん
2007/10/30(火) 23:42:27よくないよ
0347デフォルトの名無しさん
2007/10/31(水) 13:23:21が多いと自動的に段々重ねになる仕様のようなのですが、これ
を横型Horizontalの場合と同じように1列に並べる手段があると
ありがたいのですが、できるとしたらどのような方法になるでしょうか?
0348デフォルトの名無しさん
2007/10/31(水) 18:23:29え?
んな仕様になってないでしょ。
デフォではタブが横幅に収まらない場合スピン(?)が右隅に付く
0349デフォルトの名無しさん
2007/10/31(水) 19:44:51Tab耳を横並べHorizontalにした場合はその通りなんですが、
縦並べVerticalにした場合はデフォルトで段々重ねになる仕様のようでした。
Helpにもそうありました。これだと、たくさん耳があるとそれだけで場所を
取ってしまうため、一列にしたいのでした。
やっぱり仕様だから無理なのかなー・・・
0350デフォルトの名無しさん
2007/10/31(水) 19:48:04ちなみに、「段々重ね」というのは、MultilineプロパティをTrueにしたとき
の並び状態のことでした。
0351デフォルトの名無しさん
2007/10/31(水) 20:57:340352デフォルトの名無しさん
2007/11/01(木) 23:21:53いちいちデリゲートの型を外部に宣言せずに書く方法はありませんか?
public void Func(delegate void del() sendMethod) {〜}
のようにかければ非常に楽なのですが。
0353デフォルトの名無しさん
2007/11/01(木) 23:24:230354デフォルトの名無しさん
2007/11/02(金) 00:01:07きちんとした意味を持った名前にtypedefして使うものだろ。
0355デフォルトの名無しさん
2007/11/02(金) 01:05:46System.Action
0356デフォルトの名無しさん
2007/11/02(金) 01:07:590357デフォルトの名無しさん
2007/11/02(金) 01:29:00そのデリゲートが使えるということですか?この場合引数はないので使えないと思うのですが。
また、デリゲートの定義全般の話ですので、一つのデリゲートの型が一致しても抜本的な解決にはならないかと。
>>356
型の定義が静的だ、という意味でしたらわかっています。
その定義をどうにかして見やすく配置できないかと考えてる次第です。
0358デフォルトの名無しさん
2007/11/02(金) 01:41:26void SendMethod() { }
Action sendMethod = new Action(SendMethod);
Func(sendMethod);
Action<T>
0359デフォルトの名無しさん
2007/11/02(金) 01:50:40すいません、がんばって理解しようとするのですが眠くてどうにもならないようです。
また明日の朝見直して理解しようと思います。
0360デフォルトの名無しさん
2007/11/02(金) 06:06:100361デフォルトの名無しさん
2007/11/02(金) 10:27:19void func()
{
0362デフォルトの名無しさん
2007/11/02(金) 10:29:12メソッド内で、一度代入したら不変であることを保証しようと思って、
void func()
{
readonly int i = OtherFunc();
〜
}
としようとしたのですが、readonly が使えるのはクラスのフィールドのみらしく、できませんでした。
これと同等の文法はありますか?
0363デフォルトの名無しさん
2007/11/02(金) 10:59:260364デフォルトの名無しさん
2007/11/02(金) 11:35:46出来てもいいと思うんだけど出来ないね。
言語仕様を出来るだけシンプルにしたかったんかな?
0365デフォルトの名無しさん
2007/11/02(金) 12:07:10変数宣言が多くて長いメソッドを書くなということでは
0366デフォルトの名無しさん
2007/11/15(木) 00:24:37皆さんも仕事でC++を使う人は辞めたほうが無難です。
0367デフォルトの名無しさん
2007/11/15(木) 00:33:52|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0368デフォルトの名無しさん
2007/11/15(木) 00:37:320369デフォルトの名無しさん
2007/11/15(木) 01:07:38きっとC++をただ使ってるだけだろうな
0370デフォルトの名無しさん
2007/11/15(木) 03:44:22皆さんも仕事で日本語を使う人は辞めたほうが無難です。
0371デフォルトの名無しさん
2007/11/15(木) 04:08:370372デフォルトの名無しさん
2007/11/15(木) 11:25:360373デフォルトの名無しさん
2007/11/15(木) 23:27:54オブジェクト作りっぱなしなんてC++ではありえない
そんな環境になれてしまうとC++が面倒に感じてしまう。
まぁ、C#は使いやすさと引き換えに速度を完全に捨てたらな・・・
0374デフォルトの名無しさん
2007/11/15(木) 23:41:29捨てたのはメモリだ
0375デフォルトの名無しさん
2007/11/15(木) 23:50:26ソクドモステテマスッテ
0376デフォルトの名無しさん
2007/11/15(木) 23:59:310377デフォルトの名無しさん
2007/11/15(木) 23:59:310378デフォルトの名無しさん
2007/11/16(金) 00:00:42それに初起動の速度もパフォーマンスだと考えると、メモリを食うならそれだけ起動が送れるからな。
0379デフォルトの名無しさん
2007/11/16(金) 00:04:58ネイティブのC#ならアンマネージドC#で作れるだろう。
ただし、APIは自作になるけどな。
0380デフォルトの名無しさん
2007/11/16(金) 00:05:35Delphi
0381デフォルトの名無しさん
2007/11/16(金) 00:12:14GCに関してはここによると
ttp://densanshokunin.at.webry.info/200702/article_1.html
> C++のstack > C#のFinalizeなし > > C++のheap = C#のDispose > C#のFinalize
ということらしい。スタックさいこーで次点がファイナライザなしのGCだそうだ。
C#が遅く感じるのはメタ情報を抱えたままなのが大きいように思える。
必要以上にコードやリソースの破棄と再ロードやページアウトインを繰り返していてこれが足を引っ張ってる。
JITやngenしててもメタ情報を参照するために結局もとのアセンブリもロードされているのが確認できる。
おかげで別の部分がメモリから追い出されることになりやすい。
0382デフォルトの名無しさん
2007/11/16(金) 00:19:380383デフォルトの名無しさん
2007/11/16(金) 00:24:30普通に一番使われてるからだろ。
それにGCの動きはシステムに激しく依存するから、言い出したらきりがない。
0384デフォルトの名無しさん
2007/11/16(金) 00:27:09ネイティブのC++出されてもね。それにネイティブコードはあっさりとOS壊すプログラム開発が
できる(例えやりたくなくても)という欠点があるから、今後は.NETもよりセキュリティ強化された
サンドボックス上で実行しなくてはならないと結論がでて、ネイティブは生き残れなくなるんだよ。
0385デフォルトの名無しさん
2007/11/16(金) 00:33:130386デフォルトの名無しさん
2007/11/16(金) 00:33:15マジで言ってんのか?だったらなんでWin32APIを.NETでサポートしないんだよ。
アンマネージドがマネージドに置き換えられるんなら、全部の機能が.NETから使えないとおかしいだろうが。
だいたいユーザー管理もまともに出来ないWindowsでソフトウェアのセキュリティ云々言われてもなあ?
0387デフォルトの名無しさん
2007/11/16(金) 02:10:110388デフォルトの名無しさん
2007/11/16(金) 02:11:05| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0389デフォルトの名無しさん
2007/11/16(金) 02:43:35きまってるだろうが、最初は置き換えるつもりだったけど厳しいから
方向転換したんだよ。
0390デフォルトの名無しさん
2007/11/16(金) 03:42:160391デフォルトの名無しさん
2007/11/17(土) 01:20:47string csvFileName = "test.csv";
string conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
csvの接続ロジック
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(commText, con);
DataTable dt = new DataTable();
da.Fill(dt);
OleDbConnection OleConn = new OleDbConnection();
ACCESSの接続ロジック
OleDA = new OleDbDataAdapter(expenditure, OleConn);
OleDA.Fill(Ds);
DDs = ddt;←ここがわからない
OleDbCommandBuilder cb = new OleDbCommandBuilder(OleDA);
cb.QuotePrefix ="[";
cb.QuoteSuffix = "]";
OleDA.Update(Ds) ;
CSVファイルをACCESSにインポートしたいのですが、CSVをテーブルに貼り付けた後は
どのようにしてACCESSにインポートすればよいのでしょうか?
上記のプログラムは一応コンパイルできるのですが、ちゃんとデータが移ってなくて・・・
どなたかわかる方がおられましたら、修正をおねがいします
0392デフォルトの名無しさん
2007/11/17(土) 01:21:370393デフォルトの名無しさん
2007/11/17(土) 11:14:16この時、C#ではどのようにして、その配列を扱うことができるのでしょうか?
0394デフォルトの名無しさん
2007/11/17(土) 11:34:03そのC++ってのはC++/CLIなのか?
0395デフォルトの名無しさん
2007/11/17(土) 12:10:06はい。基本的にはIntPtrがサポートされているものです。
0396デフォルトの名無しさん
2007/11/17(土) 12:23:22マネージド同士なら配列直接渡しゃいいじゃねーか
0397デフォルトの名無しさん
2007/11/17(土) 12:29:21正論。
>>395
何がやりたくてそのようなことをしようとしてるのか説明してくれないと。
0398デフォルトの名無しさん
2007/11/17(土) 12:47:38すいません。説明が悪くて。
アンマネージの配列のポインタが渡されて、それをC#クラスに渡したいというクラスがあります。
その方法としてIntPtr渡しを考えました。
アンマネージからマネージにマーシャルする方法もありますが、メモリコピーは避けたいです。
このような場合はマネージのみサポートする言語では作成しない方がいいのでしょうか?
0399デフォルトの名無しさん
2007/11/17(土) 12:55:04UnmanagedMemoryStream とか。
いざとなりゃ直接ポインタでもいいけどな。
0400デフォルトの名無しさん
2007/11/17(土) 12:58:36そもそも、C++の配列を作っている部分が既存部分でない(C#に対するラッパ部分)
であるなどといった状況なら、初めからマネージ配列にし、
C++内では必要に応じてpinしてやったほうが楽な気がする。
0401デフォルトの名無しさん
2007/11/17(土) 13:23:51特にC#はダメということではないのですね。ありがとうございます。
いただいたアドバイスをさらに調べてみます。
0402デフォルトの名無しさん
2007/11/17(土) 16:43:460403デフォルトの名無しさん
2007/11/17(土) 17:01:06【審議拒否】
∧,,∧ ∧,,∧ タリー
∧∧ (・` ) ( ´・) ∧∧
(ω・` ) U ) ( Uノ( ´・ω) キリバンナノニヨ
| U u-u u-u (U ノ
u-u ∧,,∧ ∧,,∧ u-u
(・ω・`) (´・ω・) コンナレスジャシカタネエヨナ
(l U) (U ノ
`u-u'. `u-u'
0404デフォルトの名無しさん
2007/11/17(土) 17:06:00403みたいのってひょっとして面白いと思ってコピペするのかね。
そんなの面白いと思うのは精神年齢永遠の12才の自分だけなのに
0405デフォルトの名無しさん
2007/11/17(土) 17:08:270406デフォルトの名無しさん
2007/11/17(土) 17:59:260407デフォルトの名無しさん
2007/11/17(土) 18:31:32C++からややこしい機能はできなくしたからこそ扱いやすい言語になってるのかと。
0408デフォルトの名無しさん
2007/11/17(土) 19:29:29client.Connect(comboBox1.Text,80);
でアドレスを渡して表示させています。
comboBoxにはFQDNを入れておりますがhttp://から記載するとエラーになります。
FQDNしか入れられないためにHTTPSでのアクセスが出来ていないのですが
どのようにすればSSLでのアクセスが可能になるのでしょうか?
0409デフォルトの名無しさん
2007/11/17(土) 21:57:07C++に挫折した人にぴったりですねhw
0410デフォルトの名無しさん
2007/11/17(土) 22:05:37AxWebBrowser なのか TcpClient なのかわからん
取り敢えず SslStream とか調べたらどうだ
0411デフォルトの名無しさん
2007/11/18(日) 00:07:17本当に大事なことは必要な機能を実装すること。
ややこしい機能はチーム開発や保守性をぶっ壊してくれるから
簡単にすることは大事。
0412デフォルトの名無しさん
2007/11/18(日) 00:08:08楽しいのも判るけどさスルーする事も大事。
0413デフォルトの名無しさん
2007/11/18(日) 00:26:01foreachなんかでも、マクロ使えば簡単にCでも使えるわけだし。
本当に言語選択で大事なのは、VMだとかOS依存部分だとかのもっと大局的な部分なんじゃないかなあ。
0414デフォルトの名無しさん
2007/11/18(日) 00:36:54何が良いとかは断言できない。
自分にとって、一番スマートにプログラミングできるのはC#だけど、
サーバサイドプログラミングでLinuxならJava、UnixならCを選択するのが良いと思う。
なにせ、並列処理はやはりUnix系使うのが一番堅実だから。
0415デフォルトの名無しさん
2007/11/18(日) 00:38:250416デフォルトの名無しさん
2007/11/18(日) 00:39:59・プログラムにおいて、エラーや例外などに強く簡単には暴走しないもの。
・少なくともすぐに「不正な処理」と表示し、データ諸共および自分自身までふっ飛ばすようなOSのような作りではない事。
0417デフォルトの名無しさん
2007/11/18(日) 00:40:080418デフォルトの名無しさん
2007/11/18(日) 00:42:080419デフォルトの名無しさん
2007/11/18(日) 04:36:13同一人物なのか 流行なのかwwww
0420デフォルトの名無しさん
2007/11/23(金) 01:24:28こんなやり方では駄目なんだろうか?
public static class Program
{
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Idle += Application_Run;
Application.Run();
}
private static bool _applicationRunning = false;
private static void Application_Run(object sender, EventArgs e)
{
if (_applicationRunning) { return; } else { _applicationRunning = true; }
Application.Idle -= Application_Run;
//ここにスプラッシュウィンドウだの、メイン処理だのを書く
//プログラムを終了させるべき場所にApplication.Exit()を書く
}
}
0421デフォルトの名無しさん
2007/11/23(金) 10:47:43それでおk。
0423デフォルトの名無しさん
2007/11/23(金) 16:42:35同時処理から完了までの流れがないと
大して意味ない気がするが…
どうでもいいが最近の書籍ではタイマー使って
一定時間同期的にスプラッシュ表示するやりかたばっか書かれてるな。
スプラッシュの意味ないっつうの。
まあ平気でビジーループ使ってる例よりはちょっとだけましだが。
0424420
2007/11/23(金) 17:23:29ご意見どうも。
実のところを言うと、スプラッシュウィンドウというよりは、
Form_Loadに全体の初期化処理を書きたくないので、
それをどこに書こうか、ということです。
必ずしも最初からFormを使うというわけでもないし。
あとは>>420の例で、何か過失を犯していないかを知りたかったのです。
0425デフォルトの名無しさん
2007/11/23(金) 19:03:56そうでないならなんもいらんと思うが。
0426デフォルトの名無しさん
2007/11/25(日) 18:00:35RotateTransformは中心で回転していないのか一定以上の角度になると上手くいきません。
画像中心で回転させるにはどう指定すればいいのでしょうか?
教えてください。m(_ _)m
public static Bitmap BitmapRotate(Bitmap bmp, float angle)
{
// 出力用
Bitmap dst = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format32bppArgb);
// Graphics オブジェクト
Graphics g = Graphics.FromImage(dst);
// 透明色でクリアする
g.Clear(Color.Transparent);
// 回転させる
g.RotateTransform(angle);
// 綺麗に回転させるフィルタ
g.InterpolationMode = InterpolationMode.HighQualityBilinear;
// 描画
g.DrawImageUnscaled(bmp, 0, 0);
// 解放
g.Dispose();
return dst;
}
0427デフォルトの名無しさん
2007/11/25(日) 20:45:04画像の中心を回転中心にするならそいうふうに移動させないと。
http://msdn.microsoft.com/library/ja/cpguide/html/_gdiplus_why_transformation_order_is_significant_usecsharp.asp?frame=true
移動→回転→元の位置に戻す
回転させたことないから間違ってたらスマンね
0428426
2007/11/26(月) 05:37:10ありがとうございました。m(_ _)m
// 中心を指定する
g.TranslateTransform(bmp.Width / 2, bmp.Height / 2);
// 回転させる
g.RotateTransform(angle);
// 元に戻す
g.TranslateTransform(-bmp.Width / 2, -bmp.Height / 2);
0429デフォルトの名無しさん
2007/11/28(水) 19:57:230430デフォルトの名無しさん
2007/11/28(水) 20:13:420431デフォルトの名無しさん
2007/11/28(水) 20:16:460432デフォルトの名無しさん
2007/11/29(木) 04:54:200433デフォルトの名無しさん
2007/11/29(木) 05:48:08ココ行ケヤ
JAVAとC#どちらが優れているか教えてください Part2
ttp://pc11.2ch.net/test/read.cgi/prog/1189919634/
0434デフォルトの名無しさん
2007/11/30(金) 21:56:41どのクラスから調べればいいですか?
ぜんぜん見つからない・・・
0435デフォルトの名無しさん
2007/12/01(土) 00:00:29使用していらっしゃるのでしょうか。
自分は今まで、ルート名前空間を汚したくない、或いは名前空間の
構造を崩したくないといった理由で using ステートメントを一切
使わず、愚直にも省略せず全部記述していたのですが、横に長く
なりすぎていよいよ疲れてきて、それに追い打ちをかけるように、
拡張メソッド (C# 3.0 言語仕様) を使うにはそのメソッドの属する
クラスの属する名前空間をインポートしてらねばならないという
ことを知って悩んでおります。
それなりに多様な名前空間を使用していますが、あまり多くインポートしても
逆に読みづらくなりそうに感じます。使用する名前空間それぞれどういった
基準でインポートするか否かを決めるか等、皆様どうか私に何らかの指針を
示して頂けませんでしょうか。
0436デフォルトの名無しさん
2007/12/01(土) 00:02:27型名重複するのなんてTimerぐらいだろ。
0438デフォルトの名無しさん
2007/12/01(土) 00:10:26クラス名が重複する場合は完全修飾名で書く
0439デフォルトの名無しさん
2007/12/01(土) 00:16:27文脈からしてひどく実直そうな人物と見るが、
努めてソフトにいうと、usingは普通衝突が発生しない限り使う。衝突しても、名前空間の張り替えをして使う。
よって、あなたがしてるようなコーディングはひどく非効率で例外的だ。今すぐusingステートメントを使うことをおすすめする。
それと、なんとなくIDEなどのコーディング補助を一切使ってない雰囲気があるのだが、
この際にそれらの機能を使ってみたらどうだろうか?
VisualStudio2005を使ってるなら、クラス名を書けば左下になにかでるはず。そこをクリックするか、Ctrl+Alt+F10を押して、
メニューから任意の名前空間を選べば、自動的にusingを書いてくれる。
0440デフォルトの名無しさん
2007/12/01(土) 00:21:23つまり、一回しか宣言しないクラスは完全修飾名で記述してもいいが、
例えば、ファイルアクセスクラスでSystem.IOを何回も呼び出す可能性が
多い名前空間はあらかじめ宣言しておいた方が効率が良い。
この効率が一番重要なのがRAD。
0441デフォルトの名無しさん
2007/12/01(土) 00:22:070442デフォルトの名無しさん
2007/12/01(土) 00:23:090443デフォルトの名無しさん
2007/12/01(土) 00:28:48プロパティを使うこと。
0444デフォルトの名無しさん
2007/12/01(土) 00:59:34usingディレクティブは使うなって言われるけどね。
ただ、それはエイリアスとかusing宣言とか代替があるから言えるわけで、
C#はガンガンusingする言語だと思っている俺。
0445443
2007/12/01(土) 01:25:47変えなければいけない。
0446デフォルトの名無しさん
2007/12/01(土) 01:30:23「using ステートメント」じゃなくて「using ディレクティブ」だろというか
そんなこと気にする前に基本的な言葉をだな(ry
まぁそれはいいとして >>444 もいっているように C++ で using namespace
が気になるのは、その他の仕様含めた総合的な要因によるもので、
その前提を元に C# は考えられていてほぼ危険性がクリアされているので
普通に使え。そっちのほうがみやすい。
0447デフォルトの名無しさん
2007/12/01(土) 10:19:35でもユーザコントロールから親のページクラスをどうすればアクセスできるのか想像できません
0448デフォルトの名無しさん
2007/12/01(土) 11:54:240449デフォルトの名無しさん
2007/12/01(土) 12:24:220450デフォルトの名無しさん
2007/12/01(土) 13:47:00できそうな気がする。。
0451デフォルトの名無しさん
2007/12/01(土) 14:22:26主キーは複合もあるので行でチェックするのがいいという前提で。チェック場所はいろんなイベントがあると思う
・DataGridVewのRowValidatingイベント
・DataTableのRowChagingイベント
※DBに問い合わせは論外。
他にもあるかもしれんが・・・。あったら教えて欲しいんですが。
で、入力された値をチェックと言うことでDataGridVewのRowValidatingでチェック。(ViewのことはViewでチェック)
他のクラスでチェックすると、調査時いろんなソースを追いかけないといけないので。
ほんでと、主キー重複、ユニークチェックメソッドはあるのか? → 調べたけどないと思う。
じゃ、別の方法でチェックするにはどうしたらいい?となると。
クラス内部で主キー、ユニークの値を配列で保持して、配列内をチェックしかないのかなと思ってるんだけど。
複合主キーの時は、それぞれの列の値を文字列連結して1つの文字列として保持する。
これ以外になんかいい方法ってないですか?
0452デフォルトの名無しさん
2007/12/01(土) 14:25:060453デフォルトの名無しさん
2007/12/01(土) 14:49:10DataGridVewの入力時エラーになるけど
0454デフォルトの名無しさん
2007/12/01(土) 16:24:19逆、参照するのがテキストボックス
0455デフォルトの名無しさん
2007/12/01(土) 17:25:070456デフォルトの名無しさん
2007/12/01(土) 19:25:42マスターページの値を更新。
0457デフォルトの名無しさん
2007/12/01(土) 19:29:06http://www.atmarkit.co.jp/fdotnet/dotnettips/469aspmasterpage2/aspmasterpage2.html
0458デフォルトの名無しさん
2007/12/01(土) 19:36:58から
byte [] buffer = UdpClient.EndReceive(〜);
の間に複数の受信接続が在った場合
bufferに入るのは最後に受け取った1つのデータだけですか?
0459デフォルトの名無しさん
2007/12/01(土) 23:09:37ユーザコントロールがトリガーとなって見に行くことがしたいけど無理なんだよね
0460デフォルトの名無しさん
2007/12/02(日) 08:48:15最初のだ
0461デフォルトの名無しさん
2007/12/02(日) 14:07:57これは無理そう。
FindControlsみたいなメソッドをマスターページにプロパティで実装して、
ユーザコントロールのイベント内から呼び出したいんだろ?
これはできそうでできない領域。それに気付いただけでも天才だよ。お前
>>456
も言っていること意味不明。
0462デフォルトの名無しさん
2007/12/02(日) 20:44:440463デフォルトの名無しさん
2007/12/02(日) 21:07:10parent経由で親PropertyにSetなら出来るだろ
0464デフォルトの名無しさん
2007/12/02(日) 21:53:270465435
2007/12/02(日) 23:13:03他の方々が書かれたソースを読んでいても薄々感じていましたが、やはり皆様
using を積極的に使うものなのですね。確かに衝突など滅多に起きませんし、
名前空間の構造が崩れることよりも行が横に長い方が害悪かもしれません。
皆様のご助言のお陰で漸く using を使うべきとの考えへと至ることができました。
ありがとうございました。
>>435
自分はむしろ真逆な質の人間だと思っていたのですが。一応 IntelliSense 等、
少しは使っています (というより IntelliSense を使わないで日々コーディング
できる方が居たら尊敬してしまいます)。
>>446
仰る通り、using ディレクティブでした。>>437 といい、きちんと見直したはずだった
のですが。お恥ずかしい限りです。
0467デフォルトの名無しさん
2007/12/03(月) 12:18:45const Point pos = new Point(1, 1);
とやると
「'pos' に割り当てられた式は定数でなければなりません。」
というエラーが出ます。
定数にnewは使えるないんでしょうけど、どのようにしたら上記のような定義を実現できるでしょうか?
0468デフォルトの名無しさん
2007/12/03(月) 12:26:56ふらっとC#スレに行け
0469デフォルトの名無しさん
2007/12/03(月) 12:30:39残念なことに、constはプリミティブ型(int, double)か、後は例外的にString型のみしか認められない。
非常に不思議なことに、C#には改変不可を示す修飾(C++のconstやJavaのfinal)がない。
一応readonlyという似たようなものがあるが、これはコンストラクタでしか使えないのでメソッド内などでは使えない。
0470デフォルトの名無しさん
2007/12/03(月) 13:43:130472デフォルトの名無しさん
2007/12/03(月) 16:09:37プロパティの使用も検討してみては。
0473デフォルトの名無しさん
2007/12/08(土) 20:10:03string text = sr.ReadToEnd();
sr.Close();
this.rtbIndication.Text = text;
Regex R_Ex = new Regex("this.");
//TextBox1.Text内で正規表現と一致する対象を1つ検索
Match M_stPath = R_Ex.Match(this.rtbIndication.Text);
while (M_stPath.Success)
{
int iFind = this.rtbIndication.Find(M_stPath.Value, RichTextBoxFinds.MatchCase);
this.rtbIndication.SelectionStart = iFind;
this.rtbIndication.SelectionLength = M_stPath.Value.Length;
this.rtbIndication.SelectionColor = System.Drawing.Color.Red;
M_stPath = M_stPath.NextMatch();
}
リッチスプレッドの中から特定の文字だけを抜き出して、そのフォントカラーを赤くしたいのですが
この場合、thisが複数あるにも関わらず、最初に見つかったthisしか赤くなりません。
どこがまずいのでしょうか??
0474デフォルトの名無しさん
2007/12/08(土) 21:30:400475デフォルトの名無しさん
2007/12/08(土) 21:45:220476デフォルトの名無しさん
2007/12/08(土) 22:12:01原因は解っています。
int iFind = this.rtbIndication.Find(M_stPath.Value, RichTextBoxFinds.MatchCase);
の部分で、リッチテキストボックス(rtbIndication)のテキストの最初から読み込んでるから
必ず最初の"this"で止まってしまうのです
なにかいい方法はないでしょうか?
0477デフォルトの名無しさん
2007/12/08(土) 22:17:560478デフォルトの名無しさん
2007/12/08(土) 22:23:12すいません、たとえばどのように書けばよろしいのでしょうか?
0479デフォルトの名無しさん
2007/12/08(土) 22:37:030480デフォルトの名無しさん
2007/12/08(土) 22:37:58解決しました!>>477ありがとう!
0481デフォルトの名無しさん
2007/12/11(火) 18:21:35{
public class Sample : IEnumerable<char>
{
public IEnumerator<char> GetEnumerator()
{
yield return 'C';
}
}
class Program
{
static void Main(string[] args)
{
foreach (char c in new Sample())
{
Console.Write("{0}", c);
}
}
}
}
C#2.0 yieldの勉強をしています。
このコードで何故コンパイルエラー(CS0536)が出るのかわかりません。
下記のどれにも違反していないのですが。。
・public キーワードが省略されている。
・戻り値の型が一致しない。
・static キーワードがある。
何か足りないものでもあるのでしょうか?
Visual C# 2005 Express Editionを使用しています。
0482デフォルトの名無しさん
2007/12/11(火) 18:46:25していました。
また、以下の記述がありました。
実装時の注意 このインターフェイスを実装するには、非ジェネリックの IEnumeratorインターフェイスを実装する必要があります。
そこで
IEnumerator IEnumerable.GetEnumerator()
{
//ここでIEnumeratorオブジェクトを戻さないとエラーになる
}
を実装する必要がありそうなのですが、何を書けばよいのかわかりません。
0483デフォルトの名無しさん
2007/12/11(火) 18:49:49エラーメッセージ読め。
IEnumerable<T> は non-generic な IEnumerable を継承してるんで、
そっちの GetEnumerator も実装しないとだめ。
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
0484デフォルトの名無しさん
2007/12/11(火) 18:50:59IEnumerator IEnumerable.GetEnumerator() の中身は、
return this.GetEnumerator(); にでもしとけ。
0485デフォルトの名無しさん
2007/12/11(火) 19:02:48Yieldを含む IEnumerableなファンクションが暗黙にいろいろやってくれる。
この例だとstaticにしてもいいな。
public class Sample {
public IEnumerable<char> Hoge() { yield return 'C'; }
}
foreach (char c in new Sample().Hoge())
Console.Write("{0}", c);
0486デフォルトの名無しさん
2007/12/11(火) 19:28:55>>484
>>485
ありがとうございました。解決しました。
>>485
別法でしょうか。まだ詳しいことは分からないのと
サンプルの方法も間違っていなそうなので、とりあえず
これを使っていこうと思います。
0487デフォルトの名無しさん
2007/12/11(火) 20:12:58private Storyboard story;
private DoubleAnimation myDoubleAnimation;
private DoubleAnimation myDoubleAnimation2;
private void WindowLoaded(object sender, RoutedEventArgs e) {
Rectangle rect = new Rectangle();
rect.Width = 10;
rect.Height = 10;
. (省略
myDoubleAnimation = new DoubleAnimation();
myDoubleAnimation.From = 10;
myDoubleAnimation.To = x;
myDoubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(2000));
myDoubleAnimation2 = new DoubleAnimation();
myDoubleAnimation2.From = 10;
myDoubleAnimation2.To = y;
myDoubleAnimation2.Duration = new Duration(TimeSpan.FromMilliseconds(2000));
Storyboard.SetTargetName...(省略
story = new Storyboard();
story.Children.Add(myDoubleAnimation);
story.Children.Add(myDoubleAnimation2);
story.Begin(this, true);
}
private void click(object sender, RoutedEventArgs e) {
story.Stop(this);
x = 200;
y = 300;
story.Begin(this, true);
}
.NET3.0ですが、ストーリーボードの子要素の中身を変更するのってどうやるんでしょうか?
xとyの値をクリックで変えたいのですが、上記の方法ではうまくいかず、
クリックしてもx,yは100,200のままで変わりません 。どうすればいいのでしょうか?
0488デフォルトの名無しさん
2007/12/12(水) 01:25:480489デフォルトの名無しさん
2007/12/12(水) 01:27:370490デフォルトの名無しさん
2007/12/12(水) 02:07:33状態を持つ場合なんか手で書きたくないしね。
0491デフォルトの名無しさん
2007/12/12(水) 04:35:41myDoubleAnimation.Toはint?だからclickの中でx変えただけじゃ元の値のままですよ。
意図通りの挙動をさせるにはこんな感じ?
private void click(object sender, RoutedEventArgs e) {
story.Stop(this);
x = 200;
myDoubleAnimation.To = x;
y = 300;
myDoubleAnimation2.To = y;
story.Begin(this, true);
}
0492491
2007/12/12(水) 04:38:58○double?
寝ぼけてました。
0493デフォルトの名無しさん
2007/12/12(水) 07:41:59こう言語機能をこんな風に使うとこんなことができるよてきなTips( ゚д゚)ホスィ…
0494デフォルトの名無しさん
2007/12/12(水) 12:22:210495デフォルトの名無しさん
2007/12/12(水) 12:22:41ユーザー定義型のソート基準を決めるのに
IComparerを実装するのって面倒ですね。
この点はC++のほうが分かりやすくて楽チン。
0496デフォルトの名無しさん
2007/12/12(水) 12:34:29その手のサイト運営してる身だけど、
そういう Tips は結構まとめるの面倒なのよね。
日記とかにちまちま書いてる人はいるけど、それを1箇所に集めるとなると。
「この辺りを Tips にまとめて欲しい」みたいなの列挙しといてくれたら
そのうちページに起こすけど。
>>495
いや、IComparison<T> デリゲートでもソートできる。
C# 3.0 だと、
list.Sort((x, y) => y.CompareTo(x));
とか書ける。
0497デフォルトの名無しさん
2007/12/12(水) 12:36:10Array.Sort(table, delegate(Hoge x, Hoge y)
{
return ・・・;
});
0498デフォルトの名無しさん
2007/12/12(水) 12:44:30C#は記法がキモイのはC++と同じで、
慣れるまで時間がかかりそうです。
0499デフォルトの名無しさん
2007/12/12(水) 12:47:37いったい、元々どこの畑にいたんだ。
0500デフォルトの名無しさん
2007/12/12(水) 12:57:45よかったらサイトのアドレス教えてください@メアド
0501デフォルトの名無しさん
2007/12/12(水) 18:52:31インデント開始と停止する系の命令はあるですか?
0502デフォルトの名無しさん
2007/12/12(水) 20:28:420503デフォルトの名無しさん
2007/12/12(水) 20:35:340504デフォルトの名無しさん
2007/12/12(水) 20:47:520505デフォルトの名無しさん
2007/12/12(水) 23:14:34めちゃくちゃリソース食うの。
0506デフォルトの名無しさん
2007/12/12(水) 23:15:230507デフォルトの名無しさん
2007/12/13(木) 04:30:30IDEのメニュー「デバッグ」「例外」で対応できる。
基本的にはSystem.IO系やNullReferenceExceptionの「スルー時中断」にチェックを入れる。
あとは発生したベースで必要な例外を追加していけばいい。
0508デフォルトの名無しさん
2007/12/13(木) 04:34:090509デフォルトの名無しさん
2007/12/13(木) 09:26:210510デフォルトの名無しさん
2007/12/13(木) 18:23:06もしマジだとしたら、ガクブルもので正直この先も使うか考えてしまう。
0511デフォルトの名無しさん
2007/12/13(木) 18:27:370512デフォルトの名無しさん
2007/12/13(木) 19:09:25そんなガクブルな話書かれてたか?
0513デフォルトの名無しさん
2007/12/13(木) 20:18:43そんなことは常識だろ
0514デフォルトの名無しさん
2007/12/13(木) 20:52:09いや、だから、常識なのに何をガクブルしてんの?と。
0515デフォルトの名無しさん
2007/12/13(木) 21:34:46使い物にならん
0516デフォルトの名無しさん
2007/12/13(木) 22:38:370517デフォルトの名無しさん
2007/12/13(木) 22:41:45LINQのほとんどの演算子が使えないのに?
0518デフォルトの名無しさん
2007/12/13(木) 22:59:40どういうこと?
「LINQ to SQL では LINQ の標準クエリ演算子を全部サポートしてないのに?」といいたいのかな?
0519デフォルトの名無しさん
2007/12/13(木) 23:02:05拡張メソッドでは呼び出せて、SQLにも使えるのに
クエリ式では使えないものがいっぱいあるだろ
0520デフォルトの名無しさん
2007/12/13(木) 23:11:29ああ、そういうことね。
まあ、それでも、let とか2重 from とか使うときはクエリ式便利。
from x in a
from y in b
select new { x, y };
とか、クエリ式使わないと SelectMany 使って書くの大変よ。
0521デフォルトの名無しさん
2007/12/13(木) 23:16:59拡張メソッドでいいじゃん
0522デフォルトの名無しさん
2007/12/13(木) 23:25:31il からコード起こしてみたらすごいことになってたけどw
0523デフォルトの名無しさん
2007/12/13(木) 23:26:160524デフォルトの名無しさん
2007/12/14(金) 00:33:05どうやったらいいのか分かりません。
条件式書くのとcsvファイルを読み込んでそのまま出力することはできます。
むしろそれくらいしかできない初心者です。
アドバイスお願いします。
0525デフォルトの名無しさん
2007/12/14(金) 00:34:09そのまま出力できるならその値を出力せずに計算すればよかろ
0526デフォルトの名無しさん
2007/12/14(金) 00:37:08普通に計算式を書いてから、その後出力する処理を書けばいいということでしょうか?
0527デフォルトの名無しさん
2007/12/14(金) 00:38:05その通りだ
0528デフォルトの名無しさん
2007/12/14(金) 00:41:13あああああ そうだったんですか。
難しく考えすぎてました。ありがとうございました。ものすごく助かりました。
0529デフォルトの名無しさん
2007/12/14(金) 08:35:400530デフォルトの名無しさん
2007/12/14(金) 08:36:06天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。
天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。
天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。
0531デフォルトの名無しさん
2007/12/14(金) 10:33:22自動生成するようなツールってないの? VB6 にあったやつみたいな。
それか、WinAPI をひたすらラッピングした .NET Frx 向けライブラリ。
0532デフォルトの名無しさん
2007/12/14(金) 10:38:01こういうのは?
http://www.pinvoke.net/
0533デフォルトの名無しさん
2007/12/14(金) 11:14:51おおサンクス。ググっても DllImport の解説やら、WinAPI を使ったサンプルばっか出てきて
困ってたんだよね。これで幸せになれそうだ。
0534デフォルトの名無しさん
2007/12/14(金) 12:18:55具体的に何を補助してくれるのかしらんが、余裕があれば試してみたらいい。
0535デフォルトの名無しさん
2007/12/14(金) 12:23:200536デフォルトの名無しさん
2007/12/14(金) 15:06:380537デフォルトの名無しさん
2007/12/14(金) 15:14:57プログラミング Microsoft Visual C# 2005 言語編
C#の勉強をはじめる場合、どちらがお勧めですか?
0538デフォルトの名無しさん
2007/12/14(金) 15:29:59あとは使ってれば分かる
0539デフォルトの名無しさん
2007/12/14(金) 17:47:31すでにほかの言語が使えるなら、オライリーが無駄な説明がなく理解しやすい。
下はシラネ。ただ、言語編とかつくのは他のも読む前提で書かれてることが多い。
後、@itのC#入門改訂版ならタダで読める。正直助長な部分もあるが、本を買う前に一度見てみて、
それだけでは不十分だと感じてから本を買っても遅くないんじゃないか?
0540デフォルトの名無しさん
2007/12/14(金) 18:58:040541デフォルトの名無しさん
2007/12/14(金) 20:11:48リファレンスには十分だが、携行できないしいろんな意味で不十分
「C#の勉強を始める場合」だからな。
0542デフォルトの名無しさん
2007/12/14(金) 20:13:03C++は使えるのとJAVAの文法の基本は分かっているので
オライリーにしてみます。MSの本は高すぎるのもネックです。
>>540
基本を押さえたら適宜参照してみます。
0543デフォルトの名無しさん
2007/12/14(金) 20:48:26スルーしてしまうのはもったいないと思う。
ttp://msdn2.microsoft.com/ja-jp/library/67ef8sbd%28VS.80%29.aspx
0544デフォルトの名無しさん
2007/12/14(金) 20:51:56正直、C++ と Java 使えるなら MS のドキュメントだけで十分だと思うけど。
0545デフォルトの名無しさん
2007/12/14(金) 21:07:26・C# プログラミング ガイド
・Java 開発者のための C# プログラミング言語
あたりに一通り目を通しとけば、まあいけると思うけどな。
どうしても紙媒体が好きならオライリーのC#いいと思うよ。
0546デフォルトの名無しさん
2007/12/14(金) 21:19:20俺は新しい言語を勉強するときには、とりあえず一冊本を買うんだが、
Webだけだと記憶しづらくないか?
0547デフォルトの名無しさん
2007/12/14(金) 21:20:230548デフォルトの名無しさん
2007/12/14(金) 21:25:51ごめん、Webっていうのは言葉のあやで、デジタルデータでってこと。
0549デフォルトの名無しさん
2007/12/14(金) 21:30:31ウラニウムとどっちが無駄かは知らんけど
0550デフォルトの名無しさん
2007/12/14(金) 21:42:48それくらい日本語情報充実してる。
0551デフォルトの名無しさん
2007/12/14(金) 22:00:43MSの物の場合それだけで十分なことも多いからなぁ・・・
0552デフォルトの名無しさん
2007/12/14(金) 22:02:490553デフォルトの名無しさん
2007/12/14(金) 23:18:24論文とかもできるだけ印刷して読む・・・あ、単純に紙媒体が好きなだけかな?結局好みの問題かも。
でもディスプレイとずっと睨めっこするのは辛くない?
というかMSDNは重いのが・・・
動的生成なサイトってイライラが溜まって好きじゃないんだよなw
0554デフォルトの名無しさん
2007/12/14(金) 23:30:20禿胴。昔はモニター越しの情報も紙媒体も一緒だと考えてたんだが、
長年やってるうちに結局紙媒体の方が覚えやすいっていう結論になった。
0555デフォルトの名無しさん
2007/12/15(土) 00:38:52のマーシャリングやらアセンブリやら属性、シリアル化とか
わけわからん。
ここはC#というよりは.NETの世界なんだろうけど。
0556デフォルトの名無しさん
2007/12/15(土) 00:57:36二部って何を指してるの?
0557デフォルトの名無しさん
2007/12/15(土) 00:59:39まークラスライブラリは必要になったときに引くが
0558デフォルトの名無しさん
2007/12/15(土) 01:07:270559デフォルトの名無しさん
2007/12/15(土) 09:48:19本の目次
0560デフォルトの名無しさん
2007/12/15(土) 10:01:01プログラムを動かすだけならコピペでも出来るし、
それに一通り使えるようになった後ではいままでやってきたことがひどく簡単なことだったと思うもんだよ。
0561デフォルトの名無しさん
2007/12/15(土) 10:09:47コボラー
絶対無理w
まあ、かけるだけならアホプログラムでも書けるといえなくもないから、
1日でとか短時間を自慢げに言うのって馬鹿にしか見えんよね。
0562デフォルトの名無しさん
2007/12/15(土) 10:13:540563デフォルトの名無しさん
2007/12/15(土) 10:18:49C++やらJavaやらやってたんで、楽勝だったよ。
0564デフォルトの名無しさん
2007/12/15(土) 10:20:540565デフォルトの名無しさん
2007/12/15(土) 10:34:09C++やjavaじゃぜんぜん条件が違うわけだが。
まあそんなことはどうでもいい。
できるって言うレベルが人によって違いすぎて何の意味もないわな。
0566デフォルトの名無しさん
2007/12/15(土) 10:42:55> 私自信、新しいプログラミング言語を3日でマスターできなかったら負けだと思っている。
> もちろん「マスター」にもピンからきりまであるが、ここでいう「マスター」は、もちろんライ
> ブラリーやクラスを端から端まで覚えるということではなく、その言語の特徴をつかんで、
> 一目見てその言語で書かれた事がわかるようなコードを読み書きできることを指す。
0567デフォルトの名無しさん
2007/12/15(土) 10:47:36入門書をパラパラと読んで「ああ、こういう言語ね」と思えないようなヤツは不勉強すぎ。
0568デフォルトの名無しさん
2007/12/15(土) 10:48:53偉い人も言ってたのにね。
0569デフォルトの名無しさん
2007/12/15(土) 10:52:312.0は匿名メソッド(のスコープ)
言語としてはこじんまり
0570デフォルトの名無しさん
2007/12/15(土) 11:09:48書ける
ここでいうマスター
はいはいなんの意味もないね。
ほんとに言語固有の部分は少ないしね。
まあそれでも仕様のボリュームはそれなりにあるけど、
ごく基本的な部分だけでもプログラムは書けるしな。
0571デフォルトの名無しさん
2007/12/15(土) 11:13:31とんでもないことになったりする。
0572デフォルトの名無しさん
2007/12/15(土) 11:22:58やたらマニアックなことする奴も氏ね、
コードは複雑で冗長でそのくせ穴だらけでたいして役にも立たない、
ああもうトラウマだぜ。
0573デフォルトの名無しさん
2007/12/15(土) 11:30:57俺なんて、他人のサンプルコード見ては
「なんだよ、このアトリビュート。どうやって学んだんだよ」
「このプログラムの設計ってまず何からどうやって作ったんだ?」
ってな感じで右往左往して
C言語で作ったプログラムをC#で組んでみようと思っても
上手くいかないし。
よし、JAVA宿題スレにそのプログラムの問題投稿して
解いてもらって、そこからJAVA経由で理解しようと
思ったけど、返ってきた答えが答えになってない
不完全なプログラムだったりして、どーしたもんかと考えたり・・・
基本構文はすぐに解ったけどオブジェクト指向が出来てない
自分に辟易する。
0574デフォルトの名無しさん
2007/12/15(土) 11:32:45みんながすごいわけじゃなかろう。
0575デフォルトの名無しさん
2007/12/15(土) 11:35:21あんまりふらふらせずに一つの言語に専念してみたらどうだろうか?
ここで上がってる多言語使える人間も、基本的には一つの言語を十分に学んでから、
その言語を起点して他の言語を学んでる人が多いはず。
複数の言語を同時に習得しようとすると、文法やメトリックを混同してまったく勉強できないことも多い。
俺は、とりあえずjavaが使えれば、基本的なOOP的言語は文法の違いだけですぐに覚えられると思う。
0576デフォルトの名無しさん
2007/12/15(土) 11:42:36文法とライブラリを使用する程度なら、その言語の主要概念(OOPとか)をすでに習得していればそれこそ丸一日あれば十分。
だから、Javaさえ覚えられればCやC++、C#は使えるも同然だし(言語固有の習慣や文法を除いて)、
言語を習得したっていうのは、言語の設計概念を理解してるかということに直結すると思う。
だから、一日で十分とかいってる人間も、似たような概念で構成された言語を、
今まで覚えた言語の概念を流用して使えるといってるわけで、
関数型言語をまったく知らない状態から、haskellを一日で自由に使えるわけがない。
0577デフォルトの名無しさん
2007/12/15(土) 11:53:33無茶ゆうなw
ってか、言語固有の習慣や文法を除いて
ってどういうこったよ?それはどう使えるっていうんだ?
C++まともじゃなくてもやったことあるなら
そんな台詞はどうやっても出てこん。
0578デフォルトの名無しさん
2007/12/15(土) 11:56:40C#の文法でjavaを書く癖が直ってくれない。
0579デフォルトの名無しさん
2007/12/15(土) 12:01:020580デフォルトの名無しさん
2007/12/15(土) 12:17:54そうだね。
こんだけオブジェクト指向が広まってるのに、たとえば、
「C一筋で10年、それ以外にはまったく興味もなくてすごしてしました。
いまさらC#やJavaなんてできません」
みたいなPGって激しくオワットルね。
0581デフォルトの名無しさん
2007/12/15(土) 12:23:13時歳に使いこなせるかどうかは別だけど。
0582デフォルトの名無しさん
2007/12/15(土) 12:28:23結局思い切り人次第だからな〜
0583デフォルトの名無しさん
2007/12/15(土) 13:14:59同意。C++の複雑度はJAVAの比ではない。C++を知ってる人間なら
JAVAはえらく簡単に覚えられるが、その逆は真ではない。
0584デフォルトの名無しさん
2007/12/15(土) 13:34:40標準ライブラリも足りないものだらけだし
言語自体にも罠がいっぱいある
0585デフォルトの名無しさん
2007/12/15(土) 13:44:33メモリ管理なら、今やスマートポインタを使わない
なんて考えられない。boostがよりいっそう充実して
ライブラリが進化することを期待する。現にそうなって
きている。
0586デフォルトの名無しさん
2007/12/15(土) 13:47:440587デフォルトの名無しさん
2007/12/15(土) 13:50:490588デフォルトの名無しさん
2007/12/15(土) 14:10:25「C#はC++をモデルとしてプログラマーを面倒で煩雑な作業から開放するために
作られたより効率的開発のしやすい言語」でC++プログラマーが開発者なんだよ。
つまり、C#はC++からメモリ開放や宣言の煩雑さを省いたオートマバージョンなんだよ。
つまらないCopyとCloneの違いなんてC++プログラマーは一瞬で理解できる。
それを勘違いしているC#ヲタはC#はすばらしいと思っているが、
C#でC++より優れたものを作れるかといったら答えはYESでもありNOでもある。
「何に優れたものか」によって尺度が違うからな。
C++⊃C#、VB.NET これは間違いない。C++を極めればどんな言語でも理解できるよな。
ただ、C++を極めると簡単に言ってもSTL、ATLからUNIX系、MS系や
地方言語のマクロ、コンパイラ、デバイスのインターフェースからOS制御、途方もないボリュームだ。
OSを記述する言語としてのC++ではなく、業務アプリを作るC++を学ぶなら
表面だけなら言語経験より開発手法や設計思想なんかの方がよっぽど重要なのかもな。
はい長文ゴメンなさ〜い。
0589デフォルトの名無しさん
2007/12/15(土) 14:27:210590デフォルトの名無しさん
2007/12/15(土) 14:45:54一つのクラスを一つのソースファイルに書く機能
リフレクション
object型
クロージャ
式ツリー
自動シリアライズ
そしてもちろんGC
C++にあってC#にない致命的なもの
なし
0591デフォルトの名無しさん
2007/12/15(土) 14:49:500592デフォルトの名無しさん
2007/12/15(土) 14:53:580593デフォルトの名無しさん
2007/12/15(土) 14:57:30あれがないおかげで、プロジェクト全体から見えるシンボル(#defineで定義するやつ)
を定義しようと思ったらプロジェクトのプロパティーでチマチマやらんといかん。
面倒だし明示的じゃない。
0594デフォルトの名無しさん
2007/12/15(土) 15:18:130595デフォルトの名無しさん
2007/12/15(土) 15:30:26何を言ってるのか分からん
#defineをプロジェクトのプロパティでどう代用するんだ
0596デフォルトの名無しさん
2007/12/15(土) 15:36:50ただ君が知らないだけなわりになぜか偉そうな口ぶりなのはどうなのw
まあ落ち着いて
http://msdn2.microsoft.com/ja-jp/library/0feaad6z(VS.80).aspx
の「Visual Studio 開発環境でこのコンパイラ オプションを設定するには」でも読め。
0597デフォルトの名無しさん
2007/12/15(土) 15:46:21マクロないんだし
0598デフォルトの名無しさん
2007/12/15(土) 15:54:10この機能のことであればひとかけらも致命的ではないだろ
お前のコードはいろんなシンボルを使った#ifだらけなのかもしらんが
プロパティで設定すればいいだけの話だ
0599デフォルトの名無しさん
2007/12/15(土) 15:59:18#define は、
マクロ型関数は使うな、
プロジェクト全体に渡るシンボル定義はコンパイラオプション+プロジェクト設定でやれ
ってこと。
プロパティはあんまり関係ないと思うが。
0600デフォルトの名無しさん
2007/12/15(土) 16:20:24たしかに致命的ではないね。
その点は申し訳ない。
0601デフォルトの名無しさん
2007/12/15(土) 17:39:330602デフォルトの名無しさん
2007/12/15(土) 18:19:16おまえは本当に痛い。
リソースの乏しい久組み込みではGCが激しく邪魔になる。
一生Winアプリでも作ってろカスが。
0603デフォルトの名無しさん
2007/12/15(土) 18:39:260604デフォルトの名無しさん
2007/12/15(土) 18:43:330605デフォルトの名無しさん
2007/12/15(土) 19:03:47適当に言いました。
すいませんでした。
0606デフォルトの名無しさん
2007/12/16(日) 00:34:29っジェネリック
0607デフォルトの名無しさん
2007/12/16(日) 00:36:45肝心なところで使い物にならない。
0608デフォルトの名無しさん
2007/12/16(日) 00:38:05ちょっと間違うとコンパイルも通らない
0609デフォルトの名無しさん
2007/12/16(日) 00:44:21なんでchar[]とかがintにキャストできるのかと。
ポインタはパフォーマンスアップに繋がるのはわかるがこれだけは
気持ち悪くてしょうがない。
0610デフォルトの名無しさん
2007/12/16(日) 00:48:55Windowsのソフトを作る予定がなくてもC#
を覚える必要があるか。JAVAとどっちを
勉強すべきか。
0611デフォルトの名無しさん
2007/12/16(日) 00:49:47型なんてただのメモリの入れ物としてしか認識してないから。
0612デフォルトの名無しさん
2007/12/16(日) 00:52:04CはともかくさすがにC++にそれは言い過ぎのように思う
0613デフォルトの名無しさん
2007/12/16(日) 00:52:26C#の型はどうなの?
0614デフォルトの名無しさん
2007/12/16(日) 00:53:42仮想関数があれば仮想テーブルや型情報、vptrもある。
ただの入れ物とは思えない。
0615デフォルトの名無しさん
2007/12/16(日) 01:11:04作る予定があるソフトに必要な言語をやるといい
0616デフォルトの名無しさん
2007/12/16(日) 01:28:21Linuxに移植されたら?
世界は変わるかも?
0617デフォルトの名無しさん
2007/12/16(日) 01:33:300618デフォルトの名無しさん
2007/12/16(日) 01:35:46しょっちゅう使ってるよ
ペンケースに入ってる
0619デフォルトの名無しさん
2007/12/16(日) 19:00:200620デフォルトの名無しさん
2007/12/16(日) 21:28:37そのようなものはC++の思想に反するのだよ
うそですすみません。
0621デフォルトの名無しさん
2007/12/16(日) 21:38:41俺もbool型オンリーの方が好きだが、スクリプト言語してるとそうじゃない方が多い気がする。
0622デフォルトの名無しさん
2007/12/16(日) 21:47:500623デフォルトの名無しさん
2007/12/16(日) 21:48:27bool b = true;
if(b){} // これはいけるけど、
if(b = true) {} // これはだめだお
0624デフォルトの名無しさん
2007/12/16(日) 21:48:360625デフォルトの名無しさん
2007/12/16(日) 21:51:33やるならここまできっちりやるべきなんだろうな
0626デフォルトの名無しさん
2007/12/16(日) 22:05:30Dはbool以外の型の値もifに与えられるけど、
代入式を取れないってのは革新的だよね。
0627デフォルトの名無しさん
2007/12/16(日) 22:12:14while ((line = reader.ReadLine()) != null)
こういうのはOKなの?
0628デフォルトの名無しさん
2007/12/16(日) 22:13:29メソッドのリターンコードで条件判定するようなプログラミングが簡単に
表現できない欠陥品だろD言語は
0629デフォルトの名無しさん
2007/12/16(日) 23:00:270630デフォルトの名無しさん
2007/12/16(日) 23:02:10boolの代入は規制すべきだと思う
0631デフォルトの名無しさん
2007/12/17(月) 11:12:080632デフォルトの名無しさん
2007/12/17(月) 22:19:440633デフォルトの名無しさん
2007/12/26(水) 02:04:33char*の受け渡しで、詰まるところがありました。
以下のコードで、環境により、エラーが出たりでなかったりします。
(現在、エラーが出る環境がないため、エラーメッセージ失念……)
--------エラーとなるコード C#側(Form1.cs)---------
[DllImport("Hoge.dll")]
extern static StringBuilder GetHogeMessage();
private void Form1_Load(object sender, EventArgs e)
{
StringBuilder msg = GetHogeMessage();
this.label1.Text = msg.ToString();
}
-------エラーとなるコード CのDLL側(Hoge.dll)----------
char msg[255];
extern "C" __declspec(dllexport) char* GetHogeMessage()
{
sprintf_s(msg, 255, "ホゲホゲプー");
return msg;
}
--------------------------------------
以下のように、ネットで、よく見かけるコードに変えましたら、
エラーが出なくなりました。
続きます。
0634デフォルトの名無しさん
2007/12/26(水) 02:04:57[DllImport("Hoge.dll")]
extern static void GetHogeMessage( StringBuilder name, int len );
private void Form1_Load(object sender, EventArgs e)
{
StringBuilder msg = new StringBuilder(255);
GetHogeMessage(msg, 255);
this.label1.Text = msg.ToString();
}
-------正しく動くコード CのDLL側(Hoge.dll)----------
extern "C" __declspec(dllexport) void GetCurrentName(char* msg, int length)
{
sprintf_s(msg, length, "ホゲホゲプー");
}
私のよく知る Delphiでは、string ←→ char*(PChar)間では、
コンパイル時に自動で変換コードを入れているのが、
デバッガで逆アセンブルすると、わかります。
同様に、動作を知ろうと、Reflectorで、
ILに変換したのも読んでみたのですが、コンパイラマジックなどなく、
理解にいたりませんでした。
C#は(というか、MSIL?)、内部動作的には、char* → StringBuilderでは、何をやっているのでしょうか?
私は想像では、StringBuilder.pChar のような非公開のプロパティに、char*を代入して処理しているのでは?と思っています。
そうなると、上記のエラーとなるコードでは、インスタンスを生成していないために、
強引なキャストが起き、StringBuilderとして処理はされるものの、
msg.ToString などで、エラーが起きることがある、と。
この辺の、動作に関するドキュメント等ありませんでしょうか?
0635デフォルトの名無しさん
2007/12/26(水) 02:05:54--------正しく動くコード C#側(Form1.cs)---------
[DllImport("Hoge.dll")]
extern static void GetHogeMessage(StringBuilder name, int len );
private void Form1_Load(object sender, EventArgs e)
{
StringBuilder msg = new StringBuilder(255);
GetHogeMessage(msg, 255);
this.label1.Text = msg.ToString();
}
-------正しく動くコード CのDLL側(Hoge.dll)----------
extern "C" __declspec(dllexport) void GetHogeMessage(char* msg, int length)
{
sprintf_s(msg, length, "ホゲホゲプー");
}
0636デフォルトの名無しさん
2007/12/26(水) 02:10:16char*を返す関数なら普通にStringで受ければいい。
0637デフォルトの名無しさん
2007/12/26(水) 02:12:17http://msdn2.microsoft.com/ja-jp/library/fzhhdwae(VS.80).aspx
0638デフォルトの名無しさん
2007/12/26(水) 03:00:09サンクス!!
アンマネージドと、マネージドの相互変換をマーシャリングというのですね。
Buffers のサンプル
http://msdn2.microsoft.com/ja-jp/library/x3txb6xc(VS.80).aspx
>>637の文字列のところに書いてありました。
文字列の変更の可能性がある場合は、StringBuilderを使うのはあってるみたいです。
引数などで渡した場合、StringBuilderのバッファのポインタが渡されるだけなんですね。
アンマネージドで確保されたchar* を返却値としてもらう場合は、
自動的に、解放されるのを防ぐために、IntPtr でアンマネージのままもらって、
Marshal.PtrToStringAuto で、stringに変換すればいいのですね。
わかりました!
ありがとうございました。
0639デフォルトの名無しさん
2007/12/26(水) 11:48:220640デフォルトの名無しさん
2007/12/26(水) 12:12:050641デフォルトの名無しさん
2007/12/26(水) 12:21:210642デフォルトの名無しさん
2007/12/27(木) 18:45:28勉強がてらいじってるけどさっぱり分からん
c++でネイティブ書くなんて一生無理だなこれは
0643デフォルトの名無しさん
2007/12/27(木) 18:53:27プログラミングが上達しない才能が無い限りいつかできるようになっちゃうよ
0644デフォルトの名無しさん
2007/12/28(金) 00:38:35char*からなら、PtrToStringAnsiではないのか?
0645デフォルトの名無しさん
2007/12/28(金) 01:18:07[管理ツール]−[データ ソース (ODBC)]-[ユーザDSN]でデータソースの設定を行う際、
表示される画面(例えばアクセスの場合だとデータベースの選択画面)をプログラム上で
出すにはどうすればいいのでしょうか?
ヒントか参考になるサイトでもいいので教えていただけないでしょうか。
よろしくお願いします。
0646デフォルトの名無しさん
2007/12/28(金) 02:11:03それから例外を作る装備はないですか?
0647デフォルトの名無しさん
2007/12/28(金) 04:48:09そうですね。
Buffers のサンプル
http://msdn2.microsoft.com/ja-jp/library/x3txb6xc(VS.80).aspx
の方でも同じようなやり方で、できるとありました。
どもです。
0648デフォルトの名無しさん
2007/12/28(金) 11:10:040649デフォルトの名無しさん
2007/12/28(金) 11:18:20GetHRForLastWin32Error
0650デフォルトの名無しさん
2007/12/28(金) 21:48:02すげぇ才能だなww
逆にそれは見てみたい
>上達しない才能
0651デフォルトの名無しさん
2007/12/28(金) 22:17:45感情や直感が最優先の人。
自分の思いが総て正しいと思う人。(これはちょっと微妙か
実際居ると思うぞ。
0652デフォルトの名無しさん
2007/12/28(金) 22:19:380653デフォルトの名無しさん
2007/12/29(土) 08:03:35俺いっぱい見てきてるよ・・・
0654デフォルトの名無しさん
2008/01/09(水) 05:55:520655デフォルトの名無しさん
2008/01/13(日) 23:45:17foreach以外に良い方法があるでしょうか?
0656デフォルトの名無しさん
2008/01/13(日) 23:57:240658デフォルトの名無しさん
2008/01/14(月) 12:01:58SizeChangedイベントをハンドルしてInvalidateを呼び出して画面全体を再描画したいんですが
領域全体が無効化→背景色クリアが入ってしまい、その後に全体を書くので偉くちらつきます。
で、この背景色クリアを無効化したいんですが、どのようにしたら良いですか?
背景色クリアに関してはWinAPIで叩いてたころは確か
ブラシを入れないとか、Invalidateの引数でRedrawするかしないかを指定できたと思うんですが…
よろしくお願いします。
0659デフォルトの名無しさん
2008/01/14(月) 12:13:19と設定してダブルバッファリングすればいい
0660デフォルトの名無しさん
2008/01/14(月) 12:18:12>>658についてはResizeRedrawを有効にすればOKだと思うけど。
なんか>>658はあまりよくわかってなさそうだから一応補足すると、
これは要するにいちいちInvalidateしなくてよくなるって意味ね。
0661デフォルトの名無しさん
2008/01/14(月) 12:21:520662658
2008/01/14(月) 13:24:59ResizeRedraw=trueにしても駄目でした。
おっしゃるとおり、いちいちInvalidateしなくてよくなるんですが、
単に勝手にInvalidateを呼び出しているだけみたいですね。
結局ですが、多分.NETのInvalidateの実装が
InvalidateRect( m_hWnd, NULL, TRUE );
みたいにされちゃってるんだと思ったんで、
直接user32.dllのInvalidateRectをDllImportして
bEraseをFALSEで呼び出したらブラシのクリアが無くなりました。
ご返信していただいた方ありがとうございました。
0663デフォルトの名無しさん
2008/01/14(月) 15:07:20なにもしない OnPaintBackground は?
0665デフォルトの名無しさん
2008/01/15(火) 11:05:580666デフォルトの名無しさん
2008/01/17(木) 07:35:08あくまでも同じなのでしょうか?それとも、C++の方が圧倒的に早いのでしょうか?
C#とVBでは処理速度は描画も含めて同じだと思いますが、C++では直接
Win32APIで動かしていて高速動作するようになっているのでしょうか?
よろしくお願いします。
0667デフォルトの名無しさん
2008/01/17(木) 08:43:03.NETが扱えるのはC++ではなくC++/CLI
C++/CLIが吐き出す中間コードはC#,VBと同じ
よって速度は同じ
0668デフォルトの名無しさん
2008/01/17(木) 09:33:130669デフォルトの名無しさん
2008/01/17(木) 11:07:18C#もunmanaged使えば同じじゃないの?
0670デフォルトの名無しさん
2008/01/17(木) 11:18:370671666
2008/01/17(木) 11:21:15解説ありがとうございます。
たとえば、Windowsのエクスプローラはフォルダのフォーカス移動に伴う
ファイル表示でもものすごく高速に実行され、画面の描画もめちゃくちゃ
瞬時に行われ、ノートPCなどの描画が比較的遅いPCですと.NETの
Formアプリケーションなどとはけっこう速度差を体感します。レインボウ
のような現象も顕著に出ていて、ネイティブのアプリケーションとでは
ものすごく遅い感じが否めませんでした。
こうした差は、C++/CLIを使って、すべてをネイティブコードにコンパイル
してしまうと、たとえばエクスプローラ並みにすばらしく高速で動くように
体感できるようになるということなのでしょうか。(長くてすみません)
0672デフォルトの名無しさん
2008/01/17(木) 11:22:25C#でunmanagedは使えないだろ
0673デフォルトの名無しさん
2008/01/17(木) 11:27:32それはWindows.Formsが遅いだけ。
C++/CLIを使っても同じGUIライブラリを使う限り、もっさりするのは換わらない
0674デフォルトの名無しさん
2008/01/17(木) 11:33:04なるほど、そうだったんですか。
ということは、C++/CLIで、Formsを使わずに何かネイティブのGUI処理をする
方法を使う(MFCでしょうか、よくは知らないのですが)などすれば、
エクスプローラ並みの高速処理が実現できるということでしょうか、
そしてそういうことはC#やVBでは実現できないと・・・、この辺がよくわかりません、
よろしくお願いします。
0675デフォルトの名無しさん
2008/01/17(木) 12:04:06C# と GDI+ でも、あんまり Forms の世話にならないで自前で描画する
大型のコントロール等書いて使えばそこそこ高速になるよ。
下手に Forms で UI 書くより、ブラウザ埋め込んで Ajax でもした方が
高速になるケースもあるだろうし (ブラウザはレンダリングが結構速いから・・・)。
>この辺がよくわかりません
「ネイティブ」の意味が分からないということ?
0676デフォルトの名無しさん
2008/01/17(木) 12:10:020677デフォルトの名無しさん
2008/01/17(木) 12:37:29たびたびすみません。
>自前で描画する大型のコントロール等書いて
これは要するに、Paintイベントなどでの処理を描くということでしょうか。
>「ネイティブ」の意味が分からないということ?
「自前で描画する大型のコントロール等」という場合に、そこに.NETFramework
のクラスで描画をするだけでよくて、いちいちAPIを使うことなく高速化できるという
ことでしょうか?
0678666
2008/01/17(木) 12:41:00そのようにしてコントロールを高速化した場合、たとえば現在Form の右下を
つまんでリサイズすると、Formのサイズ変更がやたらと遅くてボーダーの移動が
ぱらぱらと目に見えて動きます。こういったことも高速になるでしょうか?
0679デフォルトの名無しさん
2008/01/17(木) 12:44:570680デフォルトの名無しさん
2008/01/17(木) 12:45:19普段はTextBoxの「ハリボテ」を100個描画しておいてユーザーがマウスポインタで
クリックしたときだけ本物のTextBoxを該当位置にひとつだけ表示するような
コントロールを自作した方が早いってことじゃない?
でもこの手のコントロールの自作ってかなり面倒なんだよね。
情報すくないから手探りでいろいろ調べる必要があったり。
0681デフォルトの名無しさん
2008/01/17(木) 12:54:09そう。
同時にOnPaintBackgroundで一瞬背景色で塗られるなどのUI 的に不快な動作も直す。
Panel を Dock させてあれこれやるより、OnSizeChanged 等で自前でレイアウトする方が速いし。
ただ GDI+ の遅さは非力なPCでは如何ともしがたいところもあるので、低スペックPCでも
超軽快に動くようにしたいなら C++ でネイティブでやるより無いと思う。
0682666
2008/01/17(木) 13:03:35いろいろご指導ありがとうございます!
>>680
>同時にOnPaintBackgroundで一瞬背景色で塗られるなどのUI 的に不快な動作も直す。
あの動きも改善方法があったんですね、うれしいです。自分でも実装できる
かどうかわかりませんが勉強してみます!
>Panel を Dock させてあれこれやるより、OnSizeChanged 等で自前でレイアウトする方が速いし。
このPanelのDockやDocking機能のコントロ-ルは使っていました。
そうすることなく自分でコントロールの移動やリサイズをさせた方が早い
のですね。いまからそれやると大変かとも思いましたが、今後の参考に致します!
勉強になります、ご指導ありがとうございました!!
0683666
2008/01/17(木) 13:07:33すみませんリンク先まちがえました。訂正>>680→>>681
>ただ GDI+ の遅さは非力なPCでは如何ともしがたいところもあるので、低スペックPCでも
>超軽快に動くようにしたいなら C++ でネイティブでやるより無いと思う。
この件も頭に置いておきます。どうもでした!
0684デフォルトの名無しさん
2008/01/17(木) 23:54:33ファイルを作成して編集したりしてあるフォルダの中身が変化していましたが、
なぜかそのフォルダのタイムスタンプがその変更よりも前のままになっていました。
こうならずに、更新日時が反映されている場合もありました。これは何か更新される
ために必要な条件のようなものがあってそれが異なっているためなのでしょうか?
0685デフォルトの名無しさん
2008/01/18(金) 10:40:290686684
2008/01/18(金) 15:57:46そうだったのですか、ということは内部のサブフォルダ内の何かのファイルが変更された
としてもそれの時刻は繁栄されないのですね。わかりました。
すみませんがもう一つお願いします。
アプリケーションのアイコンを探すときにレジストリ内のDefaultIconキーの値のところに、
次のようにマイナスの番号が入っている場合、shell32.dllのファイルの中の番号としては
使えないのでしょうか?kernel32.dllの LoadLibraryExA で検索してアイコンを見つける
ときにも使えるのでしょうか?
HKEY_CLASSES_ROOT\VBSFile\DefaultIcon\"(default)" = "shell32.dll,-298"
HKEY_CLASSES_ROOT\txtfile\DefaultIcon\"(default)" = "shell32.dll,-16"
(これでサウンドの場合の C:\WINDOWS\system32\wmploc.dll,-734 の-734 を
そのまま使ったところ、音符マークのアイコンとは別のものが来たのでした)
0687デフォルトの名無しさん
2008/01/18(金) 16:11:30マイナスは別の意味を持たせてるのかも?
0688684
2008/01/18(金) 17:24:42あ、すみませんでした、一つ間違いがあることに気がつきました。とはいうものの、
プラスとしてやってみたもののそれでも取ることができませんでした。なんだろう、
映画のフイルムの絵のようなアイコンなのですが・・・。まずは、そのアイコンの
ビューワを探して見てみます、ありがとうございました。
0689デフォルトの名無しさん
2008/01/18(金) 17:34:14EEだとリソースは無理か
0690デフォルトの名無しさん
2008/01/18(金) 18:43:000以上の値は、0からの連番で何個目という指定(シェルのアイコン指定のダイアログの順番)。
負の値は、絶対値がリソースIDを表すという指定。
0691デフォルトの名無しさん
2008/01/18(金) 19:15:16あーそうだったのですか、わかりました。それでもう一度やってみます、
どうもありがとうございました!!
0692691
2008/01/18(金) 21:20:38アイコンの取得に成功しました、ありがとうございました。助かりました!!
0693デフォルトの名無しさん
2008/01/19(土) 22:18:090694デフォルトの名無しさん
2008/01/19(土) 22:19:290695デフォルトの名無しさん
2008/01/19(土) 23:10:17int/intの結果はintになると規格で決まってるから
0696デフォルトの名無しさん
2008/01/19(土) 23:11:29クライアントアプリケーションとして扱う場合に、ユーザに勝手に設定を弄られたくないから
LogManagerでApp.Configの設定を読むような方式にはしたくないのです。
ログ出力クラスを自作したほうが早いですかね?
0697デフォルトの名無しさん
2008/01/19(土) 23:49:420698696
2008/01/20(日) 03:49:16ログメッセージを出力するためのILogインタフェースを持った
インスタンスを取得するには、LogManagerクラスから取得する
しかないようなんですよね。
LogManagerクラスからはRepositoryやAppenderを取得できても、
設定はできないので、どうしたらいいのか分かりません。
RollingFileAppender appender = new RollingFileAppender();
appender.AppendToFile = true;
appender.File = @"C:\test.log";
appender.Layout = new PatternLayout("%d %5p %c{2} - %m%n");
RootLogger root = new RootLogger(Level.Debug);
root.AddAppender(appender);
root.Log(Level.Debug,"tset", new Exception());
以上のコードでログが出ないか期待しましたがダメでした...
0699デフォルトの名無しさん
2008/01/20(日) 04:18:03log4netのソースを直に書き換えて埋め込んじゃえばいいんじゃない?
0700デフォルトの名無しさん
2008/01/20(日) 08:13:510701デフォルトの名無しさん
2008/01/20(日) 20:53:540702デフォルトの名無しさん
2008/01/20(日) 20:59:580703698
2008/01/20(日) 23:56:26なるべくOSSのモジュールはソース変更したくないんですよ。
ライセンスに従って公開しなきゃいけなくなっちゃうし。
公開するだけならまだ変更部分だけで済みそうですが、
公開するための環境を維持しておかなきゃいけなかったり、面倒です。
0704デフォルトの名無しさん
2008/01/21(月) 00:16:31log4netはアパッチライセンスだから融通が利くよ。
0705デフォルトの名無しさん
2008/01/25(金) 13:26:490706デフォルトの名無しさん
2008/01/25(金) 23:21:36System.Threading.Tasks.TaskManagerPolicy
のコンストラクタで、minThreads, idealThreads, maxThreads を指定可能。
0707デフォルトの名無しさん
2008/01/29(火) 21:49:38下記のようなコードだと一瞬ちらつきます。
FlowLayoutPanelにBeginUpdate、EndUpdateのような描画を一時止めるようなメソッドはないでしょうか?
Panel.BeginUpdate;←のようなものありませんか?
Panel.Controls.Clear();←ここでクリアしてる為、一瞬まっさらになり、ちらつく
for (int i = 0; i < max; i++)
{
Panel.Controls.Add( コントロール );
}
Panel.EndUpdate;←のようなものありませんか?
0708デフォルトの名無しさん
2008/01/29(火) 22:28:31SuspendLayout/ResumeLayout
0709デフォルトの名無しさん
2008/01/29(火) 23:21:31読み込み状況をモニターできるようにしたいです。
Image.FromFile等ではそのようなコールバックを指定できないようです。
どうやればいいのでしょうか?
0710デフォルトの名無しさん
2008/01/29(火) 23:26:44Image.FromSteamに非同期Streamを渡せばいいんじゃね
0711デフォルトの名無しさん
2008/01/30(水) 00:02:26Streamを自分で実装してReadの中でゴニョゴニョ、ってことでしょうか。
そういうやり方しかないんかなあ。
0712デフォルトの名無しさん
2008/01/30(水) 06:00:260713デフォルトの名無しさん
2008/01/30(水) 17:05:46と思ってKB309482見て試してみたけど、アニメーションGIFだとダメだった…
0714デフォルトの名無しさん
2008/01/30(水) 19:33:03DataSet.DataTable.Rows[i]["カラム名"]
のような記述が必要になりますよね。
(DataGridのDataSourceを使えばそんな意識はしないですが)
この、文字列でカラム名を指定するのがイマイチだと思うのです。
文字列だからインテリセンスも効かないですし、打ち間違えの可能性も。
カラム名を入れたenumを作れば解決できるような気もしますが、
DataSetの中に既に定義があるのですから、それを流用できないでしょうか?
要するに、カラムをカラム名で指定する際に、intと文字列以外の方法が
あるでしょうか?
0715デフォルトの名無しさん
2008/01/30(水) 20:12:22DataSet継承してカラム名をプロパティにしたクラスを作る。
VisualStudioでテーブルから自動生成すればできるだろ。
0716デフォルトの名無しさん
2008/01/31(木) 09:26:24一旦 MemoryStream に読み込んでそっから Image 作ればいいよ
0717714
2008/01/31(木) 10:22:15どうも有り難うございます。
しばらく考えているんですけれど、どうもイメージが浮かばないです。
DataSetを継承しても、汎用的なものは出来ないように思うのですが。
VSで自動生成と言う意味は、VSのデザイナで自動生成されたDataSetの
ソースを何らかの方法で解析して、カラム名を格納するという意味なのでしょうか‥‥。
0718デフォルトの名無しさん
2008/01/31(木) 13:51:08厳密に型指定されたDataSetでググる。
DataSetをそのまま使うならカラムやその型の情報はクエリーの応答があるまでわからない。
その場合はカラム名の文字列か序数で指定するしかないな。
0720デフォルトの名無しさん
2008/01/31(木) 22:15:17DBと接続して使うんじゃなく、dataset単独で簡易なデータベースとして使うなら、
プロジェクトに新規でxsd(スキーマ)を追加してテーブルやリレーション、キーを定義して、
いっぺんコンパイルすると、ツールボックスにdatasetを継承したdataset1(xsdファイルで定義した
名前による)コンポーネントが現れる。フォームのデザイナでこいつをD&Dしてやると型付けの
あるdatasetとして使えるよ。
0721デフォルトの名無しさん
2008/02/01(金) 02:47:42rept(int x,int y)の記述にはfor,while,do〜whileのどれが適任でしょう?
回数を指定するyは0の場合もあります。
0722デフォルトの名無しさん
2008/02/01(金) 15:04:160723デフォルトの名無しさん
2008/02/02(土) 09:11:50監視することはできますか?
0724デフォルトの名無しさん
2008/02/02(土) 12:20:470726デフォルトの名無しさん
2008/02/02(土) 13:19:430727デフォルトの名無しさん
2008/02/02(土) 22:26:37画像のデコードがそこまで重いことはまずないと思うが、
ファイルアクセスが妙に遅延することはあると思うよ。
ノートンとかウイルスバスターがファイルアクセスに
むやみやたらに割り込むから信じられないくらい応答が返ってこないことがあったり。
0728デフォルトの名無しさん
2008/02/02(土) 22:51:340729デフォルトの名無しさん
2008/02/02(土) 22:59:01既にハードディスクあるものを表示するだけで、わざわざキャンセルとか普通やらないな
0730デフォルトの名無しさん
2008/02/05(火) 20:08:01タイプライブラリのないInterfaceを扱う仕組みはあるですか?
0731デフォルトの名無しさん
2008/02/05(火) 20:26:030732デフォルトの名無しさん
2008/02/05(火) 21:38:05IDispatchならType.InvokeMemberでレイトバインディングもできる
0733デフォルトの名無しさん
2008/02/05(火) 23:35:420734デフォルトの名無しさん
2008/02/05(火) 23:37:430735デフォルトの名無しさん
2008/02/13(水) 00:08:55http://pc11.2ch.net/test/read.cgi/tech/1200911737/182-183
について教えてください。何卒よろしくお願いします。
0736デフォルトの名無しさん
2008/02/13(水) 00:36:45了解した。
0737デフォルトの名無しさん
2008/02/13(水) 11:45:38しているのですが、厳密署名したら少し動かなくなりました。
Clinet.exeとServer.exeとRemote.dllの3つのプロジェクトからなるソリューションです。
それぞれのアセンブリに同一のsnkファイルで署名したところ、
Client.exeが、Server.exeからのコールバックのみを受け取れなくなりました。
クライアントからサーバへのメッセージングは今までどおりに出来ています。
こういうモノなのでしょうか?どなたかご存知の方がいらしたら、宜しくお願いします。
0738737
2008/02/13(水) 13:33:40null, new BinaryServerFormatterSinkProvider(properties, null));
クライアントとサービスの両方を、上記の書き方で初期化したら出来ました。
0739デフォルトの名無しさん
2008/02/13(水) 21:14:32どこで設定すればいいのでしょうか?
サーバーの負荷がでかいときにCommitのタイムアウト時間だけ短くてタイムアウトしてしまいます。
0740デフォルトの名無しさん
2008/02/14(木) 09:36:26SqlCommand cmd = new SqlCommand(mySqlCommand, conn);
cmd.CommandTimeout = 0; // NO TIMEOUT
cmd.ExecuteNonQuery();
commit here
0741デフォルトの名無しさん
2008/02/14(木) 09:58:26それで変わるのはExecuteNonQuery()のタイムアウト時間だけで
Commit()のタイムアウト時間は変わらないから困ってるんだよ。
0742デフォルトの名無しさん
2008/02/14(木) 10:23:36しかし、"BEGIN TRANSACTION"と"COMMIT"をExecuteNonQueryで実行したら?
0743デフォルトの名無しさん
2008/02/14(木) 22:05:21確かにSqlTransactionのCommitもExecuteNonQueryでCOMMIT叩いてるだけにしか見えないのでそれでもいいかなとか思ってました…。
やってみたらそれで問題なく動いてしまったし。
SqlTransactionの存在意義がなくなってしまうけど仕方がないか。
0744デフォルトの名無しさん
2008/02/26(火) 18:18:25タイムラインみたいなウィンドウ作りたいけど
やっぱり自作しなきゃだめかな
なんか楽そうな方法ありませんか?
0745デフォルトの名無しさん
2008/02/27(水) 00:20:430746デフォルトの名無しさん
2008/02/28(木) 13:04:290747747
2008/02/29(金) 01:44:05ListBoxにプレイリストの内容を表示しようと
this.listBox1.SuspendLayout();
for(int i = 0; i < wmp.currentPlaylist.count; i++) {
this.listBox1.Items.Add(wmp.currentPlaylist.get_Item(i));
}
として、ListBoxにプレイリストの内容を表示しました。
更に再生中のMediaを選択状態にしたく、続けて
for(int i = 0; i < this.listBox1.Items.Count; i++) {
if(this.listBox1.Items[i].Equals(wmp.Ctlcontrols.currentItem)) {
this.listBox1.SelectedIndex = i;
}
}
this.listBox1.ResumeLayout();
としました。しかし、再生中のMediaが選択されません。
インターフェース同士の比較が上手くいかないからなのかなと思っています。
上手くいく方法がありましたら教えて下さい。もう3時間位悩んでいます。
よろしくお願いします。
0748747
2008/02/29(金) 04:47:580749デフォルトの名無しさん
2008/02/29(金) 16:00:560750747
2008/02/29(金) 16:37:55も
wmp.Ctlcontrols.currentItem
もWMPLib.IWMPMediaかと思ったのですが、違うのでしょうか?
for(int i = 0; i < this.listBox1.Items.Count; i++) {
if(((WMPLib.IWMPMedia)(this.listBox1.Items[i])).Equals(wmp.Ctlcontrols.currentItem)) {
this.listBox1.SelectedIndex = i;
}
}
this.listBox1.ResumeLayout();
とキャストしても比較出来てないみたいだし、どうしましょ…orz
0751デフォルトの名無しさん
2008/02/29(金) 21:39:35メディアプレイヤーいぢったことないけども、普通に考えて実体はCOMの先だろう
何らかのインスタンスを識別するIDとかがあるだろうからそれで比較汁
0752デフォルトの名無しさん
2008/02/29(金) 21:49:27何らかのインスタンスを識別するID
o...rz
0753747
2008/02/29(金) 22:35:46get_isIdenticalの戻り値と引数を見て、
もしかして…と思って試したら当たりですた。
this.listBox1.SuspendLayout();
for(int i = 0; i < wmp.currentPlaylist.count; i++) {
WMPLib.IWMPMedia media = wmp.currentPlaylist.get_Item(i);
int j = this.listBox1.Items.Add(media);
if(wmp.Ctlcontrols.currentItem.get_isIdentical(media)) {
this.listBox1.SelectedIndex = j;
}
}
this.listBox1.ResumeLayout();
0754デフォルトの名無しさん
2008/03/05(水) 19:03:45スクロールした時とか、再描画がとてつもなく重いんです。
プロパティとかで回避方法ってありますか?
また、セル表示で別のコントロールでお勧めのやつってありますか?
0755デフォルトの名無しさん
2008/03/05(水) 19:22:28DataGridView
0756756
2008/03/06(木) 18:09:14http://forums.fanatic.net.nz/index.php?showtopic=11226&st=0&p=81800&
のCのコードを参考にしてC#で同じ事をしようとコードを書きました。
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace msnTest {
public partial class Form1 :Form {
private const int WM_COPYDATA = 0x004A;
[DllImport("user32.dll")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
private static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, ref COPYDATASTRUCT lParam);
[StructLayout(LayoutKind.Sequential)]
private struct COPYDATASTRUCT {
public IntPtr dwData;
public int cbData;
public IntPtr lpData;
}
}
続く
0757756
2008/03/06(木) 18:13:37COPYDATASTRUCT sendData = new COPYDATASTRUCT();
sendData.dwData = (IntPtr)0x547;
sendData.lpData = songDataPtr;
sendData.cbData = Marshal.SizeOf(songData);
IntPtr msnHandle = FindWindow("MsnMsgrUIManager", null);
MessageBox.Show(SendMessage(msnHandle, WM_COPYDATA, IntPtr.Zero, ref sendData).ToString());
Marshal.FreeHGlobal(songDataPtr);
}
}
}
0758756
2008/03/06(木) 18:16:530759デフォルトの名無しさん
2008/03/06(木) 22:39:530760デフォルトの名無しさん
2008/03/07(金) 12:40:240761756
2008/03/08(土) 20:39:33解決しました。リンク先のCのソースは送信データが間違っていて、
Cのままコンパイルしても動かないものでした。
正解が
http://yuuan.net/blog/index.php?itemid=257
にありました。
0762デフォルトの名無しさん
2008/03/10(月) 03:11:16Graphics g = pictureBox1.CreateGraphics();
mypen = new Pen(Color.White);
fillbrush = new SolidBrush(Color.Black);
g.FillEllipse(fillbrush, 10, 140, 400, 400);
g.DrawEllipse(mypen, 10, 140, 400, 400);
pictureBox1.BackColor = Color.Red;
とやると、せっかくかいた円が消えてしまうのですが、
どうすれば消えないでかけるのでしょうか?
背景の色の設定と、円を書く順番を変えても意味ありませんでした。
0763デフォルトの名無しさん
2008/03/10(月) 03:23:50なにこれ
0764デフォルトの名無しさん
2008/03/10(月) 03:27:44pictureBox1に円を書きたかったのでこうしたんですけれど、
必要ないんですか?
0765デフォルトの名無しさん
2008/03/10(月) 03:35:20CreateGraphics()じゃなくてOnPaintに渡されるe.GraphicsのGraphicsで描画する
0766デフォルトの名無しさん
2008/03/10(月) 03:44:49???
すいません、もう少し分かりやすく説明してもらえませんか?
0767デフォルトの名無しさん
2008/03/10(月) 03:53:170768デフォルトの名無しさん
2008/03/10(月) 04:18:290769デフォルトの名無しさん
2008/03/10(月) 05:14:01君にはまだ早い
C#の基礎を理解してから来なさい
0770デフォルトの名無しさん
2008/03/10(月) 11:55:04>>769
「現在のウィンドウのメッセージの存続期間だけ有効です。」
を具体的に説明してくれ。
0771デフォルトの名無しさん
2008/03/10(月) 12:59:210772デフォルトの名無しさん
2008/03/10(月) 13:13:410773デフォルトの名無しさん
2008/03/10(月) 14:18:21君にはまだ早い
C#の基礎を理解してから来なさい
0774デフォルトの名無しさん
2008/03/10(月) 14:48:310775デフォルトの名無しさん
2008/03/10(月) 17:23:260776無知な人間
2008/03/10(月) 17:34:46DDLのChangedで動的に選択したインデックスが上手く取得できません
どうしたらよろしいでしょうか?
0777デフォルトの名無しさん
2008/03/10(月) 18:11:180778デフォルトの名無しさん
2008/03/10(月) 18:45:100779デフォルトの名無しさん
2008/03/11(火) 14:30:220780デフォルトの名無しさん
2008/03/13(木) 10:59:40C++では
IDirectDraw::WaitForVerticalBlank
IDirectDraw::GetVerticalBlankStatus
IDirentDraw::GetScanLine
などを使うようなのですが、
これらの機能をC#で使用する方法はあるでしょうか?
また、C#で垂直同期をとる手法として一般的なものがあれば
教えていただけないでしょうか
0781デフォルトの名無しさん
2008/03/13(木) 12:57:500782デフォルトの名無しさん
2008/03/13(木) 21:40:54垂直同期待ちって。
0783デフォルトの名無しさん
2008/03/13(木) 21:42:500784デフォルトの名無しさん
2008/03/13(木) 21:54:57むしろ液晶の方がそういう面では不自由なデバイスのはずだと思ってたけど
0785デフォルトの名無しさん
2008/03/13(木) 22:43:070786デフォルトの名無しさん
2008/03/13(木) 23:26:20いやまあできないなら無理すんなよw
0787デフォルトの名無しさん
2008/03/13(木) 23:51:20液晶全盛 だから リフレッシュレートいじり放題という解釈ではないということだと思う。
0789デフォルトの名無しさん
2008/03/14(金) 01:33:35揚げ足を取ろうとするなら別だけど
0790デフォルトの名無しさん
2008/03/14(金) 04:35:47解決しました
有り難うございました
0791デフォルトの名無しさん
2008/03/14(金) 08:04:13君も頭悪いなw
>>788は図らずも自分を擁護できる発言をする奴がいたからそれを利用してるだけ。
そんなことねえだろ、と言いたいのなら、>>783の意図が>>787の通りだとして(それでも全然かまわないが)
「なぜ」「このご時勢にVSync待ちはない」という結論に繋がるのか説明してみな。
0792デフォルトの名無しさん
2008/03/14(金) 08:10:25この世の中にはいるんだな。
なぜ分かれるかというと性格がいいか悪いかなんだな。
0793デフォルトの名無しさん
2008/03/14(金) 08:37:000794デフォルトの名無しさん
2008/03/14(金) 11:40:100795デフォルトの名無しさん
2008/03/14(金) 12:21:130796デフォルトの名無しさん
2008/03/14(金) 18:29:31Vistaのことをひどく言うのはやめてあげてください。
0797デフォルトの名無しさん
2008/03/14(金) 18:34:44悪いのは、サンプルプログラムのフォント関連部分と>>791の頭
0798デフォルトの名無しさん
2008/03/14(金) 18:38:22というのはよくわかったよw
0799デフォルトの名無しさん
2008/03/14(金) 18:39:430800デフォルトの名無しさん
2008/03/14(金) 18:50:14っていうか、どうしてこの手の馬鹿ってのは自分の言葉を自分に適用しようとしないのかねw
一言で言えば恥を知らないからだろうけどさ。
そんなことはどうでもいいから>>791に書いた疑問を説明してみてよ早く。
0801783
2008/03/14(金) 20:59:240802デフォルトの名無しさん
2008/03/14(金) 21:22:540803デフォルトの名無しさん
2008/03/15(土) 11:31:51漏れのやり方が悪いのかビジーループになるんで非ゲームでは
あんまり使いたくないな・・・
0804デフォルトの名無しさん
2008/03/15(土) 18:57:260805デフォルトの名無しさん
2008/03/15(土) 19:20:24どうせ糞スレだし
0806デフォルトの名無しさん
2008/03/15(土) 19:26:100807デフォルトの名無しさん
2008/03/19(水) 17:02:16こういうバカは何言っても食いついてくるからほっとけばよろし
0808デフォルトの名無しさん
2008/03/19(水) 17:35:42リッチテキストボックスに画像貼り付けたり、背景を自前で描画したりやりたいんですが
WndProcのWM_PAINTを捕らえても文字の上に描画されてしまいます
文字の下に描画できませんか?
0809デフォルトの名無しさん
2008/03/19(水) 18:48:370810デフォルトの名無しさん
2008/03/19(水) 19:44:090811デフォルトの名無しさん
2008/03/19(水) 21:14:140812デフォルトの名無しさん
2008/03/19(水) 21:38:24それって>>783のことだと思うけどね。
こういうバカ?
それって君とか>>783みたいなバカのこと?w
0813デフォルトの名無しさん
2008/03/19(水) 21:39:32そんなの簡単だろ・・・と思ってやってみると意外とできないねこれ
0814デフォルトの名無しさん
2008/03/21(金) 11:21:46Converter<T>やPredicate<T>などを使う意味はあるのでしょうか?
0815デフォルトの名無しさん
2008/03/21(金) 11:22:300816デフォルトの名無しさん
2008/03/21(金) 13:13:34前からいちいち定義するのがいやでDelegate<Result,Param1,Param2>とか普通のメソッドの型の順番にあわせて使ってたんだが、
Funcniそのまま使えないんだよなぁ・・・どうしよう
0817デフォルトの名無しさん
2008/03/23(日) 20:49:21ラムでDBNull.Valueに設定したとき、セルにNullValueの値を表示す
るにはどうしたらいいのですか?
MSDNライブラリには、DBNull.Valueを設定するだけではできないと書
いてあるけど...
セルの値がDBNull.Valueで、セルの表示はNullValueの値にする方法
を教えてください。
0818デフォルトの名無しさん
2008/03/23(日) 21:08:560819デフォルトの名無しさん
2008/03/23(日) 21:43:29ありがとうございます。よく読んだらその通りでした。
その列の型はstringで、DataSourceNullValueを設定してないため、MSDNライブラリの
「DataSourceNullValue が DBNull.Value で、セルの ValueType が参照型」に見事に
合致してました。
DataSourceNullValueをstring.Emptyにして試してみます。
0820デフォルトの名無しさん
2008/03/24(月) 18:48:31はないですか?オーナーをコレクションとしてラッピングするくらいしか
思いつかなくて。
0821デフォルトの名無しさん
2008/03/24(月) 18:55:21何か問題があるのか?
0822デフォルトの名無しさん
2008/03/24(月) 19:09:340823デフォルトの名無しさん
2008/03/24(月) 19:55:39そういう用途だとObservableCollection使っておくといいんじゃないかね。
ttp://msdn2.microsoft.com/ja-jp/library/ms668604.aspx
0824デフォルトの名無しさん
2008/04/01(火) 14:57:38int data = new int[5][5];
に数値データが入っているとして、例えば全要素を表示させることを考えます。
その際あえて、ポインタを使ってアクセスすることを考えてます。
(ポインタなんて使わず、添字を使えばいいというのはわかっていますが、 あくまで、勉強のためということで。。。)
ポインタ(*p)を使う方法はわかるのですが(ソースの上半分)、ポインタのポインタ(**p)を使ったやり方が(ソース下半分)がわかりません。
ちなみに具体的にはソース中の<<<<data>>>の部分の書き方がわかりません。
(もしかしたら、ぜんぜん違うのかもしれませんが。。。) わかる方教えていただけないでしょうか?よろしくお願いします。m(_ _)m
//とりあえず うまくいった ポインタ を使う方法
fixed (int* p = &data[0][0]) {
for (int* px = p; px != p + 5; px++) {
for (int py = *px; py != *px + 5; py++)
Console.Write("<" + (int)&py + "," + py + ">");
Console.WriteLine();
}
}
//うまくいかない ポインタのポインタ を使う方法
fixed (int** p = <<<<data>>>) {
for (int** px = p; px != p + 5; px++) {
for (int* py = *px; py != *px + 5; py++)
Console.Write("<" + (int)py + "," + *py + ">");
Console.WriteLine();
}
}
0825デフォルトの名無しさん
2008/04/01(火) 16:01:03ポインタなんて使わず、添字を使え
こうですか?
C#でわざわざポインタなんて勉強する価値無し
0826デフォルトの名無しさん
2008/04/01(火) 16:15:55for (int i = 0; i < temp.Length; i++) {
temp[i] = (int*)(void*)Marshal.UnsafeAddrOfPinnedArrayElement(data[i], 0);
}
fixed (int** p = temp) { ...
こうじゃね
本気でこんなの書く奴がいたら頭おかしい
0827デフォルトの名無しさん
2008/04/01(火) 18:05:17上も全然ダメ。めちゃくちゃ。
コンパイル通りゃいいってもんじゃないよ・・・
0828デフォルトの名無しさん
2008/04/01(火) 20:47:060829デフォルトの名無しさん
2008/04/01(火) 23:24:50http://www.microsoft.com/japan/msdn/columns/csharp/csharp10182001.aspx
0830デフォルトの名無しさん
2008/04/01(火) 23:36:120831デフォルトの名無しさん
2008/04/01(火) 23:58:45http://www.microsoft.com/japan/msdn/columns/csharp/csharp11152001.aspx
0832824
2008/04/02(水) 18:38:08具体的なソースをご提示いただき、ありがとうございます。
>>827
上のソースも、ポインタの使い方に間違いがありますか。。。
一応、ほしい結果は得られたので、正しいかと思ったのですが。。。
>>828
もちろん、その通りですが、あくまで勉強ということで。。。。
>>829
この記事読みました。
実際に簡単なループをまわして何パターンかのソースで確認したところ、配列とポインタとでそんなに大きく処理時間がかわらないようです。
(逆にポインタが遅い場合もありました。。。)
ポインタのポインタは関数の文字列型の引数に使う程度で、やっぱりあまり出番がないんでしょうか。。。。
0833デフォルトの名無しさん
2008/04/02(水) 22:22:26|┃ | |
|┃ \_/
ガラッ. |┃ |
|┃ ノ// ./ ̄ ̄ ̄ \
|┃三 / ::\:::/:::: \
|┃ / <●>::::::<●> \.
|┃ | (__人__) |
|┃三 \ ` ⌒´ /
|┃三 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ \
0834デフォルトの名無しさん
2008/04/05(土) 11:43:480835デフォルトの名無しさん
2008/04/05(土) 12:00:130836デフォルトの名無しさん
2008/04/05(土) 12:09:150837デフォルトの名無しさん
2008/04/05(土) 12:13:29特にJavaのジェネリックの糞さには発狂しそうになる
0838デフォルトの名無しさん
2008/04/05(土) 12:15:36Sunが作ったのがJava。
Microsoftが作ったのがC#。
0839デフォルトの名無しさん
2008/04/05(土) 12:46:370840デフォルトの名無しさん
2008/04/05(土) 12:54:390841デフォルトの名無しさん
2008/04/15(火) 00:05:48「最終的には1000行を超えるコード〜」とか「毎年大人気の科目」とか意味の分からん宣伝ばっかで萎えた。
そんなん個人でもうやってるって話だし。チームプログラミングとかを前面に押し出してたなら魅力があっただろうに
0842デフォルトの名無しさん
2008/04/15(火) 00:07:500843デフォルトの名無しさん
2008/04/15(火) 00:21:35大学でチームプログラミングなんて教えれる先生がいないって。
0844デフォルトの名無しさん
2008/04/15(火) 02:23:01三回生向けだからあれなわけで
一回生でそこまでやったらそれは別にいいと思うけどね
0845デフォルトの名無しさん
2008/04/15(火) 12:48:39>>842
学部一回生でそんな高級なことしたら単位が全然でないじゃないか!
学部一回だとこんなもんだ。
・電源の入れ方、終了のしかた。
・エディタのつかいかた
・ファイル操作のしかた
・ほーむぺーじをつくろう
・一番最後に hello world(全角スペース入れてコンパイル通せないヤツ多発)
0846デフォルトの名無しさん
2008/04/15(火) 13:05:540847デフォルトの名無しさん
2008/04/15(火) 13:11:51卒論を二人で一つ書く大学もあるらしいからな
ありえる
0848デフォルトの名無しさん
2008/04/15(火) 19:44:540849デフォルトの名無しさん
2008/04/15(火) 20:33:050850デフォルトの名無しさん
2008/04/15(火) 20:43:21XP卒論ですか
新しいな
0851デフォルトの名無しさん
2008/04/15(火) 22:14:420852デフォルトの名無しさん
2008/04/16(水) 00:40:02二人で作業したからといって、労力が半分になるわけでもないし、
二人で作業したからといって、二倍の完成度になるわけでもない。
むしろ独りよがりな内容にならなくて良いんじゃないか。まさにXPだな。
0853デフォルトの名無しさん
2008/04/16(水) 12:19:14普通一人一本じゃないか?
0854デフォルトの名無しさん
2008/04/17(木) 22:42:450855デフォルトの名無しさん
2008/04/17(木) 22:47:26わかります
0856デフォルトの名無しさん
2008/04/17(木) 23:04:210857デフォルトの名無しさん
2008/04/18(金) 00:27:090858デフォルトの名無しさん
2008/04/18(金) 01:37:060859デフォルトの名無しさん
2008/04/18(金) 10:09:29シュークリーム分は大事ですよ?
0860デフォルトの名無しさん
2008/04/18(金) 18:40:170861デフォルトの名無しさん
2008/04/18(金) 19:07:110862デフォルトの名無しさん
2008/04/22(火) 17:02:020863デフォルトの名無しさん
2008/04/22(火) 17:06:17そりゃ気のせいだな、ぶっちゃけ別物できる事の範囲が違いすぎる、つかなんだこのスレ
昔の重複スレの残骸?
0864デフォルトの名無しさん
2008/04/23(水) 00:30:320865デフォルトの名無しさん
2008/04/23(水) 00:33:400866デフォルトの名無しさん
2008/04/25(金) 11:28:350867デフォルトの名無しさん
2008/04/25(金) 11:30:00おお、もうそんなこと言い出す奴がいる時代か。
需要としてはその逆ばっかりだったんだけど。
なので、あんまりそういうサイトないと思うよ。
0868デフォルトの名無しさん
2008/04/25(金) 11:37:01パイオニアになって勉強がてらまとめサイト作ろうかな・・・。
何から勉強していいか分からんレベルだけどww
0869デフォルトの名無しさん
2008/04/26(土) 01:08:58C++は歴史がある言語だから、C#から見るより歴史を追った方が分かりやすいかもしれん
そうしないと理不尽と理解できない仕様の塊に悶絶するハメになりそうな予感が・・・
大きなところで C言語 → クラスが実装された初期C++ → 例外・種類の増えたキャスト・テンプレート → それからのクラスライブリの発展(ジェネリック・メタ)と順に。
いきなりクラスとか勉強する人もいるけとね、玉ねぎはむいた方がいいと俺は思う。
0870デフォルトの名無しさん
2008/04/26(土) 01:19:16構造化プログラミング言語としても、
新しい言語の方が優秀なのよね。
今から勉強するなら、C# で始めて、
C# で構造化プログラミング、C# で OOP、C# で構造化例外、C# でジェネリクス
と勉強する方がいいと思う。
いまさら C++ に戻って欲しくないのよね。
せっかく C++ の負の側面を切り捨てた C# があるのに、
C# から C++ に舞い戻るなんてやめて欲しいなぁと。
0871デフォルトの名無しさん
2008/04/26(土) 01:21:41「C#しか知らない人から見たC++」ていう観点で語るのがおもしろいんじゃね
「なんとC++にはGCがありません」みたいな
0872デフォルトの名無しさん
2008/04/26(土) 01:22:210873デフォルトの名無しさん
2008/04/26(土) 01:26:51その時代の思想、その正しいとされる書き方考え方ってやつが見えてくる、
C#の思想だって、いつまでもそのままではいられない、現にどんどん変わっているし。
変わるという前提で何ができるかという事が大事だと俺は思うね。
C++は歴史を追って勉強すべきというのは、予想外の仕様であっても当時は正当と思われる思想の元に考えられているもので、一見無節操に見えても無節操に拡張されているわけではない。
だからその方が憶えやすいと思うんだよ。
0874デフォルトの名無しさん
2008/04/26(土) 01:30:02下手に歴史を追うとそういう負の遺産まで覚えちゃうのよね。
それが負の遺産だと認識できる人間にとってはいい勉強なんだけど、
世の中そういう人ばかりではないから・・・
0875デフォルトの名無しさん
2008/04/26(土) 01:31:31要するに、C++の言語使用は、一見ルールなき言語仕様に見えても、深いところにルールはあるんだよ。
0876デフォルトの名無しさん
2008/04/26(土) 01:33:130877デフォルトの名無しさん
2008/04/26(土) 01:33:42負の遺産を負の遺産と認識できないならプログラマは辞めるべきだな、と俺は思う。
アンチパターンは重要だよ。
0878デフォルトの名無しさん
2008/04/26(土) 01:35:10読み物としてオリジナリティは出るだろう
実用的か?となると疑問符付くが
0879デフォルトの名無しさん
2008/04/26(土) 01:38:34理想論言えばね。
そりゃ、才能ある人間ばかり集められるなら苦労はしないという話に。
話がずいぶんそれてきたな。
C → C++ の歴史を知った人間が C# 使って入門記事書くのがベストだと思ってる。
なので、C# でプログラミングを覚える → C++ に移行もありだとは思う。
が、できれば C++ 自体が滅んで欲しいなぁとも今となっては思う。
0880デフォルトの名無しさん
2008/04/26(土) 02:29:030881デフォルトの名無しさん
2008/04/26(土) 04:28:20俺なんかもし15年遅く生まれて、初めて触るのがいきなりC#とかだったら
ちゃんと順応できただろうかと考えちゃうよ。
構造体も知らない内からクラスの概念を学ぶってのはどういう感覚なのかな
0882デフォルトの名無しさん
2008/04/26(土) 04:33:260883デフォルトの名無しさん
2008/04/26(土) 04:34:20実は自分も誤解していたクチだったりする訳だが。
0884デフォルトの名無しさん
2008/04/26(土) 04:35:44そのレベルだと、きっと使えるような気持になっているだけかと思われます。
0885デフォルトの名無しさん
2008/04/26(土) 04:36:47間違い
C#のクラスは拡張構造体ではないよ C++ からの人は結構誤解している人が多い。
0886デフォルトの名無しさん
2008/04/26(土) 04:43:59君は勘違いをしてるよ。
C#経験者がC/C++に入門する際に参考にする情報の話をしてるんだよ。
その後もそのレベルに留まってるという君の想像に君が指摘を加えてもこっちはどうしようもないんだけど。
0887デフォルトの名無しさん
2008/04/26(土) 04:45:300888デフォルトの名無しさん
2008/04/26(土) 07:33:10STLまでは知ってるけど、メタは知らん。なんか変態的になってるらしいが。
C#でよいとこは、やはり抽象化度合いがC++よりあがってるところ。C++でそれをやろうとしてトリッキーになるよりもいい。
F#はさらにその抽象化度合いを上げられるのでたぶんマスターしたらそっちに行く。プリミティブなところでトリッキーなことやるよりも自分はそっちの方が好きだ。
0889デフォルトの名無しさん
2008/04/26(土) 08:30:110890デフォルトの名無しさん
2008/04/26(土) 11:07:28>>866の需要は結構あるのかも
0891デフォルトの名無しさん
2008/04/26(土) 11:10:290892デフォルトの名無しさん
2008/04/26(土) 11:26:12とてつもない広いというより、とてつもなく深いという感じじゃないか?
0893デフォルトの名無しさん
2008/04/26(土) 13:58:56仮想関数
virtual void function() = 0; //なぜ "= 0"
静的メンバ
class hoge{
static int a; //クラス内では宣言しかできない
}
int hoge::a = 100; //定義はクラス外でないとできない
これって歴史的な理由があるのかな?
0894デフォルトの名無しさん
2008/04/26(土) 14:02:14× 仮想関数
○ 純粋仮想関数
0895デフォルトの名無しさん
2008/04/26(土) 15:27:25C++の設計段階では出来るだけ新しいキーワードを
付け加えたくなかったという経緯がある
(C++の設計と進化)
0896デフォルトの名無しさん
2008/04/26(土) 15:29:37ついでに14882:2003では
class hoge {
static const int a = 100;
};
を許してるから。静的クラス変数のconstのint型に限って
class内で値の定義ができる。
0897デフォルトの名無しさん
2008/04/26(土) 16:22:28後者は、Cのグローバル変数と同じ方法
(ヘッダには宣言だけ書いて、どこか1ヶ所で定義する)
を踏襲したと考えれば納得がいく。
0898デフォルトの名無しさん
2008/04/26(土) 16:43:49進化しなかったんだろう
0899デフォルトの名無しさん
2008/04/26(土) 16:46:260900デフォルトの名無しさん
2008/04/26(土) 18:42:46純粋仮想関数は、イメージとしては関数ポインタに NULL 代入してるような感じ。
まあ、分かりにくいから C# では abstract キーワードが導入されたわけだけど。
静的メンバは、C++ では宣言と定義が別だからなぁ。
クラス = ヘッダファイルに書く = 宣言だけ書く。
クラスの外 = .cpp ファイルに書く = 実際の定義(値の代入は定義の方でやる)。
0901デフォルトの名無しさん
2008/04/26(土) 18:44:01まあ、今のこのスレの流れは、「C# プログラマに C++ を教えるなら」的な空気だから。
全く無関係というわけでも。
C# 入門サイトの管理人の目にでも触れれば、そういう記事が追加されるかもしれないし。
0902デフォルトの名無しさん
2008/04/26(土) 20:01:310903デフォルトの名無しさん
2008/04/26(土) 20:06:590904デフォルトの名無しさん
2008/04/26(土) 20:12:550905デフォルトの名無しさん
2008/04/26(土) 22:35:08>>893なんかはC#プログラマ向けでもなんでもなくて思いっきりC++の質問だろ
0906デフォルトの名無しさん
2008/04/26(土) 22:45:420907デフォルトの名無しさん
2008/04/26(土) 22:49:080908デフォルトの名無しさん
2008/04/26(土) 22:56:20だったら黙れよ
0909デフォルトの名無しさん
2008/04/27(日) 00:13:39>「なんとC++にはGCがありません」
それちょっと読みたいなww
最初はC++(VS.NETアカデミック)だったけど、当時は.NETは全く眼中に無かった。
VS2005 EE が無償提供されて「タダなら使ってやんよ!」と思ってC#始めた人って結構多いんじゃない?
0910デフォルトの名無しさん
2008/04/27(日) 00:37:560911デフォルトの名無しさん
2008/04/27(日) 00:50:14そのときC#の言語としての評価が高かったので興味を持った
でVS2002をアカデミックで
0912デフォルトの名無しさん
2008/04/27(日) 01:32:49半年使って辞めたが2005になってまた始めたよ。
今ではC#オンリーです
0913デフォルトの名無しさん
2008/04/27(日) 02:09:10やっぱC++とかJavaが多い
本当にC#なんて需要あるの?
0914デフォルトの名無しさん
2008/04/27(日) 02:10:450915デフォルトの名無しさん
2008/04/27(日) 02:20:37Webだけ?C++と同じぐらいのものを作れると思ってたんだけど
0916デフォルトの名無しさん
2008/04/27(日) 02:25:500917デフォルトの名無しさん
2008/04/27(日) 02:38:16社内に配布する場合でもframework入ってないPCあるから意外と嫌がられるけどね
0918デフォルトの名無しさん
2008/04/27(日) 11:27:26日本は Java が強いみたい。
俺は imode のせいだと思ってるけど。
下手すると、Java が世界的に絶滅した後、日本だけ Java が残るとか変なことになりそうで怖い。
あと、Java が強い国では、C# よりも VB が強くなる傾向があるみたい。
似てるからか、Java が増えると相対的に C# が減る。
0919デフォルトの名無しさん
2008/04/27(日) 11:42:10C#はクライアントの案件も結構ある
そんな単純な図式じゃないよ
0920デフォルトの名無しさん
2008/04/27(日) 12:01:470921デフォルトの名無しさん
2008/04/27(日) 12:09:31まあ、学生とか、初学者とかにとっては用途の違いなんてあんまり関係ないし。
そこまで顕著でもないけど、Java が強いと C# が弱くて VB が強くなるのは
↓にちょっと出てると思う。
http://www.google.com/trends?q=c%23%2C+VB%2C+java&ctab=0&geo=all&date=all&sort=0
0922デフォルトの名無しさん
2008/04/27(日) 13:17:32思い過ごしにしか思えないけどなあw
そもそもデータの信憑性がねえ。。
javaってコーヒーとか島の名前も入ってないかそれ?w
0923デフォルトの名無しさん
2008/04/27(日) 13:25:58日本のVB率は異常w
0924デフォルトの名無しさん
2008/04/27(日) 13:40:010925デフォルトの名無しさん
2008/04/27(日) 14:04:08VB→VB.net→C#で「C#使えます」が多すぎる。
リソース調達が出来ないよ・・・
0926デフォルトの名無しさん
2008/04/27(日) 15:47:05VBじゃなく、VisualBasicに変えたら激減してしまった。
あんまりその統計は参考にならなそうだな。
0927デフォルトの名無しさん
2008/04/27(日) 15:54:110928デフォルトの名無しさん
2008/04/27(日) 15:54:48VB.netができれば、C#は使えますでも問題ない気はするけどね
ちょびっと場数踏めばすぐでしょうし。それと、逆の流れも。
0929デフォルトの名無しさん
2008/04/27(日) 16:25:05VB.NETが本当にできるのならね
0930デフォルトの名無しさん
2008/04/27(日) 16:36:010931デフォルトの名無しさん
2008/04/27(日) 16:50:40マイクロソフトから出ているVisualStudio2008を購入しようと思うのですが
結構使い勝手いいですか?
0932デフォルトの名無しさん
2008/04/27(日) 17:14:33勉強するだけなら無償版で十分じゃないの?
0933デフォルトの名無しさん
2008/04/27(日) 17:25:24卒業間近で今しかアカデミック買えないというのでもない限り、
それらを使った後で買うかどうか考えればいい。
0934デフォルトの名無しさん
2008/04/27(日) 17:43:55.NET Framework使うんだから一緒じゃないの?
0935デフォルトの名無しさん
2008/04/27(日) 18:11:47ネイティブコードのアプリ(MFC)作りたかったら買ってみたら?
0936デフォルトの名無しさん
2008/04/27(日) 18:16:15勉強ならExpressにしろ。
基礎無い内にProの機能使ったって変な癖つくだけ。
0937デフォルトの名無しさん
2008/04/27(日) 18:16:41VC++ ExpressにはMFCもATLもリソースエディタもないが、
ネイティブコードを吐くコンパイラはある。
VC++の話が進むようならスレ違いだな。
0938デフォルトの名無しさん
2008/04/27(日) 18:16:450939デフォルトの名無しさん
2008/04/27(日) 18:20:15C++/CLIがキモいのは否定できない
0940デフォルトの名無しさん
2008/04/27(日) 18:32:42有料版になるとC#でもネイティブコードのアプリが作れるのでしょうか?
0941デフォルトの名無しさん
2008/04/27(日) 18:33:130942デフォルトの名無しさん
2008/04/27(日) 18:33:190943デフォルトの名無しさん
2008/04/27(日) 18:48:37C#は中間言語アプリしかないみたいだからexpress版で十分かも
0944デフォルトの名無しさん
2008/04/27(日) 18:56:05どうせ無償なんだからEE入れといて、アップグレードは壁にぶち当たってから考えればいいんじゃない?
0945デフォルトの名無しさん
2008/04/27(日) 19:47:120946デフォルトの名無しさん
2008/04/27(日) 19:47:53連投ごめんね
0947デフォルトの名無しさん
2008/04/27(日) 19:52:380948デフォルトの名無しさん
2008/04/27(日) 19:55:030949デフォルトの名無しさん
2008/04/27(日) 20:00:08C++とVBは全部C#に置き換わってくれるとありがたい
0950デフォルトの名無しさん
2008/04/27(日) 21:00:140951デフォルトの名無しさん
2008/04/27(日) 21:07:01DateTimePickerで
MinDateに2000/1/1を
MaxDateに2000/12/31を設定しています。
このプログラムをVistaで実行すると
▼ボタンでカレンダーを表示した瞬間に
現在の日付が強制的に2000/12/31(MaxDate)に
置き換えられてしまいます。
Vistaではカレンダー自体が2000/XPと異なっていますが
この動作は仕様なのでしょうか?
0952デフォルトの名無しさん
2008/04/27(日) 21:17:15俺の親はVBといえばVentureBusinessだとか言ってた
0953デフォルトの名無しさん
2008/04/27(日) 21:21:46再現せんね。Vista/.NET 2.0SP1
Value未設定の場合に起動時にMaxValueに設定されるだけだ。
0954デフォルトの名無しさん
2008/04/27(日) 21:22:480955951
2008/04/27(日) 21:33:02ありがとうございます。
再度検証してみましたところ、下記の条件で再現しています。
条件:MinDate〜MaxDateの範囲に、今の日付が含まれないこと。
上記の範囲が今日の日付より昔の場合はMaxDateに
未来の場合はMinDateに、カレンダーを▼で表示する度に
強制的に設定されてしまいます。
0956デフォルトの名無しさん
2008/04/27(日) 23:24:46あとSP当たってる? 影響するかどうかはわからないけど
こんなのも見かけた
ttp://groups.google.co.jp/group/borland.public.delphi.nativeapi.win32/browse_thread/thread/981ce1712e1c46ab/e6e89b23f3e8d002#e6e89b23f3e8d002
0957951
2008/04/28(月) 06:14:40新規アプリで、DateTimePickerを配置(&MaxDate、MinDate設定)
しただけでも同じ現象が起こりました。
SPは
Microsoft Visual Studio 2005 Standard Edition 日本語 Service Pack 1 (KB926602)
Windows2000で開発・ビルドしています。
ちなみに、テスト環境のVistaにはVisualStdioはインストールしていません。
.NetFrameworkのバージョンは3.0でも3.5でも同じ現象が出ます。
リンク先はdelphiですが、同様の現象みたいですね…
0958デフォルトの名無しさん
2008/04/28(月) 09:17:2620kのexeだけを配布しても問題ないよね?
0959デフォルトの名無しさん
2008/04/29(火) 13:32:180960デフォルトの名無しさん
2008/04/29(火) 22:23:59DbCommand command = conn.CreateCommand();
command.CommandText = query;
DbDataReader reader = command.ExecuteReader();
while (reader.Read()) {
int n = reader[0]; // ココ
}
↑みたいな感じで、AccessのmdbファイルにOleDbで接続して、読み込んでいるのだけど、
「ココ」のところの「reader[0]」が、全部文字列を返します。
odbc経由で、下のようなSQLを流して、数値型で作った項目もです。
CREATE TABLE hoge (
N INTEGER
)
oracle + VB.NET2003で、同じような感じで読みこんだときには、とうぜん数値の項目は数値で、文字列は文字列で
帰ってきました。
mdb(Jet)だと、これで正しい動作なんでしょうか?
それとも自分がどこか間違ってますか?
0961デフォルトの名無しさん
2008/04/29(火) 22:44:12DB関係のトラブルて大抵環境だし
0962デフォルトの名無しさん
2008/04/30(水) 00:18:13DB板はどっちかというとアドミン系の人が多いし、
そういったプログラミング系のは、こっちのスレで聞いた方がいいかも。
データベースプログラミング全般スレ
http://pc11.2ch.net/test/read.cgi/tech/1097295557/
一見、過疎ってるように見えるが、自分が質問したときは直ぐに教えて貰えたし。
0963デフォルトの名無しさん
2008/04/30(水) 00:51:06普通は全部文字列=StringじゃなくObject型だっと思うが?
全てInt32型なら
int n = reader.GetInt32(0);
でおkと思うよ
もしくは
int n = (int)reader[0];
とか
0964デフォルトの名無しさん
2008/04/30(水) 23:39:22>>960 のコードじゃ問題はなかった。(説明用に書いたコードで実際にバグの出てるコードとは違う)
reader[0] まではしっかりDBの型が保存されてて、(int)reader[0]とかやっても、問題ありませんでした。
readerの内容をDataTableに移し変えて、ロジック部分ではそれを利用してたのだけど、移し変える方法が
まずくて、全部文字列に変化してました。
実際はこういう感じのコードでした。
DataTable table = ExecReader("SELECT ・・・"); // SQLを投げると、結果をDataTableに入れて返す関数
DataRow row = table.Rows[0];
(int)row["hoge"]; // ここでキャスト失敗の例外発生
0965デフォルトの名無しさん
2008/04/30(水) 23:44:07なぜ素直にFillしないんだろう
0966デフォルトの名無しさん
2008/04/30(水) 23:48:090967デフォルトの名無しさん
2008/05/01(木) 16:35:59// 何箇所も変更場所があるのは好ましくない
class MyComponent1
{
string myProperty = "初期文字列";
[DefaultValue("初期文字列")]
public string MyProperty { get { return myProperty; } set { myProperty = value; } }
public MyComponent1() { }
}
// リファクタリングで MyProperty を書き換えると GetProperty("MyProperty") に変更が入らない
// 結局複数個所を書き換える方が見通しがいい
class MyComponent2
{
string myProperty;
[DefaultValue("初期文字列")] // ここを書き換えたら myProperty の初期値にも反映したい
public string MyProperty { get { return myProperty; } set { myProperty = value; } }
public MyComponent2()
{
var defaultValue = typeof(MyComponent2).GetProperty("MyProperty").GetCustomAttributes(typeof(DefaultValueAttribute), false)[0];
myProperty = defaultValue.ToString();
}
}
0968デフォルトの名無しさん
2008/05/01(木) 16:36:430969デフォルトの名無しさん
2008/05/01(木) 16:49:220970デフォルトの名無しさん
2008/05/03(土) 13:18:17iTextSharp使ってテンプレート読込んだけれど、その後の文字描画がテンプレートの下に隠れてしまうが、
レイヤの順序を操作する方法とかあるのでしょうか?
テンプレート読込み後に文字描画しても、その逆でも同じように隠れますが。
0971デフォルトの名無しさん
2008/05/03(土) 13:29:260972デフォルトの名無しさん
2008/05/05(月) 06:22:480973デフォルトの名無しさん
2008/05/05(月) 20:42:47C#, C♯, C#相談室 Part46
http://pc11.2ch.net/test/read.cgi/tech/1208791919/
0974デフォルトの名無しさん
2008/05/05(月) 20:44:260975デフォルトの名無しさん
2008/05/05(月) 20:49:380976デフォルトの名無しさん
2008/05/06(火) 00:49:36C++のconstとかconstとかconstがよくわからない。
前はDelphiやってたからか余計に混乱する。
Effective C++とかModern C++ Designeとか読んでもモヤモヤする。
同じ職場の別プロジェクトのプログラマーはクラス全部(という表現がよいのかわからんが?)
constにしようと時間の無駄に気づかずやっきになっている。
C#風に言えばどうなんだ?
0977デフォルトの名無しさん
2008/05/06(火) 00:51:17おかしい感覚らしい。
0978デフォルトの名無しさん
2008/05/06(火) 01:35:540979デフォルトの名無しさん
2008/05/06(火) 01:40:51const 使ってる既存のライブラリを利用する際に
問題が発生することがあるんだよ。
const 使わないやつは死刑だ。
0980デフォルトの名無しさん
2008/05/06(火) 01:42:26全部ってのはメンバ関数全部のことか、メンバ変数のことかどっちだ?
0981デフォルトの名無しさん
2008/05/06(火) 02:36:25・変数自身へのconst: 変数を変化しない/させない。定数。
・(ポインタの)ポイント先へのconst: そのポインタからは読み込みしかしない。
・メンバ関数に付く:そのメンバ関数からは(thisに対して)読み込みしかしない。
で 、ここでmutableの登場。実装上は書くんだけど、意味的には読み込みだけ、みたいな
(典型的にはキャッシュみたいな)メンバ変数に付けるとconstメンバ関数からも書ける。
0982デフォルトの名無しさん
2008/05/06(火) 09:54:561. 直定数(literal: 1 とか 0.5 みたいな数値)に名前が付いてるだけ。
コンパイル結果がまさに定数。
2. コンパイラが不変な値と認識してるだけのもの。
コンパイル結果は通常の変数と変わらないんだけど、
プログラマが値を変更できないもの。
の2つある。
C# の const は 1 の意味でしか使えない。
readonly が 2 の意味に近いけど、readonly はプロパティとかを書きかえれちゃうんで不完全。
C++ の const は 2 の意味でも使える。
というか、大昔には 2 の意味でしか使えなかった(1 はマクロを使って定義)。
0983デフォルトの名無しさん
2008/05/06(火) 10:04:04素朴な疑問。
君のいう1と2の区別っていうのは
(a) Cではなくアセンブラレベルの話をしている場合
(b) ROMを持った環境の話をしている場合
でしか意味がない区別のように感じるけどどうなの。
0984デフォルトの名無しさん
2008/05/06(火) 10:13:321 は配列の静的なサイズ指定に使えるが
2 は使えない。
0985デフォルトの名無しさん
2008/05/06(火) 10:22:51なるほど確かに。
0986デフォルトの名無しさん
2008/05/06(火) 11:21:13あと、まあ、Cみたいにパフォーマンスを気にする言語では、
コンパイル結果が定数になってるかどうかは結構重要。
load 命令が1個増えるだけで実行だいぶ遅くなるから。
0987デフォルトの名無しさん
2008/05/06(火) 11:27:20- メモリが不変
- (メソッド呼び出しの結果が変わらないという意味で)
外部から見て不変に見える
という区別も。
後者は、例えば最初に1回だけ計算して、その値をキャッシュしとくような場合、
外から見た値としては毎度同じ値しか返さない(=不変)なんだけど、
最初のキャッシュ計算のときにメモリ操作は発生しちゃう。
C++ の mutable キーワードはそういうときのためにある。
0988デフォルトの名無しさん
2008/05/06(火) 23:02:520989デフォルトの名無しさん
2008/05/06(火) 23:31:38というか、学者肌の人間が導入したけど
実務上ほとんど使わないから一般プログラマーが見向きもしなかった
って感じじゃない?
言語マニアと一般人の温度差ってのはよくある話。
0990デフォルトの名無しさん
2008/05/07(水) 07:54:410991デフォルトの名無しさん
2008/05/07(水) 10:25:21正確には >>982 の1の意味以外の const に意味がないことが判明したんだよ、メタメタしたプログラムを書きまくるなら、すぐに気づける
一切言語のキャスト等を一切使わず、言語の制約にも抵触せずに const 変数を書き換える大技がある、少し頭をひねってみると面白いよ。
constの意味は、自分でコードするときに、仕損じがないようにするためのお呪い以上の意味は無かったんだよ。
新しい言語では削除してしまうのが吉、ややこしくなるだけだから。
0992デフォルトの名無しさん
2008/05/07(水) 13:27:22文字列に関する部分で、char配列やstd:stringがそう。
多くの言語では文字列は特別な型として扱うことが多い。
C#やJavaは不変クラスで対応している。
それで必要がなくなった。
不変クラス文字列は文字を編集する操作には向かないが、
広く参照を分散させることやマルチスレッドに非常になじむという特徴を持っている。
0993デフォルトの名無しさん
2008/05/07(水) 19:19:11C#が出来たときに最先端と思って選んだけど
ネイティブコードを吐くC++の方が実用性がある
0994デフォルトの名無しさん
2008/05/07(水) 19:46:340995デフォルトの名無しさん
2008/05/07(水) 20:19:280996デフォルトの名無しさん
2008/05/07(水) 20:20:38D 2.0 は扱えないぜ・・・
0997デフォルトの名無しさん
2008/05/07(水) 20:34:410998デフォルトの名無しさん
2008/05/07(水) 20:41:460999デフォルトの名無しさん
2008/05/07(水) 20:45:49お次はココへ
C#, C♯, C#相談室 Part46
http://pc11.2ch.net/test/read.cgi/tech/1208791919/l50
1000デフォルトの名無しさん
2008/05/07(水) 20:46:33::::::::::::::::::::::::::::: ;.' .| | ';:::::::::::::::::::::
:::::::::::::::::::::::::::;.' | | ';:::::::::::::::::::
:::::::::::::::::::::: ;.' ┼ i 亅_|, -、 ';:::::::::::::::::
::::::::::::::::::::;.' 厂/ ィ ⌒ヽ. ';:::::::::::::::
::::::::::::::: ;.′ // .|rqミLノ_l | 〉 ';:::::::::::::
:::::::::::::;.' ー匕 人公┘ ヒ}リ./ 厂}';::::::::::::
:::::::: ;.′ └冖ー> 、 n 火// .'::::::::::: 輝かしい1000!
::::::;.' ゜' /.に二二二 イ> ';::::::::
: ;.′ , ‐― 、:::{ ';::::::
:' 。 / .:!.:.i:|::ト、 \.ヘ. ';::::
./ .:トLハ忙7| :l. Yヘ ';::
{j.:l:忙! くノ .:.| ∧ ⊥ ';
f^Y 礼_ ゥ イ .:.:.| ::∧ |
��二.二.rへ. 二.|厂〕 .:.|ーイ
+ o . . └ヘ \/ /卜トゝ | . .
: : \_/ | .| : | :
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。