VB.NET質問スレ (Part8) ..
792:デフォルトの名無しさん
05/01/16 23:16:05
>>791
文字列を2つに分けて読み込んでおいて、String1 &= String2とか。
書き出しはさっき教えてもらってたStreamReaderのすぐ下にある、
StreamWriterを使えばいいじゃん。
URLリンク(dobon.net)
793:デフォルトの名無しさん
05/01/16 23:22:43
StreamWriter(String, Boolean, Encoding)で追加される方のファイルを追加モードで開ける
StreamReader(String, Encoding)で追加する方のファイルを開ける
StreamReaderのReadToEnd()メソッドで全部読み込んだのを
StreamWriterのWrite(String)メソッドで書き込む
両方ともClose()を呼んでストリームを閉じる
こうやって一見親切に教えてやって本人の成長を妨害してみるテスト。
794:777
05/01/16 23:29:48
>>792
ありごとうございました。感謝感謝
795:776
05/01/16 23:52:32
>>790
これ、すごそうですね。いずれVS.net買おうと思ってますけど
それまでの自主勉強用に入れてみたいと思います。
有難うございました。
796:デフォルトの名無しさん
05/01/17 00:56:31
テキストファイルがEOFかどうかを判定する方法を教えていただけないでしょうか?
797:デフォルトの名無しさん
05/01/17 00:59:18
まずその文章の意味を教えていただけないでしょうか?
StreamReaderで開けてるのならPeek()メソッドで返値が-1かどうかで判断する。
798:デフォルトの名無しさん
05/01/17 01:02:40
FileOpenで読んでるならこっち。
URLリンク(msdn.microsoft.com)
799:デフォルトの名無しさん
05/01/17 01:15:24
テキスト関連の質問が続いてるようだが、同一人物か?
貼ってるリンクとかしっかり熟読してから質問したほうがいいよ。
800:デフォルトの名無しさん
05/01/17 01:51:21
VB6もほとんどやった事無いのに面接で
「VB.NETならまかせて下さい。」
って大見得切ってしまった派遣プログラマーと予想。
会社で試行錯誤してる姿なんて周りに見せられよう筈も無い。
801:デフォルトの名無しさん
05/01/17 04:10:13
他のスレで無視されたのでここで質問します。
waveファイルを鳴らす方法(apiを利用して?)がなんとか分かったんですが、
その後再生中か停止中かの情報を取得するにはどうしたらいいのでしょうか?
802:デフォルトの名無しさん
05/01/17 04:25:40
URLリンク(homepage1.nifty.com)
803:655
05/01/17 13:35:52
>>663
できました!!何でこんな大事な事を、ヘルプや参考書は載せないんだろう・・・
.NET2002の時にはあったのかな??
804:デフォルトの名無しさん
05/01/17 13:50:31
いつまでもこんな非オブジェクト指向な仕様に頼ってんじゃねぇ、という暗黙のメッセージ。
805:デフォルトの名無しさん
05/01/17 13:56:43
VB.NETから、java起動させて、javaのプログラム
を実行することはできるでしょうか?
どうしてもそのやり方がわからなくて困ってます。。
806:デフォルトの名無しさん
05/01/17 14:10:21
>>805
IEコントロール使えば?
807:デフォルトの名無しさん
05/01/17 14:43:47
>>805
Shell("java.exe")
808:デフォルトの名無しさん
05/01/17 14:52:43
>>807
それだけでいけるんですか?
ファイルの実行はどうすれば?
809:デフォルトの名無しさん
05/01/17 14:57:15
>>808
>>それだけでいけるんですか?
いけるかどうか試してみろ
>>ファイルの実行はどうすれば?
同上
810:デフォルトの名無しさん
05/01/17 15:08:11
ファイルの実行できないですよ?
811:デフォルトの名無しさん
05/01/17 15:14:15
Shell("ここに実行したいファイル名")ですよね?
Shell("@")
↑がコマンドプロンプトに@を入力してるのと同じなんですか?
812:デフォルトの名無しさん
05/01/17 16:09:16
>>808
Shell("java.exe javaのファイル名")
Shell("start javaのファイル名")
か、Process.Start() でも使え。
813:デフォルトの名無しさん
05/01/17 16:12:06
ASP.netなんですけど、ADへのログインユーザーIDを取り出したいのですが、どうやれば良いのでしょう?
System.Environment.UserDomainName だと名前
System.Environment.UserName だと、ASPの名前?が出てきます。
他に何かありませんか?
814:805
05/01/17 16:26:28
Processコンポーネントを使って↓ようにやってみたのですが
うまくいきません・・・・・何が違うのでしょうか?
Shellでやりたいんですがうまくいかないですし・・
With Process1.StartInfo
.FileName = "java.exe"
.WindowStyle = ProcessWindowStyle.Normal
.Arguments = "ファイル名.class"
Process1.Start()
End With
815:デフォルトの名無しさん
05/01/17 17:18:32
開始時のディレクトリ?
816:デフォルトの名無しさん
05/01/17 17:18:49
Shell上手くいかないか? ”CMD /C "+... で上手く行くんじゃないか
Process.Startってはじめてきいた。そんなんができるんか?
なら、Shellよりその方がいいとおもう。
理由はしらんけど。
817:デフォルトの名無しさん
05/01/17 17:24:26
System.Diagnostics.Process.Start("ファイルパス")
だな。
jarが動くか確認してみたが、問題なく動いたぜよ。
818:デフォルトの名無しさん
05/01/17 17:31:42
マイクロソフトのサンプルに良く書いてある
Console.Write
だけど
Consoleとはいったいどこだろうか。
サンプルファイルを実行してもなにも表示されなくてこまっちゃう
819:デフォルトの名無しさん
05/01/17 17:34:12
コンソールとか標準出力とかいう概念を分からない人までいるのか……。
820:814
05/01/17 17:36:18
適当にノートパッドとかいろいろ開いてみたんですが
うまく起動するし、ファイルも開けるんですよ。
でもclassファイル実行しようとすると
コマンド画面が一瞬でてすぐ消えるって感じです。
Shellはよくわからないんですが、javaでtest.classを
実行したい時は具体的にどのように記述すればよいのですか?
一向に進まないので、恥じを承知で書きます。
821:デフォルトの名無しさん
05/01/17 17:45:28
せっかちだな
プロジェクトファイル作るときに指定してる
作った後に変更したければ
プロジェクトのプロパティ
出力の種類
「windowsアプリ」→「コンソールアプリ」
822:デフォルトの名無しさん
05/01/17 17:49:45
つーか、
java test
だろ?
コマンドラインで試してからShellで呼べよボケ。
環境変数とかカレントフォルダとかうぜえならバッチファイル作って叩け。
823:814
05/01/17 17:54:35
普通に実行したらできるんですけど・・・
やばいまじわかんないorz
824:デフォルトの名無しさん
05/01/17 17:57:39
>>823
>.FileName = "java.exe"
振るパスにしてもダメ?
825:デフォルトの名無しさん
05/01/17 17:58:09
>>821 どーもっ!
826:デフォルトの名無しさん
05/01/17 18:08:19
>>822
怒りたい理由はわかるが、落ち着け
>>823
出来ないってことは、エラーを吐き出してるんだが、なんていうエラーを吐き出してるか、まずそれを書いてみ。
827:デフォルトの名無しさん
05/01/17 18:11:41
最近のjavaは
java test.java
なんていいかげんな書きかたで動くようになったのか?
828:デフォルトの名無しさん
05/01/17 19:18:40
Shell と Processコンポーネントどうちがうんですか?
ハッキシ言ってこたえてほしい。
829:デフォルトの名無しさん
05/01/17 19:20:25
814のやり方でなんですが、java.exeは起動
できるようなんですが、実行がうまくできて
ないようです。テストとしてjavaのプログラムは
"hello"をループで永遠表示させるものにしました。
VBを実行して、一瞬でるコマンドプロンプトの画面に
E〜〜〜NoFoundERROR\Z:MY〜〜って表示され、その下に
helloと一回だけ表示されます。
一瞬でほとんど読み見とれなかったのですがかんな感じです。
全く実行されてないわけではないようですが・・・
830:デフォルトの名無しさん
05/01/17 19:21:49
>>829
javaのソースを抜粋して載せてください。
そっちに原因があるかも。
831:デフォルトの名無しさん
05/01/17 19:22:16
JAVAってドットネットのプロジェクトにいれて、動かせないの?
C#とVBとC++と1プロジェクトで混在しても動くんでしょ?やったこと
ないけど。
832:デフォルトの名無しさん
05/01/17 19:24:11
>829
結果をファイルに落とすのがふつのやり方でしょ。javaの場合。
833:デフォルトの名無しさん
05/01/17 19:27:21 ,
ハードディスクに保存してあるShift-JISテキストファイルをSystem.IOで文字列変数に読み込むと
勝手にUnicodeに変換されちゃってるのかい?オレたちの許可なしに。
834:デフォルトの名無しさん
05/01/17 19:35:07 ,
>>833
Shift_JIS とかそういうのは文字列そのものじゃなくて文字列を「バイト列」に符号化するときの取り決め。
VB的には文字列は昔からUnicode。生のデータに触りたければ byte の配列にでも入れておくべし。
835:デフォルトの名無しさん
05/01/17 19:39:22 ,
>>832
いいえ。
836:デフォルトの名無しさん
05/01/17 19:42:55 ,
>>790
こういうのってどういう人が使ってるの?
普通にVisual Studioじゃダメなの?
837:デフォルトの名無しさん
05/01/17 19:43:55 ,
>>830
いや。全く問題なかったです。
VBとおさないと普通に実行できます。
838:デフォルトの名無しさん
05/01/17 19:44:45 ,
>>828
839:デフォルトの名無しさん
05/01/17 19:47:38 ,
>>828
俺もその違い気になるな。
誰かあJAVA実行するプログラムかいてやれ!
と初心者の俺が言ってみた
840:デフォルトの名無しさん
05/01/17 20:04:52
>>837
それはいまだに上手く実行できていないあなたの判断でしょ。
色々意見もらっといて、もしそこに原因があったらどうするの?
841:デフォルトの名無しさん
05/01/17 20:09:53
>>837
単独で動かすときの現在ディレクトリと、VBから動かすときの
現在ディレクトリの違いは?
842:デフォルトの名無しさん
05/01/17 20:21:53
終了モードが違うのでは
843:デフォルトの名無しさん
05/01/17 20:22:22
>>389 試験的なプログラムなんで、こんな簡単なものです
public class Hello {
public static void main(String[] args) {
for(;;){
System.out.println("Hello");
}
}
}
>>841
同じですね
814のプログラムはまちがってますか?
844:デフォルトの名無しさん
05/01/17 20:38:29
With Process1.StartInfo
.FileName = "java.exe"
.WindowStyle = ProcessWindowStyle.Normal
.Arguments = "ファイル名.class"
Process1.Start() ←この行をEnd With の外に書く
End With
845:デフォルトの名無しさん
05/01/17 21:16:30
ファイル名を指定して実行で「java Hello」と入力してOKを押すとどうなる?
846:デフォルトの名無しさん
05/01/17 22:32:50
最近、VS.netを買ったんですけど
VB.netとC#って何が違うんですかね〜?
文法が違うとか見た目が違うとかそういう事じゃなくて
VBだと、こんな苦労する物がC#だとお手軽に作れちゃうよとかその逆とか・・・
どちらも詳しい方、いましたら教えてくださ〜い。
847:デフォルトの名無しさん
05/01/17 22:33:24
>>845
もう相手する必要ねーって。どうせ実行時ディレクトリが違うだけなんだから。
>>843で同じとか言ってるけど確認方法書いてないし。
どうせ見当違いのことしてんだよ。
848:デフォルトの名無しさん
05/01/17 22:34:24
>>846
その質問に至るまでにあなたが調べて分かったことは?
レポートよろしく。
849:デフォルトの名無しさん
05/01/17 22:44:17
>>847
あれから返事が無いところを見ると、まさに図星みたいだね。
850:801
05/01/17 23:07:13
>>802
何かもうマジで有難う。求めてたものです。
851:デフォルトの名無しさん
05/01/18 00:47:23
透過処理画像が重なったとき、ちゃんと下の画像が見える(>>30と同じ)
プログラム教えてください(;´Д`)調べても全然わからないしできないし
852:デフォルトの名無しさん
05/01/18 13:07:56
フォームにテキストボックスを貼り付けました。
そのテキストボックスをダブルクリックすると
Private Sub TextBox1_TextChanged(...
というメソッドができました。
他のイベント(メソッド)はどのように作成すればよいですか?
VB6ではイベントの一覧から選べたのですが・・・
すみません。よろしくお願いします。
853:デフォルトの名無しさん
05/01/18 13:29:18
>>852
いま開いてるコードエディタの右上に見当たらないか?
854:デフォルトの名無しさん
05/01/18 13:49:40
>>853
通常はVB6と同じように表示されるのですか?
こちらでは
(Declarations)
Finalize
InitializeComponent
New
TextBox1_TextChanged
しか表示されていません。
何か設定があるのでしょうか?
ちなみに.NET2002です。
855:デフォルトの名無しさん
05/01/18 13:52:05
すみません。わかりました。
左のコンボボックスでコントロールを選択しないといけないのですね
ありがとうございました。
856:デフォルトの名無しさん
05/01/18 17:27:52
テキストボックスで、現在選択されているテキスト上にマウスカーソルが来た時、マウスポインタを変更。
現在選択されているテキスト上からマウスカーソルが離れると、マウスポインタを元に戻す。
ということをやりたいのですが、どのようにすればできるでしょうか?
テキストのサイズを測ってやるやり方だと、スクロール前なら何とかなるのですが、
スクロールが起こると座標が変化してしまい、位置がずれてしまいます。
857:デフォルトの名無しさん
05/01/18 18:16:54
あげ万
858:デフォルトの名無しさん
05/01/18 18:34:38
こ
859:814
05/01/18 20:10:55
昨日ここに、java実行について質問したものです。
ちょっと用があって、今ここチェックしました。
いろいろ答えてくれた方々ありがとうございました。
どうも、エラーは、
Exception in thread "main" java.lang.NoClassDefFoundError:
こんなので、どうもクラスパス設定に問題があるようです。
860:デフォルトの名無しさん
05/01/18 20:14:17
>>859
じゃあインポートしているクラスが見えてないんじゃないの?
起動時に java -cp 〜 でクラスパスを指定すれば?
861:デフォルトの名無しさん
05/01/18 20:19:24
>>859
NoClassDefFoundError:
の後ろに何か付くだろ?
862:デフォルトの名無しさん
05/01/18 20:19:52
>>861
まったくだ。
863:デフォルトの名無しさん
05/01/18 20:20:28
>>861
バカのくせに、この情報は必要不要の判断を勝手にするから
なかなか正解に辿り着けないんだよな。
864:デフォルトの名無しさん
05/01/18 20:22:46
っていうか、昨日から釣りとしか思えないんだよな、回答する側も。
フォルダが違うか余計な拡張子付けてるかだけの話だろうに。
865:デフォルトの名無しさん
05/01/18 20:26:05
>>864
じゃあお前が早く解決してやれよ。
866:デフォルトの名無しさん
05/01/18 20:28:38
エラー出してるVBコード自体から、出てるエラーメッセージまで
余すところ無く全部吐き出してみそ。話はそれからだ。
867:デフォルトの名無しさん
05/01/18 22:01:59
もう誰かこいつと同じ事やってやれ
VBでボタンはっつけて、クリック↓これ
With Process1.StartInfo
.FileName = "java.exe"
.WindowStyle = ProcessWindowStyle.Normal
.Arguments = "Hello"
End With
Process1.Start()
javaは、↓これ
public class Hello {
public static void main(String[] args) {
for(;;){
System.out.println("Hello");
}
}
}
これまんまやって、ここのやつができたら,>>859は
諦めろということだ
868:867
05/01/18 22:03:33
ちなみに俺は、家にjava入ってないから無理だ
869:デフォルトの名無しさん
05/01/19 00:21:21
あれできね、なんでだ
870:デフォルトの名無しさん
05/01/19 01:19:38
ゲームとかリアルタイムっぽい事するために、
スレッドの基本的な使い方まではなんとか分かったのですが、
正確に16msごとにループ(1秒に60回にするため)する制御が出来ません・・・
いまんとこGetTickCount()を使ってヘタレながらループしてるけど
このタイマーの精度は良くないっぽいです。。。
871:デフォルトの名無しさん
05/01/19 02:37:10
すいません、VB.NETの初心者ですが、
vb>netの使い方など分かりやすいサイトもしくは本
ってありますか?なんかたくさんありすぎて
困ってます。。
872:デフォルトの名無しさん
05/01/19 07:01:56
>>871
ム板の説明読んで来い
873:デフォルトの名無しさん
05/01/19 13:14:49
VB.NETには標準でデータを入力できるグリッドはありますますか?
874:デフォルトの名無しさん
05/01/19 13:17:40
ありますますます
875:デフォルトの名無しさん
05/01/19 13:29:57
>>874
DataGridでしょうか?
これはDBと接続しなくても使えますか?
876:デフォルトの名無しさん
05/01/19 13:34:00
使える。
877:870
05/01/19 13:35:27
いろいろ調べたんですが、mSecオーダで時間を返してくれるやつが無いです・・・。
間隔を測ってメソッドを呼ぶもの?は見つかりましたがそれじゃないです・・・。
誰か知りませんか?
878:デフォルトの名無しさん
05/01/19 13:37:46
>>876
どうも!
ちなみに使い方がわかるサイトなどあれば・・・・
だめ?
879:デフォルトの名無しさん
05/01/19 13:45:53
DataGrid貼り付けました。
カラムヘッダーを設定したいのですがそれらしいメソッドがありません。
激しくむずい
880:デフォルトの名無しさん
05/01/19 14:35:12
>>877
マルチメディアタイマを使うとか。分解能は1ms。
URLリンク(homepage2.nifty.com)
//って間隔を計って〜ってのはこれのことか?
QueryPerformanceCounter/QueryPerformanceFrequncyを使うとか。
881:イチゴ
05/01/19 14:43:38
vb.net2003でスキャンディスク・デフラグの自動実行・終了させたいのですが
どうすればいいですか?
882:デフォルトの名無しさん
05/01/19 17:54:29
Protected Overrides Sub Finalize()
っていつ動くの?
ブレーク張っててもさっぱり来ないんだけど・・・
883:デフォルトの名無しさん
05/01/19 18:05:45
GCに片づけられる時。
具体的には(或いは魔法の呪文的には)、
WeakReferenceによる参照を除く参照が無くなってから、
そのオブジェクトのジェネレーション以上のオブジェクトを片づけるGCが走った時。
実例を挙げれば、
Dim a As new Hoge()
a = Nothing
GC.Collect()
で発生する。
884:デフォルトの名無しさん
05/01/19 18:37:53
>>883
うわー、すごーい
885:デフォルトの名無しさん
05/01/19 22:24:37
誰でも読めるMSDNも読まずに質問してる奴が多いな。流石VB
886:デフォルトの名無しさん
05/01/19 22:35:40
>>885
?
887:デフォルトの名無しさん
05/01/19 22:39:52
ガベージコレクタの仕様は.NET開発者ガイドに明記してある。
888:デフォルトの名無しさん
05/01/19 22:54:34
仕方ないよ。VB6上がりが多いんだから。これからドットNETやるとなって、
C#があるのにわざわざ好き好んでVB選ぶ奴なんかいるわけないだろ。
889:デフォルトの名無しさん
05/01/19 23:04:15
それにしたって、マイクロソフトがせっかく手間ヒマかけて用意してくれた
ドキュメントを読もうとしないのはなぜなんだろうね。
あーいうのはちゃんと読んだほうが時間と労力の節約になるのになー。
字が読めないわけでもなさそうだし・・・
890:デフォルトの名無しさん
05/01/19 23:06:46
>>880
ありがとうございました。
891:デフォルトの名無しさん
05/01/19 23:42:19
>>887-889
ダ メ な 奴 は 何 を や っ て も ダ メ
892:デフォルトの名無しさん
05/01/20 00:15:49
テキストボックス(複数行)の文字列内の改行を他の文字に変換したいのですが、
どうしたらいいでしょうか?
例
りんご
ごりら
らっぱ
↓
りんご→ごりら→らっぱ
893:デフォルトの名無しさん
05/01/20 00:31:44
>>892
悩みどころが全く分からない。
894:デフォルトの名無しさん
05/01/20 01:06:22
>>892
TextBoxのTextプロパティは改行を含めた文字列を持っているから、
適当に文字列操作関連のメソッドを使って好きな文字列に置換。
895:デフォルトの名無しさん
05/01/20 09:51:31
相談なんですが
VB.NETでOracleのデータベースへ接続する普通のC/Sアプリを
作ることになりました。
この際、Oracleへ接続する方法がいくつかあるようですが
お勧めはなんでしょうか?
OLE.NETやODP.NETなどがあるようですが・・・・
よろしくお願いします。
896:デフォルトの名無しさん
05/01/20 10:04:36
>>895
それならまずADO.NETのOracleClientを使いたくない理由を説明すべきだろ?
897:デフォルトの名無しさん
05/01/20 11:02:07
>>896
ADO.NETが標準的なやりかたですか?
ありがとう
OLE.NETがADO.NETだと思ってました。違うんですね。
898:892
05/01/20 14:06:20
ありがとうございました。
バッチリできました。
899:デフォルトの名無しさん
05/01/21 01:01:39
質問です。
Chr関数を使って文字コードを取得したいんですが、
128(&H80)以上になると文字コードが0と表示されてしまいます。
こういった場合はどうしたらいいですか?
900:デフォルトの名無しさん
05/01/21 01:06:55
>>899
アスキーコード表
URLリンク(www.shibu.jp)
901:デフォルトの名無しさん
05/01/21 01:21:35
たとえばパネルとかに、線とか画像とか描画した今、正にそれ自体を
Imageに格納できないのですか???
ファイルに保存はできるのに・・・。
902:デフォルトの名無しさん
05/01/21 01:22:13
>>900
やっぱり無理ッスよね・・・
諦めます
903:デフォルトの名無しさん
05/01/21 01:50:33
>>902
入力されたキーのコードを取得したいのか、コード表を生成したいのか
などなど、もう少し具体的に「何をしたいのか」を書いてくれないと、
できるのかできないのか、そもそも方法が合ってのかもアドバイスできません。
904:デフォルトの名無しさん
05/01/21 02:12:12
>>903
902です。
すいませんでした。説明不足で・・・。
具体的にはコード表を生成したいんです。
ですから0〜255(FF)の文字コードがあれば可能なんですけど、
chr関数には0〜127までしかなく、128以上は・・・。
もし、chr関数を使えないとしたら
chr関数を使わない別の方法でコード生成とかできる方法とかって
ありますか?
どうかよろしくお願いいたします。
905:デフォルトの名無しさん
05/01/21 02:39:31
>>904
文字コードの128以上に「何を」表示したいんだ?
906:903
05/01/21 02:44:24
>>904
以下の6つのコードを chr関数で Char型にして String型の1つの変数に
代入してごらん。128以上のコードが何に使われているのかが解るよ。
138 230 146 163 130 234
907:デフォルトの名無しさん
05/01/21 07:17:10
>>901
Imageに格納できないのですか?
自分がこんな質問されたらムカつかないのかな。
908:デフォルトの名無しさん
05/01/21 10:04:19
>>907
別にいいんじゃないか?
やり方を聞いてるわけじゃないし。
後出しで「じゃぁどうやればいいんですか」なんて言い出してきたら放置だが。
>>901
出来る。
909:デフォルトの名無しさん
05/01/21 11:10:55
諸先輩方教えてください。
VB6.0は結構やりました。
このたびVB.NETの仕事をやることになりました。
こういった人間が参考にしたらいい書籍がありましたら
教えてください。
910:デフォルトの名無しさん
05/01/21 13:06:00
幅が広過ぎてなんとも。
大きめの本屋でVB.NETの欄をざっと立ち読みしてみたら?
911:デフォルトの名無しさん
05/01/21 15:16:47
質問です。
HttpWebRequestでサーブレットと通信するソフトを作るのですが、中身をgzipで圧縮したり、解凍したいのです。
どこかにgzipのDLLはありませんか?
もしくは参考書、おすすめのHPとかないでしょうか。
よろしくお願いします。
912:911
05/01/21 15:19:30
↑
すみません。
なんか誤解をまねくというより書き方がおかしいです。
×:サーブレット
○:Webサーバー
913:デフォルトの名無しさん
05/01/21 15:28:05
>>911
これは?
URLリンク(www.gzip.org)
914:デフォルトの名無しさん
05/01/21 15:31:38
URLリンク(www.icsharpcode.net)
マネージドならこれだな。
915:デフォルトの名無しさん
05/01/21 15:42:58
Compact Framework にてPDAのアプリを作り始めました。
・form1にはbutton1〜button4がある。
・それぞれクリックした時に画像ファイル名を引数で渡してform2を生成
・form2にはform1で選択した画像を大きく表示する。
こんなん作りたいです。でもよくわかりません。
[button1クリックでtest.jpgをform2に渡してform2のloadイベントで自身のpictureboxに取得した画像を表示]
の方法について教えてください。
916:デフォルトの名無しさん
05/01/21 16:40:58
普通にコンストラクタに書けばいいんじゃないか?
917:デフォルトの名無しさん
05/01/21 17:20:04
質問です。
Bというスレッドで作ったコントロールを、Aというスレッドで作ったフォームに貼り付けたいのですが、どうすればよいでしょうか?
918:デフォルトの名無しさん
05/01/21 17:26:29
諦めてフォームが動いているスレッドでコントロールを作るようにする。
919:911
05/01/21 17:28:05
>913
>914
ありがとうございました。
やってみます。
ただ、英語が…orz
920:デフォルトの名無しさん
05/01/21 17:35:08
英語のドキュメントぐらい読めないとやってけないよ。
技術系のドキュメント英語は基本的に平易だし。
921:デフォルトの名無しさん
05/01/21 18:49:13
俺は難解な日本語のMSDNを四苦八苦しながら読んでいるうちに、
英語のMSDNもなんとなく読めるようになった気がする。(w
922:デフォルトの名無しさん
05/01/21 20:52:04
M$の訳はおかしいから日本語と英語見比べないとはまる事もあるぞ。
923:デフォルトの名無しさん
05/01/21 22:20:28
実情は米M$の外注に勤める日本人PGが
和英辞典片手にせっせと書いてたりするがなw
924:デフォルトの名無しさん
05/01/21 22:26:55
なんかきな臭いときは必ず英語版も確認するようにしてる。
925:デフォルトの名無しさん
05/01/21 23:39:43
画面のプロパティでDPI設定を「大きいフォント」に変更すると
フォームのレイアウトが崩れてしまうのですが、どう対処
したらよいでしょうか。
おそらくFormのAutoScaleというプロパティが関係あると
思うのですが、これをTrueにしただけではダメでした。
他に注意しなければならないプロパティ等はあるでしょうか。
926:デフォルトの名無しさん
05/01/22 00:03:22
テキストファイルからStreamReaderで1行ずつ読み込み、それを指定ミリ秒毎に
送信ってなものを作ろうとしてるんですけど、ツールのタイマーコントロールって
精度悪いですよね?1秒単位とか500ミリ秒単位なら大丈夫っぽいけど
200ミリ秒単位くらいからかなり精度が怪しくなります。
高精度のタイマーを作るにはやっぱりAPI使うしかないんでしょうか?
APIはさっぱり分からないので、どなたかいいサイトなんかありましたら
教えてください。
927:デフォルトの名無しさん
05/01/22 00:08:21
System.Timers.Timerを使う。
928:デフォルトの名無しさん
05/01/22 02:07:33
>>926
.NETはどうかしらんが、6.0時代はTimerを使うと処理の間隔が
マシン環境によって変わってくるからなぁ・・・。
スレッド立ててループで回して送信したら?
929:デフォルトの名無しさん
05/01/22 02:18:17
まずはドキュメント読もうや。
URLリンク(www.microsoft.com)
930:デフォルトの名無しさん
05/01/22 02:23:20
>>907
何か良く分かりませんが、迷惑掛けたのならあやまります。
すみませんでした。
931:デフォルトの名無しさん
05/01/22 07:16:27
>>930
よく分からずに謝っても意味がない。
932:デフォルトの名無しさん
05/01/22 14:07:06
vbではglobalでフォーム間の共通変数がみれたのに
vb.netはなくなったのですか?
どうやればいいのだろう?
933:デフォルトの名無しさん
05/01/22 14:15:12
>>932
少し上のレスを読め
934:デフォルトの名無しさん
05/01/22 14:18:22
>>926
ていうか本当にmSec単位で処理する必要なんてあるの?
こういうこと書く人って9割方本人の「思い込み」で書いてると思う。
935:デフォルトの名無しさん
05/01/22 15:43:36
気になるな。テキストファイルの1行ごとを定期送信するのにAPIのタイマーじゃ精度不足って
どんな案件なんだろうか。
936:デフォルトの名無しさん
05/01/22 18:14:11
他プロセスの動作負荷にはげしく増減があるとか?
‥‥つか、パソコンの処理能力が足りてないのかも。
937:デフォルトの名無しさん
05/01/22 18:45:13
いや、そういう意味じゃなくてmSecオーダーのリアルタイム性が要求される処理なんて
そんなにないんだよ。
単に「バッファ」って考え方がわかってないだけのような気がするんだけど。
938:デフォルトの名無しさん
05/01/22 20:49:14
Javaで言うHTMLEditorKit.Parserみたいなクラスはないでしょうか。
939:デフォルトの名無しさん
05/01/22 20:54:16
すいません。どなたか>>925をお願いします。
940:デフォルトの名無しさん
05/01/22 21:07:41
>>939
人に物を尋ねるときはまず自分の問題が他人に正確に過不足なく伝わるような
文章を書くこと。
他人に「エスパー」であることを期待しないこと。
こんなの中学卒業までにしっかりマスターしとけよ。
フォームのレイアウトが崩れるって言われてもねえ。。
文章で問題を表現する自信がないなら、
とりあえずどっかのアプロダに画像上げるとか手はあるでしょ。
941:デフォルトの名無しさん
05/01/22 21:10:49
>>940
わかんないのか・・・
942:デフォルトの名無しさん
05/01/22 21:11:23
938は具体的にそのクラスがどういう機能なのか説明すべきだな。
943:941
05/01/22 21:11:41
他の方どうぞー
940さんはもう書き込まなくていいですよ。
944:デフォルトの名無しさん
05/01/22 21:12:52
>>942
はあ?説明しなきゃいけないの?常識として知っといてほしいな。
まぁあんた以外には伝わってると思うが・・・
945:デフォルトの名無しさん
05/01/22 21:13:25
随分下手な煽りだな。
946:デフォルトの名無しさん
05/01/22 21:14:08
>>945
わかんないのか・・・なんでわかんない奴に限って書き込むんだ?
947:946
05/01/22 21:18:09
おっとと・・・そう書いたらみんな黙っちまったか。
ホントしょーもねー奴ら
948:デフォルトの名無しさん
05/01/23 01:15:47
>>938
ある。
以上。
949:938
05/01/23 08:24:46
>>948
あれ?とっくに自己解決してたんですけど。知ってますよ。
調査に何時間もかけちゃいました?だとしたらすいません。
950:デフォルトの名無しさん
05/01/23 10:32:45
forループ処理でコントロールのロックを防ぐ、DelphiでいうとProcessMessageのような
機能は.NETではどのようにするのでしょうか?
951:最凶VB厨房
05/01/23 10:49:25
Application.DoEvents()かな。
952:950
05/01/23 11:39:09
>>951 ありがとう。
953:デフォルトの名無しさん
05/01/23 12:39:18
>>951
純粋に問われたことに対する答えとしては正しいけどなんかなあ。
こういう質問には、「そもそもUIスレッドにそういうコード書くのが間違い」
って答えが正解だと思う。
954:デフォルトの名無しさん
05/01/23 18:26:23
>>953
大正解。スレッド作ってそっちで処理だね。
955:デフォルトの名無しさん
05/01/23 19:16:46
>>953
いいじゃん別に。お前が使うんだからさ。
956:デフォルトの名無しさん
05/01/23 19:40:32
>>954
そして>>917のような状況に陥ると。
957:デフォルトの名無しさん
05/01/23 20:23:43
フォームを作成すると拡張子がresxというファイルができているのですが、
これは何のファイルなのでしょうか。
958:デフォルトの名無しさん
05/01/23 20:38:50
>>957
URLリンク(www.microsoft.com)
URLリンク(www.atmarkit.co.jp)
959:デフォルトの名無しさん
05/01/23 21:12:45
他のプロシージャで使っていた変数を他のプロシージャで使うにはどうすれば良いですか?
教えてください
960:デフォルトの名無しさん
05/01/23 21:16:10
>>959
モジュールに記載
961:デフォルトの名無しさん
05/01/23 21:29:27
スレリンク(tech板:190番)
マルチポストか?
962:デフォルトの名無しさん
05/01/23 21:43:52
>>959
プロシージャ外で宣言。
963:デフォルトの名無しさん
05/01/23 21:46:45
>>962
どうやればよろしいのでしょうか?
964:デフォルトの名無しさん
05/01/23 22:03:47
>>963
古い資料だけど参考になる。
URLリンク(www.sakai.zaq.ne.jp)
965:デフォルトの名無しさん
05/01/24 11:29:02
DataGridで選択した行を削除するボタンを作ってます。
1、DataGridでマウスクリックし特定の行を選択
2、Form上の削除ボタンを押して、該当行の削除
3、ひととおり削除処理が終わったら、マスターファイル更新
コード上ではこんな感じです。
a、クリックした行をCurrentRowIndexで取得して
b、DataRow.DeleteでRowStateを変更
c、終了時にDataAdapter.Updateでマスターファイルを更新
しかし、この方法で1−2の手順を繰り返し、複数回の行削除を行
おうとすると、RowIndexがダブってしまい誤動作を引き起こします。
最終行以外を消すと、DataGrid上の表示とDataTable内のIndexに
不整合が起こるからだと思います。AcceptChangesを適用すると
DataGrid上では問題なく削除できますが、RowStateが変わってし
まうため、今度はマスターファイル更新ができなくなります。
DataGrid上で直接削除すればいいんでしょうが、大量にある行か
ら特定のものを見つけるのに時間がかかります。最悪、DataView
で抽出して直接削除という手段を考えていますが、1−3の手順で
他にうまい方法はないでしょうか? 長文すみません。(´・ω・`)
966:デフォルトの名無しさん
05/01/24 11:34:55
URLリンク(www.atmarkit.co.jp)
967:デフォルトの名無しさん
05/01/24 11:43:33
Win32APIを呼ぶ方法がうまくいかないので悩んでいます。
具体例としてウィンドウ上のボタンを押すと、user32.dllのExitWindowsExを
呼ぶというプログラムを作ろうとしました。
【実装】
1) 普通にウィンドウ上にPushボタ(Button1)を1つ配置した。
2) (全般) - (Declarations)のところに
Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF = 0
というExitWindowsExを用いるための宣言を行う。
3) (Button1) - (Click)のところに
Dim lngWin32apiResultCode As Long
lngWin32apiResultCode = ExitWindowsEx(EWX_LOGOFF, &HFFFFFFFF)
という変数宣言と呼び出しを行った。
【現象】
Form1.vb(1) : error BC30001: 名前空間のステートメントが無効です。
Form1.vb(2) : error BC30001: 名前空間のステートメントが無効です。
Form1.vb(62) : error BC30451: 名前 'ExitWindowsEx' は宣言されていません。
Form1.vb(62) : error BC30451: 名前 'EWX_LOGOFF' は宣言されていません。
といった具合にBuildもできません。
【疑問】
なぜ、宣言がことごとく否定されてしまうのでしょうか?
968:デフォルトの名無しさん
05/01/24 11:53:08
>>967
FormモジュールにDeclare文を書くことはできたっけ?
969:デフォルトの名無しさん
05/01/24 11:55:27
>>967
> 2) (全般) - (Declarations)のところに
と言うのが良くわからんが、
> Form1.vb(1) : error BC30001: 名前空間のステートメントが無効です。
は要するに名前空間直下に関数を宣言してるってエラーで、
例えばImports文のすぐ下にClass宣言も無しにいきなりメソッドを書いてるようなもの。
モジュールを追加するなりしてそこでAPI宣言をすればいいだろう。
> Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
あとVB.NETでは32ビット値はInteger (.NET FrameworkでいうInt32) だよ。
970:デフォルトの名無しさん
05/01/24 12:09:50
>>967
Form1内に書くなら
>Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
ではなく
Private Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Declareは基本的にモジュール記述時にグローバルな参照として使用するときに記述する宣言。
その辺を考慮すればできると思う。
971:デフォルトの名無しさん
05/01/24 13:09:56
>>966
ありがとうございます。
CurrencyManagerの使い方を学ぼうと思ってぐぐってたら、別の
方法も見つかったので、こちらを試したところうまくいきました。
URLリンク(www.atmarkit.co.jp)
C# to VB.NET Translatorにかけたらこんな感じになったので、こ
のRowに対してDeleteを実行したところ、整合性を保ったまま継続
削除できました。
Dim row As DataRow = CType(dgSample.BindingContext(dgSample.DataSource, dgSample.DataMember).Current, DataRowView).Row
VB6.0のADOから移行するため勉強中ですが、カレント行の扱い
が変わってて四苦八苦してたところでした。ほんと助かりました。
972:デフォルトの名無しさん
05/01/24 13:51:32
>>968-970
皆さん、どうもありがとうございました。どうにか解決しました。
結局、自分の採った方法は>>969さんのものでした。
1) ソリューションエクスプローラ上で [追加(D)] - [モジュールの追加(M)]の
操作でModule1.vbを追加。
2) Module Module1 〜 End Module間に
Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF = 0
を追加
でBuildしたらエラーが出ませんでした。動作内容もほぼ期待どおりでした
(なんか処理が遅いようだけど、それは質問の主旨とは無関係なので略)。
このExitWindowsExを使うのは8年近く前の雑誌の記事を参考にしたため
このような記述になっていますが、>>969さんのおっしゃるようにVB.NETでは
LongでなくIntegerを使うべきだったように思います。
そもそもの狙いはVCで作ったプログラムがあり、それを
GUIはVB、内部処理はVCでDLLにしたものを呼び出す
という形にするということで、その前段階で引っかかっていたのでした。
どうもありがとうございました。
973:デフォルトの名無しさん
05/01/24 14:13:15
すみません、1年目の初心者です
Image型変数に格納されている画像の左側30ピクセル分を廃棄して
元のImage型変数に格納し戻すにはどのようにすれば良いのでしょうか
974:デフォルトの名無しさん
05/01/24 14:31:27
廃棄した部分はどうなるの?
イメージの幅が狭くなる? 黒で塗りつぶす?
975:デフォルトの名無しさん
05/01/24 14:41:18
ファイル名がtest1.txt、test2.txt,test3.txt・・・・・・test50.txt
の50個のテキストファイルを、消去するにはどうすれば?
ファイル名の1,2,3などの整数部分を、変数にし、ループさせて
消すにはどうしたらよいですか?
976:デフォルトの名無しさん
05/01/24 14:43:08
ループカウンタがiとして、
"test" & i,ToString() & ".txt"
でいいんじゃないかね。
977:973
05/01/24 14:49:23
>>974
イメージの幅を狭くしたいです。
978:デフォルトの名無しさん
05/01/24 14:54:56
なら、
1)元の画像より幅が30ピクセル小さいBitmapオブジェクトをNewする
2)Graphics.FromImageメソッドで作ったBitmapオブジェクトからGraphicsオブジェクトを取得する
3)GraphicsのDrawImageメソッドを適切な引数で実行し、元画像を描画する
4)GraphicsのDisposeメソッドを実行する
5)Image型変数Image2を宣言し、元のImageを代入する
6)元のImageに (2)で作成したBitmapを代入する
7)Image2のDisposeメソッドを実行する
5・7は必須ではないがモアベターな手法として。
3は色々試して。
979:琴音
05/01/24 15:23:32
プログラミング初心者です。いまVB.NETで以下のようなフォームを作成してます。
<FORM1>
テキストボックスと更新ボタン
<CLASS1>
更新ボタンを押したときの処理
=====================
Public Class Form1
Inherits System.Windows.Forms.Form
//" Windows フォーム デザイナで生成されたコード "
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim TestClass As New Class1
TestClass.Main1()
End Sub
End Class
=====================
Public Class Class1
Dim i As Integer
Public Sub Main1()
Dim TestForm As New Form1
TestForm.TextBox1.Text = "あいうえお"
TestForm.Refresh()
End Sub
End Class
=====================
更新ボタンを押したときフォームがうまく再表示されません。やり方が間違ってるのだと思いますがご存知でしたら教えてください。
980:973
05/01/24 16:02:43
>>974
>>978
ありがとうございます
リーダーの簡易レビューでもその手順でOK通れました
981:デフォルトの名無しさん
05/01/24 16:58:42
ある指定したディレクトリに、テキストファイルが作成されたら
イベント発生させたいです。ファイルは5つほど、時間を置いて作成されて
ファイル名は指定せず、単にtxtファイルが作成されたら、その度に
イベント発生という形にしたいですが
ある指定したディレクトリにtxtファイル(ファイル名指定なし)
が作成されたらという条件が書けません、どうすればよいでしょうか?
982:デフォルトの名無しさん
05/01/24 18:23:14
>>981
FileSystemWatcher
983:デフォルトの名無しさん
05/01/24 18:59:42
labelの表示に、一定時間後に表示を変えるにはどうすればいいんですか?
たとえば、「あいうえお」を一文字ずつ一秒間だけ表示するとか。
984:デフォルトの名無しさん
05/01/24 19:05:52
System.Windows.Forms.Timer
985:デフォルトの名無しさん
05/01/24 19:19:08
>>979
だから何度でも言うが、まず問題が人に正確に伝わらない限り
答えは永遠に得られないよ。どんな親切な人がいようとね。
ハッキリ言うとそのコードと文章では、結局何がしたいのかいまいちよく分らない。
新しく作ったフォームを操作しているのに再表示?っていうか再表示って何?
というか、君そもそも何の学習もせずに質問してないか?
人とコミュニケーションする以上、
質問するのにも最低限の知識は押さえてないと始まらないでしょ。
>>983
そんなことを人に尋ねるおたんちんにプログラミングは無理。
986:デフォルトの名無しさん
05/01/24 19:25:09
質問する人にあれこれいうつもりは全くないんだけど、
C#スレとVBスレで質問のレベルが全然違うのはどうしてだ。
同じ.NETなのに。そもそもどちらで聞いてもいいような質問がほとんどだから
スレが分かれている必要性も疑問だが。
987:デフォルトの名無しさん
05/01/24 19:36:33
>>979
TestForm.Show
でもダメか?
988:デフォルトの名無しさん
05/01/24 19:41:46
>>987
TestForm変数はMain1()の中だけのローカル変数なので、
Show()してMain1()を抜けた瞬間ダングリングポインタになる。
どっかにスコープの確保した変数でおかないと。
そもそも何やりたいのかサッパリ分からんしね。
989:デフォルトの名無しさん
05/01/24 20:04:58
ごつい参考書のClass解説を斜め読みして、とりあえず作ってみました
感が満ちあふれてるような。もっと初心者向けの解説書から始めたほ
うがいいんでないかと。
990:デフォルトの名無しさん
05/01/24 21:27:11
MSCommを使ってRS-232Cケーブルでシリアル接続してデータ
のやりとりを行うプログラムを作成中なんですが
COMポートの変更をVBのプログラム上から行いたいのです。
デフォルトではCOM1なのですが、例えばプログラム上で
コンボボックスを利用し
MSComm1.ComPort = comport.selectedIndex + 1
というようなことをやりその後ComOpenを真にしても
使われているポートでもないっぽいのにエラーが起きてしまいます。
マイコンピュータのデバイスマネージャーから手動でCOMを変えてやると
うまくいきます。
これを何とかプログラム上から操作したいですが、どうすればよろしいんでしょうか?
ご存知の方、ご教授ください。宜しくお願いします。
991:デフォルトの名無しさん
05/01/24 21:35:13
>>990
エラー内容を一言一句書いてくれ。
話はそれからだ。
992:デフォルトの名無しさん
05/01/24 21:39:39
>>990
質問する前にヘルプぐらい読んだらどうよ?
MSComm使うってことは旧VBの正規版Pro以上の持ってるんでしょ?
だったらMSDN読めるはずじゃん。
持ってないならライセンス違反だよ。
おまけに質問の文章もいまいちわかり難い。つかみどころがない。
>使われているポートでもないっぽいのに
想像だが、「使えない」ポート指定してるからじゃないの?
993:デフォルトの名無しさん
05/01/24 21:50:18
>>990
次スレよろ
それと不十分な質問分への返り討ちテンプレ案
「もうちょっと詳しく丁寧に」
994:デフォルトの名無しさん
05/01/24 21:50:29
ここは、.NETスレだよな?VB6スレじゃないよな?
995:デフォルトの名無しさん
05/01/24 21:55:40
>>991
学校のPCで作業していて、自宅のPCには.net環境がないのでエラー内容が
分からないんです。申し訳ありません。
>>992
On Error Resume
For i=0 To 16
MSComm1.CommPort = i
MSComm1.PortOpen = True
If MSComm1.PortOpen = True Then
comport.Items.Add("COM" & i & "OK")
Else
comport.Items.Add("COM" & i & "NG")
End If
MSComm1.PortOpen = False
For Next
みたいなカンジでとりあえずポート1から16までをオープンしてみては
使えるかどうかをif文で分けて、コンボボックスのリストに追加して
いってるんですが、デフォルトの1と3しかOKにならないのです。
これはそれ以外は使えないという事なんでしょうか?
なんかまた良く分からない文章になってすいません。これ以上自分でも
詳しく書けないので・・・真剣に困ってるのでどうか宜しくお願いします。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4850日前に更新/258 KB
担当:undef