C♯相談室 Part14
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん♯
NGNG(#゚ー゚)つ < C#、.NET、WinFXの話題はこちらでどうぞ。
過去スレは>>2-5あたり。
関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0232デフォルトの名無しさん
NGNGKeyPressならHandledプロパティでビープ音を抑制できるらしい。
……でもKeyPressって使いにくいんだよな。
0233デフォルトの名無しさん
NGNG昔Javaのソースを見て、
Delphiならポトペタで終わる部分を一々手書きしてるので
嫌になったことがあるよ。
C#はJavaとDelphiのいいとこ取りさw
0234229
NGNGKeyPress内でe.Handledをtrueにして(するだけ)、実際のキーイベント処理はKeyDown内でのままだと
特に手間もなく、警告音を鳴らなくすることができました。
これだと全キーで警告音が鳴らなくなるので、KeyPress内で入力キー判別して…とやってたら
結局KeyDownじゃなくてKeyPressで全処理すればいいかなということに気づいた次第(´・ω・`)
なんにしても助かりました。ありがとうです。
0235デフォルトの名無しさん
NGNG「マインスイーパ」みたいに大量のボタンを生成する時に
いちいちコピペを繰り返すわけにもいかないし、
ボタンをクリックした時の動作も大量に書くのも無理ですし
0236デフォルトの名無しさん
NGNGデザイナで作らずにコードで書けばいいじゃんか
0237デフォルトの名無しさん
NGNGbitmap1.Save(<新ファイル名.jpg>, System.Drawing.Imaging.ImageFormat.Jpeg);
とすると、<新ファイル名.jpg>は<元ファイル名.jpg>と
はっきり目で分かるくらい違いが出てしまいます。
JPEGだと品質によって変わるからかと思って、BMPにしても(上のjpgとJpegはBmpに)
目では分からない程度ですがバイナリに違いが出てしまいます。
(途中でbitmap1に書き込みをしたいので単なるコピーではなく)
元のファイルと同じ品質で新しいファイルを作るにはどうすればいいでしょうか?
0238デフォルトの名無しさん
NGNGMS Paint で書き出したのとで各ピクセルを比較すると微妙に色が違ってる
JPEGのデコーダによって違いがあるからではないか?
0239デフォルトの名無しさん
NGNGttp://dobon.net/vb/dotnet/graphics/encoderparameters.html
を参考に。
0240デフォルトの名無しさん
NGNGありがとうです。
その方法で品質高めにすればいいかなと試してみたけど色合いが変わってしまいます。
それを調整するとしてもASP.NETなのでブラウザ、OSで違いが出そうなので
適当に妥協することにします。
0241デフォルトの名無しさん
NGNG追記
色合いが変わってしまうのは違うフォーマットでした。
JPEGで元画像と同じくらいのサイズになる品質85程度だと違いが分からない。
0242デフォルトの名無しさん
NGNGJBuilderとか使ったことないんか?
まぁいいけどね。Javaスレじゃないんだし。
0243デフォルトの名無しさん
NGNGodbcDataAdapter1.Fill(dataSet11.meibo);
のようにしてデータグリッドに表示させようと思うのですが、
どうやって文字コードを変換すればよいのでしょうか??
0244デフォルトの名無しさん
NGNGこの時点でもうダメポと思われ
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248名無しさん♯
NGNGC# Teamのweblogです。期待しましょ。
0249デフォルトの名無しさん
NGNG普通にstaticでクラスに定義しておけば良いんですかね?
皆さんはどうされてますか?
0250デフォルトの名無しさん
NGNGその方法でなにか問題でも?
0251デフォルトの名無しさん
NGNGださい
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG整数であればenumを使うこともある。
モジュール内でどの程度広い役割を持っているかにもよるだろうけど
0254デフォルトの名無しさん
NGNGそりゃー、コードはエレガントじゃないとさ
それでメシ食ってるならなおさら
0255デフォルトの名無しさん
NGNGつーか別にださくないような?
ネームスペース内に限定可能な分、defineよりエレガントじゃないか。
0256デフォルトの名無しさん
NGNGオプションでIgnoreCaseとRightToLeft が使えると尚いいです。
0257デフォルトの名無しさん
NGNGいかに早く動作するかが問題でしょ
0258デフォルトの名無しさん
NGNG機械語でな。
0259デフォルトの名無しさん
NGNG……お客さん、チャレンジャーですね。
0260デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG{
int bytes;
byte[] RecvBuff = new byte[256];
MemoryStream RecvMsg = new MemoryStream();
Socket pop3 = tmpS;
do
{
bytes = pop3.Receive(RecvBuff,RecvBuff.Length,SocketFlags.None);
RecvMsg.Write(RecvBuff,0,bytes);
}
while(pop3.Available != 0);
return Encoding.ASCII.GetString(RecvMsg.ToArray());
}
をつかって
0264デフォルトの名無しさん
NGNGfor(int count = 1; count <= mailCount; count++)
{
SendComd = "RETR " + count + "\r\n";
Console.WriteLine(SendComd);
SendBuff = Encoding.ASCII.GetBytes(SendComd);
pop3.Send(SendBuff,SendBuff.Length,SocketFlags.None);
RecvComd = SockRecv(pop3);
Console.WriteLine(RecvComd);
}
//QUITコマンドの送信
SendComd = "QUIT\r\n";
SendBuff = Encoding.ASCII.GetBytes(SendComd);
pop3.Send(SendBuff,SendBuff.Length,SocketFlags.None);
RecvComd = SockRecv(pop3);
Console.WriteLine(RecvComd);
pop3.Shutdown(SocketShutdown.Both);
pop3.Close();
の操作をするとRETRコマンドの途中で止まって
QUITコマンドまで逝けないのはなぜなんでしょう?
原因が全くわかりません・・・・
0265デフォルトの名無しさん
NGNGまずはブレークポイントなりで具体的にどこで止まってるのかを確認しないと。
0266デフォルトの名無しさん
NGNGメインになる部分で、値を設定して、別クラスにはプロパティでくれてやってる。
0267デフォルトの名無しさん
NGNG{
SendComd = "RETR " + count + "\r\n";
Console.WriteLine(SendComd);
SendBuff = Encoding.ASCII.GetBytes(SendComd);
pop3.Send(SendBuff,SendBuff.Length,SocketFlags.None);
RecvComd = SockRecv(pop3);
Console.WriteLine(RecvComd); <-ここにブレイクポイント
}
して実行したところ
RETR 1
+OK 406 octets
RETR 2
(メール2通分の内容)
が表示されてここでプログラムが
終わってまいQUITコマンドまで逝けなかった。
0268デフォルトの名無しさん
NGNGブレイクポイントを置かないで実行すると
RETR 1
+OK 406 octets
RETR 2
(メール1通分の内容)
となって挙動が変るのですがなんでだろう・・・
0269デフォルトの名無しさん
NGNG何が表示されたかじゃなくてコードのどこで止まってるのかが重要なんだぞと。
それともなにか、いきなり終了するのか?
0270デフォルトの名無しさん
NGNGされるんだけどブレイクポイントを置かないで実行すると
一回目のwhileループが終わった後のConsole.WriteLine(RecvComd);
の結果までしか表示されない・・・
というか挙動が違うような気がする・・・
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGD&D
0273デフォルトの名無しさん
NGNGC# = (VB + JAVA + Delphi + C++) / 4 + α
という認識でよろしいですか?
0274デフォルトの名無しさん
NGNG部品をフォームに「ポト」っと落とすと「ペタ」っと貼りつく開発環境。
0275デフォルトの名無しさん
NGNG混合比率が1:1:1:1じゃない気もするけどおおむねその通り。
0276デフォルトの名無しさん
NGNG0277273
NGNG確かにその通りで、最初は重み付き平均で表そうと思ったのですが
面倒臭くなったのでやめました。
>>276
MSの後押しは弱いのでしょうか?MSはLonghornを筆頭とする次期
Windowsの開発言語のStandardとすることを目標としているように
私は感じます。Win32APIに至ってはエミュレータ上で動作するように
なり、VirtualPC状態になると聞いたので、腹をくくってC#を始めたん
ですけどね…
0278デフォルトの名無しさん
NGNGデリゲートが理解できません。
ダメですか?
0279デフォルトの名無しさん
NGNG今までに他のプログラミング言語を使った経験は?
それが結構あってデリゲートが分からないならダメです。
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGそれがダメ。
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG必要になるまで放っておけばいいよ。
0286デフォルトの名無しさん
NGNG0287285
NGNGとりあえずは、自作クラスにイベントを用意したくなったら必要になるね。
まずは、フレームワークのまねで実装することから始めて、徐々に理解していけば
十分だと思うけど。
理解しなくても使うことはできるから。
0288デフォルトの名無しさん
NGNGそれはそれとして、自分も質問があるっす。
キーボードイベントの
キーコードとキーデータって何が違うんですかね?
どっちも、同じENUMのKeys値が返ってくるだけなんですけど。
まあ、別に困ることは無いので良いのですが。
0289デフォルトの名無しさん
NGNGシフトキーやコントロールキーなどの特殊なキーの判別に
ビット演算をつかって判別するのに利用するみたいですが、
別にそんなことしなくても、
普通にシフトキーとかはkeys値自体で分かるのですが、、、。
0290デフォルトの名無しさん
NGNGどうやら、同時押しの時に、
他の文字と一緒に押されたかの判別に使うということが分かりました。
0291デフォルトの名無しさん
NGNGアップ、ダウンイベントで処理するところを、
事前に判断して処理してフラグを立ててくれてるってことのようですね。
0292デフォルトの名無しさん
NGNG表示させる事は可能でしょうか?
出来ればこれをC#でやりたいと思っています。
資料を探してみたのですが、見つけることが出来ませんでした・・・
どなたかアドバイスをお願いいたします。
0293デフォルトの名無しさん
NGNG独自形式からテンポラリにbmpかjpgで保存して、それを開くってのじゃダメ?
0294292
NGNGそれをプログラム的にbmpやjpeg形式に変換することは
当然可能なのですが、できればそのままの形でJpeg等と
同等の扱いで鑑賞したいのです。
0295デフォルトの名無しさん
NGNGできるなら郵便番号変換に使いたい・・・
0296デフォルトの名無しさん
NGNGtextboxをつかえば全然普通に日本語入力は受け付けてくれるよ。
0297デフォルトの名無しさん
NGNGAPIを使う。
0298デフォルトの名無しさん
NGNG今から本買いにいってきますけど。
帰ってきたら書いてあったらいいなぁ。
よろしくお願いします。
0299デフォルトの名無しさん
NGNGTextBox1に七桁の数字を打ったら、
TextBox2に住所が入るっていう具合にしたいんです。
0300デフォルトの名無しさん
NGNGいまどきjpeg以外の独自形式で保存するデジカメなんてあるの?
とりあえず独自形式が何なのかハッキリさせないとアドバイスも
貰えないのではないかと。
0301デフォルトの名無しさん
NGNGWin32 API
Webサービス
データ落としてきてDBにしてそこから取得
0302デフォルトの名無しさん
NGNGインターネットに接続しているならWebサービスを利用するって
方法もあります。有料のようですが...
0303デフォルトの名無しさん
NGNGインターネットで郵政公社の検索を使うとか
http://ukamen.hp.infoseek.co.jp/Programming1/ZipCode/
XMLでやってくれれば弁理なんだg
0304デフォルトの名無しさん
NGNG自前で郵便番号→住所なデータを用意して
TextBox1からフォーカスが外れたら、TextBox2に書き込むってのが簡単そうだが。
郵便番号→住所のデータはそこいらに転がってるだろうから、
それからソースに取り込むなり、テキストにして起動時に読み込むなりすればいいし。
0305デフォルトの名無しさん
NGNGいわゆるRAWというやつなのですが、Jpegのような圧縮形式では
なくて、CCD情報をそのまま持っている形式です。
最近のカメラはかなり出力対応しているのですが、カメラ毎にフォー
マットが違います。
別な方法としては、Windows画像とFaxビューワーをSUSIEプラグイン
対応にするといったことをしたいのです。
0306デフォルトの名無しさん
NGNGすみません。お願いします。
0307デフォルトの名無しさん
NGNGオーナドロー
0308デフォルトの名無しさん
NGNGありがとうございます。
DataGridColumnStyle.Paintメソッドをオーバーライドして、
列ごとに背景色を変えました。
ご回答の内容と合ってます??
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGさらにレベル下げてすまん。
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNGLonghornでは可能ぽい
ttp://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.windows.forms/c/listview/e/drawitem.aspx
>>310
ユーザー独自描画みたいなもんだ。
デフォルトで描画されるコントロールとは違った外観をつくったりできる。
0313デフォルトの名無しさん
NGNG>デフォルトで描画されるコントロールとは違った外観をつくったりできる。
しかしながらその統一感のないインターフェイスに、PCビギナーは
戸惑ってソフトそのものを使えなくなったりする罠。
0314デフォルトの名無しさん
NGNGみたいなことは、まだAPI使わないといけないんでしょうか?
「PrintPageEventArgs」あたりを中心に代替仕様を探していますが、
見つかりません。
これだけいろいろ揃ってるのにこれがないとは思えないんですが...
0315デフォルトの名無しさん
NGNGhttp://www.xamlon.com/
Using Windows Forms Markup (WFML)
http://windowsforms.net/articles/wfml.aspx
MyXAML
http://www.myxaml.com/
もどき3つ
0316デフォルトの名無しさん
NGNGVSのツールボックスに追加しようとしたら、
「○○.dllにはツールボックスに含めるコンポーネントは何もありません」
って怒られちゃった。
やっぱり、デザイナで使おうとすると何か特別な作り方してないと駄目なのかな。
既存のコントロール継承しているから、そこらへんもオッケーかなと甘いこと考えてたんだけど。
0317デフォルトの名無しさん
NGNGオッケーのはずだが
0318デフォルトの名無しさん
NGNGキーワード検索してヘルプファイルを読もうとすると
毎回CDを挿入しろとかなんとかいうダイアログが出てきてしまいます。
これはセットアップし忘れた部分があるということでしょうか?
全てインストールした筈なんですけどね・・・
0319デフォルトの名無しさん
NGNGMSDNライブラリをセットアップしてないだけだろ
0320デフォルトの名無しさん
NGNGOfficeでもある有名な問題
0321デフォルトの名無しさん
NGNG結局、余計なことしないでデフォ外観で作ったほうが早いし、
使う側にも戸惑いがないんだよね。('A`)
もしくはぜーんぶ独自描画で統一するか。
0322デフォルトの名無しさん
NGNGスレッドで実行したいと思い、
m_Thread = new Thread(new ThreadStart(childForm.threadMethod()));
m_Thread.Start() ;
のように、親フォームに記述したのですが、
スレッド '<名前がありません>' (0xa00) はコード 0 (0x0) で終了しました。
のようにスレッドを開始できません。親フォームで子フォームに
書かれたメソッドをスレッドで実行させる事はできないのでしょうか?
もし可能であるなら方法をアドバイスして頂けるとうれしいです。
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG現在、ASP.NETからC#で書かれたコンソールアプリケーションを呼び出し、かつ二重起動を防止する、というアプリケーションを書いていますが、うまく動きません。呼び出すほうは
Process myProcess = new Process();
myProcess.StartInfo.FileName = "c:\exe\moner.exe";
myProcess.Start();
とやってうまく動いているのですが、これが動作しているかを判定することが出来ないのです。
(1)Process.GetProcessesByNameを使う
(2)Mutexを使う
の二通りを試しているのですが、(1)はどうやらAdminでないと動きません。かつ、Adminでも"moner"/"moner.exe"でプロセス名を検索できないようです。
(2)もやはりadmin権限が必要ですが、とりあえずは動いています。
不思議なのは、(2)で、上記のコードでASP.NETから起動したときだけ動かない、ということです。
起動コードを除いたASPXではちゃんとMutexを操作できますし、コンソールから起動したmoner.exeもやはりちゃんと動作します。
動かないのはASPXから上記のコードで呼び出したときだけなのです。
adminでなら動くということで、まず間違いなく権限/セキュリティの問題だとは思いますが、どこをいじればいいのかわかりません。
ユーザー偽装を最後の手段として、もしなにかご存知のことがありましたらアドバイスをいただければ幸いです。よろしくお願いいたします。
0325デフォルトの名無しさん
NGNGなにそつキタ━━━━━━(゚∀゚)━━━━━━ !!
0326324
NGNGっと、追伸です。
(2)が「動かない」ってのは、ASP.NETを動かしてる「ASPNET」ユーザがUserグループの権限しか持っていない場合です。
上にも書いたとおり、Adminグループ権限を与えればこちらの意図したとおりに動いています
0327324
NGNG追伸その2.
……ユーザー偽装も×でした(T_T)
0328デフォルトの名無しさん
NGNGミューテックス生成/操作時にどんな例外がでてるのか調べるのが先決だと思う。
0329324
NGNGJust-In-Timeデバッガが動かないのでわかりません(T_T)
ということで多少事態が整理できました。Mutexのせい「だけ」ではなさそうです。WebProg板にも書きましたがちょっと整理します。
(1)Process.Startで起動は出来てます。
(2)中身も動いてます。引数のチェックや起動メッセージ表示(どこにも表示されないけど(^^;))は動いてます。
(3)DB接続もしくはMutexの生成で異常終了します。
(4)どーして落ちてるか、Just-In-Timeデバッガが動かないのでわかりません(T_T)
というところまでは整理できました。Admin権限で動く以上、セキュリティの問題だということはわかっているのですが……(T_T)
0330デフォルトの名無しさん
NGNGでも、標準コントロールって、ダサいんだよね。
当然出来るだろってことができないし・・・・。あ、俺もだ。。
0331デフォルトの名無しさん
NGNGこの前それではまった。
■ このスレッドは過去ログ倉庫に格納されています