C♯, C#相談室 Part35
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/03(金) 03:07:45前スレ
C♯, C#相談室 Part34
http://pc8.2ch.net/test/read.cgi/tech/1157549657/
過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
0243デフォルトの名無しさん
2006/11/11(土) 18:57:42いきなりジャンプすんの?
それとも自分の画面に
「ねこかわいいよねこ」と入れて
自分の画面のボタン押せばその検索結果を出す
ってだけなら今はやりのweb2.0、グーぐるのウェブサービスを使えばできそうだけどな。
同じくamazonの検索機能もウェブサービスで公開されてるような気がするんだが。
0244デフォルトの名無しさん
2006/11/11(土) 19:03:06* Googleの検索結果のURLをながめる。
* Googleの検索結果のソースをながめる。
0245デフォルトの名無しさん
2006/11/11(土) 19:03:43すいません、えと、グーグルは例に出しただけで、実際は株取引の画面で、色々入力して、
自動注文みたいなことをしようと考えています。
やりかたが全くわかりません・・。
0246デフォルトの名無しさん
2006/11/11(土) 19:05:130247デフォルトの名無しさん
2006/11/11(土) 19:09:140248デフォルトの名無しさん
2006/11/11(土) 19:20:02うーん パケットモニタとか、プロトコルアナライザなるものがサッパリ分かりません(´・ω・`)
ちょっと、調べてみます<(_ _)>ありがとうございました。
0249デフォルトの名無しさん
2006/11/11(土) 19:20:05htppsの操作なんて出来るの?
0250デフォルトの名無しさん
2006/11/11(土) 19:23:220251デフォルトの名無しさん
2006/11/11(土) 19:33:100252デフォルトの名無しさん
2006/11/11(土) 19:34:50★★★自動売買ソフトを作ろうぜ★★★ Part12
http://live19.2ch.net/test/read.cgi/stock/1159246240/
0253デフォルトの名無しさん
2006/11/11(土) 19:37:41>すいません、えと、グーグルは例に出しただけで、実際は株取引の画面で、色々入力して、
>自動注文みたいなことをしようと考えています。
これとグーぐるの画面出すのと何が共通してるっての?
どういう意味で例だしたのかさっぱりわからん
0254デフォルトの名無しさん
2006/11/11(土) 19:44:29俺もオートログインとか自動発注とかしてたからわかる。
ラジオボタンとかチェックするのなかなか分からなかったけどな。
0255デフォルトの名無しさん
2006/11/11(土) 19:45:57文字入力して特定の場所をクリックしてみたいな。
0256デフォルトの名無しさん
2006/11/11(土) 19:57:02IEでのweb操作はあまり需要が無いので書籍等は出ていないと思います。
webbrowserはVS2005から追加されました。
その前まではAxWebBrowserかなんかで英文ドキュメント見ながらやるしかありませんでした。
いまは日本語ヘルプがあるのでそこから地道にやってみてください。
参考になるかどうかわかりませんがおすすめ。
ttp://peace.poosan.net/investor/workshop/order/
0257デフォルトの名無しさん
2006/11/11(土) 19:59:100258デフォルトの名無しさん
2006/11/11(土) 20:10:45ちょっと文法が違うだけで
使うクラスライブラリはほぼ同じ(ただしVBにはMyがあるけど)
好みの問題じゃね。
0259デフォルトの名無しさん
2006/11/11(土) 20:22:44一応c#のexpressedhitionでアドレス帳でも作ってもらおうかと思ってるんですが、
その際のDBも簡易的なものでできたらなと思っています。
,mdfファイルを作るまでをできたのですが
こいつにアクセスしてデータを読み書きしてみたいのですが
どのようにすればいいでしょうか?
感じ的にはログイン認証みたいなことをしたいなぁと思っているのですが。
0260デフォルトの名無しさん
2006/11/11(土) 20:38:38本を買えの一言です。
0262デフォルトの名無しさん
2006/11/11(土) 20:48:42こういう一言書くぐらいなら単純にフル無視したらいいのにとたまに思う。
0263デフォルトの名無しさん
2006/11/11(土) 20:48:550264デフォルトの名無しさん
2006/11/11(土) 20:57:00ADO.NET、接続文字列、SqlConnection、DataSetあたりでぐぐれ。
0265デフォルトの名無しさん
2006/11/11(土) 20:59:05友達w?
正直に言えよw
0266デフォルトの名無しさん
2006/11/11(土) 22:02:48あ、そっち?
大丈夫ごめんごめん。
会社ではOraleDBだったり今はSQLServerだったり
DBサーバにつないで、dataadapter使ってデータのやり取りやってるんだが、
単純にそういう環境なしのローカル環境だけの簡単なもの、っていうと
実務では殆ど使わないので実はあまりなじみなくってね。
初心者用の本でもありゃわかるんだろうが、そういう本はないw
結局普通にDataTAbleAdapter使ってデータのやりとりやることにしたよ。
DataSetに入れてしまえばあとはすぐだし。
その辺は「おまじない」とか言って適当にごまかしとくわw
最初から色々教えてやると頭パンクするかもしれんから。
0267デフォルトの名無しさん
2006/11/11(土) 22:09:32ローカルにsqlserverたてれたらそら簡単だが。。
ExpressEditionでできることって限られてるじゃん?
SqlServerもクライアントの機能しかないし。
てなると、完全にローカルだけで動かす環境。
Accessも手元にないし、どうしたもんかなぁ、と思ってたんだが。
ローカルデータ用の空のデータベースっつーのが項目として追加できたんで、
それ使ってなんとかやってみたよ。
ローカルデータ用の空のデータベースもSqlConnectionクラス使って
普通にコネクション設定したら使えるのかな?
コネクションはローカル用空DB(.mdfファイル)も
普通に別のDBサーバのDBも書き方同じなんだろうか。
ローカルのDB使ってプログラムなんか普通作らないからなぁ。
0268デフォルトの名無しさん
2006/11/11(土) 22:16:13C#でCheckboxの値を変えられなくする(灰色表示にする)方法ってenable=falseにする以外はありませんか?
0269デフォルトの名無しさん
2006/11/11(土) 22:23:230270デフォルトの名無しさん
2006/11/11(土) 22:27:35ほんと、なんで?って感じ
なぜEnabled = falseが嫌いなの?
方法ってたら、SendMessageでメッセージ送るとか?
0271268
2006/11/11(土) 22:28:59postbackしたときにfalseにしたものはrequest.formに含まれなくなったようなのです。それはこれが原因ではないのでしょうか?
0272デフォルトの名無しさん
2006/11/11(土) 23:27:24ロックってなかったっけ?
灰色にしたくない、て言うのだと良くある質問かなと思ったけど(文字が見えにくくなるとか)
0273デフォルトの名無しさん
2006/11/11(土) 23:34:36最近こんなやつばっか。
0274268
2006/11/12(日) 00:31:56ふむぅ、なんかできないみたいなので他の手段をとってみます。ありがとうございました。
0275デフォルトの名無しさん
2006/11/12(日) 00:48:23どうやったら保存されるの?
0276デフォルトの名無しさん
2006/11/12(日) 01:10:53トランザクション実行してるの?
0277デフォルトの名無しさん
2006/11/12(日) 01:12:41DatabaseDataSet ds = new DatabaseDataSet();
DatabaseDataSet.ADRESSDataTable dt = new DatabaseDataSet.ADRESSDataTable();
//データ追加
DatabaseDataSet.ADRESSRow row = ds.ADRESS.NewADRESSRow();
row.NAME = this.txtName.Text;
row.ARESS1 = this.txtAdress1.Text;
row.ADRESS2 = this.txtAdress2.Text;
row.BIKO = this.txtBiko.Text;
row.TEL = this.txtTell.Text;
ds.ADRESS.AddADRESSRow(row);
uadpter.Update(ds.ADRESS);
としてみたんですが、データが反映されません。
なんか最後のところがへんちくりんなんでしょうかね?
0278デフォルトの名無しさん
2006/11/12(日) 01:35:590279デフォルトの名無しさん
2006/11/12(日) 01:36:570280デフォルトの名無しさん
2006/11/12(日) 04:53:03なんかbinのdebugの下にデータベースのコピーできてるやんけ!
一生懸命ちゃうとこみとったわい。
デバッグモードのときはこっちのDBに書き込まれるとかそゆこと?どうなってんだ。
0281211
2006/11/12(日) 09:45:17実は違うみたいれつよ(藁
後学のためにきみたちのもおいらが調べた結果をまとめたので教えてあげよう
「Windowsアプリケーションで方向キーなどの特殊キーを処理するには?」 by 149
1.Buttonコントロールで方向キーが処理できない理由
Buttonコントロールでの方向キーの入力が、通常のKeyDownなどのキー・イベントで処理できないということは、
「方向キーが通常の入力キー(以降、普通入力キー)とは異なる」ことを意味する。Buttonコントロールの方向キーは
「プリプロセス(=前処理)を必要とする特殊な入力キー」(以降、特殊入力キー)である。
これは、すでにプリプロセスで何らかの処理を実行済みなので、さらにその後でキー処理を行う必要がないからだ。
例えば、Buttonコントロールで[↓]キーを押すと、Windowsアプリケーションはプリプロセス工程で自動的にフォーカス移動の
処理を実行する。よって、その後でKeyDownイベントを処理する必要はなくなる。
しかし、実際のアプリケーションでは、そのような通常のアプリケーション動作をカスタマイズしたい場合がある。例えば、
通常のアプリケーション動作では[↓]キーでフォーカス移動すると、そのフォーカス移動先がGroupBoxコントロールなどにより
設定されたグループ内でループするようになっているが、それをカスタマイズして、グループを越えてフォーカス移動するように
したい場合などが挙げられる。
a) プリプロセス工程における処理をカスタマイズする
b) 特殊入力キーを普通入力キーに変更する
ここではa)について解説する。
2.プリプロセス工程における処理をカスタマイズする
プリプロセスをカスタマイズするには、フォームのProcessDialogKeyメソッドをオーバーライドして、そのメソッド内でキー処理を
行えばよい。もちろんフォームではなく、コントロールのProcessDialogKeyメソッドをオーバーライドしても同様の結果が得られる。
次のコードは、実際に、フォームのProcessDialogKeyメソッドをオーバーライドした例である。この例では、方向キーでグループを
越えたフォーカス移動を行うように、処理をカスタマイズしている。
続く
0282211
2006/11/12(日) 09:46:29switch (keyData) {
case Keys.Down:
case Keys.Right:
this.SelectNextControl(
this.ActiveControl, true, true, true, true);
break;
case Keys.Up:
case Keys.Left:
this.SelectNextControl(
this.ActiveControl, false, true, true, true);
break;
default:
return base.ProcessDialogKey(keyData);
break;
}
return true;
}
ProcessDialogKeyメソッドをオーバーライドしたサンプル・プログラム(C#)
なお、ProcessDialogKeyメソッドはコントロール→フォームの順で呼ばれる。ProcessDialogKeyメソッドでは、
独自にキーを処理した場合には、それを示すために戻り値でTrueを返すようにする。
また、コントロールのProcessDialogKeyメソッドは、コントロールのPreProcessMessageメソッドから暗黙的に
呼び出される。そのため、プリプロセス工程の最初のメソッドであるコントロールのPreProcessMessageメソッドを
オーバーライドしても、同様にプリプロセス工程でのキー処理をカスタマイズできる。しかし、コントロールの
ProcessDialogKeyメソッドやPreProcessMessageメソッドをオーバーライドする方法を採用する場合、当然、
コントロールの継承が必要になる。
-------------------------------------------------------------
以上だ。いかにもC#のことなら何でも知ってる見たいなツラして回答者ぶるなら
少しは勉強しろよな(禿藁
0283デフォルトの名無しさん
2006/11/12(日) 09:58:150284デフォルトの名無しさん
2006/11/12(日) 09:59:240285デフォルトの名無しさん
2006/11/12(日) 10:09:320286デフォルトの名無しさん
2006/11/12(日) 10:15:19もっと簡潔に
0287デフォルトの名無しさん
2006/11/12(日) 10:21:39「コントロール上でのkeydownイベントが発生しない」にすりかわってるんだろう。
あ、釣られたのか。
0288デフォルトの名無しさん
2006/11/12(日) 10:47:27実は違うみたいれつよ(藁
後学のためにきみたちのもおいらが調べた結果をまとめたので教えてあげよう
http://www.atmarkit.co.jp/fdotnet/dotnettips/241windlgkey/windlgkey.html
以上だ。いかにもC#のことなら何でも知ってる見たいなツラして回答者ぶるなら
少しは勉強しろよな(禿藁
-------------------------------------------------------------
簡潔にしてみました
0289デフォルトの名無しさん
2006/11/12(日) 11:17:26特殊Keyもしらないのでちゅか・・・?
0290デフォルトの名無しさん
2006/11/12(日) 11:20:00君みたいにエスパーじゃないからね
0291デフォルトの名無しさん
2006/11/12(日) 12:19:21>>211
0292デフォルトの名無しさん
2006/11/12(日) 13:51:160293デフォルトの名無しさん
2006/11/12(日) 13:55:520294デフォルトの名無しさん
2006/11/12(日) 14:09:57先を見ることができない>>292は脱落者
vista(=見晴らし、見通し)とヒントまで与えてくれてるのに気づかないとはね・・・
┐(´ー`)┌
0295デフォルトの名無しさん
2006/11/12(日) 14:21:34┐(´ー`)┌ ← このAAが禿しくムカツクんだが。
0296デフォルトの名無しさん
2006/11/12(日) 14:22:170297デフォルトの名無しさん
2006/11/12(日) 14:27:30がんばって磨きますw
0298デフォルトの名無しさん
2006/11/12(日) 14:46:090299デフォルトの名無しさん
2006/11/12(日) 15:26:07EXCELのマクロより遅いなんて話は聞いたことが無いよ。
0300デフォルトの名無しさん
2006/11/12(日) 15:28:300301デフォルトの名無しさん
2006/11/12(日) 15:59:00>>296がいい事言ってる
0302デフォルトの名無しさん
2006/11/12(日) 16:10:31'hogehoge.Index' を ref または out として渡すことはできません。
コンパイルエラーでこういうのが出てしまいます。
元のコードは、こんな感じです。
↓
class hogebase
{
public int Index = 0
}
class hogeInherit : hogebase
{
private void Close()
{
base.Index = 100;
}
}
void main()
{
hogebase hb = new HogeInherit();
Console.WriteLine('{0}',
}
0303デフォルトの名無しさん
2006/11/12(日) 16:11:160304デフォルトの名無しさん
2006/11/12(日) 16:13:560305デフォルトの名無しさん
2006/11/12(日) 16:15:18void main()
{
hogebase hb = new HogeInherit();
Console.WriteLine('{0}', hogeInherit.Index.ToString());
}
これの間違いです。
0306デフォルトの名無しさん
2006/11/12(日) 16:31:29おまいにはこっちのほうがお似合い
ふらっとC♯, C#(初心者用) Part10
http://pc8.2ch.net/test/read.cgi/tech/1162193452/
0307デフォルトの名無しさん
2006/11/12(日) 16:35:05向こうに行きます。
0308デフォルトの名無しさん
2006/11/12(日) 20:35:50デバッグモードだとEXCELにも負けるのか・・・
┐(´ー`)┌
0309デフォルトの名無しさん
2006/11/12(日) 20:38:360310デフォルトの名無しさん
2006/11/12(日) 20:45:03失せろっていってんだよ。
何度も同じことを言わせんなよ。
カスが。
0311デフォルトの名無しさん
2006/11/12(日) 20:49:230312デフォルトの名無しさん
2006/11/12(日) 21:01:21┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
0313デフォルトの名無しさん
2006/11/12(日) 21:13:400314デフォルトの名無しさん
2006/11/12(日) 21:16:030315デフォルトの名無しさん
2006/11/12(日) 21:30:160316デフォルトの名無しさん
2006/11/12(日) 21:34:300317デフォルトの名無しさん
2006/11/12(日) 22:12:490318デフォルトの名無しさん
2006/11/12(日) 22:20:38┐(´ー`)┌
0319デフォルトの名無しさん
2006/11/12(日) 22:26:01ほらw
うじゃうじゃと湧いてくるよw
0320デフォルトの名無しさん
2006/11/12(日) 22:35:430321デフォルトの名無しさん
2006/11/12(日) 22:37:17┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
0322デフォルトの名無しさん
2006/11/12(日) 22:41:440323ぼるじょあ ◆yBEncckFOU
2006/11/12(日) 23:26:500324デフォルトの名無しさん
2006/11/13(月) 00:17:08いいのでしょうか?
Cでいうmemcpyみたいなことをしたいのです。
0325デフォルトの名無しさん
2006/11/13(月) 00:31:24クラス名な
0326デフォルトの名無しさん
2006/11/13(月) 00:44:59ありがとうございました
0327デフォルトの名無しさん
2006/11/13(月) 13:25:55普通にif文を書いた方が見やすいようなきもするんですけど、どうなんでしょう。
0328デフォルトの名無しさん
2006/11/13(月) 13:40:16見やすく書いたほうが、読む方は読みやすい。自分が書いたコードでも時間が経つと
意外と悩んだりするもの。C言語でもできれば使わないほうがよいとされている。
C#でもそれは同じだろうと、俺は思っている。三項演算子の方が分かりやすいと判断
したところには使ってもいいんじゃないか?そういう意味ではgotoみたいなもの。
0329デフォルトの名無しさん
2006/11/13(月) 13:46:45事をしたいのですが、その方法で煮詰まっています。
public static bool IECallBack(IntPtr hwnd, IntPtr lParam)
{
StringBuilder sbClassName = new StringBuilder(256);
GetClassName(hwnd, sbClassName, sbClassName.Capacity);
if( sbClassName.ToString().StartsWith("IEFrame"))
{
Form1.al.Add(hwnd);
}
return true;
}
// EnumWindows でIECallBack へさせる。
EnumWindows(new EnumWindowCallBack(Form1.IECallBack), IntPtr.Zero);
こんな感じでWindowのハンドルは取得できるのですが、Window内のオブジェクトを取得する
方法が分からなくて困っています。
どなたかご教授していただけませんでしょうか?よろしくお願い致します。
0330デフォルトの名無しさん
2006/11/13(月) 13:50:52ようするに読みにくいのは3項演算子のせいじゃない。
0331327
2006/11/13(月) 15:53:16if文で何行も使うのはどうかなと思ってました。
if (〜) { 〜 } else { 〜 }
かっこの中が1行で済むときはこんな感じで書いていたのですが、
一般的に3項演算子のほうを使うのかなと思って質問しました。
あまり参考書などで使ってるのを見かけないので
一般的に使われていないのかなと思って質問しました。
少し使ってみようと思います。
0332デフォルトの名無しさん
2006/11/13(月) 17:22:36COMのMicrosoft Internet ControlsとMicrosoft HTML Object Libraryを参照
using SHDocVw;
using mshtml;
ShellWindows sw = new ShellWindows();
foreach (InternetExplorer ie in sw)
{
if (System.IO.Path.GetFileName(ie.FullName) == "IEXPLORE.EXE")
{
IHTMLDocument2 htmlDoc = (IHTMLDocument2)ie.Document;
Console.WriteLine(htmlDoc.url);
}
}
0333デフォルトの名無しさん
2006/11/13(月) 18:03:11正にこれです。COMオブジェクト関連の操作に関してはVBの資料は多いのですが
C#に関する資料があまりなくて苦労していました。
本当に有難う御座います。
追加で質問なのですが、IEのウィンドウでさらにアクティブになっているウィンドウを取得したいのですが、
Shellwindowからhwndを抜き出すことは簡単に出来るものなのでしょうか?
0335デフォルトの名無しさん
2006/11/13(月) 21:07:200336335
2006/11/13(月) 21:11:54↓みたいなページもあったのですが、ページが古くて、重要なウプデータがなかったりで・・・(´・ω・`)
ttp://thespoke.net/forums/950208/ShowPost.aspx
0337デフォルトの名無しさん
2006/11/13(月) 21:14:50こんなんじゃだめなん?
ttp://support.microsoft.com/kb/139098/ja
0338デフォルトの名無しさん
2006/11/13(月) 21:47:17おおお、ありがとうございます!!
0339デフォルトの名無しさん
2006/11/14(火) 14:44:050340デフォルトの名無しさん
2006/11/14(火) 18:21:51C#ではどうすりゃいいの?
他のアプリケーションのウィンドウに送られるWM_ACTIVATEメッセージを
キャッチしたいんだけど…。これをやりたい場合はグローバルフックする
必要があるからC#じゃ無理…だよね?
やはりTimerイベントを1秒間隔くらいで発生させて、その中で
GetForegroundWindowなどを呼び出してチェックする方法しかないのかな。
0341デフォルトの名無しさん
2006/11/14(火) 18:35:30ttp://msdn2.microsoft.com/ja-jp/library/843s5s5x(VS.80).aspx
0342340
2006/11/14(火) 22:19:36.NETアプリにコマンドライン引数などで通知するなんてこともできるかな。
スマートじゃないけど。
うーん。いい方法が思いつかない。素直に全部C言語で作ったほうが早いかな…。
■ このスレッドは過去ログ倉庫に格納されています