1 :
デフォルトの名無しさん :
2012/06/28(木) 11:03:21.54
なにこの過疎?すごす・・・w
4 :
デフォルトの名無しさん :2012/06/28(木) 19:35:17.46
おい、テンプレぐらいちゃんとつくれ 今の時代、小手先の技術=プログラマーじゃ飯くえねーぞ ばーか
5 :
デフォルトの名無しさん :2012/06/28(木) 19:36:15.90
6 :
デフォルトの名無しさん :2012/06/28(木) 19:37:01.82
7 :
デフォルトの名無しさん :2012/06/28(木) 19:37:34.54
9 :
デフォルトの名無しさん :2012/06/30(土) 11:29:47.67
VB.NETはすげーな あれもできるし、これもできる
まるっきり同じことをやっていても、なぜか簡単そうに見えるのがVBのいいところだよね ただし、VB6のPGがあーだこーだ口出ししてくる所は好きじゃない
vbはifとかEndでくくるのをやめて欲しい
いいこと考えた{}で囲ったらわかりやすくね?
>>11 バカだろ
ネストが見やすいのがVBのいいところなのに
VBで何が一番許せないかというと、Meが一番嫌だな thisと比べると気持ち悪い気がする 最近、すごいことに気がついたんだけど フォントをCourier NewにするとVBなのに凄くかっこいい言語に見えるから不思議
>>14 あれがあるから見づらいんだよw
C#みたいに{}でくくれば良い
じゃあC#やっててくれよw
今わ2012年なのにVBわ2010とゆーことわ?
C#にもSelect Case文があれば、以降するんだけれどね。 なんでツケないんだろう・・・
switch case は Select Case に置き換えられるけど、 Select Case は switch case に置き換えられない場合がある。
breakの記述が強制されるからswitchがSelect Case相当になっても微妙にうれしくない
>>21 > Select Case は switch case に置き換えられない場合がある。
例えば?
Case 1 To 4 Case GetType(String)
>>23 select caseは、引数に数字以外が指定できる。それこそ条件も可能。
対して、switch caseは数字のみ。
なんで、非常に使い勝手が悪い、
条件に指定できるのを適当に書くとこんな感じか。 switch case : 整数と文字列、しかも定数のみ Select Case : なんでもOK
>>26 C#で使えるようなクラスでもなんでもあったらすごく助かるよ。
定数化するために、ルーチンを別途用意しないといけないのが、移植の際に
辛い。
>>25 > 対して、switch caseは数字のみ。
使った事ないのね
>>26 > switch case : 整数と文字列、しかも定数のみ
定数ってなんだよw
列挙型の事か?
switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ
>>28 > 定数ってなんだよw
> 列挙型の事か?
つ CS0150
> switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ
つ CS0151
>>29 このエラーの意味分ってる?
未初期化の配列指定したり、キャストしなかったり、voidメソッド指定してエラーとか当り前
これはやっちゃいけない書き方、だからエラーになるの
switchが〜selectが〜以前の問題
本来はVBでも、ダメなんだけど暗黙的に初期化やキャストが行われてるから通ってるだけ
まずは Option Strict を ON にするクセをつけよう
……間違いを認めるのは恥ずかしいことじゃないよ
32 :
デフォルトの名無しさん :2012/07/03(火) 00:06:08.19
何の話をしてるよかよく分からんけど、VBのSelect...CaseとC#のswitch...caseって 結構違うのは確かだよ。 例えばC#のcaseの後にはswitchの()の中の値と比較(==)する定数式を一つしか書けないが、VBの場合はCaseの後は 定数式である必要もないし、比較する値は複数でもよいし、そもそも==以外の評価もできる。
>>32 それは、本来IFで書く事を無理やりselect caseにハメて書いてるだけの事
通常の書き方していればswitchもselectも同じ事ができるし
これに関してC#ユーザーが文句言った事ないだろ?
それはコード書いてて困る事がないからだよ
言ってる事に無理がありすぎて悲しくなってくるな
>>33 だから何の話をしてるの?何の話がしたいの?
俺は単に両者の機能には違いがあるといってるだけ。
現にある機能に無理矢理も糞もあるか。そんなのあんたの価値判断だろう。
馬鹿じゃないのか。
面白いのは、switchは上記のようにC#がシンプルでVBの方がよく言えば柔軟、悪く言えば無駄に多機能なんだが、
forに関してはVBの方がシンプルになってる。
>>33 みたいな人は、C#(というよりC系統の言語)のfor文を指して「本来whileで書くことを
無理やり(ママ)forにハメてるだけの事」とか言うのかしらんw
C#ユーザーが文句言わないのはC系言語はそれが普通だからというのが一番の理由だろうな まあif並べるのと変らないから実質別に困らないのも事実だが
C系のswitchってコンパイラに最適化を促すための目印に過ぎないからな VBのselect caseとはわりと意味的にも違うと思う
でもVB.NETで書いたコードをC#に置き換える時 C#にはSELECTがないから無理ーとはならない
まあ変換でどっちが難しいかといえば圧倒的にVB->C#なんだけどな 言語的な意味でもコードの質的な意味でも
41 :
デフォルトの名無しさん :2012/07/03(火) 01:57:49.32
なるほど目印か
VB.NET も C# も若干書き方は違っても最終的な IL は同じ 結局俺らは .NET Framework サブセットの中で騒いでるだけなのさ
43 :
デフォルトの名無しさん :2012/07/03(火) 15:08:50.42
DataGridViewについて質問があります。 DataGridView1.DataSource = prDs.Tables(0) Table(0)には、 からむ1 からむ2 からむ3 があるとします。 からむ2の列の型はBooleanで、チェックボックスとなっています。 このチェックボックスがTrueの場合は、"済"を、 そうでない場合は、""を入れたい、 要はDatagridViewのからむ2の列のセルの型をstring型に変更したいのですが 型を変える方法をご教授下さい。 DataGridViewTextBoxColumn型のカラムを追加すれば実現が可能のようですが、 元々datasetで定義しているからむ2を抽出して抽出したからむ2 の型を変更するような方法はないでしょうか? 宜しくお願いします。
エディットコントロールはチェックボックスにして表示はテキストボックスにするって事?
45 :
デフォルトの名無しさん :2012/07/03(火) 16:14:02.84
データはPostgresから抽出してきています。 指定したテーブルからSELECT文で抽出するのですが、 からむ2に該当するデータがTRUE、FALSE表記となっており、 抽出したデータを構造体に編集し、 編集した構造体をDatagridView.DataSourceに編集し 表示しています。 そのチェックボックス(Boolean型)の表示をString型に型変換して表示するように 変更したいのです。 表示はテキストボックスにして、
C#のネイティブコンパイラが欲しいな ソース丸見えとか
スレチ ngen
>>45 AutoGenerateColumns = falseにして手動で全列追加ですな
独自の構造体扱ってるのが良く見えないが
DataSetかDataTable使った方が楽な気はする
Net Frameworkになってから CプログラマもVBプログラマも等価になったんでしょ?
今日VB.NETでラムダ式書いた... これだけは、C#に合わしてほしかったわ
質問です VB2010でアプリを作ってるんですが、フォームに配置したボタン(ボタンAとします)にフォーカスが合っている時にスペースキーを押すと、 Aが押された時のイベントプロシージャが意図せず実行されてしまい困っています Aはマウスでクリックするかフォーカスが合っている時にEnterキーを押すかのどちらかでしか機能しないようにしたいんですが 何かいい方法はないでしょうか? ↓のような、ボタンAのKeyDownイベント発生時にSuppressKeyPressプロパティをTrueに変更するコードではうまくいきませんでした Private Sub Button_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown e.SuppressKeyPress = True End Sub
>>51 適当に書くとこんな感じか。
Private Sub Button_KeyUp(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Button.KeyUp
If (e.KeyCode = Keys.Enter) Then
Button_MouseClick(Button, New MouseEventArgs(MouseButtons.None, 1, Button.Location.X, Button.Location.Y, 0))
End If
End Sub
Private Sub Button_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Button.MouseClick
クリック時に実行したいコード
End Sub
これでマウスとEnterキーにしか反応しないように出来るべ。
Clickイベントには何も書かないように。
>>52 サンクスです
Clickイベントに何も書くなということですが、このClickイベントとは
>>52 のMouseClickイベントではなく、
デザイナー上でボタンAをダブルクリックした時に自動生成されるClickイベントのイベントプロシージャには
何も書くなという意味でいいでしょうか?
54 :
53 :2012/07/04(水) 11:59:52.08
と思ったけど自己解決しました
>>53 の考え方で合ってたっぽいです
おかげで上手くいきました
しかしこのくらいボタンのプロパティとかでサクッと設定できるようにして欲しかったなぁ・・・
一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。
スペースでボタンクリックできないなんて標準に全く沿わない操作なんかどうでもよし
コマンドボタンのMouseClickイベントなんて滅多に使わないからね
サブフォルダの名前一覧を取得したいのですが ネットワークで接続された他のPCの共有フォルダを対象とした場合 どういった処理をさせれば良いでしょうか。 Directory.GetDirectoriesメソッドやGetSubfoldersメソッドでは 取得できませんでした。 他のPCへはエクスプローラからなら認証なしで接続可能な状態です。
GetSubfoldersってのは知らないけど、 Directory.GetDirectoriesで普通に取得できるな。
>>59 確認してくれてありがとうございます。
Directory.GetDirectoriesで可能とのことなら
ネットワークの設定に問題があるのでしょうから
そちらを確認してみます。
>>60 ですが、原因わかりました。
サブフォルダ内のファイルが多いと
取得に時間がかかるようです。
サブフォルダ自体は18個しかないのですが。
3分ほど待ってたら取得できました。
ありがとうございました。
古い仕様で申し訳ないのですが COMについて分かりやすく解説してあるサイトか書籍をご存じないでしょうか? 旧VBの時代には使われていたようですが・・・ よんどころない事情でCOMを覚えるハメになったのですが 手がかりなしに覚えられるほど優秀じゃないので>< 猿でも分かる程度に噛み砕いた本かサイトをご存知ないでしょうか?
前あったけど消えてるな
ありがとうございます
>>63 俺の本棚に、こんな本があるな
日経BPソフトプレス
Microsoft Visual Basic 6.0 コンポーネント プログラミング
ISBN4-89100-071-6
今でも入手できるかどうかは知らんが、VB6でやるんでなければ買うほどの価値はないかも
68 :
デフォルトの名無しさん :2012/07/14(土) 21:31:36.40
ListBox1.Items.Item(i) ListBox1.Items(i) どっちがええの?
コードの見やすさと量の違いだけ。
>>55 >一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。
経験上、一般的な操作から逸脱することをやたらと顧客が強要してきたらデスマフラグだな。
無理だと言っても、偉そうな奴が出てきて「金出してるんだから言われたように作れ」とか騒ぎだすw
無茶させた事を忘れて、さらに仕様変更とかあるよね
「やれ」って言われてその通り作ったら、「なんでやったの?」って言われた事がある。
そんなの自業自得。 仕様を口頭でやり取りして文章も残さないってどんだけ素人仕事なんだよ。
新システム構築プロジェクト 第625回打ち合わせ議事録 (〜中略〜) お客A「あっ!今のはオフレコで、議事録に書かないでね。」 担当B「はい。了解しました。」 (〜中略〜) ・本日の決定事項 D画面の仕様は〜とする。 〜の件はオフレコとする。
AM1:00:00になったら、画面にメッセージを出す処理を 作りたいと思いました。 ア)timerのインターバルを1秒に設定して、毎秒AM1:00:00になったかチェックする イ)AM1:00:00から今の時間を差し引いて、AM1:00:00間での時間を求め、 その時間をインターバルにセットする。 この2つが浮かんできたのですが、他にいい方法はないでしょうか。 言い方がおかしいかもしれませんが、timerに直接、「AM1:00:00になったら起動」 という設定方法はないですよね?
タスクスケジューラを使うのが定石
>>75 タイマーで頑張るんじゃなくて、Windowsのタスクスケジューラで
その時間にプログラム起動するのオヌヌメ
タスクスケジューラがいいと思うけど、タイマ使うならWinFormsのタイマじゃなくて System.Timers.Timer使えよ
普通のフォームアプリケーションですが 普段使わないフォームを開くとHDDがアクセスしまくって 時間がかかります。これはフォームをコンパイルでも しているんでしょうか? 初回起動が遅いのはいいのですがフォーム単位でまで 初回起動が遅いのはいかがなものかと思うのですが
HDDアクセスがボトルネックになっている場合、コンパイルは全く関係ない 嘘だと思うならNGenを試してもいいけど、たぶん改善しない 単にディスクからコードやリソースを読み込むのに時間がかかっている可能性が高いからな 普段使う方のフォームが開かれている間にバックグラウンドでロードするようにしたら? フォーム開かなくても、別のスレッドでGetType(普段使わないフォーム).Assembly.GetTypes()とかやればロードされるよ
>>81 なるほどー。
じゃあメインフォームが起動したらスレッド起こして
その中で全フォームgettypesしてみます。
すいませんが、助けてください。 1つのフォームの中にWebbrowserを2個貼り付け、URL1,URL2をそれぞれ参照しています。 URL1のWeb参照が出来なくなるとメールを送信してWebが見えなくなった事を知らせて 自分自身をMe.Close()し5秒waitしてから、Loadイベントで再度Webbrowser.Navigate()する Web監視ソフトを作りました。 長時間URL1が見えなくなると何度もMe.Close()、Webbrowser.Navigate()を繰り返すことに なり、やがて勝手に別のIEが立ち上がってくるのです。 このIEが立ち上がってくるのを抑止したいのですが、どうやってもうまく行きません どなたか知恵を貸してください 試しにWebbrowserを1個にすると、何度もMe.Close(),Webbrowser.Navigate()を繰り返しても IEは立ち上がってきません。 なぜこのような動作になるのでしょう?よろしくお願いします。 WindowsXP SP3 + VB2010expressです。
とりあえずwebbrowserコントロールで監視ってのがいまいちすぎる
勝手に別のIEが立ち上がってくるって、エロサイトか?
さすがにクソすぎる お願いだからWebRequestを使ってくれ
>>83 なんかよくわからないが、closeしきれてないうちに
Webbrowser.Navigateしようとするからとか・・・
フォームのインスタンス自体消すようにme.disposeするとか
formclosedイベント内でWebbrowser.Navigateしてみてどうなるか?
>>83 なぜこのようなアプリを作るのでしょう?よろしくお願いします。
なぜかVBって文法覚えられないよね C系の言語だとVBより細かい所まで覚えているのに
質問です メインのフォームでOpenFileDialogを使ってCSVファイルを読ませ、別フォームを開いてそこで逐次 CSVファイルの行を読み込みながら処理を行うアプリケーションをVB2010で作ってます 使用時にCSVファイルのフォーマットが想定外のものを間違って読ませてしまう可能性があるので、 TryステートメントのCatchにエラー発生時の例外処理を記述し、そこで使用していたオブジェクトを Disposeした後Me.Close()でフォームを閉じてメインフォームに戻すようにしたいのですが、実際に リリースビルドして不正なCSVファイルを読ませてみると 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」 という例外発生のダイアログボックスが出てきます 試しにCatchのDisposeしている部分を削っていきなりMe.Close()すると意図した動作(ダイアログとかが 出ずにそのままフォームが閉じてメインフォームに戻る)になるんですが、実際のところDisposeしないで いきなりMe.Close()してしまっても問題ないんでしょうか?
オブジェクトがあったらDisposeするようにしたらいい
>>91 オブジェクトはいくつか使ってるんで最初はDispose() → Me.Close()するようにしてたんですが、
そうすると
>>90 で書いた例外のダイアログボックスが出ます
一応使われてるオブジェクトは
・画面表示に使うfontオブジェクト数個(変数font)
・画面表示に使ったグラフィックスオブジェクト(変数g)
・CSVファイル読み込みに使ったStreamReader(変数sr)
なんで、Catchの部分を
Catch
font.Dispose()
g.Dispose()
sr.Dispose()
Me.Close()
Finally
と記述してます
Dispose()の行を削ってMe.Close()だけにすれば表面上の動作は意図した通りになるけど、
それだとオブジェクトの解放処理がちゃんとされてるのかどうか分からなくて
オブジェクトのインスタンスがあったらの間違いだった
UsingつかえUsing
無いものをdispose出来る訳がないだろうに… つーかdisposeはfinallyに書くもんだろに
全体的に見直そう 1.Disposeは呼び出し元でするもの 2.Disposeはクローズ後にするもの 3.Disposeが必要なメンバの解放はFormのDisposeをオーバーライドしてその中で行なう 4.モーダルフォームならDisposeの手動呼び出しが必要。モードレスなら不要。
97 :
デフォルトの名無しさん :2012/07/22(日) 19:05:15.55
非同期処理なんだけど backgroundworkerとtaskどっちつかえばいいのん? やりやすい方でいい?
98 :
92 :2012/07/22(日) 21:24:52.28
レスありがとうございます 前レスでは書き忘れてましたがsrはDisposeする前にCloseしてます srは複数のプロシージャにまたがって使い、それ以外のgやfontについては1つのプロシージャだけで使うので いろいろ試行錯誤してみた結果 ・Catch部分ではエラー発生フラグを立てるだけにする ・Try〜End Tryの後の処理は全部If〜End Ifの中に入れて、エラー発生フラグがFalseの時のみ実行 ・プロシージャの最後でgとfontをDispose ・エラー発生フラグが立ってたらMe.Close() ・クラス内にFormClosedイベントプロシージャを追加し、そのプロシージャ内でsrをClose→Dispose という記述に変えたら一応イメージした通りに動作するようになりました 正直腑に落ちない部分は残ってますが・・・ 自分としてはMe.Close()が実行されるとその場ですぐ終了処理が行われ、そのプロシージャ内のMe.Close() 以降のコードは無視されるものだと思ってたのですがひょっとして違うんでしょうか?
下記エラーが時々発生するのですが 回避する方法はありませんでしょうか? Clipboard.Clear() Clipboard.SetDataObject(txt_target.Text, True) 要求されたクリップボード操作に成功しませんでした。
クリップボードはプロセス間で共有されるから成功しない事もあるみたいだよ。 詳しい事はオレも聞きたい。 とりあえずリトライ回数付きのオーバーロード使っとけば?
>>100 サンキュー。
誰もこのスレにいなかったからC#スレに引っ越しして質問してみたけど
やっぱりそうみたいです。
try catch で Exception ブロックに入って同じコードを実行しようとするとまた同じエラーが発生。
まいったな。
フォームを非表示にしてNotifyiconを配置してそれをダブルクリックしたら ある処理を実行させるのですが、そこでメッセージボックスを表示させると ウィンドウの最背面に出てしまってタスクバーでメッセージボックスのタスクを押さないと メッセージボックスが前に出てこないのですが、これはどこを直せばいいでしょうか 2010 + WinXPです。
>>98 何どう考えたらそんなコードになるやら…
レス全然読んでない?
Using使うと死んじゃうとか?w
>>101 リトライ前に少しウェイト入れてみたら?
105 :
92 :2012/07/22(日) 23:37:03.46
>>103 最初にFormLoadイベントでCSVファイルの先頭行を読んで初期設定をして、その後Timerイベントを
一定間隔で発生させてその度にCSVファイルを1行ずつ読んでいく、というスタイルなんですよ
で、srはFormLoadイベントとTimerイベントの両方でCSVファイルを読むのに使ってますが、Using使うと
プロシージャが終了した時点でいったんDisposeされちゃいますよね?
そうすると再度プロシージャ開始時点でインスタンス作り直したとしても、事前にCSVファイルを
どこまで読み込んだか分からなくなってしまうと思ったのでUsingは使いませんでした
読み込んでる最中に、新たに書き込み(追記)があることが前提なのか?
>>104 catchブロックで2秒の待機を入れましたが
エラーが発生する(タイミング)では catchにはいって2秒待機させても
エラーが発生しました。
あきらめて、コピーボタンを再度押す事にします。
>>106 、
>>108 プログラム自体は物体の動きをトレースするもので、CSVファイルには経過時間とその時の物体の
座標・速度・針路が記録されてます
んで再生時には
・まずFormLoadイベントでCSVファイルの先頭行を読み取り再生に必要な初期設定を行う
・その後一定間隔おきにTimerイベントを発生させ、そのイベントプロシージャ内で次の処理を実行
・CSVファイルの中から現在の経過時間に相当する箇所を読み取り値を各変数に格納
・格納した変数に基づいて描画処理を実施する
・Timerイベントを繰り返し発生させることで物体の軌跡を描画する
というわけで、fontやgなどはTimerイベント内でしか使わず、逆にsrの方はFormLoadとTimerの両方のイベントで
使用する、という形になってます
時間経過とともにキャラクターを動かすにはTimerイベントが一番手っ取り早いと思ったのですが・・・
Timerイベント内で毎回CSV読むの? CSV読むのはloadのときだけでよくね?
113 :
92 :2012/07/23(月) 10:47:07.19
>>112 最初はFormLoadイベント時に全部読ませてたんですが、そうすると
大きめのCSVファイルを開くのに数十秒かかってしまったんで
Timerイベントで描画処理しながら逐次読み込むよう変更しました
モノによってはCSVファイルのサイズが数MBとかになったりするもので・・・
ただ逐次読み込みだと最初に全読み込み→エラーチェックができないので、
安易に「とりあえず途中でエラー出たらDisposeしてからMe.Closeすりゃいいか」
と思ってTry構文で記述したら
>>90 だったので質問させてもらった次第です
結果として情報が小出しになってしまい申し訳ないです
数メガのCSVに数十秒も掛かるってことはネットワーク越しに 見てるってことか
とりあえず設計がまずいのは置いておこう まず、どの行でエラーが出てるか確認する エラーが出てる変数のインスタンスが破棄されてないかを確認する これだけの話
disposeの基本は「インスタンスが存在したら」なんだが何故何度言っても 斜め上に行こうとするのか… If Not Hoge Is Nothing Then Hoge.Dispose って書けばわかる?
>>113 数メガくらい普通にメモリに入れろよ。
ただ読むだけで数十秒とかないだろ。
118 :
92 :2012/07/23(月) 23:18:48.13
>>114 ローカル/ネットワークで開く時間は変わらないですね
>>115-116 IsとIsNot演算子を調べてみたら何となくイメージは掴めました
Not Hoge Is NothingまたはHoge IsNot Nothing がTrueであればHogeはDisposeされてないので
その時だけHogeをDisposeするってことですね
>>117 1行読むごとにReDim Preserveで配列サイズを拡大してるんでそこが時間食ってるのかもです
ファイルサイズ比以上に開くのに要する時間が長くなってるんで・・・
とりあえず教えてもらった内容を参考にコード弄ってみます
いろいろと有難うございました
>>118 おい、いくら元の質問者が酷かったからって騙ってまで貶めるのは人としてやめろ
>1行読むごとにReDim Preserveで配列サイズを拡大してるんでそこが時間食ってるのかもです
MBサイズのテキストを扱う時にこんな寝ぼけたことする奴がいまだに生き残ってるはずないだろ
いやいや Stringに読み込んでsplitするのが一番
Fortranばりの固定形式が最強
>>119 至って大真面目です
読み込むCSVファイルの行数が不定なので解説書に載ってたReDim Preserveをそのまま使いました
今調べてみたらArrayListというのを使う方が大きなサイズの配列を扱う時はパフォーマンスがいいようですね
ReDimが最初から配列を作り直してたとは気付きませんでした
なにぶんVB始めたばかりで初心者向けの解説本片手に作ってるもので・・・
>>120-122 読み込みはReadLineで1行読み→Splitで分割→ReDim Preserveで配列のサイズ拡大→Do Untilループで
CSVファイルの末尾までこれを繰り返す という流れで実行してます
どうやらファイルサイズ比以上に遅くなる原因はReDim Preserveで間違いないみたいなので、ArrayListの使い方を
調べてちょっと書き直してみます
最初に一度空読みして行数をカウントして必要な配列のサイズを調べる方が簡単っぽいですが
ArrayListも過去の遺物だからList(Of T)を使いましょう
だからー String変数に一発で読み込んで改行でSplitすれば 一発で行単位のString配列ができるじゃないか。 これでArrayListなんかより何倍も速いしプログラムも 変更しなくていいだろ
Dim csv As String()() = (From line In File.ReadAllLines("hoge.csv") Select line.Split(",")).ToArray(); でいいよ というか実際は数値読むんだろ? だったら一行ずつ読んでクラスのインスタンスにデータ設定してList(Of T)に入れていくのが妥当だろ
Listじゃなくて勉強がてらQueueにしたら?
CSV読むのに毎行ReDim Preserveとかどこの解説書だよ 今すぐ窓から投げ捨てるべき そもそもReDim Preserveなどという老害を今更サンプルで使うこと自体どうかと思うが、 ループ内でReDim Preserveなんてやっちゃいけないことの典型じゃん
まあとりあえず、ロジックの悪いのは無視しろお前ら >118 >Not Hoge Is NothingまたはHoge IsNot Nothing がTrueであればHogeはDisposeされてないので Nothingでないって事は、Hogeの参照が有効だってことだけで、それがDisposeされてるかどうかは関係ないぞ インスタンスって概念は理解できてるか? .NETじゃないVBの本参照してるのかと心配になるな
メインのプロシージャーの中には具体的な処理は書かずにほぼメソッドの呼び出しだけにするのが良いですか?
そうだけど規模によると思うよ
Mainは起動引数の処理をするところ
134 :
デフォルトの名無しさん :2012/07/27(金) 15:18:21.15
135 :
デフォルトの名無しさん :2012/07/30(月) 10:09:53.21
笑ってください。どうしてもVB6からVB.netに移行できません。 理由は生産性が落ちるからです。 一度コンバーターで変換してみたら、座標系が多くほとんどエラーだらけ。 VB6なら仕事を与えられた時どのくらいで出来るか即答できますが VB.netだと無限大になってしまいます。これでいつまでも移行できません。 皆さんは仕事の中でどうやってVB6からVB.netに移行しましたか?
はじめからVB6を知らない
>>135 このスレを読んでいたらいつのまにかマスターしてた。
VB4からの移行なので一から覚え直しました
139 :
デフォルトの名無しさん :2012/07/30(月) 12:41:30.61
>>135 コンバータを使わない。
VB6の感覚を捨てる
>>135 仕事だと思わずに遊びだと思ってやればいい。
ユーザー定義のスケールモードの匠の技をピクセルで表現するのは事実上不可能。 VB6で作ったサイズを変更しても変更サイズに追従できるチャートとか そもそもピクセルのスケーリングに変換できない世界がVB6には多いからな。 それが未だにVB6がサポートされる理由の一つかも知れない。
このスレには仕事で使ってる人が多いのかな? 自分の場合は趣味だけど・・・
143 :
デフォルトの名無しさん :2012/07/30(月) 12:58:37.41
>>142 趣味と仕事の区別がつかない未熟な層がこの業界の大半だから
キミみたいな人がいても不思議じゃない。
まあ移行できない人が多いほど俺らは稼げるから そのほうが良い
C#指定案件が多いのはウチだけかな? VB.netはなぜかVB6より評価が低いという意味不明な状態がウチでは続いている。
146 :
デフォルトの名無しさん :2012/07/30(月) 13:08:43.40
VB6はアンマネージドだけど最終段はネイティブなCコンパイラだから最適化されたマシン語コードを吐くからね。 それに比べてVB.netは中間コードを吐くに過ぎず、JITでコンパイルしてもネイティブなマシン語コードには程遠い。
netはキャッシュメモリがでかい高速なCPUで実行する前提の言語だからな。 PentiumIIIとかで実行すると分かるけど、軽いアプリでもほとんど動かないから笑える。
でも無知な顧客だけでしょVB6でもいいっていうのは
VB6でいいなんて言う客は皆無に等しい。 しかしVB6で作られたソフトを使ってみて文句を言う客も皆無に等しい。 VB6で作ったソフトをVB.netで作り変えて客に見せると なんか重くなった気がするから元に戻せとよく言われるが それは俺のコーディングセンスの問題であると謙虚に受け止めている。
マシンパワーで乗り切れる
初回起動以外では特に重くはないような。 コーディングセンスの問題だろう。
152 :
デフォルトの名無しさん :2012/07/30(月) 13:33:53.70
VB6の方が良い事は認めるけどVB6だとWindowsの最新の機能が使えない。 たとえばWindows Vista以降ではデジタルカメラのRAW形式ファイルを読んで表示できる RAW形式はカメラメーカーごとに異なるけど各社が提供するWindows Imaging Component コーデックが使えるので、簡単にWindows Presentation Foundation のImagingを使って VB.netでプログラミングできる。 どうだい?VB6では市販のOCXを駆使したとしても、逆立ちしてもできない芸当だろう?
153 :
デフォルトの名無しさん :2012/07/30(月) 14:14:59.98
VB.NETってC#をVB6風の文法に移植してるよね なんかVB.NETならではがあればいいんだけど
154 :
デフォルトの名無しさん :2012/07/30(月) 14:40:42.08
>>146 前の現場でもそうだった。
VB6の方が起動速度が速いからね。
ユーザにしてみれば処理速度もVB6の方が早いと勝手に解釈されてしまってる。
VB6からVB.netにリプレースしてクレーム続出で来てる。
作ってる俺もVB6の方が良いと思っているのだが
お上からの命令なので。
Vistaや7の時に揉めたけど Windows8はVB6動作サポートするのかい?
Listbox1にDataSouceを使って項目を表示したのですが MsgBox(ListBox1.SelectedItem.ToString)を実行すると "System.Data.ataRowView"と表示されるだけで 項目の取得が出来ません。 項目を取得するにはどうすればいいでしょうか
デバッガでブレークポイント使ってそこで止めて ListBox1のSelectedItemを調べてみたら?
ListBox1.SelectedValueで取得すればいいよ
>>158 ValueMemberを設定→SelectedValueで
取得できました。ありがとうございました。
どういたしまして。
対象のフレームワークが.NET Framework 3.5の場合と2.0の場合とでプログラムの性能に違いって出ますか? 一応、簡単なテストプログラムで両者の実行速度を比較してみたら速度はほぼ一緒でした。 実行ファイルのサイズは3.5でビルドした方が少し大きかったです。
>「言ってないからやってもいい」だと完全にやってもいい率100%じゃないですかw >でも、 >「許可してるとも受け止めれる」ですよ?だと完全にやってもいい率50%ですよ? > >日本語理解してます? お前が日本語を理解しろと(ry
浅はかな子供の知恵ってその程度のものさw
みんな、スルースキルなさすぎ
基地外の糞餓鬼なんかかまうからつけあがるのさ。 自分では何もできないんだから、無視するのが一番さ。
しかし、こんな低脳見たことないなwww 見ているこちらが恥ずかしいわwwwww
>>164 マジうけるw
50%ってどこからそんな数字が出てきたんだw
こんなイタイやつ久しぶりに見たな 親御さんは泣いているぞ
こいつは本当に回答がほしいんだろうか? あれを見て回答してくれる奇特な人がいると思っているのだろうか? クズの心理は全く理解できんw
まあ中学生なんてこんなもんだ
君らがやってることも同じぐらい幼稚臭いよ。馬鹿じゃないの。 こんなこと人に言われないと気づかないってのがまた哀れを誘う。
本人降臨ワロタ
>次に「shuさん」 >はい、そのサイト使えませんねw”無効”です。 > >無効ではないと言う人がいるならば、どう使えばいいのかを説明してください。 気持ち悪すぎ
179 :
デフォルトの名無しさん :2012/08/03(金) 10:09:57.90
よくでてくるアメーバピグとやらはおもしろいの?
181 :
デフォルトの名無しさん :2012/08/03(金) 11:08:28.84
誰だよ厨学校にここのURL貼った奴はw
最近VBからC#に移ったけど やっぱC#の方がいいな どっちでも同じってよく見るけど C#→VB目線の意見だわ。
186 :
デフォルトの名無しさん :2012/08/05(日) 06:30:48.08
>なので、ともやさんの様な回答は「"この世にいらない回答なのです"」 おまえの存在自体がこの世にいらないことを早く気付け
酷いなぁ。あめば運営に確認してOKのソース示すわけでもなく どう悪用されるかの想像も出来ないくせに、 全部人頼みの分際でのこの暴れように対する 激甘やかしの回答にもむかむかする。
少子化だからみな子どもに優しいんだよ
投稿者 近岡 (中学生) 投稿日時 2012/7/13 20:00:37
http://ameblo.jp/1209sorabb/ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = True Then
If TextBox1.Text = My.Settings.Password Then
Form2.Show()
My.Settings.ProductKey = "Yes"
Else
MsgBox("Wrong ProductKey", MsgBoxStyle.Exclamation, "Error")
End If
Else
MsgBox("The Product Key Did Not Match", MsgBoxStyle.Exclamation, "Error")
End If
'コントロールを初期化する
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 10
ProgressBar1.Value = 0
Label1.Text = "0"
'時間のかかる処理を開始する
Dim i As Integer
For i = 1 To 10
'1秒間待機する(時間のかかる処理があるものとする)
System.Threading.Thread.Sleep(1)
'ProgressBar1の値を変更する
ProgressBar1.Value = i
'Label1のテキストを変更する
Label1.Text = i.ToString()
続き '結果を報告する Label1.Text = "完了しました" Next Dim strPass As String = "ここに暗証番号を入れてください!" If TextBox1.Text = strPass Then MessageBox.Show("認証完了") TextBox1.Clear() MDIParent1.Show() Me.Close() Else MessageBox.Show("認証に失敗しました") TextBox1.Text = "" TextBox1.Focus() End If End Sub これを張り付けてください。 設置するものは、相当な初心者でないかぎりわかると思うんで、 それは、言いませんw では、頑張ってください!
ゴミを貼るな
VB.NETで作成したアプリはC#より多くのランタイムライブラリが 必要ですか?
.NET FrameworkだけでOKなので同じです
しかし最近の厨学校では、ちょっと調べれば分かるような質問が多いな。 頭の冴えないやつがプログラミングに手を出すのはどうかと思う。
195 :
デフォルトの名無しさん :2012/08/10(金) 09:38:24.43
夏休みの宿題じゃないの? 知恵袋でも学校の課題を画像に撮って聞いてくるやつもいるじゃない。
宿題か。夏だねぇ。 コードをくれっていう奴もいるが、 コードを書いてもらっても結局アレンジが出来ないから 「動きません」という返事がくるんだろうな。
VB.NETの基礎的な問題集ってないかな?
クズ過ぎワロタ どういう教育受けたらこうなるのやらw > 投稿者 だるさん (中学生) 投稿日時 2012/8/13 22:51:30 > > もうめんどいので、いいです。 > > (1),(2),(3),(4),(5)とか書くのだったら > その1つずつの最後にこの場合だったらのコードを書いていただければいいのに・・。 > > もう諦めたんでいいです。 > > 回答有難う御座いました。
>>200 スゲーなw
そんなことで今後自分で組めるのか?
しかし、弁士さんもこんなのに付き合って、そんなにヒマなのかね? ズバッと明快な回答を頂ける弁士さんは、非常にありがたい存在なのだが。 非常にもったいない。
弁さんは10人くらいいる説
教えたがりなんでしょ。 傍から見てると胸糞悪くなるやりとりだけど、 当人たちにとってはハッピーなんでしょう。
弁士は質問者の為に教えているのではまるでないのよ まったくもって他の閲覧者の為よ 質問者は単なる問答ネタよ
2chと変わらんな
質問者には到底理解不能なことを答えてくれるおかげで、おいらの役には立つもんな
すみません。とうとう書き込みしてしまいます。教えてください。 定型文を作成するプログラムを作っています。たとえば、季節の挨拶のように A,Bが対になっていてリストボックスでAを指定するとテキストボックスBが 表示されるというようなものなんですが、そのペアをあとからユーザーが登録できる ようにしたいのです。きっと方法は山ほどあるんでしょうが、一般的にどういう 方法が普通のやり方なんでしょう。レジストリは使いたくありません。登録例は 30程度です。 なにとぞヒントをお願いします。
その条件でどうレジスリ使おうとしたのか教えてくれww
>>210 すんません。それくらいのドシロウトということで(汗)
あんまよくわかってないけど、逆にレジストリ使ってできるの?
XMLに保存しとけ XmlSerializerとかXDocumentとか使って
普通にiniファイルかxmlで保存すればいいとおもう
任意に項目が増えるんだったらXMLが妥当だと思う レジストリやiniは項目がすべて決まってるときに使うもんだ 別にファイルの形式はXMLでなくてもCSVでもなんでもいいけどXMLが一番簡単だよ
>>212-
>>214 ありがとうございます。なんとか夏休みの宿題ができそうです。うれし〜なー。
しかしやはりメジャーな言語は違いますね。過疎言語ではこんなに早くレスはないです。
これからはここを主戦場にしようかな。
VB.NETをPC98で動かすにわどーすれば
Monoを移植する
コンボボックスの項目をクリックしたと同時に その項目を取得したいのですが、どのイベントを使えばいいでしょうか。 クリックイベントで取得させると前の段階で選択していたものが 取得されてしまいます。
SelectedItemChanged
>>219 ありがとうございます。
しかし、その様なイベントはありませんでした。
vb.net2010です。
>>218 ↓キーで選択されたらどうするつもりだったの?
仮に↓キーが効かないとして、
クリックが値を変更する唯一の動作です。って書いてあった?
>>220 SelectedIndexChanged
秀丸 4000円ってどーゆーいみ?
醤油いみ
>>223 最盛期には年間3000ライセンスぐらい販売していたってことだよ。
サクラエディタでいいや
試用期間を設けるため起動回数制限を付けたいんですけど レジストリに起動回数書く方法より、もっとセキュリティ的に強固な方法ってありますか?(ネット以外で)
exe自体に保存してしまえばいい
時間制限にしてNTPで時刻取得するとか
セキュリティ的に強固ってどういう意味なんだろうか
>>231 割られないって意味なんですが、なんて書けば良かったですか?
仮想マシン使ってOS再インストールするなりどうとでもできるから ネット使えないんならどうしようもない
揚げ足取りじゃなくてそれってセキュリティと関係ないよねw 個人的には、不正使用する奴は何やってもするから、そんなことにエネルギーを使うのは 時間の無駄だと思う。
ランダムにゴミファイルを起動するごとに作って、それを数えればいい ランダムに作成するから削除もユーザーには不可能
何やったってOS再インストールにはかないません .NETだとIL解析して再アセンブルして認証外すことも難しくないし
>>233 ですよね。実は、自分でも時々やってたりして...
ただ仮想マシンか否かはアプリ側からチェックできますよね。
>>235 面白いアイデアですね!それ使わせていただきます。
みなさんおっしゃるように完璧なものはないのでしょうけどかなり良い感じですね。
ありがとうございます。
いいアイデアなのかな。 正直俺には意味がよく理解できんけどw
239 :
227 :2012/08/25(土) 00:37:07.86
こんなにすぐにレスいただけると思ってませんでした。 とても助かりました。みなさんありがとうございました!
.なんか文字列を引数にとっていい加減なパスを生成するハッシュ関数を用意しておいて、 ゴミファイルの内容からハッシュ関数で次のゴミファイルのパスを求めて またその内容から次を…という風に辿っていくとか? それなら実装は難しくなさそうだが最初をどうするかが問題だな
241 :
240 :2012/08/25(土) 00:50:03.28
最初はMACアドレスとかマザーボードの型番とか使って ハッシュ関数でパス生成すればいいか?(最初のファイルパスがどこでも同じだとバレやすいから) 以後はランダムな文字列を使うとして
勝手にあちこちにゴミファイルを作成するってどんなウイルスだよ
レジストリだって勝手にゴミエントリ作って残しとくんだから変わらんだろ
>>240 みたいな方法はファイルでなくレジストリでも使えるはずだけど
ゴミレジストリの方がマシだわ
そんなソフト使いたくない
>>237 仮想マシンかどうかってどうやって確認できるの?
そんなあなたにRegSeeker
datatableの中の該当レコードを有るかどうかチェックする方法教えてください ナンバーが1で属性が炎 って指定して そのレコードがdatatableにあるかチェックできればいいんですが・・・
Selectメソッドとか色々
SELECT * FROM テーブル名 WHERE ナンバー=1 AND 属性='炎' この際sqliteでも導入してデータベース覚えなよ データベース使わないにしてもちゃんと型付ければLINQでほぼ同じことできるし
linq
>>249 selectメソッドの引数のStringってSQL分を入れればいんですかね
了解いたしました。
253 :
デフォルトの名無しさん :2012/08/25(土) 14:23:56.64
だから秀丸は四千円なんだよな
ムカつく奴にもあほな質問にも淡々とひたすら回答してるの見ると 実はすごい高性能なボットなのかもと思えてくる。 そのうち人格ゲットして ムカつく奴やあほを判別できるようになるかも。
最新レスにするの忘れて亀レスはどうやったら防げるか ごめんね。
256 :
デフォルトの名無しさん :2012/08/28(火) 09:48:46.00
>>256 VB.netはC++なんかに比べラフに書けてしまうので最初戸惑った。
乱暴な書き方をすれば、こんなのばかりでプログラムしているとそのうちバカになるんじゃないかと。
でも、今は便利さにどっぷりと(ry
プログラムを作るにあたり、最低限知っておいたほうがいいことってなに? 分岐、繰り返し、クラスくらい?
最低限、入門書を一冊買ってきて全部終える それからMSDNを自分で読めるようになることも超重要
向上心のない人が対象でお願いします
じゃやめとけ 仕事にするかプログラミングそのものを趣味にするんでなければ どう考えても全く労力の割に合わないから
自分ではなく、向上心のない新人が入ってきたので、どうしようかな。と思って
頑張って辞めてもらえ
仕事なら向上心があろうがなかろうが、業務命令で指示出すだけだろ
自分を超えていく後輩はいないほうがいいじゃん
やる気ない新人のお守り押し付けられて、育たなかったらお守り役の
>>262 がドヤされるんだろう、きっと。
>>258 ググる能力
まったく該当しなそうな用語でググってるやついるじゃん
新人に課題をやらせてみたら、その課題の説明文でググりやがったw
vb.net 2010でStringの長さは最大いくつまで許されますか?
min(メモリの容量, 文字数がInt32の最大値)まで
System.Charのサイズが2バイトで、それが2^31文字だと約4GBか 環境によってはOutOfMemoryよりインデックスのオーバーフローが先かも
>>267 確かに重要だな。最近はフレームワークが凄く巨大になってて、
数テラバイトのドキュメントの中から必要な情報を速やかに
ピックアップする能力ってのは無視できない。
アホなんだろう オレの知り合いの知り合いで30過ぎで「一応」を「いちよう」と思っている奴がいるが 中卒のパチンカスだ こいつのブログで「とりやえず」って文言があるが、完全に同類だと思う
「延々と言っている」を「永遠と言っている」奴も居たな。
未曾有をみぞーうって言う?
279 :
sage :2012/09/05(水) 01:45:22.99
スプレッドのValidatingイベントで、エラーの場合、他のイベントからも呼ばれているファンクションでセットフォーカスしています。 その後e.cancel = true としているのですが、Validatingイベントなので対象セルが編集状態となってしまいます。編集状態ではなくセルが選択された状態(カーソルが入ってない状態)にしたいのですが、うまくいきません。 もしどなたかおわかりになりましたらご教授いただけたら、と思います。 よろしくお願いいたします。
280 :
279 :2012/09/05(水) 18:17:38.20
自己解決しました お前らはレスおせえよ
VB.net 2010 なんですが、win7で開発していたアプリをXP(仮想、画面色=16bit)で動かすと フォームの白い面に薄らとモザイクみたいなブロックがいくつも出てしまうんですが、何かわかる方いらっしゃいますか? 本当はバーチャルではないXPで試せればいいんですけど。
普通に考えればフォームの白い部分の色が16ビットで表現できない色調なんだろ
>>283 ディザなら数学的な配置になりそうなんですが、そうでもなく、しかも1個がデカいんですよ。地デジのブロックノイズみたいな大きさです。
>>283 バーチャルでも色数を24bitにできたので試したところ、ご指摘どおりでした。ありがとうございました。
業務アプリケーションでThread使われるとガッカリするよねー
馬鹿はそうなんでしょうね。
>>288 Threadって読みにくいじゃん
異議は認めない
Th ス rea レッ d ド
なんでがっかりするの?
もちろん彼には理解できないから
VB .NETなんて滅多に仕事で使わない
>>292 読めば普通にわかるよ
読みにくいからがっかりする
WEB用にはたくさんWYSIWYGエディタがあるのですが WinForms用のものは見つかりません。需要が無いんでしょうか? 欲しいのですが・・・誰か作って!
296 :
デフォルトの名無しさん :2012/09/22(土) 00:50:24.85
WinformでグラフィカルなUIのツールを作ろうと思うんだけど、WPF以外に何か良い物ありますか?
WinformかWpfかどっちなんだ
どっちもでいいです。 やっぱりコントロールだけWPFで作ってwinformで使うのが一番ラクですかね
>>299 それはお勧めしないな
重いし動作も怪しくなるし面倒だし何よりWPFの強力なレイアウトや合成が全く活かされない
両方使うんならユーザーコントロールで大きな単位で貼り付ける方がいい
XAMLは知らない人に教えるのは辛そうだ 勉強する側もモチベーション上がらないかもね
303 :
デフォルトの名無しさん :2012/09/26(水) 09:46:19.06
こんばんは 自分で少しググってみたのですがまだまだ VBを初めて日がたってなくあまり理解できてない状態です。 そのような状態で皆さんに助けられながら一つのソフトウェアを作成しました。 そこでプログラムの応募をしたのですがどうもエラーが出るらしく困っています。 画像が読み込まれていない場合は各種処理を飛ばす プログラムをお教えいただけないでしょうか??
If 読み込まれている(画像) Then 各種処理(画像) End If こっちはお前のプログラムの仕様も構造も一切知らないから、これ以上のことは回答できない 「画像が読み込まれている状態」とは何なのか 「各種処理」とは何なのか 言っている意味が分からないなら、どこかのうpロダにプロジェクトを丸ごと晒せ 心配しなくてもどうせそんなソースに価値なんて全くないから
305 :
Q10 :2012/09/26(水) 11:41:41.71
説明しずらいのですが、 RGB値 例として適当に(60, 127, 177)だとします。 その、(60, 127, 177)の色がある場所の座標を取得したいのですが、 どうしればいいでしょうか? 取得したやつは、X, Y で記憶させたいです。 できればコードで教えていただけると嬉しいです。
Bitmap.GetPixel あとはループがわかってれば簡単 ただGetPixelは糞遅いので、それで作ってみて使い物にならないようなら 代わりにBitmap.LockBitsで爆速 画像ファイルではなく画面上の色という意味なら、Graphics.CopyFromScreenでスクリーンショットが撮れる
Windows汎用アプリ前提でだけどVB.NETでキーボードのスキャンコードの判定やりたかったら結局 テキストボックスかフォームのハンドルでAPI呼ぶしかないん? 数年アンマネージコード書いてないから作法忘れてるしなぁ・・・ なんか方法ないかな?
WndProcオーバーライドすればいい
>>305 最初から座標をピンポイントで指定するだけならGetPixelでも構わんと思うけど
フルスキャンする気ならLockBits一択でしょうな
コードは、「LockBits vb.net」で検索すればいっぱい出てくる
日曜日の毎週AM9時に動くプログラムのコードわどんなかんじに
>>310 まともなエンジニアはその手のコードは書かない。
タスクに登録する。
これって例の掲示板のマルチじゃね? 芸風が…
Q10=そら
>>308 WndProcオーバーライドしてみたけどWindowsMessageの段階ですでにスキャンコードからWindowsキーコードに変換されてる
たとえばメインキー側のエンターキーとテンキー側のエンターキーを区別できないんだよなぁ
109キーボードなら109種類全てを判別したいんだ
ほかになんか方法ないかなぁ
DirectInput
>>315 ちょっと何言ってるか分からない
LPARAMにスキャンコード含まれてるだろ
Dim Ar As String(6) の要素わ6ケと7ケどっちだっけ
今度はこっちにヤサ変えたの?
windowsフォルダに???.sysってファイルを StreamWriterで作ろうとしたんだけど win7 home premiumでは作れなかったがwin7 ultimateではOKだった。 ???.sysをやめて???.iniにしたら home premiumでも問題なく作れたんだけど、 そんなことってある?
処理中に出すローディング画面って マルチスレッドでShowDialogがいいの?
そう。裏に回るのは処理ね
ファッキンVB厨と呼ばれる覚悟があるならループの中でDoEventsを読んでもいい 長時間一つのIOにブロックされる場合はダメだが
PentiumV以上のパソコンならShortなんか使わずに常にIntgerつかっとけばいんだべ?
いんとじゃ〜
test
てす
同じPCで2つのアプリ間でタイマーを利用したUDP通信を実装したんですが、それぞれタイマーでSocketをOpen/Closeしているのでエラーになります。 なにか良い解決策はないでしょうか
>>330 >タイマーでSocketをOpen/Closeしている
↑を止める。
もしくは、別にもう一つソケットを作って、Socketのオープンクローズを
外部から制御できるようにする。
Sindy could assign
333 :
デフォルトの名無しさん :2012/10/10(水) 20:12:59.57
質問お願いします。 ・textbox1.txtに"様"、"さん"等の敬称(2つだけ)がコピペされた場合、それを削除したい やり方教えてくださいお願いします
334 :
デフォルトの名無しさん :2012/10/10(水) 20:16:16.94
できた。ごめんなさい
>>334 「さんまさん」が「ま」になってないですか?
336 :
デフォルトの名無しさん :2012/10/12(金) 22:04:23.26
テキストボックス複数作って、そこクリックしたらテキストボックスに入ってる文字をクリップボードに送るアプリって作れる?
集約例外ハンドラってVB.netのフォーム使うプログラムではどうやったらいいんでしょうか。 サンプルとかどこかにないでしょうか
AddHandler
悲観的排他制御ってどうしてる? おすすめ教えて
普通にSynchronizedでロックでしょ 楽観的な方はInterlocked
windows Formのデザインがいろいろ乗ってるサイトってありますか? 最悪、WPFでも構いません。
目的は知識を深めることです。 主に参考にしたいです
フォーム上でなにか操作したときのイベントを取りたいんですが、叶でしょうか?
>>345 姉妹かよ?
visual studio使ってないの?イベントんとこクリックするだけじゃん。
どのイベントでしょうか?
自作でツールバーを作りたくて、ボタンのリストのプロパティを実装しましたが、うまくいきません。 プロパティ画面でボタンを追加したあとに、また開くとリストのプロパティにはボタンは一個も入ってませんが、ボタン自体は画面上にたされています。
349 :
347 :2012/10/18(木) 22:18:36.48
マウスキャプチャで実装しました
引数で渡した型によって戻り値が変わるファンクションを作りたいのですが、 可能なのでしょうか?
初心者なら、渡す型ごとにファンクション作ってオーバーロードさせとけばいいんじゃねーの? 色々自信があるなら、引数をObject型にしておいて関数内で元の型を判別してもいいのかもしれないが少なくとも俺は自分ではできればそんな設計で組みたくない
>>350 ,351
そういう使い方がジェネリックだと思ってた
戻り値の型が変わる、ってことだよな? 引数と戻り値が同じ型ならジェネリックでいいんじゃね 引数の型と戻り値の型の対応が決まっているならその分オーバーロード作るべき そうじゃないならObjectで受けてObject返すしかないんじゃないかな
ジェネリックで実装できました。 ありがとうございます。
355 :
デフォルトの名無しさん :2012/10/27(土) 10:18:39.82
今どきVBとか馬鹿じゃない?
馬鹿にもできるからいいんじゃよ
最近始めたんだけど、なんでVB.NETって、似たような命令がいくつもいくつもあるんだ? 似たような命令ならひとつの命令に引数つけるとかオプションにするとかすればいいのに。
>>357 質問スレは不満をぶつける場じゃない。
文句は開発者に言え。
金払ってんならサポートしてくれるだろ。
なんでVB.NETのサンプルって変数とか分かりにくくて短いのばっかつけるの? Objとかshとか。
スコープが短いし、メソッドの長さも短いから。 適切にメソッドを分けられていれば変数名なんて大して重要じゃない。 短い変数名くらいで読みづらくなるのはクソ長いメソッドを書いているからであって、 いい加減な変数名なんかよりその方が遥かに害悪。
VB.NETでAcrobatでPDFが操作加工できると聞いたんだけど資料とかサンプルが見つからない。 いい情報はないでしょうか。
聞いたなら、言った奴に聞けよ
>>362 聞いた、というのは表現のひとつでした。正確にはググって調べていたら
そういう記述が散見されるけれど、具体的なものが見つからない、ということです。
同様にエクセルのVBでもできる、とあり、こちらはコードのサンプルもあるんですが
これをどう応用すればいいかわかりません。
ご存知でしたらぜひヒントをください。
そのコードのサンプルも出さずにヒントくれだの情報教えろだの、頭おかしいのか?
>>363 日本語でおk。
「VB.NETでAcrobatでPDFが操作加工できる」とか意味不明。
翻訳すると、(製品版の)AcrobatのOLEを使ってPDFを操作加工が 山の向こうを飛んでいた、か?
367 :
デフォルトの名無しさん :2012/11/04(日) 10:10:16.29
いまからはじめるならVBとC#とどっちがいいですか?
C#だな できることは全く同じで、C#ができればVBはまったく問題なく使えるが、逆はそうとは限らない。 C#の方が難しいという意味ではなく、VBは歴史的理由から使わないほうがいい古い機能が盛り沢山。 C#ではそういうのは一掃されているので、C#をやるかぎりそういう地雷を踏むことがない。 使っちゃいけない機能や正しい考え方が正しく理解できていれば、 もし後でVBに移行したとしてもVBから始めた人よりも良いコードが書けるはず。
というかVB.NETが理解できればC#理解できるし、その逆も然り だって同じ.NET Framework使ってるんだからね、実行速度もかわらない 何故M$がVB.NETを作ったのか理解に苦しむ、あとOfficeのVBAもC# for Applicationにしなかったのも理解に苦しむ
C#の質問に対してVB.NETのサンプルを提示して文句を言われた経験はほとんどない VB.NETの質問に対してC#のサンプルを提示すると結構な確率で読めないって言われる
同じというのは両方理解してる人だからこそ言えることで、実際には「同じものとして使える」だと思う VBしか知らない生粋のVB使いが書くとC#にない機能使いまくってC#とかけ離れたコードになるよ C系言語にアレルギーを示す人多いしな
.NETのTIPSサイト運営者曰く、面倒だからどうせ一緒だしと思ってC#のサンプルだけ載せたら VBerからの文句が殺到して仕方なくVB追加したらしいなw
VBができればC#は特に必要ないだろうけどC系アレルギーはまじでやばい JavaとかC++とかにも手を出す予定があるならC#の方が馴染みやすいかも
VBでMyとかVB用の関数使っちゃったりすると いざC#でやろうとすると 若干戸惑う事はあるかもな。 なので最初からC#がいい
まぁ慣れだよね、既存のソースがVB.NETだからVBで改修しつつ、別チームはC#だから通信用サンプルはC#で書いて渡したり。 一つの言語が理解できれば他の言語なんてなんとなく使えるようになるよ、言語そのものよりもノウハウの方が大事だから真面目に努力すれば経験は無駄にならないと思うよ
VB.NETはVB6やってきた人が、色々と指図してくるので出来れば使いたくない
vb.netはvb6でやってきたことできるんだよねーとか言って、クラス名を日本語にしたりとか
>>370 うん、うちの会社の人も同じ事いうよ
ソース変換サイト使えばいいやん
VB6しかできないやつって本気でレベル低いからな やればできるのにやらなかった奴等が多いからだろうな あとCOBOL→VB6でVB6しか使えないって親父もすげぇ多い コボラーってゴミなんだなーって思ったわ
379 :
デフォルトの名無しさん :2012/11/04(日) 20:42:25.06
プログラムなんて誰でもかけるだろ。 俺の息子は小学校1年生だがばりばりC# VB.net でアプリ作ってるよ。
>>378 >VB6しかできないやつって本気でレベル低いからな
これ、同意する。
プログラムなんて簡単だとかいって、VB6しか出来ないのに要件定義に行くのやめて欲しい
客としゃべっているだけで、全然要件を定義してないからね
またこの手の話か。 そういう話で言えば、この手のコボラーがどうとかVBerがどうとか言ってる奴自身が 実は一番無能だったりする。 心理的には一種の屁は屁元かみたいなものだなw あとは、自分が無能で不安だから自分より下の奴がいると(それがたとえ脳内妄想であっても) 思わないとやっていけないという心理的メカニズムが働くのだろうと思われる。 いずれにしても馬鹿っぽいわ。 ようするにこの程度の自己分析もできないってことだからな。 自分がなぜそのような下品な動機をもつのかという。
>>381 君は変数・クラス名が日本語だけというプログラムを見たことがあるのか
それを、保守したことがあるのか。
もし、それを見て何も思わないならよっぽど頭がおかしいか、プログラミングに向いていないかのどっちかだ。
>>382 君の頭が固いだけ。
日本人は英語が苦手だから
へんてこな英語の名称を付けるより
日本語の方が視覚的に見やすい。
特にオブジェクト指向は日本語と相性がよい。
一行入力ルーチン.初期化実行()みたいに
素直に読んでいけば日本語の文章になる。
少なくとも直接入力できない時点で、VisualStudioでコーディングする時に日本語はあんまり向いてない 日本語に限らず直接入力できない文字使う言語全般って言うべきかも知れないけど
>>384 コード補完の話か?
せっかく見やすい日本語なんだから
文章を書くように毎回手で入れりゃいいじゃん。
むしろ補完は都度タイプが中断されるのでウザい。
C# に With 〜 ないのが痛いなぁ
C#にwithは検討されたらしいよ ・要望が少ない ・大してメリットがない ということで却下。つまりお前は少数派。 プロパティ初期化子でだいぶ補えるようになったし。
何度もプロパティにアクセスして遅くなるのが嫌ならローカル変数に入れればいいだけだし
SqlCommand とか With 使ったほうが見やすいと思うけどなぁ .CommandText と .Parameters.Add〜 の羅列になるし
var p = command.Parameters; p.Add... p.Add... 特に問題ないな 特にvarができてから
必要なら { } で囲めばほぼ同じだよな VBではブロックだけのブロックは作れないけど
392 :
デフォルトの名無しさん :2012/11/05(月) 17:11:28.40
日本語不便なのか、ちょっと二の足踏むな。 C#とタメになった替わりに文字入力自分でマップしろってこと?
with はなくても困らないけどあった方が嬉しい(構造がはっきりするという意味できれいに書ける)
のは確か。
>>390 みたいのはJava信者の連中の無理があるJava擁護と他の言語への排斥を
連想して見苦しいと思う。
まあプログラマの世界も人間社会だから必ずしも合理的な理由で物事決まらないんだよね。
他にも、VBのメソッド内Static変数はシングルトン的なものがすっきり書けるだけでも
存在価値があると思うが、C#しかやらない人間はまずその存在価値を認めないと思う。
>>393 Java信者じゃないけど、普通に
>>390 の意見に賛成なんだけど
withに何十行も書く奴いるから、C系の言語にwithはいらないと思うよ
VBにはプログラムの可読性を無視する奴が多いから、VBはキモいって言われるんだよ
あいつらは、楽だからって理由で読めないコードを量産するからな
>>394 withにいっぱい書いたらいけないの?
いっぱい省略できる箇所だからこそwithを使うのに。
俺なんてwithのブロックが100行超とかけっこうあるよ。
長いwithの中でwith使われるとだんだんわけわからなくなる
>>395 書いてダメってわけじゃないけど、書いた人以外は嫌だなって思うもんだよ
C系の言語出身の人は特に強く思うはず
俺も With でネストしながら延々書くほうだな 変数を定義したら負けかな、って思う瞬間がある
まぁあれはコード書く人が手抜きしたいがための機能だからな
With の中で .(ドット)で始まるプロパティ類がインスタントウォッチできないのは不便だな やる気ないのかよ? デバッグのためだけに、わざわざ適当なダミー変数に入れたりしてる。
withは、そのブロックで中心となるオブジェクトが何であるか 先頭行を見れば一目でわかる素晴らしい構文だ。 MSはぜひ他の言語にも広めて欲しい。
話ぶったぎるけど Integer.Parse("1000.0") ってエラーなの? なんか腑に落ちないんだけど
どう見ても整数じゃないだろう 有効数字とか分かる?
404 :
402 :2012/11/06(火) 18:37:05.05
1000.1 ならエラーでもいいけど 1000.0 は 1000 なんだから Integer に入るべきだと思うんだけど
あんたがどう思っていようが関係ないよね?
VBという言語は低レベルPG専用だろ 一生一人で開発して、改修して、マイグレーションして、リファクタリングし続けるなら好きにすればいい 本人以外が読んだときに生理的に気持ちの悪い受け付けないソースばかりになるからVB嫌いなんだよな
>>406 あんたの好き嫌いを述べるスレじゃないんだけど
parse系、datetime型に対してはやたら過剰に動作するのに他は投げやりだよな
苦肉の策で考えておりますがvb.netでコンソールで書き込みをすると windowsのコマンドプロンプトで入力した時と動作が同じになるのでしょうか? バッチを実行してデータをアップロードする方法を考えていましたが、 文字変換などでどうにもうまくいかず、直接コマンドプロンプトに書き込む 方法を考えています。
>>404 Integerとの区別するために.0書くのに・・・バカですか。
412 :
デフォルトの名無しさん :2012/11/09(金) 17:13:39.72
すまん。誰か教えてくれ。 内製したアプリケーションをGUIで操作するアプリをVB.netで作っているのだけど、 操作される側のアプリのコンボボックスを操作するときに A.コンボボックスをクリック B.コンボボックスのリストをキー入力Sendkeyで操作 C.Sendkey「Enter」で確定 という処理をするときにIMEを確実にオフにしてキー入力をしたい。 いろいろ調べるんだけど、操作される側のアプリがアクティブ?になった時点で IMEのオンオフが変わっちゃったりしてうまく操作できない。 確実にBの時点で英数字を直接入力にするにはどうすればいいんでしょう?
Sendkey使ってる時点で終わってる
>>414 ここは質問スレなんだから質問か回答をすべきだと思うが? なんでヒントも出せないの?
ヒントなんていらん結論で十分 結論:終わってる
>>414 すまん。ヒントになってた。さらにヒントをくれ。しかしなんでこんなにいろいろあるんだよ。わけわからんわ(呆)
>>415 質問スレでこういうスカした書き込みをするガキは
必ずいるんで、無視した方が精神衛生上いいよ。
俺らは大人の余裕で行こう。
俺の意見だけど、他アプリをSendkeyで操作するっていうのは
手で直接アプリを操作するのと原理的に変わりないので
こういう副作用は避けられないと思う。
GUIアプリへの定型的な操作を自動化したいのであれば、
Windows上の操作をレコーディングして再生できる類の
ソフトを探してみたら?
具体的なソフトは知らないけど、商用・フリー共にありそうな気はする。
>>418 某ソフト使ってとても重宝しています。最初は単純にそれ自体を使って操作していて
それに飽き足らず、そのソフトを自動で操作して、業務用のアプリを操作したりしていましたが、
いろいろ複雑なことをするようになって、そのソフトでは対応しきれなくなった部分があるので、
自分で作り始め、他の部分はとても快適になったのですが、この部分だけなんとも解決しない
こともあり質問してみました。会社が使いにくい糞ソフト投げてくるのが元凶なんですがw
作者がリストラされちゃって誰も面倒見てくれやしない。
死ね、システム部wwwwwwwww
>>417 内製したアプリケーションなら、素直に既存のアプリケーションの
ソースコードを改変して対応したほうが簡単だし、変なトラブルを
避けられる。
SendKeysを使うならトライエラーで正常に動くように頑張るしかない。
SendKeysでキーを送るタイミングを微調整したりとか。
この手の微調整はバッドノウハウの類だから、ちょっと環境が変わると
動かなくなったりするけどな。
この手の処理を行う時には、俺はTimerを使って定周期で送るようにしている。
次に送るキーは、送信側のアプリケーションをステートマシンとして作成する。
キーを送るタイミングを遅らせる為のディレイもステートとして作成する。
>>418 >具体的なソフトは知らないけど、商用・フリー共にありそうな気はする。
昔はWindows標準機能としてもあったし、Microsoft Testなんて製品もあった。
亡くなった理由はGUIが複雑化して、標準的なスクリプトだけでは、
この手のアプリケーション操作を誤りなく実行する事が困難になったため。
現存する製品では、WEBアプリケーション専用の物ぐらいしか見たことないな。
>>421 .NET3.0以降はUIオートメーションという機能があり、
System.Windows.Automation名前空間に入ってる
WinForms/WPF両対応
>>422 もしかしてVS2010Expressじゃ使えないとか?
サンプル少ないしぜんぜん試せないorz
>>423 ビルドターゲットを.NET3.5か.NET4にすれば使える
情報は多くないからMSDN読めないコピペグラマには無理
SharpDXってVB.NETでも使えますよね?
使えるけどDirectXはC++読めないと(書けなくてもいいけど)使うのはまず不可能だよ C++読めるんならわざわざVB使わないだろうし
あ、C++は一応読み書きできます。 すでにVBで作ったアプリにDirectXを組み込みたく思いまして。 使えますか。よかったです。早速取り掛かります。
VSあればC++なんて難しくもなんともないんだからVBなんて選ぶなよ おまえらがVB選ぶからVBなくならないんだよ
ブヒヒヒw
>>428 C系の構文にアレルギーがあるんでそれはできない。
Cでは一行もコードが書けないのだ。
C++使いはVB.netでもC#でもOKだけど。 ただ.net系使い続けるとバカになるような気はするが。
アルゴリズムさえわかってれば何使っても一緒だろ 便利なものを使わないのはただの馬鹿 一生メモ帳使ってろ
C++使いがC#やっても変なコード書くぞ VB使いと違ってコンプレックスを感じてないぶんタチが悪い
.NET使い続けるとバカになるんじゃなくてバカだからVBしか使えないんだよ プラットフォームのせいにするな
バカにも使えるVB最高
>>432 一緒じゃないだろ。
Cはポインタやメモリの使い方がわからないと、
C++・Java・C#はオブジェクト指向やVM、
クラスライブラリの知識がないと何もできない。
VBはそういう壁となる難解な概念がない。
ソースを上から見ていけば何をしているか誰でもわかる。
誰でもわかるということは、誰でもメンテやコードレビューが
できるということであり、開発の生産性と品質が上がる。
こんなすばらしい言語は他にないよ。
VB10以外の言語使ったことない俺は勝ち組???
負け組予備軍 早期に他の言語を覚えなければ取り返しのつかないことになる
マジでか!? でもCとかJavaとか一体ナニに使うのかさえ知らんぞ。
でもいまさらWindowsのCとかやってもあれだから マイコンでCをやりつつ電子回路もやるのがいい。
SQLじゃダメかな?
VB2008でADOを使ってローカルにあるアクセス2010のmdbファイルから データを読んだり書き込んだりするプログラムを作りました。 配布先はOFFICEの入っていないWindows7のPCなのですが この場合、VS2008で作ったセットアップ以外に何をインストール すれば動くのでしょうか? アクセス2010を入れれば一番安心なのでしょうけど それだと別途購入しないといけないですよね。
mdacをインスコすればいいよ
MDACって7用とか無かった気がする 最近のWINDOWSだとADOははじめからかサービスパックに入ってるかじゃなかったか
外してると思うけど、x86でビルド AnyCPUだと64環境で泣きを見る
っつーかCでないと組み込みやマイコン制御一切できないぞ、.NETのフレームワークなんてまず存在しないし 制御っつーと自分とは無縁だと感じるかもしれんが、通信は今やどんなプログラムでも必要だろ あ、業務システムとかじゃいらんかwww 国内の業務システムとか枯れた技術とノウハウだけで作ってて超絶つまらんよな、俺はもう一生国内企業の業務システムとか作りたくないわ。 あんなのずっとやってたらプログラマーとしてのキャリア終わっちまう、常に最先端技術に触れて、エンドユーザー意識しないと、世間一般の間隔と超絶乖離したよくあるオナニー勘違いPGになっちまう
マイコン用.net framework出てるよ C#で開発できる。だから一切できないということはない。 まあ俺はCでやるけどw
実験もしないでイメージで語るのはやめるべきだと思う。
>>451 だから?って書いてんだけどね。
#系がランタイムで動くものである以上スペックからは懸念を持つでしょう?
言葉尻捕えてレスされても困るんだけど
疑問形だろこの?はw
速度なんかより少ないメモリで動くことが重要だろ でもいくら.NET MF自体は超省メモリといっても、PCと同じ感覚で使ったら確実に死ぬから 結局C#でCみたいなコードを書くことになり、あんまり意味ないような気がする
大量生産するような製品に組み込むマイコンなら省メモリや速度や 重視されるだろうけど、生産設備みたいなものなら高性能マイコンを 使ってC#でさくさく作れるようになるのもありなんじゃない? PC用ソフトだって市販のパッケージアプリはC++で作られるけど、企業向けの システムなんかはC#やJavaが使われることが多いわけだし。 そこは住み分けだろう。
C#のメリット理解してない奴ばっかだな。オブジェクト指向でプログラミングしないならCでも一緒だろ。 低処理速度、少ないメモリじゃ言語がC#ってだけでメリットはないな。
>>443 こんなのに注意!
//blogs.msdn.com/b/jpsql/archive/2012/10/24/kb-2517589-264696-win7-sp1-ado-os.aspx
ついこの前、テスト機に認証しないで新規に7入れてアプリをインストールしたら全く動作せず。
単にmdbを開いて閉じるPG書いて新規の7に入れても動かなくて徹夜になった。
SP1入りの7を新規に入れたらあっさり動いて涙がでた。
ここで聞いて良いのか分からないけど、元サイトに掲示板らしきものがなかったので…。
すぐ使えるADO.NET
ttp://park5.wakwak.com/~weblab/index.html を、参考に見ていたのですが、ここで記載されているReturnの扱いがこれで良いのかどうか。。
例えば、以下ページのクラスclsDBIOのExistSyainなど、Returnの後にDBのCloseを入れているのですが、
Close行く前に返ってしまう気がするのですが、どうなんでしょう。
ttp://park5.wakwak.com/~weblab/clsDBIO.html > ' 社員テーブルから該当社員コードのレコード数取得
> Dim count As Integer
> count = CInt(cmd.ExecuteScalar())
> If count > 0 Then
> ' レコードが存在する時の処理
> Return True
> Else
> ' レコードが存在しない時の処理
> Return False
> End If
>
> ' DB接続を閉じる
> If Not con Is Nothing Then
> con.Close()
> End If
結構な場所でReturnの後に処理をしている部分があり、実際の所どうなのかなと…。
>>459 君の言う通りだよ。当てにしないほうがいい。
本来、Closeを素で書くこと自体間違っていて、Try 処理 Finally Close End Try
の順番で書くのが正しい。この場合、処理のところでReturnしていて
CloseがReturnより下になることがあるんだが、Finallyは必ず呼び出されるのでこれは問題ない。
正しいパターンはこう(Closeを顕に呼ぶ場合。Usingを使う方法もある。)
Dim con As OleDbConnection = Nothing
Try
con = new OleDbConnection();
conを使う
Return True
Finally
If con IsNot Nothing Then
con.Close()
End If
End Try
>>459 のリンク先の例だと、Closeする前のnullチェックは明らかに無意味
これ書いた人このパターンのコードを見て間違って覚えたんじゃね?
二度と見ないほうがいいよこれ
>>460-461 ありがとう。
やっぱりそうでしたか。プログラム上で確認しても通らないからおかしいと思ってました。
C#のコードを併記してないサイトは大抵地雷
>>459 のサイト見てみたけど、今更Jetとか
ちゃんとしたDB使えよーーと
んで、どこかデータベース扱うのにいいお手本になりそうなサイトない?
>>464 だけど、単純なテーブルだとSQL CompactよりJETのほうが速かったりする
>>466 SQLiteとJetってどっちが速いの?
起動するとクリップボードの内容(文字列)に変更を加え、自動的に終了するというアプリを作っています しかしなぜかform1が呼び出され、6行目以降を実行してくれません。 原因は何でしょうか? Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim a As String = Clipboard.GetText Dim b As String Clipboard.SetText(b) 'ここで終わってしまい、form1が呼び出される MsgBox("ok:" & vbCrLf & b) 'メッセージボックスは表示されません Me.Close() End Sub End Class
これでどうだ??? Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim a As String = Clipboard.GetText Dim b As String = "bになんか入れろ" Clipboard.SetText(b) 'ここで終わってしまい、form1が呼び出される ") MsgBox("ok:" & vbCrLf & b) 'メッセージボックスは表示されません Me.Close() End Sub End Class
Shownイベントに書けばいいよ
なんでフォーム?
愚問だな VBの世界ではコードはフォームに書くものだろ
>>469 ありがとうございます、うまくできそうです
エラーが起こらなかったのが不思議ですね。
OS上でエラーでも起こって色々処理が飛ばされているのでしょうか
>>471 あのMS-DOSプロンプトみたいなもののことでしょうか?
なるほど、こういうときに使うんですね。よくわからないので敬遠してました。
exceptionをキャッチしてないだけで、落ちてるんじゃ
>>473 >ありがとうございます、うまくできそうです
どういたしまして^^
すみません。以前SharpDXがVB.NETで利用できるか
聞いたものですが、C#では問題ないのですがVB.NETで試すと
デバイスの生成で例外エラーになっています。
問題点がわかる人がいましたら教えてくださいませ。
http://codepad.org/ZqtwrS2q
477 :
デフォルトの名無しさん :2012/11/24(土) 19:36:40.28
SQL Server 2000 とVB2008との組み合わせです。 DataSet(DataTable)へテーブル構造だけコピーする事って出来るんでしょうか? フォームの値を一時保持のためにDataSetを利用したいのですが、テーブルからデータをコピーする方法や 自分で新規に作る方法は分かっても、構造のみコピーする方法が分からないです…。 SELECT TOP 0 とかで取得すればいいんですかね…。
478 :
477 :2012/11/24(土) 19:37:55.17
これは自分で新規にすべてのフィールドを、データベースと同じフィールドで作成するのが面倒(間違いが起きやすい)からやりたくない と言う意味があります。
>>477 似たような事やっているプロジェクトあるよ。DBがORACLEだとこんな感じ
SELECT * FROM TABLE_NAME WHERE 1 = 2;
ORACLE <---> VB <---> FLEX(FLASH)
VBからORACLEへSELECT文投げて、その結果をFLEXに投げ返す。
FLEXではVBから送ってもらったSQLの処理結果を元にオブジェクトを初期化する。
-------------------------------------------------------------------------------
これやってもいいんだけど、致命的な所が1つだけあるなー
デバッグしないとSQLの文法チェックが出来ないこと
プロジェクトが大きくなってくると、SQLのシンタックスチェックのためにデバッグするのが面倒なんだは
>>479 格好わるっ!と思ってしまった。
せめてデータディクショナリでしょーって。
でもTABLE_NAMEで表されるオブジェクトの結果リストの定義を得る手段としては安全確実だよね。
例えば後でそれがビューに置き換えられても動くって事とか。
型付使えばいいやん
>>480 >データディクショナリ
何ですか、これは
VB<-->FlexはXMLで通信している関係上、あんまりデータを送ることが出来ないんだよね
本当にFlexのオブジェクトを初期化するためだけに使っているから、型の情報も送ってないんだよ
通信する量が増えると遅くて遅くて
てか、VB使っている時点で相当カッコ悪い。
だから、実際にこの方法使っても、そこまでカッコ悪いとか思わないよ
>>482 >データディクショナリ
データベースを定義する(定義を参照する?)為のオブジェクト群だよ。
メタデータね。
ORCLEだと
SELECT *FROM USER_TABLESでDBユーザの所有するテーブル一覧
USER_TAB_COLUMNSだと列単位
こんな具合にDBのあらゆる情報が取れるよ
SQLServerでも同様のオブジェクトがあると思うよ
ホントにテーブル(ビュー)の定義がほしいならデータディクショナリでいいけど 実際は、SQL文の結果返されるデータ構造が欲しいって事がほとんどだろ
>>482 あぁー、あれか
SQL Serverだとめちゃくちゃ分かりにくいよね
そういう点では、Oracleが楽だ
>>484 俺もそんな気がする
もし、.NETだけで完結するなら普通にクラス宣言するなー
クラスだとフィールドが100も200もあるとめんどいからね。 (それが普通と言えば普通なんですが) Datasetが、もっとDBと親和性を持ってくれたら良かったのに。 せめてSQL ServerやAccessとだけでも。
整数値Aの値が大きくなればなるほど計算結果の値が抑えられる という計算をしたいのですが難しいです・・・ たとえば、「(A)=(計算結果)」として (1=1.0)→(2=1.8)→(3=2.6)→(4=3.2)→(5=3.4)→(6=2.8)→(7=0.6) と、A=5以降から値が減っているのが分かるように 単純に比率ではなく指数対数的なカーブを付けたいんです。 これを変数Aと、結果用の変数B、率の定数、の3つでやりたいのですが 計算が苦手で難航しております;;誰かお助けを・・・
それをどう助けろっていうんだ 方程式ぐらい用意してから来い
487のやりたい事の意味すら理解不能な俺w 小難しいプログラムを作ってる人もいるんだね。尊敬するわ
>>488 その方程式すらわからないのでヘルプミーですw
放物線で良いなら y = ax^2 + bx + c aとbとcを適当に設定する というか487は1-3の間が直線というのが難問だな
>>487 単純な数式で表せないなら、各座標をテーブルで持って、
座標間はベジェなどで補間すれば近似するのではないでしょうか?
493 :
デフォルトの名無しさん :2012/11/27(火) 18:30:08.73
VB2008になります。 ComboBoxとDB(SQL Server2000)と連携させる場合、DataSource(ソース) /ValueMember(コード) /DisplayMember(表示用)を 設定できるかと思いますが、もう一つのフィールドを取得したい場合って何か方法有るんでしょうか? 例: テーブルホゲホゲ フィールドコード、フィールド表示用、フィールドその他 とあった場合などで、ComboBoxで値が選択された時、フィールドその他も他のテキストボックスへ表示させたい。
SelectedItem取得して好きなの取れ SelectedItemに何が入ってるかはデバッガで確認しろ
困ってること:文字列(フォント)の横幅dot数を調べたい Graphics.MeasureString メソッドがあればいいんだけれど、エクセルなので・・・ どうしたらいいでしょうか
あ、ごめん誤爆った! ここVBAじゃないわw スマソ
やりたい事:スマフォで表示されるのグリッドのように指で弾くとスクロールするようにしたい PCの場合 :左クリックして上下にドラッグする事でスクロール タブレット:タップしたまま上下にドラッグする事でスクロール うまく伝わるかわかりませんが、よろしくお願いします
499 :
498 :2012/11/29(木) 12:07:28.18
>>498 しっかりタップしてやったら普通に出来ました
すみません
indexof()でinstr()のstart、文字列検索の開始位置指定したいのですが、できますか? 開始位置を指定したい場合はinstrを使うしか無いでしょうか
インデックスは0ベースだから気を付けろよ VB6やVBAは綺麗さっぱり忘れること
環境:SQL Server 2000 + VB.NET SQLスレなのか、DBスレがいいのか、このスレで有っているのか分かりませんが。 日付型に日時(yyyy/MM/dd hh:mm:ss)が入っている時に、日にちでもって抽出したい場合のやり方がしっくりこない。 例えば、今日を取得したい場合、方法はいくつかあるけど、たとえば23:59:59を入れる方法。 SELECT 日時 FROM テーブルホゲホゲ WHERE 日時 BETWEEN '2012/12/03' AND '2012/12/03 23:59:59' VB.NET とかで、ToDay (Or Now) に、文字列で" 23:59:59" をくっ付けたりしているんだけど、これって正しい? それとも、テーブル側のデータを文字列にして日付書式にした方が良いんだろうか。 なんだかしっくりこなくて、毎回どうするのが良いんだろうと悩んでしまう…。 みんなはどうやってデータを取得しているんだろう。
date型にキャストして日付型同士で比較する
>>503 >BETWEEN '2012/12/03' AND '2012/12/03 23:59:59'
これだと、23:59:59.01〜23:59:59.99は抽出されないけどおk?
一番確実なのは「HOGE >= '2012/12/03' AND HOGE < '2012/12/04」
とすることだと思う。
>>504 >date型にキャストして日付型同士で比較する
それだとインデックスが使われないので・・・
>>505 おお、そうですね。
今回はミリ秒が入っていないからいいものの、そこまで入ったフィールドならちゃんとしないと…。
Between の場合はどうしますか?
(使わない?)
これまたミリ秒を考慮しないなら、こういう感じになるんですかね?
DataAdd("s",-1, DataAdd("d",1,ToDay()))
ミリ秒入ると関数に制限が出来る。。むずい。。
Using を利用しているのに、中にTry を入れて Finallyで Usingで呼び出したクラスのCloseをするのってどうなんだろ。 なんかUsingを信用できないんだよなw 無駄なコードを書いている以外に何か有害な事は有るんでしょうか?
自信なさそうなコードはそれだけで有害だけどな
509 :
デフォルトの名無しさん :2012/12/04(火) 23:44:59.21
>>507 何を悩んでるのかよく分からない。
キャッチする必要がある例外が起こりうるならTry...Catchの中にUsingのブロックを置く。
逆ではない。
当たり前だと思うけど...
別に逆でもいいだろ Using全体をTryで囲むのは、Usingで使うオブジェクトのコンストラクタで発生した例外を キャッチしたい場合。
DisposeとCloseは同じ意味になるべきというのと同じように Dispose(=Close)を二回呼んでもいいというルールもある どっちも実装者次第なわけだが、前者は信用できなくて後者は信用できるという根拠は?
>>510 何でそんな例外的な場合を想定した話になるのか理解できないけど、
そういう場合はUsingブロックの前でインスタンス作って変数に入れておくでしょ普通。
その方がコンストラクタでの例外発生を想定していることははっきりする。
個人的な感覚だけど、Disposeを呼んでもCloseも呼ばないといけない糞実装と Dispose(=Close)を二回呼ぶとおかしくなる糞実装を比べると 後者の方がわりと見かける気がする
わざわざ書くような事でも無いけど以下の様な感じで。
特にOpenする様なクラスの場合、Closeが無いのが・・・。
Using hoge As New Clshoge
Try
hoge.Open
Catch ex As Exception
Finally
If hoge IsNot Nothing Then
hoge.close
End If
End Try
End
>>512 記載されていない不安感からかな??
自分でも分からない。DisposeやCloseを理解していないからかも。
>>514 Using使うんなら少なくともNothingチェックは絶対要らん
NothingチェックするんならTryの中でNewしてUsing要らん
.NET以降のVBは何のためにあるのかわからん
>>511 >DisposeとCloseは同じ意味になるべき
まずこれはどこで言われているのか詳しく教えてくれ
>>516 もちろんVB6/VBAユーザーの囲い込みのため。
VBユーザーはVBしか使えない傾向が比較的強いので、MSの.NETプラットフォームへの移行戦略にあたり
表向きVBに近い(雰囲気以外は全く違う言語だけど)言語を用意して楽そうな以降パスを用意して
VBユーザーが移行をためらったり他に逃げたりするのを避けた。実際成功している。
ベースとなる登録項目が40個あり、それに処理(約30種類)により0〜10個程度違う登録項目が増えます。 例: 処理A:基本1,基本2,基本3 … 基本40, 追加1,追加2 処理B:基本1,基本2,基本3 … 基本40, 追加1,追加3 処理D:基本1,基本2,基本3 … 基本40 処理E:基本1,基本2,基本3 … 基本40, 追加1,追加3 分類するとパターン10個程度に絞れます。ただしこのパターンは新しい処理が不定期に 増えたり減ったりします。 これの登録フォームを考えた時、どのようにするのが良さそうでしょうか? [条件] ・全ての登録データは1画面に収めたい。 ・処理の切り替えはフォームの起動後に行う。 (メインメニュー → 登録フォーム では無く) 理由として、処理は連続性があり同じ処理の登録を何度か繰り返す場合が多く、登録が終わったら次の登録状態にして、 もし処理が異なる場合は、画面を閉じるのではなく切り替えるイメージで登録させたい。 ・画面の表示速度的に画面の切り替え毎にフォームを起動(new)させるのは遅い。 案1 ・ベースのフォームからパターン別に継承されたフォーム(10個)を作り、Accessのサブフォーム的な考え方で、起動時に すべてのフォームを起動させオーナーフォームに切り替えボタンを作り、各フォームを表示/非表示させる。 案2 ・ベースのカスタマーコントロールからパターン別に継承されたカスタマーコントロールを作り、同上 と、どちらも似た様な案しか思いつかず、こういう考えでいいのかどうか…。 出来れば案1が作りやすいのでこれでしたいが、カスタマーコントロールとフォームではどのぐらいメモリーに与える影響が違うのか…。 大きく違うのであれば案2の方がいいのかな。
継承しないで複数のユーザーコントロールに共通部分だけまとめて貼り付ける
顧客コントロール?
523 :
520 :2012/12/05(水) 13:14:37.69
あ、ユーザーコントロールか。
>>521 これは1つのフォームで切り替えるって事ですかね?
フォーム内のコントロールの整正がゴチャゴチャしてきて大変になってしまう様な気がして…。
デザイナ使わずにすべてポジションを与えればいいのかもしれませんが。。
>>518 そこの上に書いてあるのは
特定の条件のもとでは、Disposeじゃない名前の方が解りやすい
たとえばファイルを扱うのであれば、DisposeよりCloseの方がユーザに解りやすいですよ
と書いてるあるだけで、一般的に
>DisposeとCloseは同じ意味になるべき
などという主張ではないのだが
下に書いてある奴は、そのページに
>正しく実装された Dispose メソッドは、複数回呼び出しても例外はスローされません
って書いてある通り、Disposeは複数回呼べるようにするのが正しい
たが実装がそうなってるとは限らないので、Disposeを複数呼ぶのは危険だという警告
そして、一部の型に対する CloseがDisposeを呼んでるので、その型ではCloseとDisposeを呼ぶのも危険だと言っているだけ
CloseとDisposeを呼んでも、Disposeを2回呼んでも、それでエラー吐くのは公式には実装が悪い
実装がどうなってるか解らんから注意しろってだけの警告
CloseがDisposeと同じかどうかはともかくとして UsingとCloseを両方使うべきでない根拠としては十分過ぎるだろう 公式ツールで警告w
VB2010を触り始めて2ヶ月の初心者です。 XMLデータをDataSetに読み込んで、操作するプログラムを作ろうとしています。 Form1からForm2を起動してForm1のDataSetをForm2のDataGridViewで操作したいのですが、 Form2に貼り付けたDataGridViewのDataSourceプロパティでは、Form1に貼り付けたDataSetもBindingSourceも表示されず、 困っています。 Form1をランチャ代わりに使って、そこで一度だけDataSetに読み込みを行って、用途に合わせた複数のFormからさわれるようにしたかったのですが、 Formが変わると、毎回そこでDataSetを作り直さないといけないのでしょうか?
最近までDataSet使ってたけど旧世代の遺物って罵られて LinqToSQL使ってみたらSQLServerしかサポートされてなくて それじゃあLinqToEnitities使ってみたら 複数レコードに対する一括UpdateやDeleteが見当たらない… どないしたらよいの?
Usingを呼べばCloseが必要ないという事は、DisposeでCloseが保証されているいう事なのか。 えー、ほんとに??って思ってしまう。
つうか、CloseしてDisposeしたら警告出るの? すべてのIDisposable実装クラスで?
もちろん環境によりけりというのは前提ですが、5000件ぐらいから20,30件のデータを取得したい場合において、 LANのサーバー上にあるSQL ServerからDatasetに取得するのと、ローカルPCに保存してあるXMLファイルから Datasetに取得するのではどちらが早いのだろうか。
5000件程度ならどっちでも一瞬だからどうでもいい
>>531 おー、それは心強い。
じゃあ、XMLにした方が多少なりともでもネットワークやサーバーへの負荷を軽減させる事が出来そうですね。
>>527 SQLServer買ってこい。SQLServer自体はDBとしては高価なものじゃないし、
VisualStudioとの親和性も高く、SQLServer使った方が開発効率も上がる。
LAMP環境だってなら、そもそもVB.NETなんか使うんじゃねぇって話だ。
OracleならJava使っとけ。
以下の様にイベントを解除(追加)したりするさいに、Event(ComboBox1.SelectedIndexChanged)や Delegate(ComboBox1_SelectedIndexChanged)を動的に指定したいのですが、どうすればいいんでしょうか? RemoveHandler ComboBox1.SelectedIndexChanged, AddressOf ComboBox1_SelectedIndexChanged 同様に型宣言などの場合の型も動的に変える事は出来るんでしょうか? VB2005 or 2008環境になります。
夜道で襲われてもいいなら Option Strict Off Option Explicit Off Option Infer Off
>>527 Linqは動的にクエリを組み立てることが出来ないから決まりきったSQLしか発行出来ないよ
俺だったら素直にSQL使う
>>533 VBでoracle使っている人が通りますよ
あらよっと
継承に関してです。 ClassAとClassBがありClassBはClassAを継承しているとします。 ClassA Function AAA() aa = 3 bb = 4 cc = 5 End Fcuntion としていたところ、 ClassBにて bbの値だけ6に変更したい。 Function AAA() MyBase.AAA bb = 6 End Fcuntion どういう風に書けばいいでしょうか?
テンプレートメソッドパターン?
>>537 bbはClassBからアクセスできないと更新できないよ
bbをprotectdとかでプロパティ(フィールド)に宣言すればおk
540 :
537 :2012/12/07(金) 00:32:49.60
ちょっと省略しすぎました。 Formを継承しています。 (FormAをFormBが継承) 例えばコントロールにデータを設定する処理などで、 FormA ptotected _data AS データクラス Function データ設定() Combobox1.text = _data.A Combobox2.text = _data.B 〜 Combobox10.text = _data.J End Function となっていた時にFormBにて Combobox2.textのコントロールだけを、たとえばListbox2で値を取得したいとなった場合の処理の仕方になります。 Combobox2は、FormBでは非表示。代わりにListbox2が表示されてます。 Function データ設定() MyBase.データ設定 Listbox2.text = _data.B End Function では、Combobox2へもそのまま処理されてしまいますよね? MyBase.データ設定 を呼ばずに データ設定関数を作り直し??
>>540 何を言ってるのかいまいち分からないが、FormAとFormBが親子関係にある必然性が
ないんじゃないの?
親子じゃなくて兄弟にしたら?
つまりFormAとFormBは(もし本当に必要なら)共に共通のベースクラスから派生する。
>>540 >>538 も言ってるけどTemplate Methodパターンを使う。
ClassA
Protected Overridable Function GetB() As Integer
Return 4
End Function
Function AAA()
aa = 3
bb = GetB()
cc = 5
End Function
End Class
ClassB Inherits ClassA
Protected Overrides Function GetB() As Integer
Return 6
End Function
End Class
543 :
537 :2012/12/07(金) 10:12:54.34
>>542 デザインパターンなんてSingletonぐらいしかしらないのでピンときませんでした。
なるほどTemplate Methodってのはこういう話なのか。
(Webで調べてみるといろいろ難しく説明してあるのでもっと別の効用があるのかもしれませんが)
なんか知れば当たり前の様な気もするけど、そんな事が思いつかなかったなぁ。
助かりました。
544 :
デフォルトの名無しさん :2012/12/09(日) 01:34:23.52
任意の整数の偶数/奇数を判定するモジュールを開発しています。 納期は休み明けです。 Public Function a(b) Select Case b Case 1 a = True Case 2 a = False Case 3 a = True : (中略) : Case 10000 a = False End Select End Function 上記のようなプログラムを途中まで書いたところなのですが、 コードの行数が長く、どうも効率が悪いような気がしています。 このままでは納期に間に合うか不安です。 効率のよいアルゴリズムをご存知の方、教えてください。
釣りだとはわかっているが 1とandするだけだ
MOD関数使えばええやん
547 :
デフォルトの名無しさん :2012/12/09(日) 01:50:43.41
>>544 エクセルでコード書けば、1万行なんて簡単に作れるよ。
そんなモジュールを作れと言う時点でおかしいだろうw
窓際さんかねぇ…
数値同士のand演算の機能のない言語もあるんで b-int(b/2)*2がゼロの時に偶数、1の時に奇数ってするのが 無難じゃないかな。
551 :
デフォルトの名無しさん :2012/12/09(日) 10:22:08.29
クリスタルレポートの帳票をVBのプログラムで出力したいんですが、 チュートリアル的な情報ってどこかに転がってないですか?
こんばんわ MS VisualBasic 2010 Express(無料版) でプログラミングを始めた者です。 実は初歩的なbeepなのですが、 ○鳴る ×鳴らない になってしまいます。 ○ My.Computer.Audio.PlaySystemSound(System.Media.SystemSounds.Beep) × System.Console.Beep(750, 1000) ○ System.Media.SystemSounds.Beep.Play() × Console.Beep() × Console.Beep(750,500) 何故でしょうか?
仕様です。
555 :
553 :2012/12/09(日) 18:37:55.07
そなの・・・ ('A`)
SystemSoundsのほうのBeepはOSの用意したwavを再生してる Console.Beepとかはマザーボードのビープ機能を使う なのでマザーボードに機能がなかったら再生できない
557 :
553 :2012/12/09(日) 21:01:42.22
マザボにスピーカーがありませんでした・・・ スピーカーというよりブザーみたいなのね。 当然あるはずと思ってましたが・・・('A`)
>>557 メーカー製のPCのマザーボードにはブザーが実装されていないものもあったと思うけど、
その手の物はオンボードオーディオ出力からビープ音が出力される仕様になってると思うんだけど。
ボリュームコントロールでビープ音がミュートされてるんじゃないの?
あるいはBIOS設定でビープが無効になってるとか。(そんな設定があるBIOS見たことないけどさ)
PC-98シリーズの起動音再生する関数はありませんか?
教えてください。初心者です。 COMを.NETで使いたいのですがVariant要求のメソッドがObjectで 動かないです。どうすればいいのですか?
ClickOnceで設定ファイルの値を引き継ぐ(もしくは同じ設定ファイルを見る)のに簡単な方法は何かありますか?
設定ファイルは独自実装すべき
Windowsの機能にある文字サイズ(dpiの変更)を 標準以外(例えば125%)の環境で実行すると フォーム上のボタンやグループボックス等が はみ出したりして、位置関係が正しく表示されません。 プログラム作成時に何か特殊なことをしなければ ならないのでしょうか。 教えてください。
>>564 FormのAutoScaleModeをdpiにする。
でも、デフォのFontの設定でもそれなりに調整されるはずだと思ったけど
VB2010Express(無料版)です WAVを再生し、適当なところでボリュームを絞りたく、 Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Call mciSendString("setaudio MySound volume to 500", "", 0, 0) End Sub ・・・しかし動きません。orz なんででしょうか?
568 :
567 :2012/12/18(火) 19:45:47.72
追記します。 mp3だと音量が下がりますが、WAVだとダメです。
>>570 ※"audio 〜" は sequencer, waveaudio・・・では実行されません。
WAVの音量制御ってできないんだ・・・?
572 :
567 :2012/12/19(水) 10:39:22.89
やっぱ、waveOutSetVolume() ? VB2010Expressの上で走るサンプルって無いでしょうか?
570に解決法も載ってるようだけど無理だったの?
WAVの音量調節なんてサクッと出来そうな気もするが・・・
Public Class Form1 Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 'ボタン4は音楽停止 Call mciSendString("stop MySound", "", 0, 0) Call mciSendString("close MySound", "", 0, 0) End Sub 'ボタン5は音量調整 Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Call mciSendString("setaudio MySound volume to 50", "", 0, 0) End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click 'ボタン6はWAV音楽再生 Call mciSendString(String.Format("open ""C:\Users\daiki\Documents\CravingExplorer\download\wav\スペランカーのBGMを切なくピアノ編曲してみた.wav"" alias MySound type mpegvideo"), "", 0, 0) Call mciSendString("play MySound", "", 0, 0) End Sub WAVも音量調整できたお^^おまいらマジサンクス!!! 570は、ネ申
有るサイトをWebBrowserで表示させて、どのコントロール(テキストボックス)にフォーカスが当たっているかを知りたく、 また、そのコントロールを取得したいのですが、どういう方法がありますか?
>>575 これがVBクオリティ
まぁ初心者向けの言語だもんなw
SQLiteでテーブル1を読みながらテーブル2に書き込もうとしてるんだが Database is lockedのエラーになってしまう… どうすればいいんだろ
SQLiteのスレで質問するのがいいんじゃないかな
失礼しました、そっちで質問する事にします
Visual Basic2010 Expressです。 参照ダイアログで選択したファイルを移動リネームしたいのですが If Me.ofd.ShowDialog = Windows.Forms.DialogResult.OK Then Me.txt.Text = ofd.FileName End If ここでテキストボックスには選択したファイルのフルパスが入っているので System.IO.File.Move("txt.Text", "C:\Rename.txt") としたのですが、例えばデスクトップにあるファイルを選択すると ファイル 'C:\Documents and Settings\Username\デスクトップ\txt.Text' が見つかりませんでした。 と出てしまいます。 どうすればいいでしょうか?
>>582 こうか?
System.IO.File.Move(txt.Text, "C:\Rename.txt")
Visual Studio Express 2012 for Windows 8でデスクトップアプリの ソースを開いてストアアプリに改造する方法ありますか? プロジェクトを開こうとしても「このエディションのVisual Studioは、 Windows ストア アプリ のみをサポートします」と表示され、開くことも できないのですが
VB2008で制作をしております。 ボタンをクリックすると標準のブラウザ(IE)を起動し、 www.yahoo.co.jpを表示させて検索用のテキストボックスに「ほげほげ」と表示させたいです。 「検索」をクリックするかどうかはユーザー次第ってことで。 どうにかできる方法はありませんでしょうか?
>>586 検索文字を入れたアドレスでIEを起動すれば良いんじゃね。
と思ったが、これは検索後になってしまうのか。
>>586 特定のブラウザ専用になってもよいなら、ブラウザのプラグインを
作ることで実現できる。
あるいはフィルタドライバを作成して、ネットワークの内容をキャプチャして
HTMLを書き換えるとか。
まあsendkeysで文字列送るぐらいでいいんじゃね
IEでいいなら簡単だよ
ほれ
できたぞ
Dim objIE
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "
http://www.yahoo.co.jp/ "
Do Until objIE.Busy = False
WScript.sleep(250)
Loop
objIE.document.getElementById("srchtxt").value = "ほげほげ"
592 :
586 :2012/12/28(金) 09:28:45.19
>>591 わお。 完全回答ありがとうございました。
VB2005の「デバッグ開始」でプログラムを実行させて、コードエディタで編集しようとすると 別のコードエディタが起動するんだけど、どいういことですの? コードエディタで編集→実行 を繰り返すたびにForm1の同じコードエディタがいくつも開いてしまう 新たに開かれたコードエディタのタブには「From1.vb*」と「*」が付いています。 わかる人いましたら教えてください
>>593 保存してないだけだろ
デバッグ動作させながらコードの編集をする意味がわからんが
>>594 デバッグ動作中ではなくて、□ボタンでデバッグを停止させてからコード編集しようとすると
2つ目のコードエディタが起動、これを繰り返すと同じ内容のコードエディタがいくつも立ち上がってしまう
>>595 読み手にエスパー能力を期待してないか?
もう少し具体的に書いた方がいいと思うよ。
たとえば「コード編集しようとすると」って具体的には何をしてるわけ?
>コードエディタで編集→実行 を繰り返すたびに こんな事やった覚えないわ 一度コードエディタでファイル開いたら、閉じるまでタブ切り替えるだけで済むもんじゃねーの?
慣れないVB.NETでいきなりつまづいているんですが、 自作アプリにボタンをひとつ作り、そのボタンを押すと デスクトップなりフォルダの中身なりで選択されているものを 所定の場所にコピーする、なんてことできるんでしょうか? フォルダ選択ダイアログを出して選んでコピー、とか、 ドラッグアンドドロップでコピー、というのはできるんですが、、、、、、、
>所定の場所にコピーする、なんてことできるんでしょうか? できる
できない
>デスクトップなりフォルダの中身なりで選択されているものを kwsk ボタン1つのアプリでどう選択させるの?
エクスプローラで選択されているファイルって事だろ。
え!? そういうことなの?
おまえ読解力無さすぎ
>>604 601!=603だからおまえがエスパー過ぎんだよ
>>598 そういうのは送るメニューでやるものかと
findwindowして選択アイテムを列挙すればできるみたいだな だがそんなことはやりたくないな
609 :
598 :2012/12/30(日) 14:31:44.20
あ、やっぱできないんだ。macだと簡単にできるんだけど。 もしかして、こんなこともできない? ・外部アプリのサブウインドウを所定の位置、サイズに設定する。 ・CDがマウントされたら自動的に所定の場所にコピー、その後、データ処理。
610 :
598 :2012/12/30(日) 14:39:33.03
あ、サブウインドウの位置、サイズはアドビのアプリならJavaScriptでなんとかなるのか?
マッキントッシュ・コンプレックス
つ、釣られないぞ
別に悪口や煽りで書いたんじゃなくて マッキントッシュにコンプレックスを抱える事は多いよね。 マッキントッシュユーザーならとくに。
プログラミングのやりやすさで言ったら圧倒的にMacより上だよ
まあOSにあった作りにするのが一番
リストボックス内のテキストが リストボックスのウィドスに達したら 自動的に改行するにわどーすれば
>>616 取り敢えずTextBoxのプロパティ眺めてみたら?
う〜
TextBoxじゃなくてリストボックスの話なんじゃないの? んで、リストボックスって折り返したりしてるの見た記憶がないんだが どんなものをイメージしてるのかわからん
WPFならできるよ
Windows FormだってDrawModeをOwnerDrawVariableにして自前描画すれば普通にできるでしょ
それをできるというならWinFormsなんか要らんわw
623 :
デフォルトの名無しさん :2013/01/06(日) 20:06:40.22
そんな大騒ぎするような手間じゃないから
ホントに大した手間じゃないのかプログラム作って実証してみた リストボックスを複数にするのはたしかにそれほどの手間ではないのだが ワードラップの絡みで折り返し位置がうまくいかん 全部全角文字で入れるとかならちゃんと折り返すが、全部半角で空白とかないと折り返さない なんとも中途半端ですっきりしないわ
625 :
624 :2013/01/07(月) 04:09:32.69
>>625 欧米では基本的に単語途中で改行しないから、単語途中で改行する
ようにしようとするとAPIで一発というわけにはいかないんだよ。
自分でサイズを計算しながら適当な場所で改行してあげるしかない。
>>627 回答者の簡単は信用出来ない
自己顕示欲強くて質問者のレベルを考えない、オナニーだから
入力と描画のAPIさえあれば何でもできるからな それをどこまで簡単にするかがGUIフレームワークなのに 自前描画の時点で負け
C言語の構造体で struct a { struct { char c[8]; } b[8]; }; このような構造体をVB.NETで表現するにはどのようにすればよいのでしょうか?
Cのスレで訊いてくれ(ヽ´ω`)
表現してどうしたいの? DllImport/Declareで使う? 移植?
>>632 すみません
>>633 いやただCしかやったことないのでまずCで考えてみて
それを同じようにVB.NETでやろうとしたら配列と二重の構造体の組み合わせがうまくできませんでした
VB.NETに固定長配列は存在しないから、厳密には それと同じレイアウトを実現することは不可能
まずStructureは存在を忘れる 基本はClass ネスト型も忘れる 全部名前空間直下に名前を付けて型定義する で、そもそもstruct { char c[8]; }って何する構造体をイメージしてんの? 固定長に意味はある? 単にスタックに積むためなだけ? 意味は文字列? 配列? って考え出すと多分翻訳は意味ないよ
637 :
デフォルトの名無しさん :2013/01/12(土) 16:12:16.22
コメント書くとき ' シングルクォーテーションの後に半角スペースを空けるのは 何かの名残ですか?
>>637 日本語でも英語でも文の先頭は1文字下げて書き出すだろ?
>>637 そのコメントを書いた奴に聞けよ
少なくとも通常コメントの後に勝手にスペースが付く事はない
>>638 文章の最初は字下げするけど、単文では普通しないぞ
>>637 俺的説1. rem の場合は、rem の後にスペースを開けるからそれにならって
あるいは、ステートメントとパラメータの間には空白が必要
俺的説2. 日本語では半角と全角が混在する文章の場合は、半角と全角の
間にスペースを1個空けると見栄えがいい
英語では、単語の前後には空白があったほうがいい
最後に.をつけるのはなぜ?
>>641 句読点「。」「、」の変わりに「,」「.」を使うスタイルで
文章を書く人もいる。(特に文章を横書きする場合)
>>642 実は文部省の公用文作成の要領や日本工業規格では、横書きの場合
句読点は「,」「.」を使うと定められている。サーバーをサーバ
と表記するのと同じ理由で「,」「.」を使っている。
現実問題としては、縦書き用の「、」と横書き用の「、」では点の
位置が違ってしまう。文字を複数種類用意するのがシステム的に
困難だった時代の名残でもあったりする。
>>643 >サーバをサーバと表記するのと同じ理由で
これに関してはどういった理由でしょうか?
1バイトでも省略しようって方針から 2000年問題も同じ
ListBoxの件、今更ながらやってみた。
>>626 の言うとおりサイズ変更に対応させるのに少し苦労したが(というか、OnMeasureItemが
描画ごとに呼ばれると期待していたがそうではなかったことに戸惑ったが)
他はやっぱり大騒ぎするようなたいした手間でもないなというのが率直な感想。
http://ideone.com/yzUcj1 やっつけなんでまだ問題があるかもしれないが概ねこれで良いはず。
WPFだったらもっとずっと面倒なんじゃないの?知らんけど。
>>646 >まだ問題があるかも
それを調べてどこまで対応するか検討して必要な対応を行うまでがマの仕事
だから手間だと思うのよ
>>646 WPFは特に何もしなくても複数行表示できるんだよ
WPFのリストボックスはコントロールが並んでるものだからな
WPFが優れているかどうかはともかく、そうやって何も知らないのにいい加減なこと言うからダメなんだよ
WPFならこうか (ListBoxのItemsSourceには文字列のコレクションを入れるとして) <ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <ListBox.ItemTemplate> <DataTemplate> <TextBlock TextWrapping="Wrap" Text="{Binding}"/> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
ListBoxのItemをダブルクリックしたらそのItemの背景色が白、青に変わるようにするにはどうしたらいいですか?
複数行とかアイテムダブルクリックとか、よくそんな操作が思いつくもんだ
ネガティブな奴は全く生産性がなく存在理由がないものね。
質問です。 指定したプロセスIDのブラウザでURLを開くことってできますか? 現在ブラウザ(Chrome)を開く前の全てのプロセスIDと開いた後のプロセスIDを比較して、 新規で開いたと思われるブラウザのプロセスIDを拾うところまでできているのですが、上記のがどうも難しくて・・・ すみませんが教えてください。
2時間半とか堪え性のない子やね
あ、チョロメさんなのね
657 :
デフォルトの名無しさん :2013/01/17(木) 21:39:13.63
質問ですが、xml-rpc.netにて送信したor送信するxmlの情報を得るには どうすれば良いでしょうか?
658 :
デフォルトの名無しさん :2013/01/18(金) 23:18:02.13
ASP.NETのwebアプリを作ろうとしたのですが、テンプレートの中にASPがありません。 どこかから追加してインストールするものなんでしょうか?
>>658 まず環境とか開発ツールとか書かんとなんとも
EXPRESSならVBのEXPRESSじゃなくてVisual Web Developer使え
>>659 ありがとうございます。EXPRESS版を使っていました。
早速インストールしてみます
現在、webbrowserを使ってサイトにアクセスする機能を作っています。 アクセスするサイトはログインする必要があるのですが、複数のwebbrowser、またはプログラムの多重起動にて 複数のユーザーで同時にログインしたいと考えているのですが、どうにも情報が無く、実現が難しいです。 なにか方法は無いでしょうか?
>>662 ニコニコではないです。
ニコニコなら複数同時接続ができるのでしょうか?
なにか応用できるようなものがあれば教えて頂きたいです。
ふつーに作ればいいようだが?
すみません、自分ではひとつのプログラムに二つのwebbrowser、又は多重起動のどちらでもダメなようです。 一つ目でログイン→二つ目でログアウト→一つ目でサイト巡回開始 で、ログインしていない状態でアクセスしてしまう状態です。 どうにかセッションを共有させないようにできないでしょうか。
>>661 は、複数の WebBrowser を複数のユーザーIDでそれぞれログインして使う
>>665 は、1つのログインID で複数のWebBrowser で同時ログインする
という話しだから、前者と後者で言ってることが逆だな
>>666 ・・・たしかに!
セッションの共有ってところに気を取られてました。やってることが変でしたね。
と思って、両方ログアウト→片方ログインして、もう片方も別IDでログインしようとしても、
二つ目はすでに一つ目のIDでログインしている状態でした。
やりたいこと自体は、
>>661 のように複数のIDで同時ログインをしたい、です。
>>667 そのサイトを荒らす目的で
そんなことしたいだけだろ
荒らしって自力でプログラム組めない情弱?w
670 :
661 :2013/01/20(日) 20:01:12.06
プログラムは「開始」ボタンクリックでiniファイルから接続するURLを取得し接続、 以降はWebBrowser1_DocumentCompletedの中で約100ほどのURLに10分間隔でアクセスし続けます。 調べたところcookieで希望の機能が実装できそうな感じなのですが、現在setCookieでcookieをセットしても、 完全な上書きでなく、継ぎ足し?のような状態になってしまいうまくいきません。 .NETは1年ほどさわっておりましたが、web系の知識はほとんどありませんのでcookieで本当に実現できるかも怪しい状況です。 アドバイスなどありましたらお願いします。
その前にそのサービスにはREST APIは用意されてないのか? あるならHTMLなんて一切見ずに楽勝でやれるぞ
>>671 REST APIというのは初めて聞く言葉ですので調べてみました。
どうやらRESTful API?というのがあるらしいです。
もうすこし勉強してみます。
というよりもうサイト名を挙げた方がいいですね。
モバゲーにUserAgentを変更して接続し、特定のURLを巡回するプログラムを組んでいます。
モバゲーのAPIってゲーム開発者用だろうからそういうのには使えないかもね どっちにしろWebの技術的な話であってVBと全く関係ないから消えろ
モバゲーで無料コンプカードざくざく作戦ですね?分かります。
スレチだから消えろ
自治乙
677 :
デフォルトの名無しさん :2013/01/21(月) 04:43:07.23
C#でよく見かけるPacketEditorですが、 PacketEditorはVBでも作れるんですか?
DataGridViewにNull入るのに、DataTableにNull入らないの?
スレチだから消えろ
自治乙
681 :
デフォルトの名無しさん :2013/01/23(水) 09:23:06.71
vb2008でMSFlexGrid使ってます 特定セルの背景色・文字色を、セルのフォーカス移動無しで変えることってできませんか?
DatatableにNullを入れないようにしたら落ちなくなった。
IEのアドオン管理で参照できるような情報を収集したいのですが、 レジストリを調べるしかないですか?
684 :
デフォルトの名無しさん :2013/01/24(木) 21:58:12.38
ToString()って()なくても使えるのはなぜ?
VBでは引数が空の場合メソッド呼び出しの()は省略できる 厨言語の証
馬鹿だろお前。 むしろパーレンでメソッドを表すのはC系統の言語のローカルルールに過ぎず 普遍的な意味あるわけじゃない
昔のVBならともかく今のVBはVB風C#クローンだからなあ
>>685 そうなんだ!ありがとう!
まぎらわしいからやめてほしいわ
<>この括弧ってどういう風に使うんですか? 使えないとカッコ悪いですか?
'<>
>>689 俺もイマイチ使いこなせてないし、別にカッコ悪くはないよ。
<>÷
notを使うのが普通 IsNotが使える時はそっちを使う
<> これ使うやつは大抵顔がきもい
すみません、検索したら出てきました。 「属性」っていう意味があるらしいですね! カッコ良くなれるように頑張ります!
残念ながらこのスレの老害VB脳連中よりも
>>694 の知識の方が新しかったようだ
良い燃料にはなったなw
698 :
デフォルトの名無しさん :2013/01/29(火) 22:06:08.69
質問です。 Form1のPictureBoxのVisibleがFalseになった時に Form2のPictureBoxのVisibleをTrueにしたいのです。 ↓このページのコードを参考にやってみたのですがうまくいきませんでした。 dobon.net/vb/dotnet/form/accessanotherformdata.html VBはまだ初心者なのでとても初歩的な質問かもしれませんし、考え方がまったく違うかもしれません、すみません。 お願いします。
コードはどうなってるの?
すみません 色々試して上書きしてしまった 結果さきほどのURLを参考にしたコードはもうないのですが ↓このような感じで色々試してみました。 Public Property PictureBox01() As String Get Return PictureBox.Visible End Get Set(ByVal Value As String) PictureBox.Visible = False End Set End Property
Σ(゚Д゚;エーッ!
すみません
visiblechangedイベントつかったら? プロパティをそんな使い方したことないわ
すみません、教えてください。 以下のソースを実行した場合にバイナリが「0.bmp」「1.bmp」で違うのですが何故??? まったく同じコピーが出来るものと思ったのですが。 BmpNewにBmpをDrawImageしてもバイナリが違うし謎すぎる…。 Dim FilePath1 As String = System.IO.Path.Combine(Application.StartupPath, "0.bmp") Dim FilePath2 As String = System.IO.Path.Combine(Application.StartupPath, "1.bmp") Dim Bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(FilePath1) Dim BmpNew As New System.Drawing.Bitmap(Bmp) BmpNew.Save(FilePath2, System.Drawing.Imaging.ImageFormat.Bmp)
>>703 ありがとうございます。
visiblechangedについて詳しくないので明日調べて挑戦してみます。
>>704 MSDN嫁
全く同じコピーが欲しいならcloneでもすれば?
IDE をつかわず、テキストに直接コード打ち込んでビルドしたい ある程度の実行ファイルはコンパイル出来るようになった フォームの生成がよくわからない 解説サイトがあったら教えてくださいませ
VSのデザイナが自動生成したコードを読め
読むだけじゃどうにもならんので
だったらオブジェクト指向をちゃんと勉強するか諦めてデザイナを使え
質問は
>>707 の内容のサイトを教えてくれ
知らないとかならまだ理解出来るんですが
勉強しろとか回答になってないですぅ
意地悪しないでくさい><
Dim form As Form = New Form() Dim button As Button = New Button() button.Text = "ちんこ" button.Left = 100 button.Top = 20 form.Controls.Add(button) Application.Run(form) こういう流れ あと細かいことはデザイナと見比べればわかるだろ
インスタンスの生成じゃないよう 判るだろ、じゃなくて IDE 使わないで平打ちでvbファイル書いて、vbcビルドするのが目的なんだってばよ 部分コードサンプルだけのってるサイト見ても自動生成コード見ても何にもならんの そこらへんの解説を知りたいんですぅ>< でもコード作ってくれたお礼は言っときます、ありがと
> 自動生成コード見ても何にもならんの ちょっと意味が分からない
なんでそんな変なことしようとするの?
>>715 おおおお、ありがとう
CSかあ、やっぱそっちのがメジャーなんかな
いくつかビルド出来たし、このサイト参考にさせてもらいます
ありがと!
>>698 の質問をしたものです。
VisibleChangedイベントを使うといいと言われて調べてみました。
色々と出てきたのですがフォーム間での受け渡し?についてのものが無く
でてきたVisibleChangedイベントだけのものだけでは
初心者の私にはフォーム間でのものに近づけられませんでした。
いい参考サイト、またはVisibleChangedイベントでのフォーム間について教えてもらえないでしょうか。
何度もすみません。
>>718 >Form2のPictureBoxのVisibleをTrueにしたいのです。
Form2のPictureBoxのModifiersをPublicにしたらForm1から扱えるよ。
>>719 まずForm1がForm2の参照もってないとダメだろ
>>718 Form2は誰がどうやって表示させてるんだ
これまじめに設計するなら
フォーム管理クラス作って、そいつがForm1とForm2を表示する
そのうえでForm1がイベント起こしてフォーム管理クラスに通知
フォーム管理クラスがForm2の状態変更する
ってのが正しい設計?
ああ、Form1もForm2もデフォルトインスタンスだとかってに参照もってるかもな
>>720 Form2はForm1でIfを使って
条件を満たした場合Form1からの移動としています。
日本語でおk
OpenFormsから検索してもいいと思うよ 閉じたフォームのUIに触っちゃいかんしむしろ都合いいかも
まだそのレベルじゃないだろ
OpenFormsって同じ名前のフォームが複数インスタンス存在してたら区別できないんじゃ? 基本的に特定フォームの処理するときに使っちゃいかんのじゃないか というかこれを正しく使う使い道が俺には思い浮かばん あ、デフォルトインスタンスしか使ってないような奴はもうプログラムやめろと
そうだね
>>721 解決しました
から
破棄されたオブジェクトに(ry
ってなると思うからそしたらForm.IsDisposedでググってね
たしかVisualStudioで普通にポトペタしたコントロールはFriendで宣言されてるはず
>>721 とりあえずForm2を表示してるところのコード晒せ
Form2はNewしてるのかしてないのか?
>>726 どんなエスパーだよ
>>728 If Label1.Text = 0 Then
If Timer1.Enabled = False Then
Form2.Show()
Me.Close()
End If
End If
If PictureBox11.Visible = False And PictureBox57.Visible = False And PictureBox8.Visible = False And PictureBox9.Visible = False Then
If Timer1.Enabled = False Then
Form2.Show()
Me.Close()
End If
End If
こんな感じです。
Newしていません。
>>729 じゃあ何も考えずに
Form2.PictureBox1.Visible = False
で出来るだろ
でもそう言うプログラムの組み方はしちゃいけない
ちゃんとした本かなんかでちゃんと勉強してくれ
PictureBox57てwww
>>731 うんまあプログラム初心者だと思うから頑張って勉強してくれとしか
とりあえずなんか動くもの作るのはモチベーション上がるし大事かと
あ、もし仕事でやってるなら今すぐ上司か先輩にそのコード見せて指導うけろ
なんの指導もなければ転職しろ、まじで
皆さん初心者なのでわけの分からないことばかり
言ってしまいましたがありがとうございました。
>>730 >>732 はい。まず自分だけでどこまでできるか試してみたかったのですが
途中で挫折してしまっていました。
やはり本など買ってみようと思います。
内定先がそういうところらしいのでやってみたかったのです。
これから頑張っていきたいと思います。
お騒がせしてしまって申し訳ありませんでした。
Form内は割と自由だけどForm間は結構制限がある 擬似であっても並列動作するしね 一通りコントロールを弄れるようになってから再挑戦したらいいよ あとVB.Netであってる?姉妹言語のC#じゃなくて?
>>734 そうですね
細かい事が分からないまま作りはじめたので
改めて勉強してから再挑戦してみたいと思います。
ありがとうございます。
はい、.NETであってます大丈夫です。
>>731 なんとなくAccess VBAを連想させるコントロール名だなwww
ACCESSはフォームにコントロール馬鹿ほど張ってもそれなりに動く ACCESSのコントロールはウィンドウじゃないからな
vb.net2010のchartなんですが X軸の項目が勝手に端折られてしまいます。 大きさ変えても端折られてしまいます。 端折られない設定教えてくださいませ。
普通は、端折られたりしない。 項目を入力してないだけじゃね?
>>739 項目はあります。
SQLからデータ引っ張ってきて
それをデータソースに指定しているだけなんですけど
>>740 ですが
書き方が悪かったかもしれません。
端折られるのはX軸に表示されている項目名だけで
グラフ自体はちゃんと作成されています。
例えばX軸に1月〜12月を指定すると
1月、3月、5月・・・とグラフは12個あるのに
表示されている項目が一個飛びになってしまうのです。
>>741 そういう飛び飛びの端折られ方ね。
それならあるあるだった筈。
確か、軸のメモリ幅が指定できるプロパティがあったと記憶してる。
俺も復習がてら調べてみるが、あんたも、グラフ初心者用のサイトとかで
勉強してみてくれ。
http://www.hanatyan.sakura.ne.jp/patio/read.cgi?mode=view2&f=262&no=7 > .Interval = 20 '点数のメモリ間隔(20点毎)
コレがそうかな?
以前、俺が作ったグラフからも抜粋
With Chart3
'-------------エックス軸の設定表示変更など-----------------------------
'下記設定では、上記自動サイズ設定が無効となりサイズが固定となる
'X軸ラベル(氏名)の区切り線の間隔を設定
'既定値は、0 で自動的に表示される 注A 参照
Chart3.ChartAreas(0).AxisX.MajorGrid.Interval = 2 ' 1 に変更して試して見てください。※レーダーグラフでは意味ないようだ。
'X軸ラベル(氏名)の区切り線の表示開始位置の設定
End With
>>742-743 様
マジありがとうございます。
しかもわかりやすく。
これで明日は本屋めぐりせずに
家に籠れます。
ありがとうございました。
どういたしまして^^
はじめまして。 どうしてもわからない事があり、何か方法があればご教授頂ければと思います。 Convert.ToBase64Stringにて、画像データ(Byte型)を変換したいと思っているのですが、特定の画像だけうまくいきません。 画像データ(Byte型)をそのまま書き込んだら全く同じ画像が表示されますし、既存のソフトでBase64に変換を試みたところ、うまくいきました。 また、他の画像では問題なく変換できますのでコードには問題ないと思っています。 どうか助けてください><
意味不明 ならToBase64StringじゃなくてデコードやIOでこけてるだけじゃないのか
まず、うまくいかないってのは何がどうなってるのかちゃんと説明しろ うまくいかないで通じると思ってる奴とか、ちゃんと状況を説明できない奴はプログラムにむいてない
最大化したときClientSizeプロパティが通常状態のままなんですが コントロール再描画すると勝手にそれに合わさるんですが WebbrowserはNewWindowでUrlがキャッチできないから意味ないし 恐ろしいレベルで欠陥言語だな
言語とライブラリを混同するあたりがいかにも欠陥VB脳だな
これがVBクオリティですわwww まあ、俺もだが、、、orz
2010 express プロパティのリソースんところでwavファイルを埋め込むことは 出来たんですが、そのファイルを鳴らす方法教えて下さい
鳴らすのは あなーた〜♪
wav限定ならSystem.Media.SoundPlayerでいける
>>754 System.Media.SoundPlayer で調べてみます
Express2010だけど、 moduleを入れて Sub Main()をエントリポイントにしたらウィンドウのスタイルが おもいっきり古臭いのになってしまったんだけど、これって仕様?
よかったなw
Application.Runの前に、 Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(false)
Dim a , b , c , j As Decimal Dim x As String For i = a To b Step c z =Math.Sqrt(j^2 + i ^2) x = x & vbCrLf & "X=" & Format(i, "0.00000") & "," & "Z=" & Format(z, "0.00000") Next TextBox1.Text = x.ToString() すみません、上記の記述ですとTextBox1に表示させない記述に比べ 計算処理にかなり時間がかかってしまいます。 何か良い方法はありませんでしょうか? どうぞよろしくお願いいたします。
List(Of Double)に突っ込んどいて後で文字列にする
StringBuilder
763 :
760 :2013/02/25(月) 22:05:46.80
すみません、全く分かりませんです
>>762 abcが分からないと…
7-8以下じゃStringBuilderの方が遅いはず
そんなレベルなら処理の速度なんて気にするより 本読んで勉強を進めろ
766 :
760 :2013/02/25(月) 22:20:43.15
そう仰らずにどうかよろしくお願いいたします。
とりあえず、この辺 Dim x As New System.Text.StringBuilder x.AppendLine("X=" & Format(i, "0.00000") & "," & "Z=" & Format(z, "0.00000"))
768 :
760 :2013/02/25(月) 22:33:20.95
>>767 様
できましたできました!!!ありがとうございますm(__)m
本当にありがとうございます!なんとお礼を申していいのやら。
これでやりたい複雑な計算ができます!
あなた様のおかげで日本の技術がまた開けます!それくらいありがたいことです!
769 :
760 :2013/02/25(月) 22:35:26.90
これからなるべく皆様のお手を煩わせないようまた勉強を始めます。 皆様、本当にありがとうございました!m(_ _)m失礼致しました。
うっざ
速度を求めるならVBなんかじゃなくてもいいだろう。
速度を求める技術的な複雑な計算にDecimalを使うとはこれいかに
普通は何使いますの?
Decimalってソフトウェア実装だからクッソ遅い VBerお得意の金の計算には全く問題ないけど
10進数として正確に丸めたいとか目的がはっきりしてれば そんなにおかしい選択肢じゃないと思うけどね。 Decimalは10進化浮動少数点型で、BCD固定少数点より速度的にだいぶまし。 ただ、Math.Sqrtなど算術系の関数はdoubleしかサポートしてないのが多いから、 decimal double間の変換が起きてしまって、今回の場合は意味がないかも。
777 :
760 :2013/02/26(火) 18:52:36.42
昨日はありがとうございました 問題が発生しました。 物理メモリーの使用量がどんどん増えていってしまいます。 16GBを実装してますが出力される結果が多くなっていくと メモリー量が足りない旨のメッセージがでてしまいます。 どうしたものでしょう?
そんな多くの文字を作ったところで出力、表示しても意味が無いだろ
数列をデータとして次の処理(別の処理ソフトに読み込ませる)に利用したいのです。
メモリを解放すればいい。
781 :
760 :2013/02/26(火) 20:17:01.02
Foe Nextの間に強制的にガベージコレクションを記述したら実行速度がかなり遅くなってしまいました さらにvb.netは自動的にメモリ開放を行ってくれるそうですが・・・
TextBoxじゃなくてファイルに書き出せよ。
>>777 メモリを増やしたら良いんじゃ無いかな?
Forループ内でGCって、何回ループまわして中で何やってるんだ ループ前か後でGCやれば充分じゃないのか
>>760 真面目に質問したいなら問題が再現できるコードをそのままどこかにアップした方がいいよ。
こっちはエスパーじゃないんだから困った困った言われても何に困ってるのか
さっぱり分からない。
786 :
760 :2013/02/26(火) 22:29:39.02
むぅ・・・うまくいかんです
ループ内の処理中にどんどんメモリーを使っているのはわかるんですが
たとえば60MBの出力サイズでも計算中に3GBはメモリを消費します。
難しいですね。
>>785 様
このコードで再現できると思います。最初の宣言にzも付け加えてください。
このコードで再現? だからStringBuilderを使えと言われてただろう。何を聞いてたんだ?
>>787 様
大変失礼致しました
Dim a , b , c , j , z As Decimal
Dim x As New System.Text.StringBuilder
For i = a To b Step c
z =Math.Sqrt(j^2 + i ^2)
x.AppendLine("X=" & Format(i, "0.00000") & "," & "Z=" & Format(z, "0.00000"))
Next
TextBox1.Text = x.ToString()
です。よろしくお願いいたします
bもcもjも未初期化でどうやって再現させるんだ?
こうじゃないのか? Dim a, b, c As Integer Dim z As Double Dim j As Decimal Dim x As New System.Text.StringBuilder x.Length = 0 For i = a To b Step c z = Math.Sqrt(j ^ 2 + i ^ 2) x.AppendFormat("{0}", x) x.Append("{0}", vbCrLf) x.AppendFormat("X={0},Z={1}", Format(Format(i, "0.00000"), Format(z, "0.00000"))) Next TextBox1.Text = x.ToString()
間違えた Dim a, b, c As Integer Dim z As Double Dim j As Decimal Dim x As New System.Text.StringBuilder x.Length = 0 For i = a To b Step c z = Math.Sqrt(j ^ 2 + i ^ 2) x.AppendFormat("{0}", x) x.Append("{0}", vbCrLf) x.AppendFormat("X={0},Z={1}", Format(i, "0.00000"), Format(z, "0.00000")) Next TextBox1.Text = x.ToString()
>>791 bとcを初期化していないから、無限ループしているんじゃ無いかな?
793 :
760 :2013/02/26(火) 23:09:46.71
>>791 様
String "
" から型 'Integer' への変換は無効です。
とエラーになりますです。
サンプル用に適当にコードを置換抜粋して動確もせずに、 再現コードと言い張るやつに、これ以上つきあうことなくね? 教える側の手間とか考えてないんだろ
>>793 変数の初期値に何を指定したの?
まずそっちの回答の方が先。
796 :
760 :2013/02/26(火) 23:17:15.29
>>795 様
a=-5 b=5 c=0.000001 j=5 です。
まったくだ codepadにまるまる貼り付けろよ
aとbが同じな時点でおかしい気がするが。
799 :
760 :2013/02/26(火) 23:35:04.07
数値の増減で得られる解をできるだけ早く出力させたいのです。 たとえば変数の-5から5まで0.000001ずつ増えた数字と定数5(j)により得られた解を出力させたいということです。 皆様のご意見を参考に、もうちょっと自力でも頑張ってみます。 どうもありがとうございましたm(_ _)m
いや、伝えてくれる情報が事実と異なっているんだよ。 実際のコードと違う内容を提示するから誰にもわからないって事。
ああ、aは-5なのか
ここで何人見ているか、ROM専も含めて何人、何百人いるかわからないが、みんなおまえがおかしいと言っているわけだよ 自力で頑張ってどうにかなるもんじゃないよ?
ループ内で一時的に確保されるメモリが、ループ終了まで解放されないとすれば3Gは妥当なサイズ。
804 :
760 :2013/02/26(火) 23:43:32.76
>>800 すみません、このままなのです。
たとえばiが-5の時の解(z)は50です。
805 :
760 :2013/02/26(火) 23:46:55.24
>>801 5ばかりで分かりづらかったですね、申し訳ございません。
テキストホックスの表示がオーバーフローしてるだけだ。 テキストボックスをコメントにすれば動く。 テキストボックスのMAXLANGTH増やしても落ちるな。
>804 たとえばじゃなくて、メモリ不足や処理が重いことを再現できるような テストの用の初期値を明記してコードを貼り付けろってことなんだよ。 何で手を抜くの? 何が面倒なの?
確かに、オーバーフローって、そうなってるかどうかの判別が、初心者に難しいよね。 俺なんか最近も多元配列でやらかしたわ。
うん。わかったわ。これは計算結果の全部をテキストボックスに 入れるなんて考え方はだめだ。 計算結果はListとかに入れて表示は改ページやスクロールで 一部分のみ表示するようにしないと。
テキストボックス全件表示は無理なんだったら 配列に入れて、表示可能な分だけ取り出すしかないよね。
811 :
760 :2013/02/27(水) 00:03:42.67
>>807 増減を決めるcを小さくしていくと再現できます。
i=-5の時はz=7.07107でした。
うっせえな消えろや
こりゃすげぇわ。付き合いきれん
そう仰らずに、明日またよろしくお願いいたしますm(_ _)m
いや、もう再現したし。答えもでた。
いや、原因はわかっただろう。 コード直せば終わりだよね。
817 :
760 :2013/02/27(水) 00:12:41.31
ループの中にループをいれて、更にループを入れてとやっていくとメモリがいくらあっても足りません。
だからー 計算結果を文字列で持つからだろ。計算結果は数値のみ持つの。 プログラミング勉強したことあるの?
その説明でわかったらエスパーだよ。
760は、明日も明後日も、そして、この質問が解決しても 毎日新しい質問をして来るだろうね。そういう類の人。他力本願寺。ナムー(-人-)チーン
821 :
760 :2013/02/27(水) 00:25:43.83
>>818 プログラミングは初めてです。
参考書は5冊ほどあります。
昨日、文字列で扱うようになってから今までとは比べにならないほど早くなりました。
マルチスレッドという案はいかがでしょう?
黙れクソ虫
>>796 >c=0.000001
>Format(i, "0.00000"),
cのゼロ1つ多くないか?
824 :
760 :2013/02/27(水) 00:28:46.22
>>820 ここまで1ヶ月掛けて自力で覚えました。ちなみに本願寺派です。
マルチスレッドにしてもテキストボックスのオーバーフローは直らないがな。
本願寺なら教えるだけ時間の無駄だな。
827 :
760 :2013/02/27(水) 00:30:52.75
>>823 できればcの単位にFormat内の単位を自動で合わせたいのですが、これも今後の課題です。
何通りか試しましたが今のところ上手く行ってません。
基本がわかってない奴に何言っても理解できないだろ
829 :
760 :2013/02/27(水) 00:31:52.44
早速、次の質問キター!w
ちなみに数値だけ持つようにしたら2秒で処理終わったよ
>>829 これだけ回答出てるんだから自分で調べればすぐ解決する。
834 :
760 :2013/02/27(水) 00:35:59.17
>>831 ヒントをありがとうございます。今日一日考えてみます。
835 :
760 :2013/02/27(水) 00:46:38.63
>>833 スレをよく読んで調べてみます。
ありがとうございました。
>>834 真面目にアドバイスすると、メモリを増やせ。
計算結果をテキストで保持すると約66GBになる。
ちなみにテキストボックスに表示するために、一時的にこの数倍の
メモリが必要になる。テキストボックスを使わずに、自前で描画する
ようにすれば、66GB+数MBのメモリで済むけどな。
テキストにで保存するからだろって行ってる馬鹿が居るが、Decimalは
16バイトあるので、Decimal型のままだと、467GBになる。
大量の計算結果をどうやって保存するかってのは、スーパー
コンピューターなんかでも実効速度を制約する重大な問題。
計算結果をメモリに保持すれば高速だが大容量を用意するのは
高価になるし、HDDやテープに保存すれば安価に大容量を用意できるが
当然遅くなる。
高速化のためにメモリに保持するという方法を選んだのなら、
計算結果を保持するために必要なメモリを用意するのは
当然必要なことだ。256GBくらい積んでおけば良い。
もう止めようよ 本人が考える気はないって公言してるんだから スレの無駄
できた Dim a, b, c, j, z As Decimal a = -5 b = 5 c = 0.000001 j = 5 Dim iList As New List(Of Double) Dim zList As New List(Of Decimal) For i = a To b Step c z = Math.Sqrt(j ^ 2 + i ^ 2) iList.Add(i) zList.Add(z) Application.DoEvents() Next Dim x As New System.Text.StringBuilder For k As Integer = 0 To 100 x.AppendLine("X=" & Format(iList(k), "0.00000") & "," & "Z=" & Format(zList(k), "0.00000")) Next TextBox1.Text = x.ToString()
計算中にDoEventsとかクソすぎ スレッド使えよ
あ、DoEvents消し忘れたw
コンソールアプリで作って、 リダイレクトでファイルに書き出すのがベストだと思うよ。
>>841 タスクマネージャを見ると388メガくらい使うな。XPだけど。
Decimal が結構メモリを使ってしまう。
やっぱり基本的にはファイルなりに落とすべき処理だわ。
こういう基礎的なプログラムをどれだけ効率良く走らせるか考えるのって楽しさ無限大
String型をオーバーライドして仮想メモリ処理ロジックくっつけたらいいんじゃね? まあ速度が必要な処理をWindows上でやろうってところから間違えてる
String型をオーバーライド? これだからVB脳は
ネタレスに煽りで返されるくるとはVBスレは怖いところだな
自分の愚かさから逃げたらダメよ
遅いのは計算じゃなくて結果表示だから、表示方法を工夫するだけでちゃんと動くだろうに 全部を表示する必要があるのかどうかの検討も含めてな
計算結果をファイルに落とすといっても、計算中にメモリに逐一格納されるデータの大きさは同じです だからこういった場合はメモリの量を増やすしかない
個々の計算は独立しててスタックで完結してるじゃん 計算毎にファイルなり標準出力なりに出していけば大したメモリはいらん
計算毎に処理を挿入すると遅くなりそうだが・・・
少しは貯めてから処理したほうがいいね
ファイルへの出力はバッファリングされるから気にしなくてもいい。 ただ大量出力なら出力バッファを大きく取るとか工夫の余地はある。
>>851 -5から5まで0.000001刻みだから10M件
Decimal2個だと1件あたり32バイトで320Mバイト
"X=+0.00000,Z=+0.00000"だと21文字で42バイトだとしても420Mバイト
計算まちがってるか?
今時のマシンで問題になるほどのサイズだとは思えんが
現時点ではそうでも、さらに内側にループたくさん入れたいらしいからな。 そのうち足りなくなるだろう。
仕様が謎だけど、全件、計算してメモリに格納する必要があるのかと。 表示する部分だけ、範囲で計算すればいいじゃん。
なんだかんだいって熱いなおまいら
860 :
760 :2013/02/27(水) 19:29:13.25
皆様こんばんは。 昨夜以降のご指導のレスも含めまして大変参考にさせていただきました。 勉強になりまして真にありがとうございました。 おかげさまで約200MBのサイズの数列が30秒ほどでメモリも消費することなく出力することができました。 CPUはCore 2 Duo 2.4GHzです。 これでまた日本の技術が進歩します。ありがとうございました。
つうかこんな謎テーブル作って出力するとか、それを全部一気に表示しようとするとか どう考えてもお前の技術は標準より遙かに下だ お前のせいで日本の技術が退化してるぞ
862 :
760 :2013/02/27(水) 20:32:32.98
863 :
760 :2013/02/27(水) 20:56:56.16
非常に安定して計算されております
864 :
デフォルトの名無しさん :2013/02/28(木) 16:44:29.11
いまだにVS2008でやってるんだけど、やっと2010以降にしようと 調べてみたら、SmartDeviceプロジェクトが無くなってる? どうなってんのこれ
>>864 SmartDeviceがなくなったからだろ
モノがないのに開発環境だけあってもしょうがないしな
866 :
デフォルトの名無しさん :2013/03/01(金) 10:22:54.81
WindowsCE向けの開発とか、2010からはどうすりゃいいのさ
古いの使えよ いつまでも終わった技術をサポートしてたら保守にコストかかりすぎて新機能作れなくなるわ
>>866 Embeddedの話ならもともと開発はPBだろ
VSはあくまで既成の実機に対するアプリ開発環境だよ
実機がなくなればサポートもなくなる
今からVBを始める予定なので質問が抽象的になってしまうのですが VBで以下のことを実現できるでしょうか? 道を歩いているAさんの動きを設定し保存 道を歩いているBさんの動きを設定し保存 道を歩いているCさんの動きを設定し保存 上記の3人各々の設定した動きを合成し、道の上での状況を見下ろし型の平面図(2D)で再現 gifか何かでアニメーションを出力する というソフトを作りたいです
余裕で
さっそくのレスありがとうございます プログラム童貞ですが頑張ります
VBがそのソフトを作るのに向いてるかどうかは別問題
でも別に苦手ってことはないでしょ。むしろ余裕
プログラム初心者にVBより学びやすい言語はない! これだけは、断言できる。
VBは過去のしがらみが多すぎて初心者にはややこしいと思うけどなぁ。
VB使いはVBしかできない プログラマとして生きていくならまずは他を選ぼう
>>876 コイツはVBしか使えませーンwばーかばーかwww
下記の宣言文でABCDの型はそれぞれなにになるでしょう。 option inferの有無で変わるのだけど、初心者に優しいとは思えないな。 Dim A = 3, B = 4.5, C, D As Decimal
初心者が弟子丸なんか使うかよw
MSはVBを非IT系のパソコンに詳しいやつのための言語として位置づけているからな。 細かいしがらみとか、インスタンスがどうとか、変数型がどうとか知らなくても、 とりあえず動く物を作れるのがコンセプト。 それだけにIT系のプロのくせにVBしか使えないやつは信頼できないんだけどな。
>>881 いきなり何だよお前はw
ここ質問スレだからさ、くだらん主義・主張は
スレ立ててそこで存分に語ってくれ。
2chブラウザでレス番号の上にマウスをやったらツールチップみたいなのが出るけど 普通のツールチップじゃ文字色を変えたりスクロールしたり出来ないのでウィンドウなんだろうけど Vb.NETで表示してもフォーカスが移動しないウィンドウって作れるの?
ラベルじゃないの?
885 :
883 :2013/03/14(木) 15:23:48.27
じゃあ質問を変えようか System.Windows.Formsの基底クラスでウィンドウを生成する根本になってるクラス名はなに?
NativeWindow
888 :
デフォルトの名無しさん :2013/03/16(土) 13:46:46.74
VB.NETでESC/POSコマンドを発行してジャーナルプリンタの印刷を行うサンプルでいいのあれば教えてください
シリアルポートかパラレルポートにデータ出力するだけだろ
OPOSって標準APIあるけどな。
>>890 わからんのはポートへのデータ出力なのか?
MSDN見て自分でできないようじゃ無理なんじゃないの
出力するコマンドがわからんとか言うなら知らん
そのコマンド定義してるとこに聞け
>>891 それって普通のPC向けじゃないよね?
まあ、コマンド自分で発行したいみたいだから、標準APIじゃだめなんだろう、きっと
893 :
困った :2013/03/17(日) 23:15:08.48
VB.NETよりエクセル出力時に下記のようなエラーとなるんだが・・・。 何故だかわかります? Windows7でエクセルのバージョンは2007です。 エクセルファイルはCドライブのフォルダ内に出力です。 続行すればエクセルは作られます。 セキュリティーポリシーで許可されていない操作をアプリケーションが実行 しようとしました。必要なアクセス許可をこのアプリケーションに与えるには、 システム管理者に連絡するか、Microsoft.NetFramwork構成ツールを使用 して下さい。 続行をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。 HRESULTからの例外:0x800A0046(CTL_E_PERMISSIONDENIDE)
エスパーだ
セキュリティーポリシーで許可されていない操作をアプリケーションが実行しようとしたんだろ ミニマムコード作って張るぐらいのことできないのか?
>>892 OPOSは普通のPCでも使えるよ。
ジャーナルプリンタなどの周辺機器のメーカーが提供している
OPOS準拠のドライバをインストールするだけの話だ。
自身のプロパティの参照を保持する方法を教えて下さい。 何がしたいかというと、命名ルールを厳格化した上で、ダックタイピング的な事を行いたいです。 この際、内部実装はベタにやるとリフレクションでtypeof(Bar).GetProperty("Foo").GetValue(Me, Nothing)となるのですが あらかじめDictionaryにプロパティの参照を持たせておいて_Dictionary("Foo")だけで済めばこれが理想です メソッドを別に定義して、Predicateなりデリゲートなりで持たせる方法も考えましたが プロパティはプロパティで必要なので二重定義になる手間を考えると嬉しくありません。 宜しくお願いします。
全部Object型でダックタイピングすればいいんじゃね .NETでもレイトバインドできたよな?
>>897 何が言いたいのかよく分からないけど、「プロパティーへの参照」っていう概念はそもそもないでしょ。
でもプロパティーのセッターとゲッターへの参照をそれぞれ別のデリゲートに持たせることはできる。
またしても、宜しくお願いします。
【スレのURL】
http://toro.2ch.net/test/read.cgi/tech/1340849001/ 【名前欄】897
【メール欄】 sage
【本文】
>>899 >でもプロパティーのセッターとゲッターへの参照をそれぞれ別のデリゲートに持たせることはできる。
ゲッターの参照を別のデリゲートに持たせる方法、それがまさに私が知りたい方法だと思います。
説明下手なもので、推察してくださってありがとうございます。
Public Delegate Function Getter() As Object
Private _Dictionary As New Dictionary(Of String, Getter)
ReadOnly Property Foo As String
Get
Return "test"
End Get
End Property
Public Sub New()
'参照の保持
_Dictionary("Foo") = AddressOf Foo???
End Sub
イメージ的にはこんな感じにできるという事でよろしいですか?
set_Foo get_Foo はVBから見えない様にわざわざ隠してあるのだから、 難しいこと考えないでラムダでラップすればいいよ。 Dim f1 As Func(Of String) = Function() o.Foo Dim f2 As Action(Of String) = Sub(s) o.Foo = s
たかがVBとは言え、ウチの会社はちゃんとVBのお仕事を発注して金払ってるよ。 エンドユーザーは開発言語をあまり気にしないてない。
今からVB.NETをはじめるのですが、 VB.NETの基本文法最速マスターはないんですか?
聞いてるヒマあったらプログラムの一本でも作れ
Xml読み込みする時って XmlDocumentクラスとDataSetのReadXmlメソッド どちらが良い?
XDocument
>>901 そのやり方が知りたかったです!
これでリフレクションを使わずメソッドの定義もせずに済みます。
ありがとうございました!
初めてサービスを作ろうと思います。 内容は数秒に1回DBから値をとってきて該当するものが あれば処理(内容は単純。ログとかも不要)する、 というものですが、これはサービスにせず普通にタイマーを 使ってタスクバーとかに表示されなくした普通のアプリを スタートアップに入れておくのと違うのですか? 利点が ないなら後者でいいと思っているんですが。。
サービスは誰もログインしてなくても動く
911 :
909 :2013/03/18(月) 23:34:56.07
>>910 なるほど、ログオフ状態でも大丈夫というわけですか。
Webサーバーに設置する予定でしたが、その辺を調べてから
考えます。というか他サーバーに帳票を作らせたりする
プロセス間通信アプリとかも入れる予定なので常時ログイン状態に
はなってる、、、と思いたいです(汗)
ありがとうございました。
>>909 UAEの影響を受けない。
ログインしていなくても動作する。
ログインユーザーと異なる任意の権限で動作する。
一般的にはSYSTEM権限やAdministrator権限で動作する。
ログインするユーザーが制限ユーザーで、アプリケーションが
管理者権限を必要とするAPIを使っている場合、サービス化は必須。
Windows Server 2012にはGUI無しバージョンのOSがあり、
GUI無しバージョンのOS上でも動作する。
アプリケーションがクラッシュした場合、OSが自動で再起動してくれる。
指定したサービスが起動した後に作ったサービスを起動してくれる。
たとえばログイン時の自動実行だとその時点ではデータベースが
起動していなかったりするが、サービスだとデータベースを起動した後
実行すると言った設定がある。
>>912 >UAEの影響を受けない。
UAEって何?アラブ首長国連合?っていう突っ込みは置いといて
どこまでをUACとしてるかわからんが、サービスって完全にUACから開放されるのか?
フォルダやレジストリの仮想化とかの影響はうけるんじゃね?
>管理者権限を必要とするAPIを使っている場合、サービス化は必須。
サービスを管理者権限で動かすのはあんまり推奨されないと思うが
>Windows Server 2012にはGUI無しバージョンのOSがあり、
>GUI無しバージョンのOS上でも動作する。
2008にもあるし、それサービス関係ないだろ
サーバコアでもアプリがGUI(コンソール以外のウィンドウ)を持てないわけじゃないし
VB.NETでサポートされてるかどうかは知らんけど
アラブ首長国連邦じゃまいか?
だな。 ユナイテッド・ステイツ・オブ・アラブ アラブの、首長で作った連邦政府
ユナイテッドステイツなら、なぜアラブ合衆国じゃないんだ 合衆国と連邦と連合ってどうちがうのさ
英語だとこうだが、United Of Arab Emirates アメリカ英語だとOfを付けないのが主流らしいね。 EUではOfつけるが。
超初歩的な質問ですいません。 class.member と class.[member]では挙動がどのように違うのでしょうか? とあるサービスによる自動生成コードがこのような表記をしていました・・・ よろしくお願いいたします。
[member]はmemberがIntegerとかのキーワードでも大丈夫
COMオブジェクトがDisposeでリソースがちゃんと解放されているかどうかログを取りたいんですけど いい方法ありませんか?
COMオブジェクトはDisposeでは開放されないから安心しろ。
ああ COMオブジェクトの解放は↓ですね System.Runtime.InteropServices.Marshal.ReleaseComObject リソースの解放のログってどうやって取るんですの?
すいません。駆け出しで何も分からなくて質問させてください。 プロセス間通信でフォームアプリ(サーバー)とフォームアプリ(クライアント) の通信は出来たんですが、Webサーバー上でASP.NETをクライアントにして フォームアプリ(サーバー)に通信する方法が分かりません。というかできる んですか? 例えば、ASP.NETでボタンを押されたイベントが走った時に、フォームアプリ (サーバー)に通信するとかですが。 なんか常時サーバーもクライアントも起動してないとできないような気がして まして、一瞬だけサーバーで動いて消えるASP.NETがクライアントになるのは 無理でしょうか?
そりゃサーバは何かしら動いてないと駄目に決まってる ASP.NETだってIISが動いてるだろ クライアントは、ブラウザ一度落としたら二度と接続できないの?
駆け出しのくせに通信とかするな
>>924 何も分からないじゃなくてASP.NETの勉強するのが先決
ASP.NETの動作(アプリケーションプールとかライフサイクル)とかを知って、
IISやWeb.configの設定でできることを頭に入れて、それからリモーティングとか
具体的な実装を考えるべき
ちなみに本気でASP.NET極めようとすると、システム寄りの知識が必要になる
僕プログラムしか打ちたくありませ〜ん系統のアフォには向いていない
10年早いなw
929 :
924 :2013/03/23(土) 04:50:44.20
未熟ですけど仕事なんです! やれと言われればやらないと ダメなんです! とりあえず皆様、助言有難うございました。勉強もしますが 情報集めも頑張ります。 2chではまたいつの日か機会がありましたらよろしくお願いします。
給料半分よこせw
こんな素人が仕事していいのか?
誰でも最初は初心者さ 俺が客なら困るがなw
初心者はいいけど、上にベテランがいてそいつに教わりながらやらないと 仕事でやっちゃだめだろう
>>929 仕事だからやらなきゃいけないってことはない。
できないと思ったら、未熟でできませんと正直に言うのもお前の仕事であり、
それに対してフォローするのが上司の仕事だ。
だよなー そんなレベルのやつに作られたら客がかわいそう ってか自分が客だったらと思うとゾッとする
そしてお前の行きつけの病院はそんなレベルの奴らが作ったシステムで回っている
まあその通りw
こえええぇぇw
怖すぎわろえないw
敵に回すと怖いが、味方に付けると情けないの典型だな。 「初心者だが2chで質問してプログラム作りましたw」 嫌過ぎるw
>>936 まあ、システムが糞なら人間は
運用でカバーするから無問題だけどなー
みずほなんかは運用でカバーしきれなかった例だが
病院一つなら何とかなるだろ。
>>936 CTとかバグってたら簡単に中の患者死ねるよね。
CTって人殺せるぐらいの出力あるのか?
放射能汚染
VBでCTの制御やるとしたら操作用のインターフェース作るくらいまでだろ? 組み込みのプログラムの側に安全機構があるでしょ VBで人殺すとしたら投薬の管理とかじゃないの
ご存知の方が居れば教えてください。 最近引き継いだアプリケーションの、入力文字列のサイズチェックが 上手くいっていないと指摘を受けたので調査してみました。 結果は「?」「?」といったJISX0213の一部の文字が使われている場合に Text.Encoding.GetEncoding("Shift_JIS").GetByteCountを使ってサイズを取得すると期待と異なる結果が返ってきていたためでした。 修正自体はGetByteCountを使わないということで恙無く完了したのですが、 このGetByteCountが2バイト文字を1バイトだと返してくる原因が気になります。 単純にエンコードをShift_JISにしているのが問題なんでしょうか?
すいません化けました・・・鴎と繋の旧字体です
Unicode拡張文字のこと?
>>947 問題の文字列を一旦S-JISにエンコードしてから.NETの文字列(UTF-8)にデコード
してみれば分かるよ。
普通はやる前に分かると思うけど
>>948 なぜ化けたと思う?
化けてどんな文字になってる?
DataGridViewなのですが 使用者が選択した複数のセルの値を 全て取得するにはどうすればいいでしょうか。
DataGridView 複数行選択 でgoogleをを検索する。
もうVBがC#にやられて無くなるの? これからVBやってても意味なくなるの?
急にどうした?
やれることは同じだから優劣を語ること自体が無意味
>>954 そんなことは無い。MicrosoftもVisualBasicをIT以外の
プロフェッショナル向けの言語と位置づけて力を入れている。
>>957 それはVB2005までだね。それより後は方針が変わってC#の方言になった。
959 :
デフォルトの名無しさん :2013/04/09(火) 21:39:34.38
どんな方針だよw
「C#と同じにする」ってことだよ 公式でコメントしてたし実際2008以降の拡張はそうでしょ VB2008のリリース前は独自路線継続ってことでいろいろ面白そうな機能が予定されてたんだけど 全部ボツになっちゃった
それは
>>957 の言ってることと矛盾しないでしょ。
C#の存在意義の1つがJavaやC++のプログラマに対する.NETの世界への入り口だとすれば、
VBはその対極にある。
VB6時代の「IT以外のプロフェッショナル向けの言語」というスローガンをそのまま
今のVBに当てはめるのはちょっと無理があるかもしれないが、それでも対C#比では
より非プログラマの方を向いてる言語だとは言える。
vb熟練工だがjava始めてみたらvbより簡単だったぞwww
そりゃVB.NETはJavaのスーパーセットであるC#のさらにスーパーセットという超複雑言語だからな
へぇ、そんなにJavaって手軽なのか、興味沸いて来た
Javaは言語は簡単だが周辺技術がカオス その点では.NETはMSだけで手広くカバーされてるから比較的すっきり
javaは本体が安くて、インクが高いカラープリンタのようなもの。
>>962 んなばかな。
純粋クラスベースの言語はVBとは異次元の難易度を持つはずだ。
968 :
デフォルトの名無しさん :2013/04/10(水) 11:53:12.72
>>967 VBだってモジュールとかあるけど、基本は純粋クラスベースに変わってるよ
>>968 うん
だから今のVBは一昔より難易度が上がっている
C#をやった事はないけど、VB .NETができればC#もできるよって事でいいの?
VB.NETを正しく使ってれば、つまりC#の方言として使っていれば、その通り
vbでasp.net作ってたがjava始めたら楽勝過ぎワロタ
ホントに純粋なクラスベースの言語になっていれば良いんだけどなぁ モジュールと既定のインスタンスが全てをぶち壊してカオスへと引きずり込む
C#ソースとVB.NETソースの混在プロジェクトって作れる? どっちもそれなりに大量で今更書き直すのまんどくせ・・・
同一プロジェクトでは無理だけどDLL分けるだけなら別に変わらんだろ
expressじゃなきゃ混在できるはず
ソリューションを一緒にしとけば開発は楽だな。 expressだとダメだけど。
プロジェクトではダメなのか
2012からはexpressでもクロス言語のソルーションに対応してるはず。 express使ってないから確認はしてないが
VWDならExpress誕生当初からクロス言語に対応してたぞ デスクトップはExpress 2012 for Windows Desktopから
VWDって何のことかと思ったらVisual Web Developerかw 何でそんなあさっての方向の話が出てくるんだかw
>>981 Visual Web DeveloperもVisual Studioの無料版サブセットだからな
そんなにあさっての話というわけでもなかろう
まあ使ってないから
>>980 の真偽はしらんが、ASP.NETのWEBサイトはソースフォルダわければ
複数言語(つってもVBとC#だけだったような)対応だった気がするから
それに対応するためじゃないかと想像
あさってもクソもASP.NETってVBやC#の用途としてはWinFormsと双璧だろ まあ趣味でやる奴は少ないだろうからExpressではマイナーだが それもあってか2012 Express for Webはどっちかというと 他のプラットフォームやJSでの開発に重点が置かれてるね
980を超えました
985 :
デフォルトの名無しさん :2013/04/13(土) 21:44:06.72
986 :
デフォルトの名無しさん :2013/04/13(土) 21:44:47.98
埋め ぬるぽ
ぬるぽ
Private Shared az As CultureInfo Friend Shared Property a1 As CultureInfo Get Return Resources.az End Get Set(ByVal value As CultureInfo) Resources.az = value End Set End Property としてもazはNothingになってしまうけど azに格納するにはどうすればいいのだろうか??
,、‐ ''"  ̄ ``'' ‐- 、 /イハ/レ:::/V\∧ド\ /::^'´::::::::::::i、::::::::::::::::::::::::::::\ ‐'7::::::::::::::::::::::::ハ:ハ::|ヽ:::;、::::::::::::丶 /::::::::::::::/!i::/|/ ! ヾ リハ:|;!、:::::::l /´7::::::::::〃|!/_,,、 ''"゛_^`''`‐ly:::ト /|;ィ:::::N,、‐'゛_,,.\ ´''""'ヽ !;K ! |ハト〈 ,r''"゛ , リイ)| `y't ヽ' // ! ぃ、 、;:==ヲ 〃 ははは。 `'' へ、 ` ‐ '゜ .イ `i;、 / l 〉 ` ‐ ´ l`ヽ / ! レ' ヽ_ _,、‐7 i| i´ l `' ‐ 、_ ,、-‐''"´ ノ,、-、 / 、,_ ,.、- {,ヘ '、 `ヽ、
うめ
梅
埋め
>>990 シンジくんw君は永遠の中2だなぁ〜www
うめ
ume
1000 :
デフォルトの名無しさん :2013/04/14(日) 08:00:13.04
【IT】 「C言語やJavaを使う人は採用しない」「AGKやDarkBASICの方が生産効率が高い」就職活動
http://kohada.2ch.net/test/read.cgi/pcnews/1365242417/139-141 コンソール研究所は13日、C言語やJavaを使う学生を採用しない方針を固めた。
これは昨今のソフトウェア開発現場において社内研修期間を嫌う企業や官公庁の意向を取り入れたもので、
「 卒業=即戦力 」 が求められる新時代への突入を明確にしたものである。
たいていの面接官は ” 学生時代にどんな部活に所属していましたか? ” などと聞くが、それは時代遅れと
なったようだ。
また、C言語やJavaのスキルを問うものに対しても、「 実務経験がなければ意味がない 」 と言う現場の声も
反映した。
コンソール研究所の開発現場から一人の声を拾ってみた。
(以下ソース参照)
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。