VB.NET質問スレ (Part ..
666:デフォルトの名無しさん
06/10/04 15:17:25
>>664
だからお前がレスしてるのね
667:デフォルトの名無しさん
06/10/04 15:20:29
>>666
ようこそ。
668:デフォルトの名無しさん
06/10/04 15:37:15
>>657
Struct1 struct1 = struct2;
669:デフォルトの名無しさん
06/10/04 15:39:31
まあおまいら、またーりするんだ。
URLリンク(up2.viploader.net)
670:デフォルトの名無しさん
06/10/04 18:50:41
次はオシッコして感電死するショット?w
>>665
俺自身は自分でやったことないのにえらそうに言うけど、
たぶんListViewのOnPaintをオーバライドすれば1.1でもできるんじゃない?
GetItemRectなんてメソッドを使えば、テキストの部分だけのRectangleが取得できるから
先にベースクラスのOnPaint呼んどいてテキストの部分だけ自分で上書きしてしまえばいい。
671:デフォルトの名無しさん
06/10/04 18:52:35
プロセスIDからそのプロセスのファイル名をフルパスで得る方法ってありませんか。
VB2005です。
672:656
06/10/04 19:51:25
>670
さんくす。
オーバーライドやGetItemRectなんて具体的なやりかたが全然想像つかないので
ちょっと調べてきます ノシ
673:デフォルトの名無しさん
06/10/04 20:09:07
>>656
2003でもいいけどさ、
.NetFrameWorkは2.0にできないの?
まったく別物で上位互換でもないしさぁ
674:デフォルトの名無しさん
06/10/04 20:19:39
>>670
そりゃ無理だろ。やるならAPI使ってオーナードロー。
675:656
06/10/04 20:22:33
>>673
1.1で開発してるシステムが完成してから2.0にしようかと。
開発途中で2.0にしてしまうと作成途中のソースに
あちこち手を入れることになんね?
676:デフォルトの名無しさん
06/10/04 20:27:06
>>674
あんたVB6な人だろ
.NETは違うんだよw
677:デフォルトの名無しさん
06/10/04 20:35:13
>>676
OnPaintでどのアイテムを描画するかどうやって判断するの?
678:デフォルトの名無しさん
06/10/04 20:40:41
>>675
手入れが必要なら、さっさと乗り換えたほうが良くない?
たとえばオーバーライドやGetItemRectをつかってまで1.1でつくりあげて、
それから2.0にする意味は?
一刻も早く2.0にして、もっとスマートな仕様で作っていくべきと思うけど。
他の様々な部分でも改善の余地があるなら早いほうがいいと思うし。
679:670
06/10/04 20:41:52
>>672
継承知らないとなると前途多難かもしれんねw
既存のコントロールを継承して独自の機能を実装する方法はここにやさしい解説があるよ
URLリンク(pclabo.org)
あと、オーナードロー(OnPaintを乗っ取って自分で描画しちゃう)については、
たしか「どぼん」にコンボボックスをイメージコンボに改造するサンプルがあったと思う
680:670
06/10/04 20:43:18
>>678
俺もそうだけど、たとえば中小企業でチマチマコード書いてる身分だとそうもいかんでしょ。
681:656
06/10/04 21:07:52
>>678
いま2.0を入れずに頑張って1.1で手間ヒマかけてやるつもりはないです。
大変そうならとっととあきらめて余裕のできたときに2.0に移行していきます。
>>680
ウチの会社は作ったシステムを運用する人はイパーイいるけど、
開発する人間はオレともう一人だけなんだよね。
でも、今作ってるシステムは全くオレ一人でやってる。
だから完成間近のシステムを今の段階で2.0とかに対応していくことは
とても厳しい。
ユーザにはもうすぐリリースできそうってアナウンスしてあるしw
>>679
ありがとう。
継承とかは気になっていたんだけど、まだ必要になってなかったので
勉強できてません。
教えてもらったサイトを参考に勉強してみます。
682:デフォルトの名無しさん
06/10/04 22:25:05
>>671
Process クラスと ProcessModule クラス使えば用は足りるだろう。
683:デフォルトの名無しさん
06/10/05 00:59:42
Function関数を使って、
グローバル変数のようにモジュール内のどの関数内からでも呼び出せて、
同様に(変数をValueとすると)
Value = 3
Value += 4
Dim rr As Integer
rr = Value + 5
といった感じで使いたいのですが……
色々と試してみたのですが、さっぱり上手くいきません。
初歩的な質問なら申し訳ございませんが、よろしくお願いします。
質問が下手ならすみません。
684:デフォルトの名無しさん
06/10/05 01:07:23
もうちょっと具体的に書いてくれる?
685:デフォルトの名無しさん
06/10/05 01:17:25
>>684
Function Total(ByVal tt As Decimal) As Decimal
Static rr As Decimal = 50
rr -= tt
Return rr
End Function
上のようなプログラムを使おうとすると、
Total(x)
と表記するだけで返り値を増やす事は出来るんですが
その値の初期化が出来なくて困っています。
どうにかして別の関数内からも望む時に値を初期化ないし変数rrに直接代入できないでしょうか?
686:デフォルトの名無しさん
06/10/05 01:18:58
>>685
すみません、上記のプログラムでは返り値を増やす事ではなく減らす事は出来る……です。
説明が下手ですみません。
687:デフォルトの名無しさん
06/10/05 01:28:32
値を設定するメソッドも用意しとけば良いだけじゃん
つかまあ見事な非 OOP だな
688:デフォルトの名無しさん
06/10/05 01:34:06
Staticについてちょっと勉強不足かも……ちょっと調べて試してみます
こんな夜にわざわざありがとうございました
689:デフォルトの名無しさん
06/10/05 01:44:09
>>687
普通に解決しました……すみません、プログラムの考えってすごく苦手で……
すごく助かりました、本当にありがとうございます。
690:デフォルトの名無しさん
06/10/05 23:17:58
VBほぼ初心者で、VB6.0でほぼ完成のソースもらったんですけど、
2005しかなくて、勝手に変換されて泣きそうです。
で、質問です。
1.2005のままどうにかならないのか?
このまま1個1個エラー潰していくしかないのか?
2.フリーのVB6.0が動く開発環境ってありますかね?
2003とか。
明らかにウザイ質問と自分でもわかっているので、罵倒する感じでお願いします。
691:デフォルトの名無しさん
06/10/05 23:30:41
>>690
1、自力でごりごりコンバートしたほうが、後々役に立つと思われる。
2、6.0のフリー環境はさすがに無いかと。
5.0のControl Creation Editionで解釈できるコードなら、そっちで
動かせるかもしれない。2003と互換性のあるSharpDevelopにいく
という手もあるけれど、それなら2005にしたほうが大吉。
692:デフォルトの名無しさん
06/10/05 23:38:58
>>691
即レスサンクスです。
結局自分でガンガルのが最短路ってことですね。
どーもです。
頑張ります。
693:デフォルトの名無しさん
06/10/05 23:43:41
>>690何度も何度も何度も既出
694:デフォルトの名無しさん
06/10/06 00:16:02
既出厨乙
695:デフォルトの名無しさん
06/10/06 01:27:43
最近始めたばかりの初心者で、環境は2003を使っています。
>>650のような感じで、例えば
Dim x As Integer
Private Sub ABC1()
x = 1
End Sub
Private Sub ABC2()
x = 2
End Sub
Private Sub ABC3()
x = 3
End Sub
上のようなプログラムの
Private Sub ABC1()〜ABC3()
をもっと簡潔に表記する事はできませんか?
696:デフォルトの名無しさん
06/10/06 01:37:40
private void ABC( int arg )
{
x = arg;
}
697:デフォルトの名無しさん
06/10/06 01:52:47
>>696
ありがとうございます、参考書にvoidが無かったので検索していますが・・・見つからず苦戦しています・・・
ちなみにその方法で
Private Sub ABCBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ABCBox1.Click
のようなボタンを押した時などのPrivate Sub 〜〜
もまとめる事はできますか?
質問ばかりですみません。
698:デフォルトの名無しさん
06/10/06 02:08:18
>>697
>>696は違う言語。
そのイベントを起こすコントロールが何か分からんが
大体senderがそのコントロールそのものだな。
Handles ABCBox1.Click, Button1.Click, Button2.Click みたいにして
senderとそのボタンなりなんなりと比較して分岐。
699:デフォルトの名無しさん
06/10/06 02:10:54
Handles の記述上限っていくつだろ
700:デフォルトの名無しさん
06/10/06 02:12:14
>>696
コピペするとエラーが出るのですが・・・
C#ではないですよね・・・せっかく教えていただいたのにすみません
どこか分かり易いサイトなどありましたら教えていただけると助かります
701:デフォルトの名無しさん
06/10/06 02:15:35
>>698
HandlesとSenderですか、調べて何とか理解できるよう頑張ります
それでも分からなければ、すみませんがまた手を煩わせる事になるかもしれないですが
そうならないように頑張ります
丁寧にありがとうございます
702:デフォルトの名無しさん
06/10/06 02:18:38
Buttonと書こうと思っていたのにBoxと書いてしまってますね・・・
コントロールが分からなくてすみませんでした
改めてありがとうございました
703:デフォルトの名無しさん
06/10/07 02:35:26
MenuItemやNotifyIconにInvokeRequiredって無いんでしょうか・・・
別スレッドからNotifyIconのTextを変えたりしたいのに出来ない・・・orz
704:デフォルトの名無しさん
06/10/07 02:50:07
Controlじゃないからね。
本スレッドのウインドウにメッセージでも送ってやってもらうが吉
705:デフォルトの名無しさん
06/10/07 02:59:07
どういう風にすれば良いでしょうか・・・
Textを変更しようとしているスレッドはループを回しているのでRunWorkerCompletedじゃだめだし・・・分からないorz
706:デフォルトの名無しさん
06/10/07 03:03:43
VB2005です。
MenuStripに項目をいっぱい追加して、そのウィンドウの幅を小さくすると、
はみ出たぶんのメニュー項目が表示されない、クリックできない状況になっちゃうんですが、
これを改善するにはどうしたらいいですか。
VB6の用に折り返させたり、メニューの一番左に▼←こんなのが表示されて、クリックすると
続きが表示されるようにしたりしたいんです。
707:デフォルトの名無しさん
06/10/07 05:06:03
>>706
menuStrip.GripStyle
初期値はHidden
708:デフォルトの名無しさん
06/10/07 05:27:37
>>707
HiddenからVisibleに変えてみましたが、メニューの一番右に点が3つ表示されるだけで、
はみ出たぶんのメニュー項目は依然選択できないままです。
709:デフォルトの名無しさん
06/10/07 09:34:58
>>705
BackgroundWorker 使ってんだったら ProgressChanged で良いじゃん
710:デフォルトの名無しさん
06/10/07 10:48:21
>>709
こんなイベントあったんですか・・・知りませんでした。ありがとうございます。
.netは奥が深いな・・・
711:デフォルトの名無しさん
06/10/07 11:36:07
>>708
CanOverflow
つーかドキュメントくらい読めよ禿
712:デフォルトの名無しさん
06/10/07 15:12:27
>>711
CanOverflowをTrueにしても、はみ出たぶんのメニュー項目は依然選択できないままです。
713:デフォルトの名無しさん
06/10/07 15:46:19
>>712
LayoutStyle をFlowに
714:デフォルトの名無しさん
06/10/07 17:15:34
>>713
おお、ついにできました。
ありがとう。
LayoutStyleだけで折り返し表示できました。これではみ出た部分のメニューも選択できます。
>>707、>>711は質問の意図を勘違いされちゃったのかな。
715:デフォルトの名無しさん
06/10/07 18:54:55
何様?
716:デフォルトの名無しさん
06/10/07 19:00:14
俺俺
717:デフォルトの名無しさん
06/10/07 22:42:50
フォームのキーアップイベントでファンクションキーの処理をしているのだが、
テキストボックスでIME変換中のファンクションキーもイベントで拾ってしまう。
テキストの編集中のファンクションキー処理か見分ける方法ってあります?
718:デフォルトの名無しさん
06/10/07 23:39:37
正攻法じゃなく姑息な方法だけど、
(1) KeyUpイベントで特殊キー以外だったらIME変換中のフラグを立てる
(2) TextChangedイベントでIME変換中のフラグを下げる
あくまでKeyUpイベント中でIMEが変換中かどうか知りたいということなら
これでいけるんじゃないかな。
特殊キー以外が押された(放された)のであれば、IME変換中でなければ
Textはかならずかわっているはずだから。
もちろんフラグを立てる処理はKeyUpの一番最後にもっていく必要がある。
っていうか、ずいぶん変則的なことがしたいんだね。
719:デフォルトの名無しさん
06/10/07 23:39:48
該当コントロールに、IME 入力開始時に WM_IME_STARTCOMPOSITION、終了時に WM_IME_ENDCOMPOSITION が来る。
適当なクラスに IFilterMessage を実装させてこの二つのメッセージを拾えば良いんじゃない?
720:デフォルトの名無しさん
06/10/07 23:48:27
アップデートしようとすると「Visual Studio .NET 2003 セットアップで
必要なファイルをダウンロード中にエラーが発生しました。
Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください。」
出てきて、アップデートできないのですが、どうすれば解決できますか?
721:デフォルトの名無しさん
06/10/08 00:08:36
今インスト中なのですが最後の4段階目のService Releaseで
上手く進めません。
必要なファイルをダウンロード中にエラーが発生しました。
Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください
このポップアップメッセージが出てきて進めないです。
誰か親切でエロイ方教えてくださいーーー。
722:デフォルトの名無しさん
06/10/08 00:09:51
ファイアーウォール
723:デフォルトの名無しさん
06/10/08 00:15:20
>>722
ファイアーウオールを実装しても解除しても両方できません。
724:デフォルトの名無しさん
06/10/08 00:21:01
>>721
ServiceReleaseをキャンセルしても、とりあえずインストールは完了
するから安心しろ。
725:デフォルトの名無しさん
06/10/08 00:22:50
>>724
いいえ。そこを完了しないとPCに.NETのソフトが入ってないです。
どこを探してもインストールされていません。
726:デフォルトの名無しさん
06/10/08 00:25:20
>>724
ありましたぁ!!
ServiceReleaseをキャンセルしても、問題はないですか?大丈夫でしょうか?
727:デフォルトの名無しさん
06/10/08 00:53:33
>>717
>>679
728:デフォルトの名無しさん
06/10/08 00:55:16
>>726
ちゃんとキャンセルされてるから安心しろ。
729:デフォルトの名無しさん
06/10/08 03:48:27
datagridview のあるセルに、コードベースでハイパーリンクを設定するのってどうやるんでしょうか?
730:デフォルトの名無しさん
06/10/08 04:05:07
取りあえずデザイナで配置してみて、それで作られたコードを参考にしろ
731:デフォルトの名無しさん
06/10/08 10:40:56
>>726
職場のオフラインパソコンで何度もやってる俺が言うんだから間違いない。
732:デフォルトの名無しさん
06/10/08 11:31:36
ComboBoxでエディットボックス部分のメッセージってどうやって拾ってます?
733:デフォルトの名無しさん
06/10/08 11:41:06
ComboBox.Text プロパティを参照ではあかんの?
734:デフォルトの名無しさん
06/10/08 12:17:26
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each c As Control In ComboBox1.Controls
If TypeOf c Is TextBox Then
MsgBox("ComboBox内にTextBoxを発見しました。")
Exit Sub
End If
Next
MsgBox("オメエに喰わせるTextBoxはネエ !")
End Sub
735:デフォルトの名無しさん
06/10/08 12:23:36
↑
なにこれ?
736:デフォルトの名無しさん
06/10/08 15:36:33
>>733-734
テキストボックスコントロールじゃなくて、
エディットエリアに流れているウィンドウズメッセージです。
737:デフォルトの名無しさん
06/10/08 15:51:30
だから内部的にエディットボックスなんて使ってないんだってば
738:デフォルトの名無しさん
06/10/08 17:17:48
>>737
エディットボックスじゃないよ。
エディットエリアの部分だって。
spyで確認すると、ハンドルもメッセージもコンボボックスとは別のものが流れてるけど、
そのエディットエリアに流れているメッセージを取得したいのです。
739:デフォルトの名無しさん
06/10/08 17:40:28
まあ実際 Edit コントロール使ってんだけどな。
CB_GETCOMBOBOXINFO を送るか、Win32API の GetComboBoxInfo を使うかすればエディットのハンドルが手に入る。
あとは NativeWindow の派生クラス作ってサブクラス化すればいい。
740:デフォルトの名無しさん
06/10/08 18:02:25
こんな感じだな
URLリンク(www.atmarkit.co.jp)
741:デフォルトの名無しさん
06/10/08 19:20:53
>>739-740
さんくすです
742:デフォルトの名無しさん
06/10/11 12:37:37
直接VBの話では無いのですが開発環境がVB.NET2005なので、質問させてください。
今度、新しく作成するアプリのDBをSQL Server2000と2005のどっちにするかを悩んでいます。
VB.NET2005(Pro)から見てSQL Serverの2000と2005が変わりがないのであれば、
会社で所有している2000をそのまま使おうと思っているのですが、
SQL Server2005で魅力的な何かがあれば購入協議に出して買ってもらおうかと思っています。
見積もりで容量が10GBを超えるのでExpressは考えていません。
SQL Server2005とVB.NET2005の組み合わせで何か幸せになれる事ってあるのでしょうか?
743:デフォルトの名無しさん
06/10/11 12:48:12
>>742
自分で考えれば?それだけの条件じゃなんにもわからんし。
744:デフォルトの名無しさん
06/10/11 14:58:28
VB.NET 2005 の Express Editionを使っているのですが
配布パッケージを作成はどうすれば良いのでしょうか?
6時代のディストリビューションウィザードみたいなのが見当らないのですが
745:デフォルトの名無しさん
06/10/11 16:15:55
>>744
ClickOnceが嫌ならStandard以上が必要
746:デフォルトの名無しさん
06/10/11 16:35:22
744じゃないけど、Standard以上だとどんなディストリビューションウィザード的なものがある?
747:デフォルトの名無しさん
06/10/11 16:51:55
どんなと言われても困るがセットアッププロジェクトというものがある。
詳しく知りたければここでも見てくれ。
URLリンク(msdn2.microsoft.com)
748:742
06/10/11 19:27:14
>>743
確かに曖昧だったな。
とりあえず開いているサーバにSQL Server2005developerをつっこんで弄ってみるは。
749:デフォルトの名無しさん
06/10/11 21:16:17
ずっとVBをやってたんだけど。出向先がいきなりVBC#になるとのこと。
明日からいきなりいくんだけど、随分違うものなの??
750:デフォルトの名無しさん
06/10/11 21:44:09
VBC#なんてのが出来たのか
751:デフォルトの名無しさん
06/10/11 21:45:40
>>749
たいして変わらん
752:デフォルトの名無しさん
06/10/11 23:20:48
>>750
VBC#は結構前からあるよ。J#なんてのもあるからねー
753:デフォルトの名無しさん
06/10/11 23:33:50
VisualBasicC#?
754:デフォルトの名無しさん
06/10/12 00:16:22
VisualBasicCompiler#と予想
755:デフォルトの名無しさん
06/10/12 00:45:13
VisualBasiC#
756:デフォルトの名無しさん
06/10/12 01:24:40
ぶびちゅ
757:デフォルトの名無しさん
06/10/12 09:32:50
ぶいびー丼?
758:デフォルトの名無しさん
06/10/12 16:34:49
VB.net2003のツリービューでノードを一意に
認識したくtagにguidをいれているのですが
このtagを指定して一発でそのノードを取得したいのですが
可能でしょうか?
こんな感じであればよいかなと思います。
Dim hoge As TreeNode
hoge = TreeView1.selectSingleNode("123304-32-434-3-3-35")
もし可能であればやり方を教えてください。
よろしくお願いいたします。
759:デフォルトの名無しさん
06/10/12 18:37:07
>>758
そんなことするぐらいなら最初からHashtableに突っ込んで管理すりゃいいじゃん。
っていうか、うまくいえないが何か根本的に「考え違い」をしていると思うぞw
何ていえばいいかな、guidで識別したいってことはguidをインデックスにノードを
取得したいってことだが、そのguidは何をインデックスに取得するつもりかね?w
760:デフォルトの名無しさん
06/10/12 19:48:52
>>759
なるほどー
ツリーを構築するときにハッシュテーブルにguidとノードをインサートしておけばいいわけですね。
こりゃすごい
761:デフォルトの名無しさん
06/10/13 08:26:13
2つ質問したいことがあります。
1つめは、
vb.net と vb2005の違い なんですが、
イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが
どうなのでしょうか?
2つめは、
VB.net をこれから、学び始めようと思うのですが、
今ある知識は、VB6 を少しかじったくらいなので
初心者から 学べる おすすめの本があればお教えてください。
762:デフォルトの名無しさん
06/10/13 09:20:13
vb.net .netフレームワーク上で動くVB
vb2005 .net2,0を開発できるVisualStudio2005のvb部分
初心者は@ITでも読破しとけば?
763:デフォルトの名無しさん
06/10/13 10:50:44
>>イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが
あながち間違いじゃない。
2003で思うように移行が進まなかったためか、2005はVB6.0に擦り寄
った内容になっている。
764:デフォルトの名無しさん
06/10/13 11:19:40
>>761
[暗黙のインスタンス] でググるよろし。
765:デフォルトの名無しさん
06/10/13 11:22:12
>>762
まず始めに @ITの方を読破して
それから、必要に応じて、本を探そうと思います。
>>763
.net 〜2005 までの変更があまりわかってなかったのですが、
明確になりました。
質問に答えていただき、ありがとうございますした。
766:761
06/10/13 11:30:05
>>765
ちょっとタイプミスw
>>764
分かりやすい説明でたすかります。
質問に答えていただき、ありがとうございました。
767:デフォルトの名無しさん
06/10/13 11:43:45
暗黙のインスタンスが使えるから何?って思うんだけどね。
VBは2の頃からやってるけど、普通にすんなり.netやってるし。
逆にあんな糞仕様が何故復活するのか理解ができん。
768:デフォルトの名無しさん
06/10/13 11:59:49
いまだに6.0ベースの開発案件が続いてることに、MSが危惧を抱いてる
んでないの? 「サポート切れたよ! 動作保証しないよ!」って言い
続けてるわりには、一向に転換が進まないしさ。
うちなんか「6.0でSP3まで」っていう環境の縛りがあるくらいだし。
769:デフォルトの名無しさん
06/10/13 13:32:51
.NETでWindowsMessage一覧が定数化してあるクラスが欲しいのですが、
今現在落とせる場所ってありますか?
昔は【渋木宏明(ひどり) blog 】や【Sugi@ぱぱんぶぃびぃ Blog】で落とせたみたいなんですが、
今は落とせないみたいので、現在ある場所知っている方教えてください。
770:デフォルトの名無しさん
06/10/13 16:05:11
そういえば、VB6時代の末期は、
超優秀な人から超無能な人までVB6を使っていたが、
その全てが.netを理解できるはずが無かった。
そうなると、VB6を使い続けるしかないんだよな。
会社としても、皆が.netを理解できないのにVB6を切るわけにも行かないし。
また、理解できたとしても、顧客には.netを本筋にするから、
VB6アプリはサポートしないなんて言えないし。
771:デフォルトの名無しさん
06/10/13 18:12:27
>>769
SDKからWinUser.h抜いて
エディタで正規表現つかって書き出せば簡単
772:デフォルトの名無しさん
06/10/14 11:02:50
公開よろ
773:デフォルトの名無しさん
06/10/14 11:34:47
ウンコに行きたいんだが、我慢した方が良いか?
774:773
06/10/14 11:35:50
誤爆ゴメン
775:デフォルトの名無しさん
06/10/14 12:04:09
>>769
ありがちな発想だけど、そんなクラス使いにくくてしょうがないでしょ。
必要なメッセージだけその都度定数なりEnumなりで定義してればこそ
インテリセンスの有難味も効いて来るのに。
776:デフォルトの名無しさん
06/10/14 18:39:40
超初心者なんですが
VisualBasic2005 Express editionでWindowsアプリを作ったのですが
EXEにするにはどうしたらよいのでしょうか?
昔少し開いたVBにはコンパイルとかあったような気がしたんですが¥けど・・
777:デフォルトの名無しさん
06/10/14 18:47:30
ビルド
778:デフォルトの名無しさん
06/10/14 18:48:00
ビルドすれば作られてるだろ
779:776
06/10/14 18:50:36
あ、ありました。
>>777-778
ありがとうございました。
780:デフォルトの名無しさん
06/10/15 01:02:15
ショッピングWEBなどのhtml中のセッションIDの取得が出来ずに悩んでいます。
<!-- jsessionid=925366B2850A358E66BCF2C091402219.tom18 -->
というセッションIDがあり、アクセスの毎に変わります。
このセッションIDを取り出す方法でつまづいています。
オーバーライド関数GetSessionを実装して、適当な変数(Sidなど)に代入出来るようにしたいのですが、
どうすればよろしいのでしょうか。
いろいろぐぐっても解かりませんでした・・・
よろしくお願いします。
781:デフォルトの名無しさん
06/10/15 01:06:18
どっかの掲示板で見たなこの質問
782:デフォルトの名無しさん
06/10/15 12:40:38
VB.NETの変数名のつけ方のガイドラインってあるんでしょうかね?
たとえば、クラス内の変数名の先頭にはよくm_を付けている事が多いですが。
783:デフォルトの名無しさん
06/10/15 13:22:15
>>782
MSDNにもあるし、本も出てるし。
784:デフォルトの名無しさん
06/10/15 13:49:06
N88Basicしか知りません。まったくのVB初心者です。
VB.NETでそこそこのソフトを作れるようになるにはどのくらい勉強すればいいのでしょうか?
785:デフォルトの名無しさん
06/10/15 13:58:45
俚諺に曰く、石の上にも三年
786:783
06/10/15 14:07:50
>>783
MSDNには”Visual Basic の名前付け規則”っていうのがありましたね。
書籍の方も見てみたいのですが、本のタイトル教えてもらえませんか?
787:デフォルトの名無しさん
06/10/15 14:11:19
そこそこのソフト
わかるかぼけぇ
788:デフォルトの名無しさん
06/10/15 14:17:18
>>786
手元に無いので正確なのはわからんが、
「VB.NETルールブック」だったかな?
789:782
06/10/15 15:03:49
>>788
ありがとうございます。
そのタイトルの本がありました。
790:デフォルトの名無しさん
06/10/15 15:13:35
でも正直、あの本に限らずあの手の本に書いてあることって大概単なる
「村の掟」以上の物ではないんだよな。
ルールの背後に納得できる合理性が感じられない単なる俺様ルールを
金払ってまで受け入れる気がしない。
791:デフォルトの名無しさん
06/10/15 17:06:57
>>790
ま、参考にってとこでしょ。
792:デフォルトの名無しさん
06/10/15 18:24:29
独自につくる方がよっぽど俺様ルールなわけで
793:デフォルトの名無しさん
06/10/15 20:54:35
質問させてください。
VB6.0のpictureに計算結果を表示させたり、
C言語でコンソールに結果表示をさせるのは
自動的に順番に隣へ表示するので
結果の表示が重なる事はないですが、VB.NETのpictureに結果を出そうと思えば
座標を指定しなくてはならないので、座標を一つしか指定しなければ
当然同じところへ重なりますよね?
現在、再帰のアルゴリズムのところで順列表示結果をさせたいと考えているのですが
picutreに表示させる方法が思いつきません。繰り返し処理させようとしても
その i がどうしても1に戻ってしまうのです。
だから順列の結果がすべて同じ位置に重なってしまいます。
何かうまい方法はないでしょうか?
794:デフォルトの名無しさん
06/10/15 20:59:04
お願いですから日本語を喋ってください
795:デフォルトの名無しさん
06/10/15 21:04:51
すいません、訂正です。
分かりにくいと思いますので。
>>793の続き
現在、再帰のアルゴリズムを使って順列表示結果をさせたいと考えているのですが
picutreに表示させる方法が思いつきません。
何かうまい方法はないでしょうか?
1 2 3 4
の順列の結果は24個あるわけですがこれが重なってしまうのです。
1234
1243
・・・・って表示してほしいのですけど。
796:デフォルトの名無しさん
06/10/15 21:24:10
picutreって何?
797:デフォルトの名無しさん
06/10/15 21:25:39
pictureboxのことです。
798:デフォルトの名無しさん
06/10/15 21:34:41
今どうやってんのか分からんとアドバイスのしようもない。コードを書け。
799:デフォルトの名無しさん
06/10/15 21:41:54
MDB内のフォーム名を取得するには、どうすれば良いのでしょうか?
親切な方、ヒントだけでも教えてください。
800:デフォルトの名無しさん
06/10/15 21:47:37
>>799
AccessのApplicationオブジェクトからFormオブジェクト抜き出せば良いやん。
801:デフォルトの名無しさん
06/10/15 22:03:27
>>800
ありがとうございます。
802:デフォルトの名無しさん
06/10/15 22:30:31
>>798
以下のようなコードです。全部は書ききれませんので、次レスで。
Const N As Short = 4
Dim p(N) As Integer
Private Sub perm(ByRef i As Integer, ByVal e As PictureBox)
Dim g As Graphics = e.CreateGraphics()
Dim t As Integer
Dim j As Integer
If i < N Then
For j = i To N
t = p(i)
p(i) = p(j)
p(j) = t
perm(i + 1, Picture1)
t = p(i)
p(i) = p(j)
p(j) = t
Next j
Else
For j = 1 To N
Dim centuryFont As Font = New Font("century", 8, FontStyle.Regular)
Dim blackBrush As SolidBrush = New SolidBrush(Color.Black)
g.DrawString(p(j), centuryFont, blackBrush, p(j) * 20, j * Font.Height)
Next j
End If
End Sub
803:デフォルトの名無しさん
06/10/15 22:31:14
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
Display(Picture1)
End Sub
Sub Display(ByVal e As PictureBox)
Dim g As Graphics = e.CreateGraphics()
Dim i As Integer
g.Clear(Color.White)
For i = 1 To N
p(i) = i
Next i
perm(1, Picture1)
End Sub
End Class
804:デフォルトの名無しさん
06/10/15 22:32:58
g.DrawString(p(j), centuryFont, blackBrush, p(j) * 20, j * Font.Height)
ここの座標設定は適当です。
とにかくここをどうやってするかが難しいのです。
805:デフォルトの名無しさん
06/10/15 22:58:51
まあ、色々突っ込み所満載なわけだが、とりあえずy座標に関して言えば
クラスメンバにy座標を持って、最初の再帰呼び出しの前でクリアして
1行描画したら1行分足せばいいんじゃないか。
あとx座標も変だぞ。それじゃ全部1234になっちまう。
806:デフォルトの名無しさん
06/10/15 23:02:57
>>805
そうです。だから座標は適当にしているだけなんです。
今までのVBのように
p(i)を一つ一つ並べればきちんといくはずなんですが・・。
クリアというとつまりはどういうことなんでしょうか?
807:デフォルトの名無しさん
06/10/15 23:19:05
Dim p(N) As Integer の下に Dim y As Integer を追加
描画を g.DrawString(p(j), centuryFont, blackBrush, j * 8, y) に修正
その下の Next j の下に y += 12 を追加
Displayメソッドの perm(1, Picture1) の前に y = 0 を追加
808:デフォルトの名無しさん
06/10/15 23:22:44
>>805
y座標はうまくいきました。
ありがとうございます。
809:デフォルトの名無しさん
06/10/15 23:27:02
>>807
丁寧にありがとうございます。
perm(i + 1, Picture1)の前に
k=k+1といれて
g.DrawString(p(j), centuryFont, blackBrush, j * 20, (k - 1) * 10)
とすればできました。x座標もできました。
たぶんあなたが教えてくれたものが正確だと思うので
そのように書き直させてもらいます。
810:デフォルトの名無しさん
06/10/15 23:27:22
っていうか、明らかに適性ないよ悪いけど。
もうコードのここがダメとかあそこを直せばいいという問題じゃなく、全てがダメ。
こんなの初学の学生が宿題で書いたコードとしても酷すぎる。
811:デフォルトの名無しさん
06/10/15 23:31:33
>>810
そうですか。
まあ、また気が向いたら教えてください。
812:デフォルトの名無しさん
06/10/15 23:46:46
クラスの動作確認の方法ってどうやってやるのですか?
ソリューションエクスプローラにクラス追加で下記のクラスを追加してF5を押しても確認が取れません。
よろしくお願いします。
Imports System
Imports System.Net
Imports System.Text
Public Class WebClientGet3
Shared Sub Main()
Dim wc As WebClient = New WebClient()
Dim data As byte() = wc.DownloadData("URLリンク(www.google.co.jp))
Dim enc As Encoding = Encoding.GetEncoding("Shift_JIS")
Dim html As String = enc.GetString(data)
Console.WriteLine(html)
End Sub
End Class
813:デフォルトの名無しさん
06/10/15 23:56:13
クラスの動作確認ってかなり意味不明だな。
取りあえず MSDN かヘルプドキュメントで /main コンパイラオプション の項目を調べれ
814:デフォルトの名無しさん
06/10/16 02:43:01
>>812
お前の作るクラスにはmainというメソッドがあるのか。
いやだな・・・
しかもクラス単位にmainというメソッドしかない作りなんだろ?
そんな作りはやめたほうがいい。
815:デフォルトの名無しさん
06/10/16 10:32:01
プログラムの仕組みでClassを使うやつは、
PGのセンスを疑うな。
クラスとオブジェクトの意味を理解してもらいたい。
816:デフォルトの名無しさん
06/10/16 11:31:15
VB2005でnkf32.DLLを使いたいのですがどのように記述すれば良いのでしょうか?
例えばGetNkfVersion関数を使うとして
Public Declare Function GetNkfVersion Lib "nkf32.dll" (ByVal verStr As String)
等と書いてみたのですが名前空間のステートメントが無効ですとエラーが表示されてしまいます。
817:デフォルトの名無しさん
06/10/16 12:05:41
クラスまたはモジュールのメンバになる位置に書く
818:デフォルトの名無しさん
06/10/16 13:54:36
今日、あるソースのコメント部分に、SpecialThanx 〜〜〜〜〜〜 と書いてるのを見つけた。
ここのスレタイがかいてあったので見に来てみた。
なるほどね。
819:デフォルトの名無しさん
06/10/16 14:37:11
>>817
ありがとうございました。
820:デフォルトの名無しさん
06/10/16 15:59:45
>>802
なんで引数のPictureBoxがeなん?
CreateGraphicsで作ったGraphicsで描いたら、画面重なったら消えるやん?
なんで描画コードを再帰で作るん? 計算だけ再帰にして描画は一発にすべきじゃないの?
そもそも再帰の必要あるの?
再帰とループの中でなんで何度もSolidBrush作るん?
GraphicsやSolidBushをDisposeしないの?
821:デフォルトの名無しさん
06/10/16 18:18:07
>>820
>>793にPG適性が無いから
822:デフォルトの名無しさん
06/10/16 20:23:21
ここで適性無しとか言われてキレたりするやついるけど、正直ほんとに
適性としか言えない何かがあるんだよ。適性無いのに業界入りするのは
自殺行為に等しいから、向いてないと感じたら職種替えたほうがいい。
うちに今年入った素人高卒が、いまバリバリにコーディングしてるその
そばで、情報系大卒3年選手が単なるテスターになってるのを目の当た
りしてほんとそう思うよ。
823:デフォルトの名無しさん
06/10/16 21:39:42
>>812
コンパイルしてエラーで出なければオkでしょw
824:デフォルトの名無しさん
06/10/16 21:51:34
>>823
品質無視ならそれでもいいんじゃね?
その発想は、大概UIも一貫性がなかったり、仕様も捻くれてて直感的に使えないんだよな。
825:デフォルトの名無しさん
06/10/16 22:10:18
質問のしかたはともかく、質問者のレベルとか、適正や職種なんてこのスレとは無関係。
質問者にも理解できるような適切な解答をするべきだろ?
それができないで何を偉そうに威張ってるんだい?その辺のガキと変わらないぞ。
826:デフォルトの名無しさん
06/10/16 22:11:52
するべきって何だよそれ。。。
827:デフォルトの名無しさん
06/10/16 22:21:17
解答のしかたはともかく、解答者のレベルとか、適正や職種なんてこのス
レとは無関係。解答者にも理解できるような適切な質問をするべきだろ?
828:デフォルトの名無しさん
06/10/16 22:32:01
>>827
それだと、解答者も質問者とたいして変わらないのだから・・・と言ってるように聞こえる。
829:デフォルトの名無しさん
06/10/16 22:35:21
>>828
ま、知ってるか知らないかだけで、質問するやつも解答するやつも同レベルってことだ。
830:デフォルトの名無しさん
06/10/16 23:35:33
適切な回答も理解できないあほもいるんです><
831:デフォルトの名無しさん
06/10/17 04:43:58
適切な質問も理解できないあほもいるんです><
832:デフォルトの名無しさん
06/10/17 05:19:31
適切なスレも理解できないあほもいるんです><
833:デフォルトの名無しさん
06/10/17 12:15:10
VB.NET2005 側で構造体を確保して、その確保したエリアを
VC.NETで作成したDLL側で操作したいんですが、一般的な手法
ってどんな感じになるんでしょうか?
例えば、VB.NET2005側で、構造体の配列を確保して、それを
DLL側でソートしたり、VB.NET2005側で確保したエリアに
DLL側でファイルからデータを読み込んで値をセットしたりと
いった事がやりたいんですが。
UNIX環境のCでしかプログラムを作ったことが無いので、
VB.NET2005と、VC.NETで作成したDLLの間のデータの受渡し方法や、
VB.NET2005側がどのような形でエリア(メモリ)を確保しているのかや、
VB.NET2005側の変数の型と、確保されたエリアの関係(サイズや、アドレス)や、
VB.NET2005側の変数の型と、確保されたエリアの内部コード(文字列型の場合)、
VB.NET2005側の構造体と、確保されたエリアの関係(サイズや、アドレス)等が
良く判りません。
かなり、抽象的な質問で申し訳ないのですが、これらに関する情報や、書籍など
ありましたら、紹介して頂けないでしょうか。
834:デフォルトの名無しさん
06/10/17 12:29:28
>>833
P/Invokeという単語をMSDNで調べるかググる。
835:833
06/10/17 14:05:50
>>834
THX。
マーシャリングとか、アンマネージとか、なにやら面妖なキーワードが
沢山出て来て、戸惑っています。
Windows(.NET環境)ってなんか凄いですね。
ともあれ、ようやく欲しい情報にたどり着くことができました。
ありがとうございます。
836:デフォルトの名無しさん
06/10/17 22:09:33
というかまず VC.NET という謎の存在を解決する必要があるな
837:デフォルトの名無しさん
06/10/17 23:02:43
.NET なんてただの飾りです
エロイ人には
838:デフォルトの名無しさん
06/10/18 00:33:57
おい、みんな〜
例外キャッチは、Exception型で全部済ませてるよな?
839:デフォルトの名無しさん
06/10/18 00:49:16
キャッチなんてごく一部しか書かない。
840:デフォルトの名無しさん
06/10/18 00:59:14
まじで?
とりあえず全部のコードTryCatchで括って、Exceptionで受ける
ってみんな書いてないのか・・・
841:デフォルトの名無しさん
06/10/18 01:06:54
ごく一部ってのは全プログラムコードで見たらごく一部のコードという意味だよ。
全部のコードってどういう意味?
一番外側的な(あるいはそれに近い)意味ならそういう感じになるのは分かるが。
あとは個別に処理してしまう場合だけな。
842:デフォルトの名無しさん
06/10/18 01:48:14
俺は基本的に関数は全てtry〜catch〜finally〜。
JavaやPHP5では基本だろ。
843:デフォルトの名無しさん
06/10/18 02:03:20
あほだね
844:デフォルトの名無しさん
06/10/18 02:05:24
全ての関数で基本的にcatchも書くって、
そのcatch内でいったい何をしてるんよ?
finallyでいったい何してるんよ?
# まあ finallyの方はまだいいにしても
845:デフォルトの名無しさん
06/10/18 02:14:46
想定できない例外はこれでキャッチすればいいんでないの?
URLリンク(www.atmarkit.co.jp)
846:デフォルトの名無しさん
06/10/18 02:21:40
うんそうだね
847:デフォルトの名無しさん
06/10/18 02:56:40
>>845
なんだよ、これ。
こんなの思いつかねーよ
848:デフォルトの名無しさん
06/10/18 03:42:47
思いつくんじゃない、見つけるんだ。
849:デフォルトの名無しさん
06/10/18 04:52:55
びっくりさせるなよー
ThreadExceptionイベントをハンドルして処理してるのは俺だけかと思ったよ、まじで。
お前らの常識はほんとあてにならないな。
850:デフォルトの名無しさん
06/10/18 07:57:17
どんな常識かね?
851:デフォルトの名無しさん
06/10/18 13:36:39
>>844
catchで例外の詳細をログに落としてる。
finallyでオブジェクトの開放。
普通じゃん。
852:デフォルトの名無しさん
06/10/18 13:52:48
全メソッドで個別にログ出力かよ
853:デフォルトの名無しさん
06/10/18 13:55:22
でエラー状況はどうやって返してるんだ?
まさか再スローじゃないだろ?
854:デフォルトの名無しさん
06/10/18 14:25:18
>>852
全メソッドで個別ログを取らないと、詳細なログにならない。
いらなくなったら、ログるレベルを変えるだけ。
>>853
最上位がしっかり処理してるなら、
別に再スローでも良いんじゃない?
855:デフォルトの名無しさん
06/10/18 15:08:48
全メソッドでログ出力&再スローってありえんだろ。
856:デフォルトの名無しさん
06/10/18 15:11:28
catchされたもののログだろ?
全然ありえるじゃん。
857:デフォルトの名無しさん
06/10/18 15:13:17
メソッド呼び出しの深さ分同じ例外のログ出力するんかい!
あと詳細ログ出せないっていうけど、
各メソッドで出すことでどれだけ詳細度があげられるんだ?
全メソッドでそれはありえんだろ。
858:デフォルトの名無しさん
06/10/18 16:39:00
>>857
どのイベントから呼び出したどのメソッドの中にあるメソッドの…
と、経路と部位の特定が簡単になるのが、ダメなのか?
ユーザーが言うバグにも早く対応ができるし。
つーか、何に対してそこまでの否定を?
859:デフォルトの名無しさん
06/10/18 16:39:16
すいません、VB.NET(2003)で質問です。
フォーム上にTextBoxが20個配置されていて、
例えばそれらにTB_1, TB_2, …TB_20 というようなコントロール名がついているとします。
これらのTextBoxをForループなどで一律に処理する方法はあるでしょうか。
具体的なイメージとしては
For i = 1 To 20
["TB_" & CStr(i) をコントロール名に持つTextBox].Text = data(i)
Next
みたいなことができるといいのですが。
要はコントロール名からオブジェクトを取得できればいいわけなんですけれど。
860:デフォルトの名無しさん
06/10/18 17:19:22
>>859
Controlsプロパティでググれ
861:デフォルトの名無しさん
06/10/18 17:25:02
>>858
StackTraceとか。
そもそもその例外を外に出すのか、内部で処理するのか、どちらが正しいってのはその関数の責務の問題になるし。
862:デフォルトの名無しさん
06/10/18 17:57:38
>>861
StackTraceって>>858みたいな使い方できたっけだぜ?
あと、例外の処理は関数の責務というより、
プロジェクト全体、退いては会社などのポリシーによって統一されなければいけないもんだぜ。
派遣がたまに来て、ルールぶち壊す奴がいるが、
そういうのが一番アスホールになるんだべ?
863:デフォルトの名無しさん
06/10/18 18:12:51
スタックトレースでほぼ見えるだろ。
全メソッドでそういうことするのはおかしいて言ってる。
.NETでの例外処理において、やってはいけないこと、に挙げられてるよ。
864:デフォルトの名無しさん
06/10/18 18:14:35
>>863
誰が言ってるの?
何をやってはいけないの?
865:デフォルトの名無しさん
06/10/18 18:17:33
全メソッドでException型でキャッチして再スローするようなこと。
866:デフォルトの名無しさん
06/10/18 18:20:44
>>865
まあ、まずはソースだ。
MSが言ってるレベルだと信頼は無いからな。
大体、本当にやってはいけないことなら、コーディングレベルでエラーが出るだろ。
867:デフォルトの名無しさん
06/10/18 18:23:09
ソース出せ
ああ、ベンダのいうことは信用できないから駄目だよ
868:デフォルトの名無しさん
06/10/18 18:24:05
だったら.NETなんかつかわなけりゃいい
869:デフォルトの名無しさん
06/10/18 18:26:53
例外のスローや再スローが非常に高コストなのは
常識だと思ってた。
ていうか、全メソッドでやるなら例外なんて仕組みいらんだろ。
870:デフォルトの名無しさん
06/10/18 18:27:56
EUCコードのデータを取り込んで表示させるにはどうすればよろしいのでしょうか?
そのままだと文字化けしてしまうのでSJISやUTFに変換しないと駄目でしょうか?
871:デフォルトの名無しさん
06/10/18 18:30:48
ゲームでも作ってるんじゃないからコストなんか考えない。
バグが出ない、修正やカスタマイズがし易い、何か起こったとき直ぐに場所と原因が突きとめられる。
VB.NETで重要なのはこの3点だけ。
メモリが足りないのなら、メモリを積め。
遅いのなら、速いマシンを買え。
コストをシビアに考えるなら、VBなんか使わねーよ
872:デフォルトの名無しさん
06/10/18 18:30:58
独立したスレッド等、処理を断続させる場合だけ、TryCatch
それ以外は、イベントハンドルとして処理。
これでいいだろ。
全メソッドでTryCatchなんてありえん。
初心者と技術のない職場のポリシーだけだ。
873:デフォルトの名無しさん
06/10/18 18:32:33
>>871
それは単なるお前の自論だろ。
874:デフォルトの名無しさん
06/10/18 18:34:56
>>873
IBMで教わった持論なんだがな。
875:デフォルトの名無しさん
06/10/18 18:36:02
>>872
VB6のときは、イベント内のみにしかイベントハンドルを書かなかった口か?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5187日前に更新/247 KB
担当:undef