1 :
デフォルトの名無しさん :
2008/12/19(金) 22:57:42
乙
標準モジュールでForm1のTextBox1に文字を書き込むにはどうしたら良いですか?
すみません。できました。
9 :
デフォルトの名無しさん :2008/12/22(月) 18:55:10
せっかくだからどうやったか書いてよ
10 :
デフォルトの名無しさん :2008/12/23(火) 02:11:06
.NETを使うんだったら C#、C++/CLI、VB どの言語を使っても生成されるEXEの実行速度は同じですか?
それぞれの処理系から生成された物が同じなら同じ環境ではほぼ同じになることが期待されます
12 :
デフォルトの名無しさん :2008/12/23(火) 02:21:56
だったら、WIN32APIを呼び出すのが面倒なC#、VBを使うメリットってないんですか?
演算がメインだったり、画像処理だったりする場合は
ポイントが扱えるC#、C++のほうが有利。
大抵の場合は
>>11
>>12 何かトゲのある言い方に感じるが、
>WIN32APIを呼び出すのが面倒なC#、VB
ではなく、WIN32APIを呼び出す必要がないのがC#、VBのメリットだ。
ほとんどの場合APIを呼ぶ必要はない、ちゃんとそれ相応のクラスが用意されている。
んだんだ
vs2008+SQL2005で開発を行っていますが、突然vs側からSQLが 見えなくなり、SQLサーバーをインストールしてくださいというような メッセージが表示され、型付データセットの作成やデータベースへの接続 が出来なくなってしまいました 特に設定を変更したとか、vsやSQLにSPを当てたなどと言うことはありません どなたか解決策をお持ちじゃないですか?
同じPC なのかリモートなのか サービスは起動してるのか 接続プロトコルは正しいのか? セキュリティ構成は正しいのか? ファイヤウォールが悪さしてないのか? などなど、調べることはたくさんあるぞ
>>17 同じPCで、Vistaで動かしています。
サービス、プロトコル、セキュリティ構成、FW共に特に問題はありません
不具合が出る以前に作ったDB接続型のWebアプリをVSで開いてデバッグをかけると
問題なく動作しますので、vsの仮想WebサーバーとSQLは接続が出来ています
IDEとSQLがうまく接続しないようで、そのアプリの型付データセットを開くと、XMLで
しか表示されず、デザイナで開くことが出来ません
新しいデータセットを作ると、XMLコードファイル(.xss)しか生成されず、デザイナファイル(.xsd)
は生成されません
項目追加でSQLデータベースを選ぶと、SQLがインストールされていないからSQL Expressを
インストールせよというアラートが表示され、データベースの作成も出来ない状況です
今日中に納品しないといけない、というときに限ってこういう事が起こるんですよね……
ひ と の せ い に す る な
SQLServerのサービスが止まってないか?
VB.net2003でFTPサーバー上のファイルのタイムスタンプを取得するプログラムを書きたいのですが、
2003は無料では使えないので、VB 2005 Express Editionをインストールして、このサイト
http://support.microsoft.com/kb/832679/ja のプログラムを試しています。
ところが、いくつかエラーがでてしまい上手く動作しません。
NET Framework 2.0以降でサポートされているFtpWebRequest、FtpWebResponse等を使わずに
NET Framework 1.1の環境でFTPの操作をするにはどうすればいいのでしょうか?
TcpClientかSocket使って通信、ってのはリンク先でもやってるのな、2005対象なのに謎 VS2005は.NET 2.0開発専用 // 大体のデザインやコーディングなんかには流用できるだろうが 最終的には,NET 1,1でのコンパイルが必要 .NET 1,1 SDKならまだ転がってるな
>>24 しようかな、じゃなくて、1.1 じゃなきゃ意味なし。
WinInet ってのはいい選択肢かも。ただ、できることには制限があるけどね。
つかFTP自体はもうできてるじゃんか ざっくり見ただけだがVB8/.NET2.0追加分もなさそうだし わざわざWin32APIに手を出す意味があるとも思えんね
NET 1,1 SDKインストールしてみたんですが、CUIはちょっときついな…
フォームの作成とかどうするんだろう。
やっぱりAPIで書こうかな…
>>26 22のリンク先のコードをVB2005 EEに貼り付けてもエラーが出たりして動かないんですよ。
うざいな・・・ VS2003 買えよ
>9 聞くまでもないだろ。。。
エラーが出たりして動かないとか言ってるようじゃ何もできんわ
>>30 まあ、そうですね。
とりあえず、22のリンク先の「FTP アプリケーションの検証」の「clsFTP.vb」の
Public Function GetFileListのoutput.Close()のところでエラーになっています。
これは、outputがDimで定義されていないからだと思うので、とりあえずコメントにして
次にm_aBuffer.Clearのところが
「インスタンスを経由する共有メンバ、定数メンバ、列挙型メンバ、または入れ子にされた型へのアクセスです。正規の式は評価されません。」
というエラーになっています。
エラー修正のオプションでm_aBufferをArrayにするとエラーはでなくなります。
それと、Dns.Resolveのところで
「'Public Shared Function Resolve(hostName As String) As System.Net.IPHostEntry' は旧形式です: 'Resolve is obsoleted for this type, please use GetHostEntry instead. 」
というエラーがでるので、ResolveをGetHostEntryに書き換えるとエラーはでなくなります。
これらの修正を施して上記「FTP アプリケーションの検証」のModule1.vbを動かすと
(ff = New clsFTP(...をTryの上に持ってくるとModule1.vbは動くようです)
If (ff.ChangeDirectory("MyOwnFolder") = True) Then
等がTrueにならず、処理を続行しても途中で例外処理に入ってしまい動かないのです。
VB.Netはよく分かっていないので、自分としてはちょっと厳しいですね。
VB.NET 以前の問題だな。MyOwnFolder ってフォルダはあるんかい?
>>32 失礼。サンプルをそのまま貼り付けたのですが、存在するフォルダを指定しても動かないのです。
・・・ フォルダ変更なんて本質的な処理じゃないんだから、そういうところは外していけば いいんじゃねーの?
そもそも、VS2003 で作らなきゃいけないものを、VS2005 で確認してどうするつもりなんだか・・・
>>34 そうなんですが、それ以外のところでも根本的に上手く動いていないような気がするので。
m_aBufferをArrayにしたのが不味いような気がしています。
>>35 VS2003はヤフオクでも高いので、仕方なく2005 EEを使っているのです。
24のリンク先のコードは動いているようなので、そちらを使った方が良さそうですね。
宿題スレでも行ってください
38 :
デフォルトの名無しさん :2008/12/23(火) 22:25:11
あのー、超絶に低レベルな質問ですが、エラーの原因が特定できない事象で困っています。 こーゆーときってtryステートメントの神様に「後は任せた!」的な処理してよろしいんでしょうか? プロセスはアクセスできません、みたいなエラーが出るんだけど、何が原因かわかんない。(再現率がまちまちでして、特定できず。) オブジェクトの破棄ってのも、どういうときに必要なのかよくわからず。
1.エラーメッセージでぐぐる 2.質問するときは省略せずにそのままのエラーメッセージを見せる
回復しなくていいエラーなら、エラーメッセージを出して終了、って手もあり。 オブジェクトの破棄は、オブジェクトが不要になったときにする。
まず問題の切り分けをしろ。 どんなプログラムかわからんが、「プロセスはアクセスできません」ってことは 外的要因も考えられるわけで、いつか絶対起きるエラーの可能性があるわけだ。 そうなるとTry〜Catchでエラーからの復帰処理を考える必要がある。 そうではなくプログラムのバグであるなら、Try〜Catchよりもバグの原因を見つけたほうがいい。 >オブジェクトの破棄ってのも、どういうときに必要なのかよくわからず。 エラーの質問と関係ある?、それとも別の質問? その文章の書き方だと2ch以外だと相手にされないんじゃないか?
>>16 SQL Server を「SQL」と略すな。
取り敢えず再Setupでシステム構成のチェック汁。
43 :
22 :2008/12/25(木) 02:18:46
コードの前にFTP勉強しろ
>>44 よく分かっていないのですが、STATを使えばいいのでしょうか?
スレ違い
47 :
デフォルトの名無しさん :2008/12/26(金) 21:20:18
>>39-41 助言ありがとう。 レスみるととても俺なんかついて行けないレベルなんですが、
どうしても完成させたいアプリがありまして・・・。
おそらくはファイルオープンクローズなどの目に見えない所での問題のようで。
いまから整理します。
48 :
デフォルトの名無しさん :2008/12/26(金) 22:46:22
とても整理出来ないです。整理のヒントいただけませんか? '■機能:ファイルを保存する '■タイミング:メニューの保存がクリックされたときと、右下の保存ボタンがクリックされたとき '■lvFileList(旧)、lvNewFileList(新)はリストビューコントロール '■旧、新リストのアイテム数は共に同数。(旧が8個なら新も必ず8個。) '■imageDirは、フォルダ名が格納されている。 Private Sub miSava_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles miSava.Click, btn_save.Click ’新リストのアイテム数分ループ処理 For I As Integer = 0 To lvNewFileList.Items.Count - 1 'ファイルのリネーム '単独での旧リストと新リストとの名前比較 If lvPhotoList.Items(I).SubItems(列1).Text <> lvNewFileList.Items(I).SubItems(列2).Text Then ここでエラー→ Microsoft.VisualBasic.FileSystem.Rename(imageDir & "\" & lvPhotoList.Items(I).SubItems(列1).Text, _ imageDir & "\" & lvNewFileList.Items(I).SubItems(列2).Text) End If Next I MsgBox("ファイル更新が完了しました。") End Sub ※※エラー内容はこのプロセスはアクセスできません。とかなんとか・・。
見た感じ動きそうだけどな。 まず直接ファイル名指定してみてRename実行してみたらどうだ? それで動くようなら、imageDirの内容が実は間違ってたとかいうオチだろう。 で、指摘があるように一番重要なのはエラーメッセージ。 それをコピペすりゃ原因わかるかもしれんというのに。
50 :
デフォルトの名無しさん :2008/12/27(土) 18:52:56
>>48 > Microsoft.VisualBasic.FileSystem.Rename(imageDir & "\" & lvPhotoList.Items(I).SubItems(列1).Text, _
imageDir & "\" & lvNewFileList.Items(I).SubItems(列2).Text)
とりあえず、どんな内容を処理してるのか
引数をみるべきだろJK
51 :
デフォルトの名無しさん :2008/12/27(土) 22:02:39
System.IO.IOException はハンドルされませんでした。 Message="ファイルが別のプロセスで使用されているため、プロセスはファイルにアクセスできません。" Source="mscorlib" StackTrace: InnerException: エラーメッセージはこんな感じです。imageDirは間違いないし、ソースファイル名も新規ファイル名も問題なし。 エラーの再現率がちゃんとした手順を踏んだつもりでも、100%にならずどうしてもわからないです。
>ファイルが別のプロセスで使用されているため、プロセスはファイルにアクセスできません。 って書いてあるそのままの意味だ。ある意味プログラミング以前の話
VB.NETからエクセルを操作してセルに「H:mm」の書式で入力されている時間を取得したいのですが、Doubleとして認識されてしまいます。 例えばこんな感じです Dim tmp As DateTime tmp = sheet.Cells(1,1).value 'セル(1,1)には「22:23」などと入力されているがDoubleと認識されてしまうためここでエラー MessageBox.Show(tmp.ToString, "HH:mm") セルに入力されている時間を取得するにはどうすればいいのでしょうか。 sheet.Cells(1,1).textだとセルの幅が狭くなっているときに「##」などが取得されてしまうのでこれ以外の方法を探しています。
OLEオートメーション日付って奴 DateTime.FromOADateで変換
55 :
53 :2008/12/27(土) 22:36:01
>>54 ありがとうございます。
こんな感じでいけるみたいです。
MessageBox.Show(DateTime.FromOADate(sheet.Cells(1,1).value).ToString("HH:mm"))
ググってもなかなか見つからなかったので助かりました。
>51 ファイルが別のプロセスで使用されているため、プロセスはファイルにアクセスできません。 でぐぐれ
別のプロセスでと言いつつ自分自身のプロセスでのロックの可能性があるのが曲者だ
>>57 ありがちだな。
せっかくだからエスパーしてやろう。
リストビューで選択された画像ファイルを、PictureBoxに表示しているだろ?
もしくは New Bitmap(ファイル名)をしているところがないか?
これだと選択されたファイルはロックがかかっていてアクセス出来ないので
リネームする時にエラーになる。
表示したかったら、ファイルを読み込んだらBitmapの複製を作る必要がある。
VBからエクセルを操作するプログラムを書きたいんですが いい参考書とかサイトとかある? 今はわからない事があるとぐぐってます
聞きづらいんだが、VB.netとVB2008のどっちが勝組??
VB.Net はVB6以降のVBの俗称です。 VB2008は数あるVB.Netの一つのバージョンです。 つまり、比較する単位が違うのです。 例えば、「お金」と「一億円」どっちが高い?と言ってるようなもんです。 「距離」と「km」どっちが長い?と言ってr・・・
俗称と言うよりは総称。
2005以降はVB.NETって表現はMSからはほぼ完全に消えたような……?
>>61 そうでしたか、こりゃどうも失礼しました。
VB.NETとVB6のプログラムを両方ともやりましたが、
両者がプログラム上で微妙に違うのでVB2008はVB6の継承で
VB.NET継承なしでこのまま終わり??と勘違いしてしまったもので
>>61 確かに
>>64 の言うとおり、Visual Basic 2005とかVisual Basic 2008とかになって、
製品名称からは.Netは取れちゃったね。
言語のバージョンで言うと, VB.NETがVB7でVB2005がVB8でVB2008がVB9でVB2010がVB10 だよ VB6までは,VS製品としての名前と言語の名前が一緒だった
>>67 ありがとうございます。良く分かりました。
そろそろ新しいバージョンを買おうと思ってはいたんですが
これが中々高いんで
いまごろそんなこと言ってる人にはExpressEditionで十分では?
まずはExpressEditionで試してみればいいよ 別物になってて絶望すること請け合いだからw
72 :
デフォルトの名無しさん :2008/12/30(火) 11:44:36
Try ... Catch ... Finally .. End Try って、Finallyを使わなくて、普通にEnd Tryの次に記述するのとは、何か違い があるのか疑問です。
例外が発生した場合,End Tryのあとは実行されない Finallyは例外が発生しようがTryやCatchの中でReturnしようが必ず実行される 開いたファイルを確実に閉じたりするのに使う
たとえば、Using は Try...Finally を使って実装されてるね。
exit の後ろに書かれているのに呼ばれるfinallyがキモい
キモくないよ。キモちいいよ
VB6のエラー処理に比べてずいぶん楽になったよなぁ・・・ いまさら会社でVB6で仕事してるんだが・・・
VB6のサポートは終了している。 だから新しいPCを買うとVB6が動かせなくなる時代はすぐそこまで迫っている。そうなってからでは間に合わない。 …とでも言って上司を説得するんだ! 成功しても.netに書き換える/で作り直す作業が振ってくるだろうけどな!!
>>78 よく言われる話だが、実はVista上でのサポートはまだ続いてたりする・・・
>>73 Catchの中でなにもしてなければEnd Tryのあと実行されるんじゃないの?
Exception型でのキャッチは極力行わない どうせ対処できない例外はその場で無理にキャッチしない が基本
すべて闇に葬るのが俺流
キャッチ&スルーですね。
掴んだ後、スルーてどゆこと?
Catch ex As Exception End Try こゆこと 動けばラッキー★
見なかった事にしよう♥
>>84 掴んだにも関わらず、スルー、って感じ
ボケといてボケっぱなしみたいな
Dim instance As NamedRange と書くと、NamedRangeが定義されてませんというエラーが出ます。 参照がおかしいのでしょうか? 初心者で質問も的外れかもしれませんが、よろしくおながいします。
>>88 参照設定が足りないか、名前空間の指定(Imports)が足りない。
どのコンポーネントを参照すればいいのでしょうか?
知らんよ。NamedRange ってクラスを公開してるやつだろ。
NamedRangeクラスとかでぐぐるとかMSDN内で検索しろよ
検索してる... 名前空間がMicrosoft.Office.Tools.Excelなのだが 参照のコンポーネントで同じ名前のものがないし コードエディタで入力してもエラーになる。 Express Editionだと、ダメとかある?
MSTO か? なら Express じゃ無理だろ。
画像処理で質問です() 複数の画像が一つのBMPオブジェクトに入っています。 任意の範囲を別のBMPオブジェクトに貼り付けたいのですが、 .DrawImage では貼り付け先の座標と幅、高さを指定できますが、 その範囲に元画像が縮小や拡大されて貼り付けられてしまいます。 やりたいのは元画像の一部を転送先の好きな位置に当倍でコピーしたいのですが、 この場合、.DrawImageでパラメータの与え方を変えればよいのか、それ以外の命令があるのでしょうか? 現状のソースはこんな状態です() Public Class Form1 Dim BmpObjMst As Bitmap = New Bitmap(My.Resources.hoge) Private Sub PictureBox1_Paint( 〜 e.Graphics.DrawImage(BmpObjPBox1, 0, 0, 400, 400) End Sub Private Sub Button1_Click( 〜 Dim GrpObjPBox1 As Graphics = PictureBox1.CreateGraphics() GrpObjPBox1.DrawImage(BmpObjMst, 200, 0, 400, 400) '縦/2 に縮小されて表示される End Sub End Class
>>95 やり方が悪いだけだと思われ。
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics..::.DrawImageAbort, IntPtr)
指定した位置に指定したサイズで、指定した Image の指定した部分を描画します。
とか使えばいいんじゃね?
とりあえずDrawImageをヘルプで調べろよと
>>96 >>97 おぉ、パラメータ指定で出来るのですね
VisualStudioのオンラインヘルプはどうたどってよいのかすら判りませんでした
まずはヘルプの辿り方から勉強します、ありがとうございました
スレ違いかもしれませんが、VB.netからコマンドラインを使ってVSSにチェックインされているファイルのタイムスタンプを 取得しようとしています。 ところが、ss statusなどとすると、チェックインした日時が取得できるだけで、VSSのエクスプローラに表示されている ファイル自体のタイムスタンプを取得できません。 どうすればVSSにチェックインしたファイルのタイムスタンプを取得できるのでしょうか?
取得してタイムスタンプ見てみれば?
>>101 レスありがとうございます。
get -gtmでローカルに最新バージョンを取得して、そのファイルのタイムスタンプを取る事はできるんですが
処理がかなり重くなってしまうのです。
必要なのはタイムスタンプなので、ローカルにコピーを作らずに取得できると助かるのですが。
>>102 そうかもしれませんが、VSSの話題があまり出ていないようなので、できればここでお願いします。
こっちでもVSSの話題があまり出ていないですが?
>>103 そういうインターフェイスを公開してないか調べる
ss コマンドで取得できないか調べる
なければ実際にとってくるか、汚い方法を使うしかないでしょ。
svnとvss、どっちがカッコいい?
>>105 ありがとうございます。
ssのコマンドはヘルプ等で全て見たのですが、statusがそれらしいものの、チェックインした日時とファイルサイズしか取得できないのです。
(欲しいのはチェックインした日時ではなく、VSSのエクスプローラーに表示されているファイル自体のタイムスタンプ)
エクスプローラに表示されている以上、取得する方法はありそうな気がするのですが。
WinAPIあたりを使う事になるのでしょうか?
108 :
107 :2009/01/01(木) 12:36:00
失礼。Statusはチェックアウト情報を表示するだけで、ファイルサイズとチェックインした日時を取得できるのはPropertiesでした。 一通り試して、コマンドラインからはファイル自体のタイムスタンプは取得できないような気がしているのですがもう一度調べてみます。
ざっと見てみたけど、コマンドやらオートメーションじゃ無理っぽいね。 ssexp -P で対象のプロジェクトを起動して、ファイルの情報が表示されてるリストボックスから取る、 って手はあるけど、きれいな方法ではない罠・・・
教えてください。
IEのキャッシュから画像データ(例えば
http://xxx.jp/image/yyy.jpg )を取得するのに
Win32APIのGetUrlCacheEntryInfoを使用すればいいということですが、
具体的にどのように使えばいいのでしょうか?
詳しく説明あるサイトはありますか?
よろしくお願いします。
>>109 ありがとうございます。
もう一度詳しく見直してみましたが、やはりコマンドではできないようです。
VSSのエクスプローラを一々起動するのも重そうなので、get -gtmでファイルを取得してタイムスタンプを取るしかないのかもしれません。
>>111 そっちの方がまっとうだと思う。VSS Explorer から取れるか見てみたけど、かなーり茨の道。
113 :
デフォルトの名無しさん :2009/01/01(木) 15:07:45
あけましておめでとうございます。
>>58 は神様だわ。 まさにそのテレパシーランが原因。下記が現在のコードです。
'写真ファイル名一覧を選択すると、メインパネルに画像を表示する
Private Sub リストビュー_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles リストビュー.SelectedIndexChanged
'選択アイテムがない場合は何もしない
If リストビュー.SelectedItems.Count = 0 Then
Exit Sub
End If
Dim index As Integer
Dim pictureShow As Bitmap
pictureShow = Bitmap.FromFile(フォルダパス & "\" & リストビュー.SelectedItems(0).SubItems(リスト列1「ファイル名が入っている」).Text)
index = リストビュー.SelectedItems(0).Index '選択アイテム。
picturebox1.Image = pictureShow 'イメージを表示
End Sub
で、複製を作る、という解決策で間違いないと思われるのですが、具体的にどんなことを
すればよろしいのでしょうか?表示用のピクチャーボックスをもう一個作り、それを表示させるプログラムをする。
そして、読み込みでつかったピクチャーボックスはDisposeする必要があるってことかな?
ちなみに、変数だけbitmapを2つ宣言して、読み込んだほうをdisposeして表示しようとするとメソッド引数エラーしてだめでした。
基本が無い、プログラマでもない、ググってもよくわからない、で、申し訳なく恐縮ですが、、、、、
>>113 バイナリでメモリストリームに読み込んでファイルを閉じる。
メモリストリームから Bitmap を生成
115 :
デフォルトの名無しさん :2009/01/01(木) 15:13:45
>>113 ピクチャーボックスに表示する前に、そのファイルの複製を作るのが
一番簡単。
116 :
115 :2009/01/01(木) 15:14:28
俺もまず
>>114 のように考えるとは思うんだけど、でもどうかなあ。
Disposeするときのことを考えると、FroFileで作成したBitmapを
別のBitmapにDrawImageする方が適切なような気もする。
>>78-79 亀レスだが
VB6のソフトをVistaで動かしたら一部動かないコンポーネントとか出てきた
ODBC接続はめちゃくちゃ時間がかかる(実用に耐えない)
Windows7ではおそらくサポート外になると踏んでいるので
それまでに転職するw
こんなんでどうだ? ' _Bitmapはグローバル変数とか、メンバ変数とかで定義 If _Bitmap IsNot Nothing Then _Bitmap.Dispose() Dim tmpbmp As New Bitmap(path) _Bitmap = New Bitmap(tmpbmp.Width, tmpbmp.Height, Imaging.PixelFormat.Format32bppArgb) Dim grp As Graphics = Graphics.FromImage(_Bitmap) grp.DrawImage(tmpbmp, 0, 0, tmpbmp.Width, tmpbmp.Height) tmpbmp.Dispose() で、あとは_Bitmapを好きなようにすればいい。
なんでそんな糞な変数名にするの?
サンプルなんてそんなもんだろ。 MSDN見たことないの?
122 :
113 :2009/01/01(木) 22:48:25
>>119 あの、すいませんが私のために書いてくだすったコードですね?
ありがとうございます。
チンプンカンプンなのは、やっぱ俺が問題すぎますな。
俺的に新オブジェクトが出てきたからぐぐる。
Dim grp As Graphics = Graphics.FromImage(_Bitmap)
grp.DrawImage(tmpbmp, 0, 0, tmpbmp.Width, tmpbmp.Height)
いままでVBAしかやってなかったドカチンなので難しすぎるです。
123 :
113 :2009/01/01(木) 23:07:47
>>113 簡単にやるなら、サンプルにこれ追加するだけ。
PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize
PictureBox1.Image = bmp
>しかし、プログラミング基本で聞きたいのですが、同じように動作させても
>できるときとできないときがあるような、バグ修正が難しいケースってあるんでしょうかね?
プログラマーの数だけあると思うよ。
>>123 別に揚げ足取りで言うわけじゃなく、
今回の件は、ただの君自身のライブラリの機能に対する無知に起因しているわけで、
それをまるでデバッグ技術の問題であるかのように認識するのはそもそもおかしいんじゃないのか?
フォルダにマウントしたボリュームの情報を取得するにはどうすればよいのでしょうか? ManagementObjectを使う方法とDriveInfoを使う方法は試したのですが、どちらもマウントポイントは解釈してくれないようでorz LinuxのMono環境でも使えるようにしておきたいのですが、GetDiskFreeSpaceEx APIを使用するしかないのでしょうか…。 試した方法1 Dim manObj = New System.Management.ManagementObject( _ "Win32_LogicalDisk.DeviceID=""C:\\MountPoint""") Dim diskSize = CULng(manObj.Properties("Size").Value) → パス部分の\\を\にしたり末尾に\をくっつけてみたりしたものの、動作せず → その場合はManagementExceptionが返り、VB2005Expressのクイックウォッチで見ても cannot obtain value の嵐orz 試した方法2 Dim drive As New IO.DriveInfo("C:\MountPoint") Dim diskSize = drive.TotalFreeSpace → なぜかCドライブ自身の情報が取れた
質問です。 以下の例 Dim result As String Dim psi As New System.Diagnostics.ProcessStartInfo Dim p As System.Diagnostics.Process Dim ssPath As String = "C:\Program Files\Microsoft Visual Studio\VSS\win32\ss.exe" Dim ssUser = "user" Dim ssPwd = "user" If ssPath.IndexOf(" ") > 0 AndAlso ssPath.Substring(0, 1) <> """" Then ssPath = String.Format("""{0}""", ssPath) End If psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec") psi.RedirectStandardInput = False psi.RedirectStandardOutput = True psi.UseShellExecute = False psi.CreateNoWindow = True psi.Arguments = "/c " & ssPath & " help " & " -Y" & ssUser & "," & ssPwd p = System.Diagnostics.Process.Start(psi) result = p.StandardOutput.ReadToEnd p.WaitForExit() のようにVSSをコマンドラインプログラムで操作する場合に、指定したユーザー名かパスワードが間違っていると result = p.StandardOutput.ReadToEnd のところで固まってしまいます。 パスワードかユーザー名が間違っているときは、例外を投げるなり、一定時間経過後は処理を抜けるなりして SS.exeを終了して固まったままになるのを避けたいのですが、その場合どのようなコードを書けばよいのでしょうか?
>>127 別スレッドで処理して、一定時間反応なかったらAbortでも投げればいいんじゃない?
>>128 ありがとうございます。
マルチスレッドというのはやったことがなかったのですが、この機会に調べてみようと思います。
>>126 GetVolumeNameForVolumeMountPoint() でボリューム名を取得して、
GetVolumeInformation() とかでいいんじゃね?
>>130 ありがとうございます。
やはりおとなしくWindows APIを使用するしかなさそうですね。。。
.bmpの画像ファイルをPictureBoxに拡大して表示すると色の境界が ぼやけているのですが、これをデータ通りに表示させるにはどうしたら良いですか?
>>132 データどおり、の定義は?
人間の君が定義できんことをただがコンピュータに「よきにはからえ」というのか?
拡大した時点でデータ通りも何もないだろ
レスありがとうございます。 元データ通りではないというのは大きさのことではなくて たとえば白黒2色のはずの24ビットの画像を拡大表示すると 白、黒の境がグラデーションになってしまいます。
>>135 だから、どういう結果が欲しいのか定義を示せ、と君は言われているんですが
理解してますか?
どっちもどっちだな
言いたいことはわかる。 というか、ぼやけてるとかグラデーションとかそれなりのキーワードは使っている。 だから、補完なしの拡大表示したいってことだろう。 このスレには意地の悪いヤツが住み着いてるからな。 だが、やり方は知らん。
>>139 意地が悪いってどういう言い草だよ。
っていうか、君数学とか苦手なタイプ?
原理的になんらの補間なしに拡大できるのなんて整数倍の時だけなはずだが、
そんな簡単なこと理解できませんか?
>>135 DrawImageする前に、GraphicsクラスのInterpolationModeプロパティに
Drawing2D.InterpolationMode.NearestNeighborを設定。
やりたいことはたぶんこれだろ?
142 :
デフォルトの名無しさん :2009/01/05(月) 00:35:58
正月早々なにやってるんだよw
ああ、ピクチャボックスか。 自分でPaintイベントでbitmapをDrawImageしないとだめかな。
EventWaitHandleを使ってプロセス間通信をしようと思っています テストとしてWaitOneする側とSetする側のコンソールアプリ(EXE)を1つずつ作りました 同じログイン状態からコマンドプロンプトを2つ起動して動かせばイベントが送れるのですが リモートデスクトップなどを利用して、別々のセッションとしてWaitOne側、Set側を起動すると イベントがとれないようです こういった場合、何かを設定しないといけないのでしょうか?
EventWaitHandleSecurityでどうにかなりそうだな
146 :
デフォルトの名無しさん :2009/01/05(月) 20:37:30
OpenFileDialogで読み込んだファイルのパスってどうやって取得できますか?
は?
>>144 Global\ プレフィックスが必要とか?
アプリケーションの発行ウィザードで作成されたファイルには DLLとかもあるみたいだけど、知り合いとかに配ってもいいの?
コードが長くなって見にくいので改行したいのですが、コード内での改行はどうやればいいんでしょうか?
>>149 Redist.txt に載ってる、あるいは、自分で作ったものなら。
>>150 改行するときは、"_" を使う。
MsgBox( _
"改行")
みたいに。
152 :
150 :2009/01/05(月) 22:35:35
153 :
デフォルトの名無しさん :2009/01/05(月) 22:45:21
If Not (ooo.Image Is Nothing) Then って日本語でいうとどういう意味?
処理の意味が知りたいのか?
155 :
113 :2009/01/05(月) 22:58:26
>>119 おかげさまでバグは減りました。ライブラリ機能はヒマを見つけて勉強してゆきます。
さて、
コードを参考になおしたんですが、未だ「ファイルにアクセス出来ません」というエラーがでる。
参考コードのbitmapはすでにファイルとは関連のない画像になっているはずで、ファイルのロックは
かかっていないという解釈ですが、何故エラーするのかイマイチわかりません。
ピクチャボックス以外で、たとえば
System.IO.Directory.GetFiles とかでもロックかかるケースあるんでしょうか?
ピクチャ関連ってみんなも詰まったところじゃないかな?難しいよ。
>>153 もし変数oooが参照しているオブジェクトのImageプロパティの値がNullでなければ
いや詰らないから。煽り抜きで。 自分の勉強不足を棚にあげてよくそういう厚顔なことが言えるもんだ。 ちなみに、そりゃファイルにアクセスできないケースなんていくらでも 考えられるだろ。
>>155 >ファイルのロックはかかっていないという解釈ですが、何故エラーするのかイマイチわかりません
その解釈が間違っているから。
openfiles とか Process Explorer とかで確認してみればいいじゃん。
文字の結合ってできますか? aa + bb =aabb みたいな string型じゃ"+"も"&"もダメって言われてしまいます
>>160 そういう質問はもうちょっと恥ずかしげに書けよ。
つーかこれで恥ずかしいって意識がないんだから凄いよ
さすがに初心者サイト見て来い、って言いたくなるな。 せめてダメだったコードを晒せ
>>155 GetFilesは掛からないと思う。
今出てる情報だとBitmapのDispose忘れぐらいしか想像付かないな。
ちなみにBitmapはヘルプにロック掛かるって書いてある。
適当に流し読みしてると見逃してしまうが。
掲示板じゃ「○○」のやり方は教えられても、バグは君が生み出したものだから
最終的に君にしか解決出来ないのだよ(バグじゃないのかもしれないが)
すべてのアプリを終了したりWindowsを再起動するのはどう書くの?
ggtytzks ナニコレ
>>166 エスパーすると「ググってやったぞカス」ってカンジじゃねーの?
168 :
113 :2009/01/06(火) 21:17:21
>>163 ありがとうございます。
今早速デバッグ行っています。糞むかつく事に、家のPCではバグが発生しません。
で、会社のPCで実行するとエラーします。くやしい。
169 :
デフォルトの名無しさん :2009/01/07(水) 00:13:46
漏れも家では動くが 会社のPCだと実行エラーが出たりする .NETも入れてあるのに (´・ω・`)
こんにちは。質問させて頂きたい事があります。 Visual Basic 2008 XP環境です。 VBでマウス・キーボードを操作し、インターネットブラウザ上で作業させたいと思っています。 マウスを指定した座標に動かす事は出来たのですが、クリックやキー入力をどう書けばいいか解りません。 インターネットブラウザは、別のFormにWebBrowserで作成したものを想定しています。 是非ご教示願います。宜しくお願いします。
VBでマウス・キーボードを操作し、インターネットブラウザ上で作業されたくない
DOM読みに行ったほうがいいと思います
プログラミング初心者向けのVB.NET入門の必読書ってどのあたりですかね?
Killだけじゃダメなん? −−−−−−−−−−−−−−−−−−− hProcess.Kill() hProcess.Close() hProcess.Dispose()
Private Const MaxValue As Long = 10 ^ 18 - 1 999,999,999,999,999,999を定義しようとおもったのですが、 MaxValue=1000000000000000000 となってしまいます。 なんか勘違いしてそうな気がするんですが、 どうしても理由がわからないです。 何がいけないのでしょうか?
^演算は強制的にDoubleに変換されてDoubleとして結果が返る Doubleの有効桁数は15-17程度だから10^18-1を表現しきれない
>>176 なるほど
そういうことですか。
15桁では正しく結果がとれたので
なんでだる?と思ってたのですが。
特に表記上の都合だけなので、式にしないて指定することにします。
どうもありがとうございました。
いらぬツッコミかもしれないが、 Long.MaxValue を使っちゃだめなの?(値は999,999,999,999,999,999じゃないが)
Private Const MaxValue As Long = 1E18 - 1 じゃだめなのか?
>>178 10^18-1を表現したいんだから全然関係ないんじゃないか
10^15-1って言ってるから10進数3桁ごとの最大値がほしいんだろう多分
>>179 E表記は非整数値、つまりDouble扱い
10^18にせよ1E18にせよCLngしてから-1しないと駄目だね
181 :
デフォルトの名無しさん :2009/01/10(土) 00:57:23
ListViewにチェックボックスを表示しているのですが、 普通のチェックボックスのイベントのように Checked_Changeイベントが一覧にないのですが、 そのようなイベントを受け取るにはどのような定義をすればよいですか?
最新の.NETのバージョンはいくつ?
>>181 1) MSDNライブラリのListViewのメンバ一覧のページを開く。
2) [CTRL] + Fを押して"check"で検索してみる
184 :
デフォルトの名無しさん :2009/01/10(土) 02:59:27
フォームの継承は避けたほうがいいですか?ぐぐると地雷っぽいので・・・ フォームのデザイン統一するのに便利なので仕様書に画面イメージ 載せるのに使ってるのですが。コーディングはこれから
185 :
デフォルトの名無しさん :2009/01/10(土) 09:41:01
>>184 日本語で(ry
Formクラスも単なるControlクラスを継承した
クラスにすぎないことを理解していれば問題ない
地雷っぽいとか言ってるなら止めたほうがいいかも
フォームエディタの動作の話だろ
デザイナで作ったフォームをさらに継承する話だろ デザインを統一するなら共通部分だけを持たせたフォームを作って 違う部分だけユーザーコントロールとして差し替えるのが普通だよ
Dim Do as Double Do=99.99 この0.09を切り捨てて99.9にする方法がわからない
>>189 算数です。
10倍して少数以下切り捨ててから10で割る
切捨てがわかぁらああない
Math.Round()
電子計算機は2進数だから10進数の小数の演算は大変だな。
194 :
デフォルトの名無しさん :2009/01/12(月) 01:00:15
StreamReaderオブジェクトを使って、Shift-JISで2バイト文字のあるファイルを開いて 読み取ると文字化けします。どうすれば解決できますか。 Private Sub TamesiCode013() Dim strFileName1 As String Dim StreamReader1 As System.IO.StreamReader Dim strData1 As String Dim VbMsgBoxStyle1 As MsgBoxStyle Dim VbMsgBoxResult1 As MsgBoxResult strFileName1 = "D:\n013\otsu.txt" StreamReader1 = New System.IO.StreamReader(strFileName1, System.Text.Encoding.ASCII) strData1 = "" Do Until StreamReader1.Peek = -1 strData1 &= StreamReader1.ReadLine & vbCrLf Loop StreamReader1.Close() StreamReader1 = Nothing VbMsgBoxStyle1 = MsgBoxStyle.Information VbMsgBoxResult1 = MsgBox(strData1, VbMsgBoxStyle1) End Sub
>>194 ASCII じゃなくて、Shift_JIS を指定する。GetEncoding(932) とか。
おかげで解決できました
マスラウンドのいんすううがどれをえらぶのやら
なるほろ
便乗
>>198 整数に切り捨てる場合でも Int より Floor のがいい?
ネタか本気で書いてるのかわからんけど、Floorだって切り捨てじゃないよ。 っていうかIntってそれひょっとしてVB6互換関数? だったらそれって銀行丸めじゃなかったか?
丸め部分を集めたら金持ちになれるんだな
>>200 負数のとき 0 方向に丸めるなら Math.Truncate、
値の小さい方に丸めるなら Math.Floor、
大きい方に丸めるなら Math.Ceil、
Int や Math.Round は銀行丸め。
204 :
203 :2009/01/12(月) 13:27:35
× Math.Ceil ○ Math.Ceiling
Math.Roundが銀行丸めと言い切る奴は随分古い知識
下らんことを得意げに突っかからないでもよろしい。
207 :
デフォルトの名無しさん :2009/01/12(月) 14:54:20
どなたかわかる方がいましたらお願いします。 Accessで作成したクエリをストアドとしてVBから呼び出しているのですが、エラーがでます。 エラーメッセージでは「Replace関数が未定義です」みたいなことを言われます。 クエリの内容は以下です。 SELECT name, * FROM CUSTOMER WHERE replace(name), " ", "") Like "*" & [なまえ] & "*"; VBから呼び出す場合にはReplace関数は使えないのでしょうか? 開発環境: WindowsXP Visual Studio 2008 Express Access 2003
スレッドに関してわからないことがあります。 以下の関数を作ったのですが、直接呼び出すのと、 スレッドを立てて呼び出すので挙動が異なります。 private sub open() Dim mop As MCI_OPEN_PARMS Dim Result As Integer mop.lpstrElementName = "hoge.mp3" mop.lpstrDeviceType = "MPEGVideo" Result = mciSendCommand(0, MCI_OPEN, MCI_OPEN_ELEMENT Or MCI_OPEN_TYPE Or MCI_WAIT, mop) If Result <> 0 Then 'エラーメッセージを取得して表示します。 Dim Buffer As String = New String(Chr(0), 255) Dim ErrorMessage As String Call mciGetErrorString(Result, Buffer, Len(Buffer)) ErrorMessage = Replace(Replace(Buffer, Chr(0), ""), " ", "") MsgBox(ErrorMessage, MsgBoxStyle.Exclamation, "Error " & Result) End If MsgBox(mop.wDeviceID) mciSendCommand(mop.wDeviceID, MCI_CLOSE, MCI_WAIT, IntPtr.Zero) end sub
209 :
208 :2009/01/12(月) 15:35:48
Me.open の場合は必ずmop.wDeviceIDを取得するのですが、 Dim thread As System.Threading.Thread = New System.Threading.Thread(AddressOf play) thread.Start() とした場合は、一度目は失敗して「指定されたデバイスドライバの読み込み中に不明な問題が発生しました。」 とmciGetErrorStringでエラーメッセージを取得します。 二度目からはmop.wDeviceIDを取得します。 スレッドに慣れていませんので、 理由がわからないといった状況です。 どなたか分かる方教えていただけないでしょうか?
210 :
208 :2009/01/12(月) 15:36:39
申し訳ございません。 スレッドを呼び出すコードは以下の間違いです。 Dim thread As System.Threading.Thread = New System.Threading.Thread(AddressOf open) thread.Start()
211 :
デフォルトの名無しさん :2009/01/12(月) 21:01:18
リッチテキストボックスで文を縦書き表示にするにはどうするんだろぅ
213 :
200 :2009/01/13(火) 11:15:07
214 :
203 :2009/01/13(火) 13:45:19
CInt(-1.5) が-1か-2かがはっきりせんでわないか
217 :
200 :2009/01/13(火) 16:17:48
まあよくあることですから 自分の張ったURLをよく読みなおしたら、Int と Floor に差はないようです。
>>208 良く分からんけど、mciSendCommand()ってDllImportで使ってるんだよね?
その関数の宣言ってどうなってんの?Shared Functionになってる?
あと引数に渡してる列挙型だか構造体だかの宣言も同様にShared宣言かな?
とりあえず全部Sharedにしてみるとか。んで別スレッドから呼び出すときは静的に呼び出してみる。
メインスレッドでインスタンス化したクラスのメンバ関数を別スレッドから呼び出してるのが具合悪いとかかもしれない。
全然自信ないが。。。
>>218 > その関数の宣言ってどうなってんの?Shared Functionになってる?
> あと引数に渡してる列挙型だか構造体だかの宣言も同様にShared宣言かな?
DllImportならSharedにしないとコンパイルできないしDeclareなら自動的にShared
型の宣言にSharedも何もないし渡す構造体のメンバがSharedじゃ値を渡せない
自分とこだとOpenしてCloseするだけなら問題ないんで助言できないけど
MCIは別スレッド立てて動かす気が起きないなぁ
MCI自身を非同期で動かせるわけだし
CIntとCFixという関数があるのかね
CFix はないよ。CInt は CDbl とかの仲間でデータ型変換の関数。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim STR_PAS, STR As String STR_PAS = ”C:\sample.txt” Dim textFile As String = STR_PAS Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(932) Dim lines As String() = System.IO.File.ReadAllLines(textFile, enc) ←エラー ・ ・ ・ End Sub とした際に、「←エラー」部分に ボタン1をダブルクリックすると、System.IO.IOException エラーとなってしまいます。 処理の後に System.Threading.Thread.Sleep(5000) としても、改善されません。 何とか例外処理を回避する方法はないでしょうか?
>>222 君ってプログラマの才能ないってよく言われないかマジで?
エラーメッセージぐらい読もうな
一回 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim STR_PAS, STR As String STR_PAS = ”C:\sample.txt” Dim textFile As String = STR_PAS Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(932) Dim lines As String() = System.IO.File.ReadAllLines(textFile, enc) Catch ex As Exception MessageBox.show(ex.GetType.ToString(),"") End Try End Sub でやってみような。な?
全然、解決になってないな。
型表示してどうしようと・・・
228 :
デフォルトの名無しさん :2009/01/14(水) 01:00:54
ツールボックスの中にAxWebBrowserが無くなってしまったのですが これはどうすれば出すことができますか?
そもそもAxWebBrowserははじめから表示されてるわけじゃないだろ 表示するときどうやったか思い出せ
>>225 それやるくらいなら
Try
dim btn as Button = DirectCast(sender, Button)
btn.Enabled = False
:
: 今やってる処理
:
Finally
btn.Enabled = True
End Try
の方がまだまし。
232 :
デフォルトの名無しさん :2009/01/14(水) 14:29:00
Dim lngVal As Long ' lngVal = 1000000100 lngVal = 1000001000 If (lngVal And 1000000000) = 1000000000 Then Label1.Text = 1 Else Label1.Text = 0 End If すいません、2008Expressを使用しています。 このプログラムで表示の値が0になってしまうのは何故でしょう? コメントにしている値なら1になるのですが。 Long型の最大値も超えていないので、原因が思いつきません。 よろしくお願いします。
両方が真のとき真だろうがボケ
2進数って分かる?
&H
236 :
232 :2009/01/14(水) 14:48:46
>>233 1000001000と1000000000のANDは1000000000ですよね。
それのイコールだから真になるはずと思って書いたのですが、動作しませんでした。
>>234-235 確かに16進数で書いたほうが、値は見やすくなりますね。
10進数でANDは使えないのですか?
ビット演算はビット同士の演算であって桁同士の演算じゃない
238 :
232 :2009/01/14(水) 15:09:12
>>237 やっと理解できました、ありがとうございます。
他で動いていたのは偶然のような物だったのですね。
×偶然のような物 ○偶然
他で動いてたのには &B が付いてただろ・・・? 他人のせいにするなよ
241 :
デフォルトの名無しさん :2009/01/15(木) 00:12:19
VB.NET2003なんだけどHTMLのタグを取得したりオブジェクトの操作をする
ソース書いたけど間違ってるのかな?
Dim doc As mshtml.HTMLDocument
Dim IE As SHDocVw.InternetExplorer
IE = New SHDocVw.InternetExplorer
IE.Visible = False
str_url = "
http://www.yahoo.co.jp "
IE.Navigate(str_url)
While (IE.Busy)
End While
doc = IE.Document
me.textbox1.text = doc.body.innerHTML
doc.all.item("Hoge", 0).Checked = True
うまく説明できないけど、アドレスはとりあえずyahooだけど
本当はフレームタグに文字突っ込んだり
JavaScript操作したりページ変移したりしてるんだけど
最後の1文でよくページが開けませんってエラーが出る
プログラムの組み方が間違ってるのかな?
知らん
先輩方お願いします! TreeViewで3階層でノード入れて表示させてるんすけど 3階層目を非表示にする事とかってできないすかね?
コレクションから削除する
コピペ君って馬鹿だな、まで読んだ。
プログラミング素人です VB2008で入力された文字列の先頭が数字ならOKと吐き出すプログラム作ってたんですが 数字だからな動くんですが、数字以外が入ると「Stringから型Doubleへの変換は無効です」とエラーがでます Dim a As String = TextBox1.Text Dim b As String = box.Chars(0) If sen = 0 Or 1 Or 2 Or 3 Or 4 Or 5 Or 6 Or 7 Or 8 Or 9 Then Label1.Text = "OK" Else Label1.Text = "NG" End If なぜでしょうか?
Stringから型Doubleへの変換は無効だからです
>>248 この場合どのようにすれば該当エラーを回避できるのでしょうか?
Double型は数字以外入れられない。 初心者サイト読んできなさい。 つーか張ってるコードが不適切過ぎるだろ。 どれがdouble型の変数なのか書いてない、 どこでエラーが出てるのか書いてない aもbも利用してないし senの定義も書いてない。 プログラミング素人以前に、他人に説明する場合に何が必要なのかがわかってない。
何がわかってないとかはいいけどよ 素人なら初心者になってから質問しろ 型もわからないようじゃ回答のしようがない
>>250 すみません
間違って弄ってる途中の張ってました
ついでに初心者サイト読んできます
Dim a As String = TextBox1.Text
Dim b As String = a.Chars(0)
If b = 0 Or 1 Or 2 Or 3 Or 4 Or 5 Or 6 Or 7 Or 8 Or 9 Then ←ここでエラーが出ます
Label1.Text = "OK"
Else
Label1.Text = "NG"
End If
Char.IsDigit使え
VB初心者サイトで基本読んで来い 基本が足りなすぎて質問するレベルじゃない
>>252 VB.NETになってからはSelect Caseしか使えなくなった
256 :
デフォルトの名無しさん :2009/01/17(土) 14:56:49
そのサイトはVB6のサイト。
VB6以前とVB.NET以降は別物と思った方がいいです。
>>2 にあるもっとまともなところで基礎から学んでください
258 :
256 :2009/01/17(土) 15:11:22
激しく亀レスしたorz ごめん
許しましょう。
ツリービューを使ってディスク内のファルダ、ファイルを表示する エクスプローラみたいな奴を作ろうとしてるんだが… XMLが必要なのか? ツリー自体は構築できるが、ノードのパス返す部分がどうにもわからん。
XMLなぞ使わんぞ。 TreeNode.FullPath が使いたいのか?
VB6は長年使ってましたが、VB.NETは初心者です。 PrintDocument使って印刷しようとしてるんですが、どうも余白の動作がおかしいです。 用紙はA4なのでPageBounds.Width=1169 PageBounds.Height=827となっています。 余白はデフォルトのままなので、上下左右1インチになっているのですが、 実際にプリンターに出力すると、左余白が3.1_、右余白が1.9_、上余白が3.2_、下余白が1.8_となってしまいます。 左右と上下それぞれの余白を合計すると5cmとなり約2インチなので合計は合うのですが、配分がおかしいです。 ちなみにPDFやプレビューに出力すると余白が均等になるようです。 原因分かる方いますか?
プリンタの挙動としか言いようがない
取り敢えずは適当に余白設定してみてどんな挙動示すか調べるところからだな
267 :
264 :2009/01/19(月) 17:14:24
>>265-266 ページプリンタを2台使ったり、別のPCでもいろいろ試しましたがさっぱりです。
新規プロジェクトでForm1にButton1とPrintDocument1を貼り付けて、下記のコードを実行するだけでもおかしいです。
これで他の方は普通に出力されるとするとわたしの環境のプリンターが2台ともおかしいということでしょうか。
ちなみに環境はWinXpProSp3、VisualStudio2008、Framework2.0です
Imports System.Drawing.Printing
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' 余白にそれぞれ10mmを1/100インチにした値を設定
PrintDocument1.DefaultPageSettings.Margins = New Margins(39, 39, 39, 39)
PrintDocument1.Print()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
' 余白との境界の矩形を出力
e.Graphics.DrawRectangle(Pens.Red, e.MarginBounds)
e.HasMorePages = False
End Sub
End Class
>>267 VB2005で試してみたけど
うちのプリンタじゃ右と下が切れるな
XPSファイルだと四角が表示される
やっぱプリンタの印刷可能領域だと思うが
>>264 プリンタに設定した余白 (綴じ代) じゃね?
>>267 プリンタのデバイス座標の原点は、用紙の左上ではなく
プリンタの物理的な印刷可能領域の左上(いわゆる「フチ」の内側)だよ。
.NET2.0からはプリンタの物理的な印刷可能領域が取得できるようになってたはずだから、
フチの部分のズレを補正する(つまり用紙の左上を原点とする座標を使う)こともできる。
>>262 最近この手のチラシの裏的な書き方をするヤツが増えてる気がするんだが、
変なプライド持ってて質問することが出来ないタイプ?
社会出てそれだとちょっと困ったちゃんだぞ。
確かに違和感は感じるけど、あえて突っ込むほどのことか?w まあブログの影響なんじゃないのかな。 別に意味不明ってこともないからそういう表現法があってもいいんじゃないの別に。
UPDATE テーブルA LEFT JOIN テーブルB ON テーブルA.CD = テーブルB.CD SET 〜を実行すると、 キーワードLEFT付近に不適切な構文があります。というエラーになりました。 UPDATE文の中に結合を組み込んではダメなのでしょうか? 同じSQL文をACCESSで実行するといけるんですが…。 どなたか教えて下さい。よろしくお願いします。
277 :
273 :2009/01/20(火) 00:47:22
スレ違いごめんなさい。 データベース板に行きます。 ありがとうございました。
Web検索などしてみたのですが探し方が悪かったためか見つからず。ここで質問させてください VS2005のDataGridViewでデータを表示させた後、とあるセルがユーザによって変更されたかどうかを 確認する手段はあるのでしょうか? 本来であれば、入力があった時点でのイベントを捕まえておけばよいのですが 別の理由でそれができません Cellのプロパティーなどで後から変更があったことを見たいのですが何か手段はありませんでしょうか
状況がよく解らん (イベントが取れない理由も含めて) が、少なくとも DataGridView とその内包するオブジェクトでは行単位の更新状況しか取れん。 バインドされたデータがあれば、そっちが保持してるかも知れんが。
280 :
264 :2009/01/20(火) 10:57:41
>>268-270 レスありがとう。
やはり印刷可能領域を考慮して自分で正しいMarginBoundsを求めないといけないようです。
まだ少しズレはありますが、大分マシにはなりました。
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim newMarginBounds As Rectangle = New Rectangle(e.MarginBounds.Left - e.PageSettings.HardMarginX, _
e.MarginBounds.Top - e.PageSettings.HardMarginY, _
e.MarginBounds.Width, e.MarginBounds.Height)
' 余白との境界の矩形を出力
e.Graphics.DrawRectangle(Pens.Red, newMarginBounds)
e.HasMorePages = False
End Sub
せっかく引数で余白の内側渡してくれるんだからその辺は考慮しておいてくれればいいのに。
>>278 PropertyChangedを使えばできるかもしれないけど
とりあえずそういう設計自体を見直した方が良いと思う
282 :
デフォルトの名無しさん :2009/01/21(水) 00:59:22
アニメーションGIFのファイルをPictureBoxなどで表示する際、色のトーンを
ハーフトーンにしたいのですが、どのように行なうのがよいかご指導をお願いします。
マルチTIFFやアニメーションGIFに含まれるすべてのイメージを表示する .NET Tips C#, VB.NET
http://dobon.net/vb/dotnet/graphics/selectactiveframe.html を参考にして、フレームをめくってGetPixel()で取った色の値をアルファ値
を入れてひとつひとつ変更しようとしましたがうまくいきません。
'FrameDimensionを取得
Dim fd As New FrameDimension(AnimationImage.FrameDimensionsList(0))
'フレーム数を取得
fd_count = AnimationImage.GetFrameCount(fd)
For i As Integer = 0 To fd_count - 1
'フレームを選択
Rv = AnimationImage.SelectActiveFrame(fd, i)
If Rv = 0 Then
For x As Integer = 0 To AnimationImage.Width - 1
For y As Integer = 0 To AnimationImage.Height - 1
pixelColor = BufImage.GetPixel(x, y)
newColor = Color.FromArgb(128, pixelColor.R, pixelColor.G, pixelColor.B)
AnimationImage.SetPixel(x, y, newColor)
Next
Next
End If
'次のSelectActiveFrame()で変更が消えないように毎回保存
AnimationImage.Save(fpathB, ImageFormat.Gif)
Next
このように処理した AnimationImage を使ってPictureBoxなどにImageAnimator
クラスでアニメーション表示してみましたところ、最初の1サイクルだけ、同じフレーム
をハーフトーンで表示していたかに見えるのですがそれ以降は元のトーンに戻って
いました。何卒よろしくお願いします。
283 :
デフォルトの名無しさん :2009/01/21(水) 01:07:08
284 :
282 :2009/01/21(水) 01:49:33
一応補足します。
>>282 の部分は前もって処理しておいてから、その後で、
ImageAnimator.Animate() して動かしていました。これのDOBONサイトを見て
行ないました。最初の1サイクル分ぐらいの時間は、同じフレームがハーフトーン
で表示されてアニメになっておらず、その後は元のトーンでアニメちなって表示
されていました。これはActiveフレームが正しくめくられていないのでしょうか・・・。
ListViewでアイテムを選択してスクロールして選択したアイテムを表示の外にして Buttonを押すとその選択されたもの(この場合10)がListViewの一番上に出て 選択されて青い状態で表示して欲しいのですが、どうしても灰色の状態になってしまいます。 どうしたら青くなるでしょうか 現在下のようなことを試してみたのですがダメでした。 よろしくお願いします。 ListView1.EnsureVisible(ListView1.Items.Count - 1) ListView1.EnsureVisible(10) ListView1.Items(10).Selected = True ListView1.Select() ListView1.Refresh() ListView1.Focus() Me.Activate() Me.Refresh() Application.DoEvents()
>>285 ListView1.SelectedItems(0).EnsureVisible()
ListView1.Focus()
AxWebBrowserで再生が終わったことはどうやって知ればいいのだろ
何の再生だよ 何使って再生してんだよ
>>288 あ、ゴメ AxWindowsMediaPlayerだった
取り敢えずイベント全部調べてみれば
フォームのTransparencyKeyを指定しない場合はAxWindowsMediaPlayerでの再生は 正常に行われるのだけど、一度TransparencyKeyをセットすると、TransparencyKeyに Color.Emptyとやっても正常に再生出来なくなるのだけど、TransparencyKeyのリセット ってどうすればいいのでしょう
293 :
デフォルトの名無しさん :2009/01/23(金) 13:27:16
フォーム上のテキストボックスをマウスで移動させてかつ、フォームから はみ出ないようにするにはどうすれば良いでしょうか? Private Sub TextBox1_MouseDown(ByVal sender・・・ ' 左クリックの場合 If e.Button = Windows.Forms.MouseButtons.Left Then '移動前の位置を記録 startX = e.X startY = e.Y End If End Sub Private Sub TextBox1_MouseMove(ByVal sender・・・ If e.Button = Windows.Forms.MouseButtons.Left Then ' コントロールの取得 Dim control As Control = CType(sender, Control) ' コントロールの位置設定 If control.Left + e.X - startX + TextBox1.Size.Width < Me.Size.Width Then control.Left = control.Left + e.X - startX control.Top = control.Top + e.Y - startY Else control.Top = control.Top + e.Y - startY End If Me.Refresh() End If End Sub 移動する段階ではみ出ないようにしたいです。 よろしくお願いします。
294 :
デフォルトの名無しさん :2009/01/23(金) 13:30:18
>293 補足で右端はできているのですが上下と左のやり方が良くわかりません。 参考にして色々考えたのですがなかなかうまくいきませんでした・・・。
Dim FormWidth As Integer = Me.ClientSize.Width Dim FormHeight As Integer = Me.ClientSize.Height でロケーション領域のサイズ取得して 条件文で判断とかは? コントロールするやつのサイズを取得して引けば右上、右下、左下はいける
メインフォームのなかに子フォームがあって子フォームはウィンドウサイズが変えられたり最小化できたりするのはどうやるんだろう。 ふつうのアプリはフォームを開くたびにウィンドウズタスクバーにフォームアイコンが追加されていってシマフ
MDI? 個人的には嫌いだが
「VB.net MDI」でぐぐれば色々でてくる。
299 :
デフォルトの名無しさん :2009/01/23(金) 19:04:45
>>295 一応条件文を作ってみたのですがなかなかうまくいきませんでした。
右下にくっついてる状態だとそのまま下にはみ出てしまい思うように動きません
物分りが悪くて申し訳ないです。
If control.Left + e.X - startX + TextBox1.Size.Width < Me.Size.Width Then
If control.Top + e.Y - startY + TextBox1.Size.Height > FormHeight Then
control.Left = control.Left + e.X - startX
Else
control.Left = control.Left + e.X - startX
control.Top = control.Top + e.Y - startY
End If
Else
If control.Top + e.Y - startY + TextBox1.Size.Height > FormHeight Then
control.Left = control.Left + e.X - startX
Else
control.Top = control.Top + e.Y - startY
End If
End If
300 :
デフォルトの名無しさん :2009/01/23(金) 21:07:59
ExcelにおけるVBAについてなのですが、 IXMLDOMで定義されたオブジェクトで、求めているキー/値にたどり着くために item.ChildNodes(5).Attributes.Item 1.Text このように、途中で半角のスペースの入っているところを通らなければいけません。 しかし、このまま実行するとエラーとなってしまいます。 どうすれば、うまく参照できるのでしょうか?
VBAはすれ違い
Attributes["item 1"]とか
XMLの属性名に半角スペース?
304 :
デフォルトの名無しさん :2009/01/23(金) 21:40:41
属性名ではないのですが、Excelが勝手に Item 1 と割り振ったのです。。。
305 :
デフォルトの名無しさん :2009/01/23(金) 23:10:33
教えてください。 ドラッグドロップについてなのですが ドラッグ元のコントロールでドラッグの終了を検知する方法は無いでしょうか? よろしくお願いします。
DoDragDropから返ってくるだろ
>>306 ありがとうございます。
DoDragDropメソッドが値を返してきたら終了したってことなんすね。
助かりました。
Socketでファイル転送を試みています。 SocketクラスのSendFileメソッドを使ったのですが4KBずつの送信になっているようで遅くて困っています。 このメソッドはそういうものなんでしょうか?
VB6でつかってたフォームに黒い線をひくコントロールがみつからない
PowerPack でも使えば?
フォームに黒い線をひく(笑)コントロール(笑)
VB6では確かにLineコントロールがありましたね。 .NET 2003で確認したんですけど 確かに見あたりませんね。
PowerPackやVisualBasic.CompatibilityはDLL配布になるからあんまり使いたくないな。
Compatibilityは.NET標準のはずだが DLLが嫌って観念は理解できんなぁ regsvr32が必要とかってわけでもないのに
嫌なら自分でユーザーコントロール作ればいい。 数分もあれば出来る内容だぞ。
LabelコントロールのAutoSizeをfalseにして BorderStyleをFixedSingleにすりゃいいんだけどな んで高さを1pxとかにする
いかにもVBらしいやり方だな
>>318 新米プログラマ?w
VBに限らない昔からのテクニックだぞ。
それで斜め線も描けるの?
ユーザーコントロールで自分で描けばなんでもOKだよ。 背景透過してね。
VB2008EEを使っています。
自作コントロールに自作プロパティをつけました。
このプロパティはコレクション型で(仮にプロパティ名Hoges、HogeCollection型とします)、
デザイン時にプロパティウインドウから編集できるようにUI 型エディタを実装しました。
ttp://msdn.microsoft.com/ja-jp/library/53c49eck (VS.80).aspx
ここからが質問です。
現在プロパティウインドウのHogesの値のところにはHogeCollectionと表示されています。
これをコンボボックスのImtesプロパティのように"(コレクション)"と表示したいのですが
どうすればいいのでしょうか。
よろしくお願いします
MouseDownイベントをキャンセルする方法はないでしょうか? e.cancel = ture exit sub こんな感じでできないでしょうか?
>>323 何のクラスか知らんけど、派生させて OnMouseDown オーバーライドしといて
基底クラスの OnMouseDown を呼ばなきゃいいんじゃね?
KeyDownとKeyPressどっちつかうの?
Public Class CustomControl1 Inherits DataGridView とやってみたんですが CustomControl1' に指定された基本クラス 'System.Windows.Forms.DataGridView' は、その他の partial 型の 1 つである基本クラス 'System.Windows.Forms.Control' と異なることはできません。 というエラーが出てしまいます。 なぜでしょうか?
330 :
デフォルトの名無しさん :2009/01/26(月) 11:45:21
.NET 2003を使用しています。 WebFormからMicrosoft Office Access2003へ書き込みをする方法はありません?
あります
332 :
デフォルトの名無しさん :2009/01/26(月) 12:42:12
>>331 あるんですか!わかりました!ありがとうございます!!!
* * * + うそです n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
334 :
デフォルトの名無しさん :2009/01/26(月) 13:13:22
WebFormからの意味がわからんけどADO.NETで書けるでしょ
できないことはないけど、よく壊れるからおすすめはできない。 普通に、SQL Server にしなよ。
>>337 左にある[+]をクリックしたことがないというオチだったらぶっとばす。
VB6.0からの移行を考えているんですが 2005にするか2008で行くか悩んでいます 2008と2005にはそれほど大差が無いような記述が多いのですが どうせ1から始めるなら2008でも良いのでしょうか?
>>340 2008の方が良いのでは?
来年の年明けぐらいにVisual Studio 2010がでますよ。
2008でも.net framework 2.0のアプリケーションが作れるからねー
VisualBasic.5.0 で実行できたプログラムが突然実行できなくなり、実行すると以下のようなエラーメッセージ が表示されてしまいます。 ”0x77fcc7a8"の命令が”0x317e4ebb"のメモリを参照しました。メモリが”written”になることはできませんでした。 プログラムを終了するには[OK]をクリックしてください。 プログラムをデバックするには[キャンセル]をクリックしてください。 と表示されます。 これを改善するにはどのようにすればよいのでしょうか??
VB2008で作り直せというもって行きかたならここでいいじゃないか(笑
346 :
デフォルトの名無しさん :2009/01/27(火) 19:01:24
親切にありがとうございます。
質問してもいいですか
Visual Basic 2005 XP環境です。
ttp://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=6827&lngWId=10 これをDLしてソースを弄ろうとしたのですが、ボタンの位置や、テキストを変更するだけでもエラーが発生します
エラー名
HANDLES 句には、それを含む型または基本型の 1 つで定義された WithEvents 変数が必要です。
こんなエラーが複数でるのですが解決する方法はありませんか?
今までボタンの位置などを変えるだけで実行できないなんてことはなかったのでセキュリティとかかかってるのかなーと思いまして
ソースにこんな一文が書かれ、これかな?と思いましたけど何を弄ればいいのかわかりません
To change this template use Tools | Options | Coding | Edit Standard Headers.
スレチとかだったらごめんなさい。
プロジェクとごとzipでうpれ
連投ごめんなさい
351 :
デフォルトの名無しさん :2009/01/27(火) 20:19:42
実行してもふつうに音楽が再生されるが何か
sage
>>347 ダウンロードしてちょっとフォーム弄っただけでビルド通らなくなるな。
原因は文字通りWithEventsがないのが原因だが、なぜ弄る前はビルド通るのだろう?
対応策は、それぞれ*.Designer.vbの最後のほうのコントロールの定義を
Private btnOK As System.Windows.Forms.Button
↓
Friend WithEvents btnOK As System.Windows.Forms.Button
こんな風に変換するだけ。
このプロジェクトはSharpDevelopで書いたようだな。
Visual Studioではそもそもちゃんと読めないのかもしれない。
「実行して動かない」って質問じゃあないと思うんだが
>>351 これをボタンの配置とか少しでもずらしたら変えたら使えなくなりませんか?
もしかして自分の環境がおかしんですかね?
書くなら14秒早く書け、俺…orz
>>353 ありがとうございます!
初心者ながら奮闘してみます!
名前付け忘れと連投すいませんでした
>>343 エスパースレでもそれは難しいだろ。
以前実行出来てたのなら、再インストールするなり
以前とどこが環境が変わったのか整理してみたほうがいい。
>>339 まさにそれみたいです・・・
どうしたものか・・・
何か同じことができればいいんだけどなー。
360 :
デフォルトの名無しさん :2009/01/28(水) 01:06:08
失礼します。 VB6で動いていたdllをVB2008Expressで呼び出したところ、 「AccessViolationExceptionはハンドルされませんでした」と出てしまいました。 これは、VB2008では動かないってことでしょうか・・・?
IntegerやLongのサイズが変更されてるからそのままのソースを持ってきてもだめだぞい。 あとデフォルトByValにかわっとる。
362 :
デフォルトの名無しさん :2009/01/28(水) 01:36:08
そういえば、同じLongとかでも大きさが違いますね。 揃えてみます、ありがとうございました。
DB絡みの質問で悪いんだが .NET2005で開発してるのでここで質問させてくれ SQLServer2005に接続してるんだが ある長時間かかるトランザクション処理中に 他のクライアントから同じ処理(コマンドボタンで実行など)とすると 即座に「現在処理中です」ですのようなメッセージを出したい 最初コマンドのタイムアウトで実現しようとしたのだが 本来やりたい処理までタイムアウトしてしまったので 「Aクライアントがトランザクション処理中はBクライアントは即時にメッセージを出す」 ということがやりたい お知恵をお願いする
364 :
322 :2009/01/28(水) 02:00:58
自己解決しました。 TypeConverterを継承したクラスをHogesプロパティの System.ComponentModel.TypeConverter属性に指定したらできました。
>>363 oracleならselect * from hoge for update nowait
があるからsqlserverにも似たものがあるんじゃないかな
下記のコードでパネルにボタンを表示してスクロールできるように しているのですがスクロールバーの初期状態を 0,0 にしたいのですが できません。どうすればいいでしょうか? Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Width = 300 Me.Height = 300 Dim panel1 As New Panel panel1.Width = 250 panel1.Height = 250 panel1.Left = 20 panel1.Top = 20 panel1.AutoScroll = True Me.Controls.Add(panel1) Dim button1 As New Button button1.Left = 200 button1.Top = 200 button1.Width = 100 button1.Height = 100 button1.Text = "button1" panel1.Controls.Add(button1)
間にもう一個パネルかなんか挟む
>>365 ありがとうございます
SQLServerにもNOWAITがありました
369 :
デフォルトの名無しさん :2009/01/28(水) 16:05:38
ボリュームコントロールのWAVEを操作するのはVBでもできるけど いちばん左端のつまみはどうやったらVBから動く?
370 :
360 :2009/01/28(水) 17:20:35
>>361 VB6.0ではLongだったので、Integerにしてみましたがダメでした。
ByRefとByValは全て指定してあるのですが・・・。
この場合、後はどこを見れば良いのでしょうか?
よろしくお願いします。
Cのヘッダの定義とか晒して
372 :
360 :2009/01/28(水) 18:32:16
>>372 こういうのが怪しいな。
.. (ByVal channel As Long, ByRef b As Byte, ByRef l As Long) As Long
2番目のパラメータは実際はBYTEではなくてBYTE配列なんだろ?
その場合はこういう渡し方ではだめ。
ダウンロードしようと思ったけど、ファイルでかw
DLLにimportLibが付いてれば速攻でC++/CLIに逃げたいところ
デシマルとダブルどっちがおおきんだ
doubleは2進化浮動少数点 decimalは10進化浮動少数点で単純比較はできないが、 double 64bit, decimal 128bitでdecimalの方が大きいのとちがうか。
扱える値の範囲はdoubleのほうが遥かに大きい(10の数百乗倍)
カレンシィってのもあったような
VB7以降にはCurrency型は存在しない Decimalに移行
πはどうするんだ
3.1415.........
3でいいです
その教育方針は変更されてます
文字変数を宣言したばかりの時は カラ文字列とnothingとemptyの三つの状態なのかね?
空文字列とString.Emptyはほぼ同じで長さ0の文字列への参照 Nothingは参照自体存在しない 宣言しただけの状態はNothing
>>385 VBの比較演算子がNothingと空文字を区別しないだけ。
String.Equals(a, b)
でなくて
Microsoft.VisualBasic.CompilerServices.Operators::CompareString(string, string, bool)
を使ってる。
Dim Arr(10000) as String Arr(1) = "a" Arr(2) = "b" Arr(3) = "c" としたが またふたたびすべてのArr(i)を""にするには For i= 0 to 10000 Arr(i)="" Next と書くしかないわけなんかよ
>>388 それに不満があるなら拡張メソッドでもつかっとけ
>388 System.Array.Clear じゃダメ?
Erace Arr は?
>>388 Dim Arr() as String
redim Arr(10000)
Arr(1) = "a"
Arr(2) = "b"
Arr(3) = "c"
redim Arr(10000)
なんてどうよ?
駄目 Nothingになる
redimなんか使うなよ
>386 >宣言しただけの状態はNothing と>388が矛盾してる気がするのは俺だけか
Arr(10000) as String と書くと配列のインスタンスが自動的に作られるのは昔のVBとの互換性のためのシンタックスシュガー 宣言だけしてるわけではない
ArrayList使え
デザイン時にサイズを決めるときによくつかう黄金比って何対何だっけか
x^2 = x+1 を解くんだ
>>398 ジョジョの奇妙な冒険にその話があるよ。
1巻から探してみてくれ。
俺は数値は覚えてない。
というか、ぐぐれば幾らでも出てきたんじゃないのか
StreamReader.ReadLine メソッド で String = SR.ReadLine すると String の末端には改行コードがあるのかないのか
ヘルプ嫁
>>394 あるもの使えばいいじゃない
車輪を再発明する必要ないだろ?
dim ってdimensionのことでしょ? なんで普通の変数宣言するのにdimensionなの? 馬鹿?
>>407 dimension には物理量としての次元っていう意味があって、変数の意味 (長さとか質量とか) を表す。
同じように、Dim x As Integer なら、次元が整数であるような変数として x を定義するよ、って言ってるんじゃないかなあ、と。
ところでPrivateとDimの使い分けしてる?
してなくてもしてないなんて恥ずかしくて言えないようなことだぞw
>>409 フォーム・クラスのメンバー変数とモジュールレベルの変数はPublic/Privateで、
ローカル変数はDimというのが推奨と記憶している。
そういや、フォームにコントロール置いたときに デフォルトでFriendになる糞仕様は 2008でも同じかしら?
413 :
404 :2009/01/30(金) 11:44:55
ヘルプ読むひまがあるのはニートだけなんだが さっさと教えろハゲ
掲示板に書き込みする暇はある不思議
動けばいいんだよ こまかいこと気にするな
416 :
404 :2009/01/30(金) 11:55:13
Right(String,1)=Vbcrlfを判定すのめんどうっちいからさっさとしろ
つうかRight(String,1)=VbcrlfなのかRight(String,2)=Vbcrlfなのかびみょーだろうが
Dim SR As StreamReader = New StreamReader(TextPath, System.Text.Encoding.GetEncoding("UTF-8")) Dim line As String Do line = SR.ReadLine() Loop Until line Is Nothing --------------------------- Loop Until line = "" に書き換えるとどうなるよ
ヘイトとウィドスとレンスを英語で書きなさい ↓
hate we dos lens
HEITO、WAIDESU、RENSU
424 :
デフォルトの名無しさん :2009/01/30(金) 14:46:21
height width length
どーみてもListBoxにMoveメソッドが見当たらない件について アイテムを上や下に移動できないじゃん
アイテムを移動……?
ドラッグして順番並べ替えたいって事じゃない?
>>426 そりゃListBoxにはないだろうな。
With ListBox1.Items
Dim obj As Object = .Item(ix)
. Item(ix) = ListBox1.Items(ix - 1)
.Item(ix - 1) = obj
End With
Call はつけたほうがいいでしょうか 付けない方がいいでしょうか
Letを忘れずに付けるのが好きならCallも付けるべき。 VB6の頃は( )の扱いが微妙だったからCallを使っていたが、 ,NET以降は引数には必ず( )を付けることになったので正直いらない。
戻り値があるかどうかなんて大きな問題じゃないし見間違えようがない C系っぽく書くのが最近の主流
>>431 let i = i + 5
error BC30807: 'Let' および 'Set' 代入ステートメントは、現在サポートされていません。
アッチョンブリケ
VB6の頃はcallに意味があった。この実行結果は2になる。 結果3を期待してバグを作ることが多かったのでCallを必須のルールのプロジェクトが多かった。 Sub Hoge(ByRef i As Integer) Let i = i + 1 End Sub Dim i As Integer Call Hoge(i) Hoge i Hoge (i) Debug.Print i
TrueとFalseを書くのは労力だからフラグ用に0と1の値だけしか使わないがそれ用の数値型はないんかい
そのくらい書けよ
それ用の数値型があったとしてもTrue/Falseよりタイピング回数は多くなると思う
外部モジュールとかで const t as boolean = true const f as boolean = false でどうだろう
コード補間つかや、実質 f[tab] t[tab]だろう
A.aspxでResponse.Redirect("A.aspx")とすると、同じページでも、初めてA.aspxを ロードしたようになりますが、これを、初めてではない(複数回目)ようにすることは できるのでしょうか?
>>441 ありがとうございます。
セッション変数に何回目かをセットして、それによって処理を変更するということでしょうか?
それとも、セッション変数を利用すると、IsPostBackがTrueになるようにできるのでしょうか?
すみません。説明が足りませんでしたが、IsPostBackがTrueになるようにしたいのです。
443 :
デフォルトの名無しさん :2009/02/01(日) 00:10:06
>>442 意図がよく分からないけど、PostBackしたいならコントロールのAutoPostBackプロパティをTrueにすればいいですよ。
誘導されて来ました。 最近VB6から.netに移行したんだけど誰か助けてくれ。 データベースの質問なんだけど、TableAdapterのUpdateメソッド使っても何をどうやっても更新できない。 1:Dim dt As New DataTable, dr As DataRow 2: dt = DataSetA.CustamerMain 3: dr = DataSetA.Tables("CustamerMain").NewRow 4: dr("得意先ID") = 1 5: dr("得意先名") = "A社" 6:DataSetA.Tables("CustamerMain").Rows.Add(dr) 7:DataGrid1.DataSource = CarrigeDataDataSet.CustamerMain 8:Me.CustamerMainTableAdapter.Update(DataSetA.CustamerMain) データグリッドにデータセットの内容写してみるとちゃんと追加されてる。 この箇所だけでもう2週間悩んでるorz 誰か御助けを・・・
>
>>444 TableAdapterのことはよくわからないけど、
コミットは必要ないの?
Dim S1, S2, S3 as string = "" ができないんだけど
>>444 別のDBを見てるってことはない?
\bin\debugにBDFかSDFがコピーされててアプリはそれを更新しているはず。
データベースエクスプローラに表示されているのはソースディレクトリにあるオリジナルのほう。
>>446 Dim a As String = "", b As String = "", c As String = ""
型推論させるなら次の形式でもよい。
Dim a = "", b = "", c = ""
よく2週間も悩んでる暇があるなぁw
>>444 自分が以前作ったAccessもどきみたいなプログラムのソースからキーワードになりそうなのを抜粋。
参考になるかどうかはわからん。
DbDataAdapter
DbCommand
SqlClient.SqlDataAdapter
SqlClient.SqlCommandBuilder
SqlCommandBuilder.GetInsertCommand
SqlCommandBuilder.GetUpdateCommand
SqlCommandBuilder.GetDeleteCommand
DbDataAdapter.Update
初心者質問で申し訳ないんですが、 VB2008 express SP1 インストール(SQL Server2008 Express抜き) ↓ SQL Server2008 Express SP1 インストール これだとVB2008のサーバーエクスプローラーのデータの接続を右クリックして「新しいSQL Serverデータベースの作成」 がグレーアウトするのはデフォですか? SQL Serverサービスは開始しています。
452 :
デフォルトの名無しさん :2009/02/01(日) 11:46:49
>>444 ASP.NETの場合はDataSourceを指定した後でDataBind()する必要があるが…
関係ないか。
TableAdapterは使ったこと無いんだが .NETはデータセットに取得してもデータベースから切断された状態だったはずだよな
454 :
444 :2009/02/01(日) 18:32:47
みなさん、回答ありがとうございます。
>>445 5行目と6行目の間に
dr.EndEdit()
dt.AcceptChanges()
を記述してみたんですが、ダメでした。
>>447 両方とも更新できていませんでした。
サーバーエクスプローラから、ひとつ直接レコードを追加してみたのですが、
起動時にはそのレコードは出てきてます。
その後
>>444 を実行してみるとデータグリッドには直接追加したレコードと、
プログラム上で追加したレコードが表示されてます。
ということは、データセットには間違いなく追加されてるわけですよね?
でも肝心な更新が・・・orz
455 :
444 :2009/02/01(日) 18:33:11
>>449 いつかはつまずくだろうと思ってましたが・・・
こんなに早い段階でハマるとは、僕もびっくりですw
>>450 DataAdapterなら出来るんですが、コードをシンプルにまとめられるTableAdapterを覚えたいと思いまして。
>>452 僕のはADO.NETなので・・・
>>453 MSDNを見るとUpdateメソッドで更新のため接続してくれるそうです。
うーん、これってもしかしてコードじゃなくてほかの原因なんでしょうか?
今日本屋に行ってきまして色々貪ってきたんですが、コード的には合ってるような気が・・・
もうわけがわかりませんo...rz
Button1以外のところからButto1クリックプロシージャを実行する時って Button1_Click とかくだけだとダメな理由をのべよ いんすうをなにかかかないとだめなんだが
のべよ(笑)
>>455 これで普通に動いてるな。追加なのでFillの行は有っても無くてもよい。
XSDエディタでAdapterやDataSetを自動生成するときにしくじってるとかないの?
Using custamerAdapter As New vbdb001DataSetTableAdapters.CustamerMainTableAdapter, _
custamers As New vbdb001DataSet.CustamerMainDataTable
'custamerAdapter.Fill(custamers)
Dim custamer = custamers.NewCustamerMainRow()
custamer.得意先ID = 1
custamer.得意先名 = "A社"
custamers.AddCustamerMainRow(custamer)
custamerAdapter.Update(custamers)
End Using
>>456 Button1.PerformClick()じゃだめな理由をのべよ
460 :
デフォルトの名無しさん :2009/02/01(日) 21:08:37
5を0005に変換する関数などありましたら教えて
すみません できました。 Dim n As String = Format(5, "0000")
462 :
デフォルトの名無しさん :2009/02/01(日) 22:02:10
ああ、もう堪えられないから突っ込んじゃう "customer" な!!!!!11
VB.NETでVB6.0でいうDebug.Printってどうするんでしょうか。
>>462 ふきんき見たいなものだよ。なぜか翻訳で(ry
465 :
455 :2009/02/01(日) 22:12:15
>>458 おおおおお!
できました!
Usingとか初めて見るのでまだパッとしませんが、その辺はまた自分でじっくり勉強してみます。
今まで回答してくださった方、本当にありがとうございました。
本当に助かりました。
ちと質問させてください。。。 Webページに配置したボタンを1回クリックすると、 PageLoad → Button_Click → Button_Click って感じで、 ボタンのクリックイベントが2回連続で実行されてしまうんだけど。。。 1回で処理を終了させるにはどうしたらいいのでしょう??
467 :
デフォルトの名無しさん :2009/02/01(日) 23:16:19
System.Diagnostics.Debug.WriteLine System.Diagnostics.Trace.WriteLine Diagnosticsのつづりが難い
サブプロシージャのところはByBalでなくDimでもいんだろうか
471 :
デフォルトの名無しさん :2009/02/03(火) 00:25:01
日本g
ヴェクターで送金しなくても使用制限無しのシェアウェアを公開して5年で1700人が使ってるんだけど まだ入金が一回もないんだけど?
ネタか誤爆だろうけど ダウンロード数=使用者数じゃないだろボケ
本人ですら「ヴェクター」なんて表記してない
最初はフォームにベタ貼りだったのをタブコントロールに移行しようとすると大変じゃないか?
つ[カット&ペースト]
タブコントロールの中にフォームを開けば簡単だよ。
478 :
デフォルトの名無しさん :2009/02/03(火) 14:14:22
もっと小学生でもわかるように
フォームのモードレスとかわけわかめ
入門書を買って来い
Dim f As New Form2 f.TopLevel = False f.FormBorderStyle = Windows.Forms.FormBorderStyle.None f.Visible = True TabPage1.Controls.Add(f) ほらできた
おk
Doeventsとかくだけならまだしも Application.Doeventsと書くのに疲れちゃんだけど
そんな気軽に使うなってことだよ 使う必要ないし
DoEventsは危険すぎる
Dim i As Integerを各プロシージャに書くのは体力が持たないので Mojuru.なんとかかんとかみたいな標準モジュールに1回かくだけで 各プロシージャにしかスコープがない究極の変数ってないの?
体力が持たない(笑)
標準モジュール(笑)
vb2008からなら、ローカルのIntegerや文字列型は推論をつかってるな。 dim i = 0, j = 0, msg = "hoge"
ヴァリアントのことかい
違うよ型推論だよ VB2008でOption Infer Onにしてれば,右辺の型から型が自明な変数は型の記述を省略できる
2005のパッチファイルでそうしてほしいわビルゲイツ
パッチで言語のバージョン変わるとかありえないから
もう一回宣言するだけで変数が使えるように グローバル変数だけ使うわ これで手もつかれんだろ
ファイルのロックを解除したいんですが、 VB.netでできませんか? やりたいことは あるアプリケーションの起動中に 常にロックされているファイルがあって (安全か安全じゃないかは後で確認するとして) それをかいくぐってファイルを差し替えたいんです。
また怪しげなことを… んな事できたらもうそれは「ロック」ちゃうやろ。
WindowsUpdateですらファイルを差し替えるために 再起動を要求するというのに
方法を探していろいろ検索しているうちに 「Unlocker」というフリーソフトを見つけまして その機能の一部を再現できれば可能かと思いまして^^;
そのアプリ作ってるところにファイルロックする機能無くせって文句言え
>なお、本ソフト上で任意ファイルのロックを解除すると、そのファイルを読み込んでいるソフトが強制終了してしまうことがある。場合によってはWindowsの動作が不安定になる可能性もあるので、自己責任で利用してほしい。 こんなんでいいのかよ
497は普通の人すぎて飛躍した事は思いつかないからあきらめろ
>>503 >(安全か安全じゃないかは後で確認するとして)
とは書きましたように危険は承知の上です。
使うのは自分とコアな同志のみなので。
>>498-504 ありがとうございました。
ここには解はないようなので諦めます。
ここのやつらは 自分がそれを作る必要がでてきたらできるんだ ただいままでは作る必要がなかったからな
上でDBの質問したものなんだが SQLSERVERに対して TransactionをSerializableで実行して nowaitを付加した UPDATE HOGETBL with (nowait) SET moge = 'ABC' を発行したんだが Executeした段階でタイムアウトするまでVBの実行が止まってしまう これはSerializableのトランザクションだと「nowait」は無視されてしまうと言うことなんだろうか? ちなみにReadComittedでトランザクションかけた場合は即時にロックエラーが出た
升
Serializableなんて使ったことないよ
VBで専ブラみたいなの出来ます? 応用してみたいんですが
C# で作られてる専ブラってなかったっけ? C# でできることはほぼ可能。
プラットフォーム呼び出しでStringの配列をDLLに渡して、 戻ってきた文字の文字コードがなぜかANSIのまま なぜか文字化けしとるんよ・・・
CharSetは適切?
515 :
デフォルトの名無しさん :2009/02/03(火) 22:55:19
テキストボックスに文字(改行含めて)入力していくごとにそのテキストボックスのサイズを ちょうど入力されている文字を表示できるサイズに変更していく方法ってないですかね?
>>515 そんなUI本当に使いたいと思う?
っていうか、君以外にそんなことやってるアプリ見たことある?
Web の UI でないこともないけどな。
センドキーってのはあるフォームの特定のコントロールにおくれないの?
>>515 TextChangedイベント見て
Graphics.MeasureString等で計測して幅広げりゃいいんじゃね?
>>518 SendMessageなら送れるんじゃない
むぅ
>>519 なるほど。
やってみます。
ありがとうございます。
>>513 >>514 現在、下記のように定義しています
何か不足しているのでしょうか?
Declare Ansi Function MyFunc Lib "hoge.dll" Alias "hoge" ( _
<[In](), Out(),MarshalAs(UnmanagedType.SafeArray, SafeArraySubType:=VarEnum.VT_BSTR)> _
ByRef Array(,) As String) As Integer
C#のコードだけどw private void textBox1_TextChanged( object sender, EventArgs e ) { string s = this.textBox1.Text; using( Graphics g = this.CreateGraphics() ) { using( StringFormat sf = new StringFormat() ) { sf.LineAlignment = StringAlignment.Near; SizeF size = g.MeasureString( s, this.textBox1.Font ); this.textBox1.Width = (int)size.Width + 16; this.Width = this.textBox1.Width + 32; } } }
>>523 hoge.dllのもとのシグニチャはどうなってんの?
BSTRってCOM関係だよね
A-Z0-9のような普通の文字は化けてますか? それともマルチバイト系の文字だけですか?
つかBSTRはUNICODEだが
>>525 int (中略) hoge(LPSAFEARRAY FAR * psa);
です。
>>516 これも俺へのレスでした。気づきませんで申しわけない。
ペイントみたいな描画ソフト作っててその中で文字入力をするときに使う予定です。
と言っても入力、編集時だけのダミーな感じですが。
ダミーなんで見たことあるのかどうかよくわかりません。
530 :
デフォルトの名無しさん :2009/02/03(火) 23:45:13
>>524 ちらっと見かけたんですが、
using( Graphics g = this.CreateGraphics() )
{
using( StringFormat sf = new StringFormat() )
この2ステップって
using( Graphics g = this.CreateGraphics() )
using( StringFormat sf = new StringFormat() )
{
}
こういう文法でも等価ですよね?
532 :
530 :2009/02/03(火) 23:52:03
On Error Resume Next はいっぱい使った方がいい?
ILDasmで調べてみると分かるけど変なコードを生成してるよ。
うわぁぁぁぁぁ 中括弧でじんましんがぁぁぁぁぁ
536 :
515 :2009/02/04(水) 00:40:16
>>524 これも俺へのレスのような気がするw
ありがとうございます。
HeightはMeasureString().Height×行数で合うんすかね?
.jpgをエクスプローラから開くと VBアプリが起動してその画像を表示する というアプリはどうつくるんだろう
VB 関連付け、でぐぐれば幾らでも出てくると思うが
エクスプローラの編集→元に戻す っていうのは具体的な戻す内容がわからないので もっといいやつのつくりかたきぼんぬ
>>539 ステータスバーに戻す内容が表示されてないか
なるほろ
VBに組み込めるお勧めのテキストエディタコントロール 教えてください。
C:\>assoc .jpg .jpg=jpegfile C:\>ftype jpegfile jpegfile=rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen %1 C:\>
Dim App As Application App.DoEvents() これでエラーなのはなぜだろう
エラーメッセージを見てもわからない?
ぬるぽ!(ぬるれ?) エラーメッセ見ればわかるだろ!
エラーメッセージが抽象的な文すぎてわからんわ
これでわからないようなら止めた方がいいんじゃない? 向いてないよ。
Dimを書き換えたら Public Shared App As Application ますますおかしくなったぞ
趣味のプログラミングで世の中には迷惑かけんのでさっさと正解かけこの世の中を良くできないおまえたちどもめおまえたちは人間が求める究極のものをさっさとつくりやがれ
つーかこれ、例外出ないのな。知らなかったw
Shared 宣言された 1 つ以上のプログラミング要素が、クラス全体または構造体全体に関連付けられ、クラスまたは構造体の特定のインスタンスに関連付けられないことを指定します。 −−−−−−−−−−−−−−−−−−−−−−− で、結局どうすれば Appの3文字書くだけですむようになるんだ
>>553 Imports App = System.Windows.Forms.Application
ApplicationをAppと省略したくなるほどDoEventsがあふれたコードは見たくないな
そんなんとっくにためしてるんだぜ そもそも Imports VB= ぐらいよくつかわ
ぐらいよくつかうわ
しかもちゃんとApp.Eventsの間は各コントロールをenable falseしとるからおまえらの心配にはおよばんは
趣味のはんいでこれだから仕事してたらおまえらなんかとっくにこえてたわけだおまえらよかったな
はぁ。ム板にも ID 導入してほすぃ・・・
VB関係のスレは特にキチガイが紛れ込みやすいから仕方ないね
APIスレより酷いもんな
MsgboxのいんすうにMsgboxのLetとTop座標をしていする項目が無い件について
場所指定して出すもんじゃないから。
565 :
デフォルトの名無しさん :2009/02/04(水) 23:15:44
い・・・引数
ウィドゥスくらい指定できてもよさそうなのにな。
引数分解w
KeyPressイベントのKeyCharに対応する表のようなものってMSDNの中にあるのでしょうか? VB6.0で言うKeyCodeの表みたいな感じです。
イベントハンドラにほにゃららEventArgsというのがあるからそれを調べてみて
KeysですよKey"s"
KeyCharはChar型なんだから対応も何も無いもんだ
VS2005でスマートデバイス向けのソフトを作る練習をしています。 手始めにCSV形式のファイルを読込んでDBファイルに追加するプログラムを作ろうとしました。 単純に「,区切りで取り出せばいいや」と考えていたんですが、""で囲まれた,を含む 項目を正しく切り分けられません。どう対処すればいいですか? 今のコードは概ねこんな感じです。 Using txtReader as IO.TextReader = new IO.StreamReader(FILENAME, System.Text.Encoding.GetEncoding("shift-jis")) Dim columns as String = txtReader.ReadLine().Split(",") While columns IsNot Nothing myModule.SetRowToDBFile(colomns) columns = txtReader.ReadLine().Split(",") End While End Using
>>572 CSV を直接読むことってできなかったっけ?
>>572 ちゃんと1文字ずつ見ていって”がきたらフラグを立てる
とかしていけばいい
というか、それしか手はないな。
クォーテーション中の改行を許す仕様だと
またちょっと面倒だけど。
>>573 PCだと Microsoft.VisualBasic.FileIO.TextFieldParser で
一発なんだけどね。
ADOは使えないのかな
>>573 .NET CFでは不必要な機能として省略されてるみたいなんです。
>>574-575 えーと、その、それって速度的には大丈夫でしょうか?
処理するつもりのデータが10000件前後あるので、ちょっと心配なんですが。
StreamReader.ReadLineも一文字ずつ調べてって改行を探してるんだが
>>579 あっはっは、フレームワーク内部でそんな事してるわけn
…やっとる!しかも二重の Do 〜 Loop While ループで!
Microsoft.VisualBasic.FileIO.TextFieldParser の実装を Reflector で確認すればいいんだな。
>>581 VS2008なら.NET内部にステップインできなかったっけ??
えー?中身そんなだったんですか?(;´д`) 素直に1文字づつ調べていくコード書いてみます。 ありがとうございました。
System.Transanctionsについて詳しくかいてあるHPとかないかな? ググっても参考になりそうなサンプルがなかなか出てこない サンプル見るとUsingで囲ってあるんだが このスコープ範囲でないとトランザクション処理は出来ないのかな? 出来ればフォーム変数単位でトランザクションかけたいんだが
コンピュータがひとつづつ見ていく単調作業のくりかえし なのは言語やってるかどうか以前の常識というか生れつき理解していなければならないことなんだが
>>585 それがまさかCILレベルで書かれたループだとは思わなかった、
という話をしてたつもりなんだが。
>579-580 超勇気出た。質問した本人と無関係だけどありがd
そういえば、正規表現のエンジンもものすごく地道な処理してるよね
>>587 ひょっとしたらおまいのループはもっといい解決法があるかもしれないぞw
>589 いや、やることはCSVファイルの区切り記号違い版を読み込むみたいな感じなんだw
string自体がcharの配列だからな .NET CFってStringBuilderって使えないのか? 調べるつもりは全くない
壊れてるCSVが作成されちゃうようなソフトを作ってるのはおまえらか
CSVなんてもともといい加減な書式だが? たぶん共通してるだろうと思われるのは1レコード1行ということぐらいだ それすらどうにでも変えられるが
RFCなんて守られてたら現場が苦労しないってw
2005年に作られた超後付け仕様じゃなー
まあ、使ってると拡張したくなる場面はたくさんあるしねえ 代わりになりそうなXMLはMSのせいでクダグダだしw なんか新しい汎用テキストフォーマット作ってくれないだろうか
XMLってグダグダなの?
ODF/OOXMLのことじゃね
SQLサーバーを無料にすればすべて解決
System.Drawing.Pens.RedなどのPensネームスペースで用意されているPenオブジェクト(クラス)と 自分でNewしたPenとでは何が違うのでしょうか。 p = Pens.Red とした場合、p.Dispose()をするとエラーが出ますが p = New Pen(Color.Red) とした場合は、p.Dispose()はエラーなく行えます。 感覚的にライブラリで提供されているものだからというのは理解できるのですが 両者が具体的に何が違うのかがいまいち理解ができないでいます。
603 :
デフォルトの名無しさん :2009/02/05(木) 15:27:20
インスタンス作らないんじゃDisposeしようがない
インスタンスが作られていないのですね。了解しました。
インスタンスは作られているけど、おおもとはWindowsちゃんが作ったの。 勝手に解放すると怒られるのね
606 :
デフォルトの名無しさん :2009/02/05(木) 18:38:44
ちょい質問 FormLoadで Private Sub frm1Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Call 処理1 Call 処理2 End Sub ---------------------------------------------------------- Private Sub 処理1() if なんかの条件 = true Me.Close end if End ってやると 処理1を抜けた後に処理2を実行してしまうんだけど 処理2を飛ばしてそのままフォームを閉じることはできないんだっけ?
.NETでCallを書いてるのがバグの原因
LoadイベントでCloseしちゃ駄目
Exit
おもしろいからそのままでいいよ
611 :
606 :2009/02/05(木) 20:56:53
トンクス 解決しました
612 :
デフォルトの名無しさん :2009/02/05(木) 23:23:52
VB完全初心者です。 プログラムを起動させて、そのプログラムのウインドウにファイルをドラッグアンドドロップすることで そのファイルの決められた位置の文字列をそのファイルのファイル名に書き込むような プログラムを作りたいのですが、 ドラッグアンドドロップすることで、勝手にファイルを読み込んでくれるようにするにはどうしたら良いのでしょうか? 全く分かりません。 どなたかよろしくお願い致します。
Formがドロップを受け付けるようにする。AllowDrop プロパティをtrueにしましょう ↓ ドロップイベントの実装。MSDNのControl.AllowDrop プロパティのところ見ろハゲ ↓ ファイル名が取得できるから、FileStreamでもつかって読みましょう ↓ System.IO.Fileうんちゃらあたりにリネームする機能があるから探せハゲ
VB初心者以前にネット初心者だな。 VBとかドラッグアンドドロップとかそういう関連しそうなキーワード組み合わせてぐぐりまくれ わけわからなかったら小一ヶ月初心者サイト一通り読んで試して慣れてからどうぞ …と書こうしたらすでに614のレスが付いていた件
>615 お前が一番痛い。。
VBは中学校に誘導してやれ
VB.NETでシングルタスクのFileSystemObjectやADOをつかうのがチョーぜいたくでおぬぬめ
テキストファイル内に行が何行あるか調べる方法を教えさせてやる
上から数える
解決した Do Until sr.Peek() = -1 count += 1 sr.ReadLine() Loop
ListViewにたくさんのデータを登録する速いやり方を教えろ
円高の時は輸出と輸入どっちが便利?
BeginUpdate/EndUpdate
627 :
デフォルトの名無しさん :2009/02/06(金) 10:02:28
うわあああああああああああああああああああああ
628 :
デフォルトの名無しさん :2009/02/06(金) 10:04:07
VBって下位互換性はありますか? 6で使ったファイルを.NET2003や2008で読み込ませることは可能なのでしょうか?
ソースレベルのは無いな プロジェクトを読み込ますとVSが超頑張って変換してくれる 精度は今一らしいが DLLレベルなら一応COM参照は可能だ
.NETは後方互換 6.0→.NETは互換性なし 変換できるけど動く保証はない
知識の互換性も無いので注意 つまり別物
>>630 >変換できるけど動く保証はない
「変換できませんでした」が数100個出力され
エラーメッセージを頼りにひとつひとつ手で修正し
ようやくエラーなしになったのでためしに動かしてみたら
びっくりする挙動をとる、というのがお約束です。
633 :
デフォルトの名無しさん :2009/02/06(金) 11:56:01
VB.Net 2003なんだけど、付属のCrystalReportsのパッチを探してるんだけど なんだかビジネスオブジェクツのサイト、知らない間にかなり模様替えされててorz で、そこには2005か2008のものしかなかったよ。 2003用のパッチ、どこかに残ってない?
横からだがMSも自前でパッチ出してたのか SAPになってて俺もどうしようかと思ってた
ExpressEditionのどこにクリレポがあるんだ?
ハ,,ハ ( ゚ω゚ )
ハ,,ハ ( ゚ω゚ ) お断りします / \ ((⊂ ) ノ\つ)) (_⌒ヽ ヽ ヘ } ε≡Ξ ノノ `J
すみません。 教えてください ks
mp3を再生するときに周波数の音量でグラフが 出るやつよくあるじゃないですか? ああいうのってVB.NETで作れますか? もし作れるならヒントください!
RTB1.Text = Replace(RTB1.Text, "ABC" & vbCrLf & "DEF", "") 間違いを見つけよ (早稲田理工2009)
それなりに大きいテキストファイルの行末に VbCrとVbLfとVbCrLf が混ざっていて各行末は三つのうちどれかひとつなわけだが すべてをVbCrLfにするコードは?
ReadLineしてWriteLineすりゃいいんじゃねーの ホジホジ
648 :
デフォルトの名無しさん :2009/02/07(土) 09:05:45
ドラッグパネルについての質問です。 ドラッグして動かしてリロードしても、位置が戻らない方法を教えて下さい。 @ITのプロファイル機能を利用するページを試したのですが、あのページ通りに行っても、位置は戻ってしまいました。 クッキーを用いたやり方を検討中で試していますが、座標値の取得方法などが分かりません。 参考サイトでもいいので、もしよければ教えて下さい。お願い致します。
Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) VB6にはなかったsenderとかeとはなんなのかね
ぐぐる デバグ中に式をウォッチして中身を確認する 入門書買って来る
そんなんじゃここで聞く意味がないだろ
ハ,,ハ ( ゚ω゚ )
ヒントレスが付いてるじゃん ぐぐったらレス待つよりも早く見つかるよ
VBマガジンとかVB.NETマガジンが本屋のなかったんだけどどうした?
ggrks
657 :
デフォルトの名無しさん :2009/02/07(土) 21:47:26
はいっ VisualBasic2005 と VisualBasic2008 って具体的にどこが違うんですか? これからvb.net学んでみようかと思ってるんですけど、 春から入社する会社がvb2005を使っているらしいんです んで、それなら同じ2005を使っとけって感じな話ですけど、 新しいもの好きのわたしとしては完全に互換性があって、2008でできることは2005でできるのならば 2008を入れたいわけなんですよw そこらへんどうなんでしょか?
ハードディスク M: の空き容量を得る方法がわからない
普通にDriveInfo.TotalFreeSpaceじゃいかんの? こんなの知らないし使ったことなかったが、System.IO名前空間の一覧から これに辿り着くまでに30秒とかからなかったぞ
VB2005は.NETFramework2.0だが、 VB2008(3.5がデフォ)なので、2.0対応のを作ろうとするとイチイチめんどくさい。 あとはVB2008の宣伝文に2005からの変更・改良点とか書いてあるだろうからまずはそこから見てくれば?
661 :
デフォルトの名無しさん :2009/02/07(土) 22:07:41
>>660 ほむほむ、.NETFrameworkのバージョンによってソースの書き方がちがうのかな?
みたいなかんじがあるのですかー
正直.netって以外と不便そうですね^^;
通常のアルファベット(A〜Z、a〜z)と、日本語や他言語とを区別したい場合にはどう判定するのが良いんでしょうか。
9ケタ固定の数字にカンマつけるのは String = Format( 123456789, "###,###,###") と書けるけど ケタすうがつねにかわる数字の場合はどうするんだ?
String = Format( 123456789, "#,###") だけで全桁対応だろw
/. : : : /. : : : : /. : : : : : : : : : :i: : : : : :`ヽ /. : : : : //.:./ :/.: : : :/. : : : : /;ハ: : : : : : : :', .:/__/. : :/ :/.:\/ :/.: .:// !: :i: : : : : : : .:./. :`7. : : .:.:i:,イ:.:/i`X´/ :// |.:|:.: :i : : 、i /.: :/厶ィ7/||丁下ヌヽ/X´ / !_厶: :|: : : :\ . .:/⌒ヽY.: :.:lj八.弋:.:ノソ` ≦リ|:.:ノノ.: :/丁`ヽ ピキーン!! _______. :{{ ゝ|: : : l| ー ' 丁下ヌイ.: :/!:/ __人,、_____ _________  ̄ ̄ ̄ ̄ ̄ ̄ ̄: :ヾ、 ヽ|: : : l| 弋ツノ/|/ ,リ  ̄ ̄`^'` ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ : : : :`ー‐|: : : l| ' ¨ {:.| ほむほむ?
そんなんどこにも乗ってないんだから ###.## ####.##### とか毎日何年もかけてみつけたんか
そもそもVB6互換関数を使うなと String.FormatかToStringを使ってくれよw
>>666 ∧_∧ / ̄ ̄ ̄ ̄ ̄
(ω・ )ゝ < なんだって?
ノ/ / \_____
ノ ̄ゝ
そもそも###,###,###に疑問を持たないのかね 最近のゆとり世代はw
VB4みたいにデスクトップのアニメを見ながら開発するのはどうするんだ?
>>669 何かというと「ゆとり」だの何だのとラベリングしたがる奴が
一番頭悪げ(というか実際悪いだろう恐らく)に見えるぞ。
だってよw
4桁カンマとかもできるの?
ずぼしだったかw
Intervalは1分なのに Sub Timer_Tick 10分かかる処理 End Sub だったらどうなってしまうんだろぅ
Sub Timer_Tick Thread.Sleep( 600000 ) End Sub ってやってみれば
Windows.Forms.Timer Timers.Timer Threading.Timer で動作が異なるとこだね。
この場合スレッドで処理が行われているのとSleep()で寝てるのは 恐らく等価じゃないと思うけどね。 恐らくSleep寝てる場合はタイマのイベントハンドラが(再び)呼ばれるんじゃないの?
>662 Char.IsLetter
>>682 >呼ばれるんじゃないの
じゃねーよ。やってみてからレスしてください。ウザいだけです。
>>684 2chで他人に絡むことしかできない悲しいガキだなお前さん。
ということにしたいわけですね
687 :
622 :2009/02/07(土) 23:56:38
oserks
System.IOが返した777888666ByteをGByteにしてユーザーに表示するのは1000で割るのか1024なのかがわからない
Windows的には1024 HDDメーカー的には1000
GB 1000 GiB 1024 だっけ?最近はややこしいね。
>>688 名前空間は何も返さないぞ。
っていうか、別に感謝しろとは言わんが、低レベルな質問を投げるだけ投げて
回答に対するコメントは一切なしなの?
わからないと独り言しただけで質問はしてませんが
回答者だって あとで忘れたための自分メモとして書いてるわけなんだから ITなんてボケたらすぐクビ
691はアフォ
"あ" < "ん" はASKI文字コードを比較して真偽を返してくれるのかしら
XP + VB2005で開発してます。 Windowsのテーマをクラシックにした場合に、テキストボックスは TextBox1.BorderStyle = Fixed3D が設定されていると、窪んだ3Dの表示になりますが、 XPのテーマ(Luna)を適用すると、このような表示になりません。 プロジェクト全体でXP Visualスタイルを無効にすれば良いのはわかっていますが、 テキストボックスのみに適用する方法はないでしょうか? それっぽく見えるカスタムコントロールを作成するしか手はありませんか?
将来パチンコをつくって何十万台も売りたいのでVB.NETのパチンコサンプルきぼんぬ
人や動物を狙って打たないでくださいね
2009/02/08 NHK杯
羽生勝ち
▲7六歩 △3四歩 ▲2六歩 △5四歩 ▲2五歩 △5二飛 ▲5八金右 △6二玉
▲4八銀 △3三角 ▲同角成 △同 桂 ▲6八玉 △2二飛 ▲7八玉 △4二銀
▲4六歩 △7二玉 ▲4七銀 △8二玉 ▲8八玉 △5三銀 ▲7八金 △2一飛
▲9八香 △4二金 ▲9九玉 △9四歩 ▲8八銀 △9五歩 ▲1六歩 △7二銀
▲1五歩 △6四銀 ▲6八金右 △5五銀 ▲3六歩 △4四歩 ▲5六歩 △6四銀
▲3五歩 △同 歩 ▲3八飛 △2五桂 ▲3五飛 △2四歩 ▲4五歩 △2六角
▲3六飛 △4八角成 ▲5八銀 △4五歩 ▲4三歩 △4一金 ▲3三飛成 △3一飛
▲2二龍 △3八飛成 ▲6九銀 △5三銀 ▲1七桂 △同桂成 ▲同 香 △8四桂
▲5五歩 △7六桂 ▲5四歩 △6四銀 ▲4二歩成 △8八桂成 ▲同 金 △7九銀
▲4一と △8八銀不成 ▲同 玉 △5七金 ▲7八金打 △5九馬 ▲7九銀 △3九龍
▲4九歩 △5六歩 ▲4二と △9三玉 ▲5二と △4九龍 ▲6一と △6九馬
▲同 金 △同 龍 ▲8五金 △8四歩 ▲7一角
NHK杯将棋トーナメント Part206
http://anchorage.2ch.net/test/read.cgi/bgame/1234058400/l50
コピペ君って馬鹿だな、まで読んだ。
702 :
696 :2009/02/08(日) 14:12:10
>>699 そんな気はしてましたけど、やっぱりそうですか。
労力かける価値があるか判断して実装するか考えます。
ReadOnlyのテキストボックスだけをFixedSingleにするようなUIにしたかったんですけどね。
数値型や文字列方をいっぱいつかうばあいの変数名は Dim i,i1,i2,i3 as integer Dim S,S1,S2,S3 as string でいい?
おk
これって VB.NET から大丈夫になったんだっけ?
For i=1 to 100 Dim S & i.tostring as String Next みたいに変数を100個宣言したいんだけどなんでエラーになるん
>>706 脳みそ膿んでる発想だな。
変数名はコンパイル時に確定している必要がある。
仮にそんな宣言ができるとして、それで宣言した変数にどうやってアクセスするつもりか?
>>706 それは無理
配列を使えば出来る
Dim S(100) as string
TestString = Space(10) は10個のスペース " " だが スペース以外のもじはわざわざ S &= "-----------------------------" & vbcrlf と書かないとたくさんの同一文字列を作れないんだな
New String(Char c)
2chねるをまるごと取り込むソフトもつくったが ハードディスクがすぐいっぱになっちゃったから まるごと機能は停止中
こうして車輪の再発明が・・・
「コマンドラインでファイル操作するソフト作ったよ」とか言う奴出てきたらおもろいなw
俺使ったこと無いから良く知らないけど、 こういうのってダウンローダっていう部類のソフトじゃないの?
wgetで全部出来ました。
とうとう京都大学霊長類研究所のアイちゃんもVBアプリを作るようになったか
複数の文字列をA4用紙にそれぞれ自由に配置して印刷したいのですが どんな方法でやれば良いでしょうか?
Wordを立ち上げます。
服を脱いで、System.Drawing.Printing 名前空間にある PrintDocument を作成します。
VB2005でサービスアプリケーションを作成しています。 microsoftのサイトのチュートリアルを参考に簡単なサンプルを作成しました。 そして次のステップとして、タスクトレイにNotifyIconを表示したり、それに ContextMenuをくっつけて設定画面を表示したりしてみようと思ったのですが タスクトレイにNotifyIconが表示されません。 サービスの OnStart プロシージャでFormをNewしています。 そのFormのNewプロシージャでNotifyIcon1.Visible=Trueにしたり、FormをHide したりしています。 FormのNewプロシージャの最後にイベントログを吐き出して確認してみたのですが、 NotifyIcon1.Visible=Trueになっています。 何か根本的に間違っているのでしょうか? サービスアプリケーションでNotigyIconを表示する一般的な方法ってありますか?
723 :
722 :2009/02/09(月) 18:32:52
× NotigyIcon ○ NotifyIcon です...
サービスにユーザインタフェースはむりぽ。
ttp://msdn.microsoft.com/ja-jp/library/d56de412 (VS.80).aspx
| .NET Framework でサポートされている Windows サービスのクラスは、
| 対話型ステーション、つまりログオンユーザーとの対話をサポートしていません。
| また、.NET Framework には、ステーションおよびデスクトップを表すクラスが
| 含まれていません。Windows サービスが他のステーションと対話する必要が
| ある場合は、アンマネージ Windows API にアクセスする必要があります。
| 詳細については、プラットフォーム SDK の「Window Stations」および
| 「Desktops」を参照してください。
サービスはディスクトップとは違うアカウントで動いているから無理じゃねーかな。 ディスクトップとの対話をサービスに許可を入れてもだめだったらあきらめる。 通常のやり方だとSQLServer2Kに付いてたサービスマネージャのやり方で、 サービスと会話するディスクトップアプリを動かして、そいつがNotifyIconを表示する。
726 :
722 :2009/02/09(月) 18:57:11
レスありがとうございます。 >724 今ちょうどそのあたりを読んでいました。 説明を見て、そりゃそうか、と思いましたorz >725 まさにSQLServer2000のサービスマネージャみたいにしようと思っていました。 あれって、デスクトップアプリがサービスとやりとりしていたんですね。 作成しようとしていたサービスアプリのちょっとした設定変更やサービスの 再起動や停止をすべて1つのサービスアプリ内で済ませようとしていました。 少し実装方法を検討したいと思います。 ありがとうございました。
>>720 義務感なのかなんなのか知らんが無理してレスしなくていいから
寒い
>>721 ありがとう
パワーパックをつかったばやいは ユーザーにはどのファイルをどこに置かせるのかがわからない
Form_Loadで読む環境設定ファイルをテキストファイルとして同封した場合どんな書式で書いてるかい? ----------------------- C:\abc\リストボックス1に読み込ませる.txt フォームのLeft フォームのTop
If e.KeyCode = Keys.Tab Then Button1.Focus() End If テキストボックスKeyDoweでTab押しても Button1にフォーカスが移動しない
>>729 内容を公開しないなら好きに書けばいい
公開するならテキストとだと可読性が下がる
XMLもしくはINIファイルの方がマシ
SQLSERVER2005に接続して CommandBuiderを使いUPDATEとDELETEのコマンドを自動生成したいのですがうまくいきません strSQL = "SELECT * FROM ほげほげ" Dim ad As New SqlClient.SqlDataAdapter(strSQL, dbcon) Dim cb As New SqlClient.SqlCommandBuilder(ad) ほげほげテーブルには主キーが設定されてあります デバッグモードで確認すると.SelectCommandにはコマンドが生成されていますが DELETE、UPDATE、INSERTは生成されてません 何か足りない設定があるのでしょうか? (そもそも使い方を間違ってるのでしょうか?)
>>733 MSDNを見れば目に入らないかな?
GetDeleteCommand
GetInsertCommand
GetUpdateCommand
テーブルが変動するとか動的に生成する特別な理由が無いなら、
ウイザードで事前にDataSetやAdapterを生成しておくのをすすめる。
>>734 ありがとうございます
cb.Get〜でコマンドが生成されているのが確認できました
自動的にそれらのコマンドがDataAdapterに設定される物だと思い込んでました
データベースつかえばXML一生使わないと思うんだけどどうだろうか?
ねーよw
ちょっとおしえて 1つのピクチャーボックスに2つの画像を表示したいのですが、 2枚目の画像は白黒2値の画像(文字)です。 白を透明色に指定して1枚目の画像の上に出したいのですが どうやったら良いでしょうか instance.MakeTransparent(Color.White) この方法で指定して表示させたら下の画像が消えてしまいました。
ImageAttributesのオブジェクトを作ってSetColorKey ImageAttributesを引数に取るGraphics.DrawImageのオーバーロードを使って描画
出来ました。 ありがとうございます。
秀丸とかのテキストエディタについている テキストエディタなのにハイパーリンクを貼る機能とかVBで可能でしょうか?
whay?
what is previewkeydown
tabキーはkeyをはなすまえのおしっぱなしのときにフォーカスがいどうしちゃうのケ?
やってみりゃいいじゃん
仕様書に書かれていることなら証明になるけど 体験的に得た結果を使って何か起こっても客に賠償しなくてもよいってこと?
現在フリーソフト.net1.1で作っているのだけど、そろそろ2にしてもいいだろうか XPのおまけに付いてたのって1.1だけだったっけ? プリインストで2入ってたのってあるのかな
>>751 それを考える必要ってあるの?
フレームワークが必要なら入れるだけだろ。
別に複数のフレームワークが共存できないわけで互換性を気にする必要も無いんだからさ。
必要なバージョンが無ければ動かない。
動かしたければインストールする。
インストールしたからといって他に影響は無い。
これが.NETFrameworkの強みの1つだろ?w
不景気な日本では古いパソコンばかりで.NETは普及してないんだから結局dll配布してたころと手間が変わらんじゃん
2000を対応OSに含めるなら2.0までな 3.0から2000は非対応
ちなみに俺もクライアントが2000なのでVS2008なのに 未だに2.0で開発してる LINQも使えねえwww
>>755 それは開発者と言えるのか?www
つうか、さっさとASP.NETとかSilverLightにすれば良いと思うんだ。
配布の手間とかユーザのクライアントOSバージョンとか考えるだけ面倒。
.NET1.1が動いて.NET2.0が動かないOSはNT4だけなんだよね。
>>756 2000入りの低スペックでSilverLihtが快適に動作するマシンがどれくらいあるだろうな
もしかして: SilverLight
Lも小文字が正しい
細かいことが気になってしまうのが僕の悪い癖ですね、わかります。
VBならいいけど C++やC#とかやってたら大文字小文字気にして当然だろ!
そういやVB6までは、大文字/小文字を *時々* 勝手に書き換える 糞仕様だったな。
DateAdd(Minute、30、TimeOfDay) で日付をまたぐと00:00:00じゃないはずなのに00:00:00が返ってきちゃうのでなおしてくれ
23:40:00とかに30ぷんたすとなっちゃう
ならないな。具体的なコードを挙げてみて。
夏にカミナリおちてからパソコン挙動不審だからフォーマットしてみる
VB.NETってコマンドラインアプリは作成可能ですか?
普通にIDE起動してプロジェクト作ろうとすれば、コンソールアプリってあるんだから、 気付いても良さそうなんだが・・・
まだEEインスコしてないに一票
「コンソールアプリ」が何だか解らなかった、という可能性も。
AutoScroll = True にしたコントロールで スクロール量の最小値(ScrollBar.SmallChange)を設定するにはどうすればいいでしょうか?
WebBrowserコントロールにkeyDownイベントがない・・・
JavaScript で取ればOK
VB2008 WEBでドロップダウンリストボックスコントロールには、ボタンコントロールのように クライアントサイドスクリプトが設定できないの?
>>776 微妙に質問がわかりづらい・・・が。たぶんで答えておくと、
OnClientClickの様にすべてのイベントが用意されているわけではない。
標準にないものを追加する場合はAttributesプロパティを使って追加する。
ってのでいいか?
>>777 即レス、ありがとうございます。
Attributesの追加ですね。調べてみます。
またおしえて Dim t As New Threading.Thread(AddressOf nurupoThread) t.Start() で Sub nurupoThread() を実行するのですが、 本当は Sub nurupoThread(ByVal str As String) というプロシージャを実行したいのですが、 Dim t As New Threading.Thread(AddressOf nurupoThread(str)) とするとエラーになってしまいます。 現在は共有できる変数を宣言してそれを参照して目的の 動きをしていますが、引数を指定してスレッドを実行するには 本当はどんな方法でやればよいでしょうか。 おねがいします。
デリゲートのBeginInvokeでも使え
レスありがとうございます。 BeginInvokeとClassを使う方法で見比べてどちらかにしたいと思います。 ありがとうござました。
783 :
デフォルトの名無しさん :2009/02/14(土) 04:59:47
vb2008の質問いいですか?
784 :
デフォルトの名無しさん :2009/02/14(土) 05:23:40
こんな感じで総合点数を元にしてDESCで並べ替えをしたいんですが 何をやっても変わりません。 テーブルに書き込んだ順番にしかならないです。 エラーも出ないので困っています。 Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Dim Value As String ' Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\kimura\Desktop\keibayosou.mdb") Dim SQLdesc As OleDbCommand = Cn.CreateCommand SQLdesc.CommandText = "SELECT * FROM keibayosou ORDER BY 総合点数 DESC" Cn.Open() SQLdesc.ExecuteNonQuery() 'MsgBox("並べ替えしました") Cn.Close() 'Cn.Open() 'SQLCm.CommandText = "SELECT 馬名 FROM keibayosou" ' Value = SQLCm.ExecuteScalar 'Cn.Close() 'Label38.Text = (Value)
>>784 RDBのテーブルに順番という概念は無い。
SELECT の ODRDER BYは読み出した結果を並べ替えるもの。
ExecuteNonQuery() を使うのはまったくのナンセンス。
結果セットは並び変わってるからそれを使う。
786 :
デフォルトの名無しさん :2009/02/14(土) 07:49:23
>>784 なるほどRDBテーブルに順番という概念はないんですね
少しわかった気がします ありがとうございました。
もう一回やってみます
787 :
デフォルトの名無しさん :2009/02/14(土) 07:58:30
783ですけど 接続したデータベースからvbにひとまずデータソース(?)を落として そこで並べ替えなり処理をしてそのデータをデータベースに戻す。という流れで いいんですか? かなり意味不明なところがあると思いますけど よろしくお願いします。
>>787 DBはデータが格納されているだけで、どのような順番でとかは意識しない。
順番を意識する(並び替えをする)のは、データを取り出す(検索する)ときに
ユーザ側がテーブルの特定の項目を指定して行う。
並び替えしてデータを更新しても、次に検索したときにソート条件をつけなければ
順番はばらばらになるかもしれない。
現在、並び替えのための項目がないなら、並び替え用の項目を追加したら?
ちなみに、この内容はVBではなく、RDBの話。
RDBについて勉強した方が良いよ。
789 :
デフォルトの名無しさん :2009/02/14(土) 10:06:44
VB.netを使ってCSVファイルをACCESSのMDBファイルに読み込みたいんです。 完成したexeはACCESSがインストールされてないPCでも動くように したいんで、ACCESS固有の機能を使わないで実装したいんですが、 どうしたらいいのかわかりません。 単純化した奴でいいんでコードのサンプルを教えていただけると幸いです。
UNIX TIMEを得る方法を教えてください。
791 :
デフォルトの名無しさん :2009/02/14(土) 10:17:18
WebBrowserでログインした時のセッションクッキーを破棄したいのですが、 WebBrowser.Document.Cookieプロパティを左にして代入設定してもプロパティ値に変化がなく、 動的コントロールとしてnewとdisposeを使ってもセッションを受け継いでしまいます。 InternetSetCookie(LoginURL, "kesitai", String.Empty)としても kesitai; kesitai=loginsinfo; というようになり、不正なクッキーを作ってしまいます。 何かいい方法ないでしょうか?
>>791 InternetSetCookie API で、Expire を設定する
793 :
デフォルトの名無しさん :2009/02/14(土) 10:41:31
何度もすいません783です
>>788 さん ありがとうございます。RDBについて調べました。
いろいろな制約?があるんですね。
たぶんこの話はVBになると思いますが
'Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\kimura\Desktop\keibayosou.mdb")
Dim SQLdesc As OleDbCommand = Cn.CreateCommand
SQLdesc.CommandText = "SELECT * FROM keibayosou ORDER BY 総合点数 DESC"
Dim Table As DataTable = DirectCast(DataGridView1.DataSource, DataTable)
「Table = SQLdesc?」
やりたいことは自分の中ではデータベースをdatagridviewに読み込んで
datagridviewの中でソートしてデータベースに更新保存するっていうことを
やるつもりですが最後の行のプログラム式をどうしようか悩んでいます。
プログラム初心者なので説明が分かりにくいかもしれませんがよろしくお願いします。
DataView.Sort ってあるだろ?
>>789 CSV の読み込みは VB 側でやって、登録処理は ADO.NET でやれば OK。
>>793 RDBにレコードの順番はないよ。書いた順に表示されてるように見えるのは気のせいか偶然。
そういうものに頼ったらいけない。
順番がほしいなら、順番というフォールドを追加してそれに番号振っとけ。
799 :
791 :2009/02/14(土) 13:20:44
>>795 リンク先の
>ユーザーが次回 Cookie を設定したドメインまたはパス内のページを要求すると、
>ブラウザは Cookie が期限切れであることを確認して削除します。
この動作が確認できません…
Navigateは「ページを要求する」ということにならないのでしょうか?
何か間違っているでしょうか?
InternetSetCookie(LoginURL, "expires", "Tue, 25 Dec 2005 07:00:00 GMT")
'wbのクッキーの確認 ちゃんとexpiresの値は追加されていた。
Debug.Print(wb.Document.Cookie)
'開放
wb.Dispose()
'new
Me.wb = New WebBrowser()
Me.wb.Name = "wb"
Me.wb.Visible = False
AddHandler Me.wb.DocumentCompleted, AddressOf WebBrowser_DocumentCompleted
Me.Controls.Add(Me.wb)
'ページを要求?
wb.Navigate(LoginURL)
Private Sub WebBrowser_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
'クッキーの確認。expiresの値が追加されたままのクッキーが読み込まれてしまう。
Debug.Print(wb.Document.Cookie)
End Sub
もう一度リクエストして、クッキーが有効かどうか確認してみれば?
あ〜ごめんなさい。 ブラウザコントロールか。ASP.Netのネタかと思った。
802 :
デフォルトの名無しさん :2009/02/14(土) 14:08:15
Private Sub Button18_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button18.KeyDown If e.KeyCode = Keys.V And Keys.Control Then MsgBox("") End If End Sub Ctrlを押さないでVだけを押しても実行されてしまうのはなじぇだろう
803 :
デフォルトの名無しさん :2009/02/14(土) 14:15:29
>>802 KeyCode定数の値がCtrl+Vでどうなるのか知らんが、
If e.KeyCode = Keys.V And Keys.Control Then
この比較だと
If (e.KeyCode = Keys.V) And Keys.Control Then
となるので、Keys.Controlは1以上だろうから、Vを押しただけで実行される。
Crtl+Vのみ動くようになおしてクレヨン
805 :
デフォルトの名無しさん :2009/02/14(土) 14:22:51
If e.KeyCode = (Keys.V And Keys.Control) Then で良くないか?
=とAndの優先順位が同じだというのははつみみだが
>>806 KeyCodeには検地できないみたいだね
e.KeyCode = Keys.V And e.Controlでいい
指定したURLのweb画面を印刷するには、どうしたらいいですか?
810 :
デフォルトの名無しさん :2009/02/14(土) 14:45:33
CSVをMDBに取り込みたがってる789ですが、 ADO.NETでCSVをDataGridに読み込んでみました。 その後、別のボタンでDataGridからMDBにテーブルを登録しようと してるんですが、うまくいきません。 OleDBDataAdapterのUpdateを使うといいのかと思ったのですが、 TableMappings['Table']またはTableData 'Table'が見つかりませんでした、というようなエラーが でてしまっています。 何がまずいんでしょうか
MDB への単純な登録はできたの?
812 :
デフォルトの名無しさん :2009/02/14(土) 15:20:03
insertで単純なレコードを挿入するぐらいならできました。
じゃ、読み込んだCSVの内容を Insert していけばいいじゃん。
814 :
デフォルトの名無しさん :2009/02/14(土) 15:37:18
OleDBDataAdapterのUpdateとかを使えば一発で ゴソッと全部登録できるんかなと思ったんですができないですか
一発でごそっと登録するためには、データセットにしこしこ突っ込む必要があるよ。
816 :
赤西仁 :2009/02/14(土) 16:28:27
2年間悩んでます。お力をお貸しください。
PSのアークザラッドUというタイトルのゲームの、ゲーム画像(歩行画像など)を抽出したいのですが、
かれこれ1年ほど経ちますが、なかなかうまくいきません。
*もちろん抽出した画像は個人範囲内で利用するつもりです。
◆試してダメだったこと
ネット上からダウンロードできる、ありとあらゆる抽出系ツールを試した。
(ちなみに他のゲームはほとんど抽出可能)
◆教わったこと
・アークザラッドUは独自の画像形式を使っているから抽出できない。
・PS上で表示されてるということは絶対に摘出はできるはず。
・
ttp://www.gradius2.com/index.php?UID=1174775153 ◆抽出は不可能ではないということを知ったとき
2ちゃんねるで質問したところ、
ある方が実際にキャラクターの歩行画像を抽出して
私が立てたスレにアップしてくださいました。
スクリーンショットじゃダメなんです。どうか皆さん、お力をお貸しください。お礼は絶対にします。
コピペ君って馬鹿だな、まで読んだ。
818 :
デフォルトの名無しさん :2009/02/14(土) 16:58:38
>815 どうやって?
DataTable.Rows.Add()
ADO.NETになってから rs.EOFの書き忘れで無限ループしなくなってさみしんだけどどうしたらいんだ
821 :
デフォルトの名無しさん :2009/02/14(土) 17:20:51
>819 for eachで頭からケツまでRowをAddしなおせばいいの? なんかうまくいかないんだけど 簡単なサンプルコードを書いていただけると幸い
これだけキーワードが出ててわからない、つーのは、向いてないんだと思うよ。 あっさりあきらめれば?
>>821 そもそもCSVをDatatableに入れて、
それをBindしてGridに表示してるの?
Datatableに入ってるなら、
それをそのままinsertすりゃいいんだけど・・・
Text 用 ODBC ドライバが使えるなら、クエリ一発だな・・・
825 :
デフォルトの名無しさん :2009/02/14(土) 18:04:48
Datatableをどうやってそのままinsertできるのか分からんな
826 :
デフォルトの名無しさん :2009/02/14(土) 19:11:02
Dim dt As DataTable = oDataSet.Tables(0) Dim dt2 As New DataTable() Dim i As Integer = 0 For i = 0 To dt.Rows.Count - 1 dt2.Rows.Add(dt.Rows(i)) Next とやると、この行はすでに別のテーブルに属しています、とエラーになってしまいました。 何が問題なんでしょうか
Dim dt2 As New DataTable と Dim dt2 As Datatable = New DataTable はちがうんか?
>>807 ごめん、なんか間違えてた?
=の優先度が高いって意味で括弧作ったんだけど…
829 :
デフォルトの名無しさん :2009/02/14(土) 20:08:45
CSVとMDBに同時に接続するってことは可能なんですかね? そうしないとクエリ一発って無理だと思うんですけど
VBからアクセスのコマンド叩いてインポートした方がよさげ
zおーだーがないから糞
マウスムーブとマウスホヴァーの両方にプログラムを書くと問題が起こらないか?
>>826 dt2 は先に mdb のテーブルに接続しとく必要がある
>>829 接続は mdb に。Jet の機能で、クエリ中、外部データベース(ODBC) にも接続できる。
>>830 それだと、Access が必要だろ?
835 :
799 :2009/02/14(土) 21:46:15
>>799 これわかる人いますか?
無理そうなら諦めて、プログラム自体はそんなに大きくはないので
起動引数から値を受け取るようにしてプログラム自体を再起動しようかと思いますが…
837 :
799 :2009/02/14(土) 22:02:29
>>836 勉強不足でどういう事を聞かれているのかわからないです
ごめんなさい!どうやってリクエストされてるのかわかるのでしょうか
カンではリクエストされてると思います
全体の流れを述べると、
ログインページ→(ログイン実行)→ログイン後ページ(ログインページと同じURL)
→(
>>799 のソース実行)→ログインページに行きたいのにログイン後ページが表示されてしまう
クッキーを確認すると先のログイン後ページに有効期限が追加されてあるだけで削除されない
ログイン後ページが表示される、ってことは、リクエストされてるね・・・。 Dispose() しないで、Navigate() 前に実行しても同じ?
839 :
799 :2009/02/14(土) 22:15:07
>>838 >ログイン後ページが表示される、ってことは、リクエストされてるね・・・。
なるほど…感じは掴めました、ありがとうございます
>Dispose() しないで、Navigate() 前に実行しても同じ?
同じようです
問題の切り離しができてなくてすいません
>>826 ImportRowかMergeを使うんだ
RowStateをどう継承するのか忘れたけど、
Setaddedだっけ?でRowStateをadded?に変えられるから。
後はupdateでシコシコとインサートしてもらうと。
つーか、DB使うならTableAdapter,Dataset,DataTableとか関連項目を
しっかりと押さえておいた方が良いと思うよ。
LINQでinsertが使えるようになれば良いんだけどねぇ
実環境じゃないから適当に読み替えてくれ
842 :
799 :2009/02/14(土) 23:45:34
>>840 1行コードはURLに貼り付けて決定したら機能するのが前提ですよね?
試しに使ってみましたけどログイン状態が解消されません
何か勘違いしてますか?
843 :
799 :2009/02/14(土) 23:47:15
>>842 訂正
URLに貼り付けて→アドレスバーに貼り付けて
これはWebBrowserではなくIEで試しました
ってことはサーバー側の問題? HttpWebRequest なら、クッキーを設定しなきゃ送らずにすむよ。
845 :
799 :2009/02/15(日) 00:05:50
>>844 ニコニコ動画でもログアウトはできないみたいです
たまにでるキャッシュのエラーのみに対応しているっぽい?
HttpWebRequest、調べてみます
846 :
デフォルトの名無しさん :2009/02/15(日) 00:20:19
小さいソフトをちまちま作ってて気づいたんだけど アプリケーション・アーキテクチャって重要だな。 これに則っていれば、依頼された要件で 部分毎に予想工数を推測しやすい。 で、ここにアプリケーション・アーキテクチャに詳しい人いる?
スレ違いだな。
848 :
デフォルトの名無しさん :2009/02/15(日) 09:50:57
アプリケーション・アーキテクチャについて話したいのだけど どのスレいったらよい?
849 :
デフォルトの名無しさん :2009/02/15(日) 12:57:33
WebBrowser1.Print()で印刷時のドキュメント名?を変更するにはどうしたらいいですか? URLがドキュメント名になってしまうので・・・
Textboxで一番下までスクロールさせるにはどうすればよいでしょうか?
851 :
デフォルトの名無しさん :2009/02/15(日) 17:49:56
ACCESSの入ってないPCでmdbにアクセスするVBプログラムを起動したら なんとかかんとかOleDBPermissionとやらでアクセス権限の取得に失敗しました、 みたいなエラーがでますた。 ACCESSはいってるPCではエラーにならないんだが、 やっぱりmdbつつくにはACCESSいれる意外方法ないんですか
Jet 用の OLEDB プロバイダが必要。
853 :
デフォルトの名無しさん :2009/02/15(日) 18:34:30
>852 なにそれ
調べろよハゲ
mdac入れればおk
856 :
デフォルトの名無しさん :2009/02/15(日) 19:49:07
MDAC2.8いれようとしたらお使いのOSと互換性がないみたいなことでてたぞ
気にするな
環境も書かずに・・・
859 :
デフォルトの名無しさん :2009/02/16(月) 01:46:18
for i as integer = 0 to 9 for j as integer = 0 to 9 console.writeline(????) next next これで出力に0〜81を順に出るように 変数はiとjだけを使った????の部分の式を教えてください
合計100回実行されるのに出力は82回(?)とはこれ如何に
すみません間違えました 出したいのは0〜81じゃなくて0〜100です。
i * 10 + j 0〜99までしか出せなかった
Dim i as integer Dim S as string Dim T as Boolean がいてい値を述べなさい
がいてい・・・なんかふいんき(なぜか変換がry)がおかしい クマ〜
なんでBooleanがTなんだろう
Threadを使って、フォームをShowDialogすると、それぞれのスレッド別にモーダルで表示されるけど、 1個のダイアログを全スレッドでモーダルする方法ってありますか?
そもそもUIを複数のスレッドで扱うのは地雷原
869 :
867 :2009/02/16(月) 20:31:50
>>868 それはそれで、使わざるを得ない理由があるので…
870 :
867 :2009/02/16(月) 20:48:50
では、質問を変えて、 操作フォームが2つあり、片側がモーダル表示でも、 もう一方を操作する方法はあるでしょうか? 867の質問の内容とこれを同じアプリケーションで実現する必要があります。
上のコピペ君もアホだが、そもそも
>>867 はモーダルって意味分かって言ってるのか。
わかってようがいまいが、答えないお前には関係ないだろ?
>>873 馬鹿はこれだから困るが、そもそも「質問として成立してない」と言ってるんだよ。
成立してない質問に答えようがあるかよ。
>>863 またまちがえました
0-99です
それでいいです。できました
ありがとう
ワシがエスパーしちゃる。 何らかの並列処理を行っていて、あるダイアログが表示されている間はすべての処理を止め、 あるダイアログが表示されている間は止めない、と そういうことかいのう?
>>875 答えなきゃ良いじゃねえか?なんで切れてるん?
879 :
867 :2009/02/16(月) 22:10:26
モーダルって他の操作をできなくすることじゃなかったでしたっけ?
てっきり
>>868 さんのことばで、スレッドを分けないでもできるというのを匂わしているのかと思いました。
>>877 その通りです。
あるダイアログでは全ての処理を止めるけど、
あるダイアログでは、一方の処理しか止めない方法が知りたいです。
なんか考え方がおかしい。 モーダルは、処理が止まるのが常態。なので、止めないイレギュラーな処理に関して、 スレッドを使えばいい。 お勧めはしないけどね。
>あるダイアログでは全ての処理を止めるけど、 システムモーダルか…
>>880 ありがとうございました。
スレッドを使えば、片方のフォームは処理を続行して、
片方の処理は止めれるのですね。
ちょっと試してからまた来ます。
おとなしくBackGroundWoker使っといた方が・・・
つーか処理続行とか意味分からん 処理とUIとは本質的に無関係だろ 操作の制限ならモーダルよりむしろEnabledで制御すべきだし
なんか勘違いしてる予感・・・
スレッド理解できてないのにモーダルだモードレスだ言っても無理だろ
887 :
867 :2009/02/16(月) 22:37:44
例えば、シングルスレッドでフォームを2つ開いて、メッセージボックスを出せば、2つともメッセージボックスの制御待ちになります。 マルチスレッドにしてそれぞれのスレッドでフォームを開いて、メッセージボックスを出せば、メッセージボックスを出したスレッドだけメッセージボックスの制御待ちになり、 もう一方は操作可能です。 要は、場合によってこの両方を使い分けたいのです。
だから、何のために? ってのが素朴な疑問。
891 :
867 :2009/02/16(月) 22:48:46
俺なら、基本モードレスで必要なとこだけモーダルでやるな。 説明を聞く限り、それでいけそうだし。
>>892 メッセージボックスだしても、一方のフォームは操作できます?
メッセージボックス相当のフォームをモードレスで出せばOK
>>894 モードレスのときは、その呼び出しフォームの操作はダイアログみたいに止まりますか?
フォームの操作をEnableとかで止めた場合も、
下のフォームをクリックしたときにキャプションバーの点滅って起こります?
やってみろよ
ふーん。俺の環境ではできてるみたいだけどな。
自分で考える気はないのかw
つうか
>>871 のリンク先読んでればForm関係なら大概のことはできるよ
FormをEnabledにしたくないならClickイベント拾ってFormが開いてる間だけ
操作をキャンセルするとか、やろうと思えばいくらでもできる
UIを分けたいから外にスレッド作るなんて普通はやらない
スレッド作ったって操作できるのは一つずつなんだから
ここにもID表示が必要だな…
Webのテキストボックスでファイルパスの¥が/になるときがあるのはなんで? 例 C:/ProguramuFilse/Exprorar.exe
>>901 よーく見てみようね
本当に '/' ?
フォントに '/' ?
>>904 【審議中】
∧,,∧ ∧,,∧
∧,,∧ (´・ω・) (・ω・`). ∧,,∧
( ´・ω).(O┬O) (O┬O) (ω・` )
( O┬O ∧,,∧. ∧,,∧)┬O )
◎-J┴◎( ´・) (・` )┴し-◎
( .__ l) (l __ )
`uロu'. `uロu'
なぁ、
>>901 って釣りだよな
綴りがあからさまに…
>>904 【採用】
゚・ *: : *・
*・ ゜゚・ * : .。. .。.: *゜
* ・゜ ゚・ *: . .。.: *・ ゜゚ ・ * :..
。. ・ ・*:.。 ∧,,∧ .∧,,∧ .:* ・゜
∧∧(´・ω・`)(´・ω・`)∧∧
(´・ω・`).∧∧) (∧∧(´・ω・`)
| U (´・ω・`)(´・ω・`) と ノ
u-u (l ) ( ノ u-u
`u-u' `u-u'
ホントにズラ?
>>908 【審議終了】
∧,,∧ ∧,,∧
∧ ( ´・ω) (;・ω・)
( ´・ω) U) ( つと ノ∧,,∧
| U ( ´・) u-u (´・ω・) ロッククライミングをさせてあげよう
u-u (l ) ( ノ
_,,..-―`u-u'―.゛゛゛`u-っ≡ ゲシゲシ
゛~,,,....-=-‐√"゛゛T"~ ̄::∩::"゛
T | l,_,,/\ ,,/l (ω;` )
,.-r '"l\,,j / |/ L,,( ⊃
,,/|,/\,/ _,|\_,i_,,,/ /`u-u'
_V\ ,,/\,| ,,∧,,|_/
910 :
デフォルトの名無しさん :2009/02/18(水) 00:58:24
教えてください。 今、vb2005.net のWebBrowserコントロールをフォームに配置しています。 そのコントロール(ブラウザ)からユーザーがページを遷移させたとき(POST)、移動先のURLとPOSTデータを得たいのですが、どうやったらできるのでしょうか? URLだけであれば、Navigatingイベントで取得できると思いますが、POSTデータの取得方法が分かりません。 VB6時代のWebBrowserであれば、BeforeNavigate2で取得できたと思うのですが、同様の方法はないのでしょうか? よろしくお願いいたします。
スレッドとWebBrowserと聞いてピンときたのですが、 もしかして、M***のツール製作ですか?
.netアプリをスタートメニューのスタートアップに登録しておいて その.netアプリが動いている状態でOSをログオフやシャットダウン できないのって仕様? アプリ:.net2.0 OS:2003Server
常識的に考えてそんなわけないだろ
915 :
912 :2009/02/18(水) 10:51:24
オレもそう思ってたよ。 いやね、実際にそうなってて困ってるのでググってみたりしたんだけど この件に関する記載が見つからなくて。 すごく簡単なwindowsアプリを作成。 このアプリはタスクトレイにアイコン格納していて、タイマーで時間を 監視して所定の時刻にとあるフォルダの中にあるファイルを削除している だけなんだけど、こいつがスタートアップから起動しているとOSを シャットダウンや再起動、ログオフもできないんだよ。 このアプリを終了しておけば問題なくOSはシャットダウンできるから 何か制約あるのかなと思って。
917 :
912 :2009/02/18(水) 11:04:59
というわけでサービス版も作成しているところです。 でサービス版は完成したけど、こいつを管理する、たとえばSQLServer2000のサービスマネージャ みたいにサービスをコントロールするフォームを持ちたい、と考えるとサービスマネージャは サービスではなくwindowsアプリにする必要があるワケで、こいつをスタートアップに登録すると またOSがシャットダウンできなくなるというループに陥ってしまうから悩んでるんだorz
サービスがフォームを持てばいいんじゃない?
Windows アプリとして作ってんなら FormClosing イベントで Cancel メンバをセットしない限り ふつーに終了させられるだろ。 >タイマーで時間を >監視して イベントループ回ってなくね?
920 :
912 :2009/02/18(水) 11:07:50
タスクに登録する、ってのも考えてみたんだけどいろいろとややこしくて。 スタートアップに登録するのはセットアッププロジェクトで簡単にできるから 楽で良かったんだけどなぁ。
922 :
912 :2009/02/18(水) 11:09:46
>>918 サービスはフォームは作成できても表示できないっしょ。
>>919 ちゃんと処理は走ってるんだけどなぁ。
>>922 SystemEvents.SessionEnding イベントを自前で
ハンドリングしてみるとかどうよ?
プロセス間通信でサービスとフォームアプリケーションで情報やりとりできないかね?
っていうかシャットダウンできないわけねー
927 :
912 :2009/02/18(水) 11:29:19
>>923 なるほどね。
でも、これだとインストーラで設定できなくね?できんのかな?
>>924 これもなるほど。
この線を検討してみるよ。
そもそもシャットダウンできないつくりがおかしいって 2003serverだからなの?
一定時間にファイル削除するだけだったら タスクにDOSコマのバッチでも登録しておいたらどうだろう?
930 :
912 :2009/02/18(水) 12:01:12
>>928 今テストしてみたらVistaだとシャットダウンやログオフできるんだけど、
2003Serverだとできないんだよ。実機やVirtualPCでも試した。
>>924 で強制的に自己終了する方向でやってみるよ。
>>929 セットアッププログラムで簡単にインストールできるようにしたいから
タスクは今は考えてないよ。
また他にも機能を追加してみようかななんて思っているからbatファイルだと厳しいし。
VB.netでグラフをリアルタイムで表示したいのですが、どこを探してもそれらしいものが全く見つかりません。 どうすればいいでしょうか...? ちなみに、使用している環境は Visual Basic 2008 Express Editionです。
>>931 グラフの描き方ならいくらでも出てくるが?
それをリアルタイムで処理できるかはあなたの技量次第
ZedGraphなんか使いやすかった
VB2008Expressを使用しています。 プログラム上でテキストボックスのKeyDownイベントにEnterキーを入力した状態を発生させるには、どのようにしたら良いのでしょうか? ボタンならPerformClickなどを使えば良いのでしょうが・・・。 すいませんが、よろしくお願いします。
935 :
デフォルトの名無しさん :2009/02/18(水) 14:21:12
ZedGraphも試してみましたのですが、イメージと違って.... タスクマネージャの"CPU使用率の履歴"みたいなものが理想形です。
>>934 KeyDown を呼びたいなら適切な引数を渡して読んであげればいい。
>>936 KeyDownのイベントがこれですが・・・
Private Sub textbox_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textbox.KeyDown
System.Windows.Forms.KeyEventArgs型には値を入れることができないので、それで悩んでいます。
この型にはどのように引数を入れれば良いのでしょうか?
TextBox1に"あいうえお"と入力する場合は Sub Form_Load TextBox1_Keydown(sender,e.keysA) TextBox1_Keydown(sender,e.keysI) TextBox1_Keydown(sender,e.keysU) TextBox1_Keydown(sender,e.keysE) TextBox1_Keydown(sender,e.keysO) End Sub だとAIUEOになっちゃうからどうするんだろう
IMEをON
>>912 もう一個プログラム組んでそっちから指定のアプリを起動するようにしたら?
起動プログラムはすぐ終了
>>912 RunDLL32.EXE Shell32.DLL,ShellExec_RunDLL 指定のアプリ「引数...」
で
>>940
なんでVBは最強のラッパーなのにわざわざAPIとかいじらんとならんのだ
ラップとヒップホップとレゲエの区別がつかん
944 :
912 :2009/02/19(木) 17:50:48
>>941 そんなテク知らなかった。
でも
>>924 の強制的に自己終了でなんとかなってるから
また何かの時に使わせてもらうよ。
ありがとう。
945 :
912 :2009/02/19(木) 17:52:51
>>940 もありがとう!
その方法は思いつかなかったよw
初歩的な質問 変数の寿命について何だけど for each hoge in hoges dim dt as new data.datatable 以下いろんな処理 next でくるくる回すときに dtのインスタンスってのは回した回数だけ増えていく物? それともnextを拾った時点で消滅する? nextの外の処理では参照できないのは分かってるんだけど ループの数だけ作られてたらメモリを圧迫するのかと思って
勉強だと思ってやってみれば?
キーワードはGC:ガベージコレクタ
作成したインスタンスが消滅するタイミングは「気が向いたら」が基本。 ループ中かどうかは関係ない。
VB6と違う部分だよね。VB6の場合は dim dt as new data.datatable と dim dt as data.datatabl set dt = new data.datatabl で動作が異なる。
気になるならDisposeしとけ
using使えば?
953 :
946 :2009/02/19(木) 21:41:01
GCの項目を改めて読み直しました いつ解放されるか分からないって事ですね とりあえずきにしないで使うことにしてみます ありがとうございました
FTPの キープアライブ アスキーモード パッスィブモード てなんだ? ググル気は無い
ググル気は無い、まで読んだ。
process.start と WorkingDirectory を使い、C\〜〜\〜〜\のようなパスから 作業ディレクトリと対象のexeファイルを指定して起動することはできたんですが VBのプログラムからの相対パスで、たとえば "sample\sample.exe" のような形で作業ディレクトリとファイル指定するにはどうすればいいでしょうか curdir使えばいいのかと思ったりしましたが、なかなかうまくいきません 仕様環境はVisual Basic 2008 Express Editionです ご教示お願いします
957 :
デフォルトの名無しさん :2009/02/20(金) 00:53:27
教えてください。 AというdllとBというdllがそれぞれCというdllを参照しています。 CにClass hogeがあり、そのhogeがShared変数を持っています。 A.dllをアプリケーションドメイン1がロードしhogeのShared変数に値を設定します。 その後B.dllをアプリケーションドメイン2がロードしたときアプリケーションドメイン1で設定した hogeのShared変数を参照したいのですがこれは可能でしょうか?
>>956 Application.StartupPathとPath.Combine
Fomr1からForm2.TextBox1.Textにアクセスするからなんとかシル
微妙にスレ違いかもしれないけど、上でZedGraphの話題が出てたので便乗して質問です。
リアルタイムに変化する値をZedGraphでモニターしようと思ったのですが、タイマーの中に入れると描画してくれません。
Form1_Loadに入れれば最初に描画されますが、そこからグラフが変化しません。
この場合、どうしたらよろしいのでしょうか?
Imports ZedGraph
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' CreateGraph_GradientByZBars(ZedGraphControl1) ' グラフ描画
Timer1.Enabled = True
Timer1.Interval = 500
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
' ZedGraphControl1.GraphPane.CurveList.Clear()
' ZedGraphControl1.GraphPane.GraphObjList.Clear()
CreateGraph_GradientByZBars(ZedGraphControl1) ' グラフ描画
End Sub
Private Sub CreateGraph_GradientByZBars(ByVal z1 As ZedGraphControl)
' 中身は
'
http://www.atmarkit.co.jp/fdotnet/vblab/extcompo_02/zedgraph_02.html 'と同じ物を使用しています。(Randomなので成功すればグラフがグネグネ動くはず・・・)
End Sub
End Class
961 :
960 :2009/02/20(金) 02:48:41
使用ソフトは VisualBasic 2008 Express Zedgraphは5.15です
962 :
960 :2009/02/20(金) 10:20:59
自己解決しました z1.AxisChange() の後に z1.Invalidate() を実行することで、毎回描画されるようになりました。
963 :
デフォルトの名無しさん :2009/02/20(金) 12:39:20
folder.existsと書いてもエラーがでるのでたすけて
964 :
デフォルトの名無しさん :2009/02/20(金) 13:50:17
超能力者カモ〜ン!
965は部下を育てる力がないのでクビ
本当の部下ならちゃんと育てるよ
まずまともに質問する能力のない963をクビにすべきだろwww
いい人しか育てられない人も安月給で十分
965と968は自分の子供が就職に苦しんではじめてわかるだろう
>>966 バカ育てるよりまともなの雇った方がいいのは言うまでもないだろ。
>>967 やめとけ。
>>970 口だけじゃなく、てめぇが教えてやれよ。
VB2008を使っています。コントロールの動的なコピーって出来ないでしょうか。 例えば、フォームにラベルを1つ作っておき、これを実行時に縦横にコピーし、グリッドのようなものを作りたいのです。 単純に new Label をフォームに登録し、Left/Top/Width/Height を変更しても、BorderStyle等も元のLabelと 同じものを設定しなければ見た目が変わってしまいます。 元のLabelと、Left/Top以外がまったく同じLabelを作成するにはどの様にすればよいのか教えてもらえないでしょうか。
じゃぁ今の政治家は実力がないのになんで議員を続けてるんだ?
>973 単純に、BorderStyle等も元のと同じに設定すれば? めんどくさいって話ならスマン
>>973 >グリッドのようなものを作りたいのです。
DataGridView ではあかんの?
977 :
973 :2009/02/20(金) 16:26:17
>>975 突き詰めて言えば「めんどくさい」に分類されると思います・・・
>>976 だめな部分があるので・・・
単純な方法はなさそうなので、*.Designer.vb で設定されているプロパティをコピーするようにします。
ありがとうございました。
メモ帳でプログラミングしたことないんだろこのカンジじゃ
vb2005です OpenTextFieldParse と TextFieldParse の違いが分かりません 実際使用して見ましたが、 OpenTextFieldParse⇒漢字や仮名などの2バイト文字が文字化けする TextFieldParse⇒同上だが、シフトJISでエンコード可能で、文字化けが回避できる くらいしか差が発見できません・・・ 読み込み時などのパフォーマンスなど、他に違いはあるのでしょうか・・・
違いってw OpenTextFieldParserはメソッド TextFieldParserはクラス ガソリンとガソリンスタンドの違いを聞いてるようなものだぞw
>>980 ガソリンを使ったらガソリンスタンドが生成されるってこと?
>>981 バカでもなきゃ違いを聞いたりしないってことさ
>>982 わかってるなら教えてあげればいいのに。
そもそも次元が違う 比べるものじゃない
メソッドとクラスの違いを聞いてるわけじゃないと思うけど。 OpenTextFieldParserで生成したTextFieldParserオブジェクトと TextFieldParserをnewして生成したオブジェクトの動作が違うって言ってるんでしょ
型は一緒なんだから設定の違いだろ OpenTextFieldParserが勝手にストリームのエンコーディングなどを設定してるだけ
いやエンコーディングの違いも無さそう TextFieldParserのString1つだけのコンストラクタを使ったのとまったく同じ デリミタやフィールド幅を指定するオーバーロードを使った場合は文字通りそれらが設定されるだけ
989 :
デフォルトの名無しさん :2009/02/21(土) 04:20:53
VB2005です VB2008ってどうして推奨スペックがあんなに高いんですか。 2004年モデルのPCを使ってますが、スペックが足りず VB2008使うには10万の費用がかかります。
>2004年モデルのPCを使ってますが メモリさえ増やせば問題ない。メモリは今安いよ。
991 :
デフォルトの名無しさん :2009/02/21(土) 12:59:09
初心者の質問です。 EXCELでは現在使っているワークシートを残しておきながら、現在のワークシートを改造する場合「名前を付けて保存」で別の名前で保存すれば 名前が違うだけで内容が同じワークシートが作成できます。 VB2008でそういうことをしたいのですが、やり方がわかりません。 どうしたらよいのでしょうか?
普通に名前変えて保存するだけ
htmlファイルからタグをはずして通常のテキストファイルに変換する方法はありますか?
タグだけ削除してもそれは通常のテキストファイルではないような気がしないでもない
>>994 995
さっそくのアドバイスありがとうございます
Inner Textを調べてみます
後でテキストは編集するのでとりあえずタグが外れたらいいのです
次スレどこー?
>997 オマエが建てれ
999 :
デフォルトの名無しさん :2009/02/21(土) 17:10:00
しょっぷきゅっきゅ999
1000 :
デフォルトの名無しさん :2009/02/21(土) 17:45:05
1000 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。