1 :
デフォルトの名無しさん :
03/10/04 21:04
5 :
デフォルトの名無しさん :03/10/04 21:09
7 :
デフォルトの名無しさん :03/10/04 21:36
VB.NETでお勧め本ってなんですか?プログラム初心者ですが、Visual Basic.NET入門という 本を読んで一応理解はしたのですが、次になにをよめばいいかと思って。最終的には ASP.NETをVBでやりたいんですが・・・よい本あれば教えてください。お願いします
8 :
デフォルトの名無しさん :03/10/04 22:07
http://sourceforge.jp/softwaremap/trove_list.php?form_cat=160 1 146 C
2 119 C++
3 90 Java
4 55 PHP
5 44 Ruby
6 32 Perl
7 24 Delphi/Kylix
8 21 Other
9 17 Assembly
10 16 Python
11 13 Objective C <--------C++に敗北して廃棄状態
12 12 C# <--------超負け組み
13 7 Unix Shell
14 5 Tcl
15 5 Lisp
16 4 Visual Basic <--------廃棄処分
VectorじゃVBだらけだけどな
VectorじゃDelphiだらけだけどな
なんだかんだでC++が多いけどな
確かに低レベル言語順だな
sourceforgeなんてオタクしか見ないよ
14 :
デフォルトの名無しさん :03/10/05 04:46
事実を受け止められないか…
sourceforgeはUNIX系なものばかりだから参考にならないよ。
16 :
デフォルトの名無しさん :03/10/05 21:10
VB6の初心者です。 複数の画面からなるプログラムを作っていますが、1画面から2画面に移った場合データが表示できません。 プログラムは1画面表示の次画面表示のコマンドにはFORM2.Show1の画面が出たまま止まってしまいます。 データ表示のプログラムは記述してますが、表示できません。 どのようにしたらいいのでしょうか? わかる方、レスください。お願いします。
このスレにVB6の質問を書くヤツは・・・
19 :
デフォルトの名無しさん :03/10/06 10:14
神!
20 :
デフォルトの名無しさん :03/10/07 23:46
今度、VB.NETでサーバーを開発することになりました 当方サーバー開発については全くの無知なので 時が来る前に本で学習しておきたいのですが 何かお薦めの本はありますでしょうか? 自分のレベルはサーバー開発を省けばCなら、大抵のことは出来ます またVB.NETのほうは入門書はクリアしています
>>20 頑張ってWindows2003 Serverを超えるものを作ってください。
>>20 Net.Socket.Socketでがんがれ。
これ以上の事は分からん。
トリップ付けて無責任な発言するな。
今度、VB.NETでサーバーOSを開発することになりました
26 :
デフォルトの名無しさん :03/10/09 10:58
ウィンドウの閉じるボタンが押された事は VB側で拾えるの?
28 :
デフォルトの名無しさん :03/10/09 13:22
Closingじゃだめか?
29 :
デフォルトの名無しさん :03/10/09 14:39
>27、28 さんくす
30 :
デフォルトの名無しさん :03/10/09 15:46
CreateObjectで起動したExcelファイルのプロセスIDって 狙い撃ちで取得出来るの? ps = Diagnostics.Process.GetProcessesByName("Excel") For Each p In ps MessageBox.Show(p.Id.ToString) Next とすると、起動中のExcelファイル全件分持ってきちゃうもので。
31 :
デフォルトの名無しさん :03/10/10 01:02
オブジェクト指向の入門書を読んでC++で試したあと、GUIなプログラムを早く作ってみたくなり 試しにVB.NETでこれに従って作ってみようと思ったのですが、 これまでにWindowsプログラミングの経験がないためか、 CUIでやっていたことがGUIにどう繋がっていくのか具体的なイメージが浮かんできません。 フォームから送られてきた値を自分の作ったクラス(そのフォームの状態を表現している?クラス)が受け取り、 それを処理した後にその値をフォームに反映する、というようなことを考えたりしています。 どなたか「普通はこうやるよ」というのを教えていただけないでしょうか? よろしくお願いします。
GUIアプリならDelphiを使おう。
とりあえずあれこれ考えずにサンプルこなしていくのがいいと思うよ。
>>32 Delphiに慣れてるならC#がきっと気に入る!!
>>30 Dim p As Process
p=Process.Start("C:\hoge.exe")
Console.WriteLine(p.Id.ToString())
というふうにやるのはだめか?
>>33 Delphiに慣れてるなら、Delphi作った人が作ったVB.NETのほうが気に入るはず!
ごめん、漏れはDelもC#もVB.Netどれ一つとってもマトモに触ってないんだ。
ネイティブコンパイルのやり方を教えてください。
39 :
デフォルトの名無しさん :03/10/12 23:02
VB.NETがわか〜るのナレーターの女って、説明下手くそすぎやしないか? 彼女の説明は、一度正しい日本語に直して、何がいいたいのか組み立てなおさなければ ならない。 おまけに、内容が複雑になると説明を一切省き、さらに難しい用語を持ち出した挙句 その用語の説明を一言で済ませ、わかったつもりにさせている。 ファイルストリームについての説明をすべき章で、seekの説明を一言で済ませ、 その後たまたま出てきたFor each文の説明をしている。 For each文は以前の章で説明済みであるだけでなく、 For each文以降のwriter.flushメソッドやfstream.closeメソッドを「その他のコード」扱いし 「その他のコードで、ファイルの書き込みを完結させています」と説明する。 最後に、服ぬいで「こんな感じなんです」といってくれれば、全て理解できそうだけど(´д`) やっぱ女はプログラミングには向いてねえのかなあ・・ 男作ってセクースしてれば満足な生き物なのかなあ・・ 真面目なVB.NET談義の最中スマソ
>>38 ms-help://MS.VSCC/MS.MSDNVS.1041/cptools/html/cpgrfnativeimagegeneratorngenexe.htm
これ使えばできそ
>>39 そーいう文句はナレーターじゃなくて台本書いたヤシに言うのがスジでは?
42 :
デフォルトの名無しさん :03/10/15 00:20
VB.NET で ODBC 経由でデータベースに接続してます。 DataGrid に SetDataBindings で、DataSet をバインドしていて、 DataGrid1 では正常に表示されるのですが、 DataGrid2 では、一見正常ですが、Me.BindingContext(dataset_inst, "table1").AddNew() しても、そのデータにアクセスできません。(DataGrid1 はアクセスできる) Me.BindingContext(dataset_inst, "table1").Count はちゃんと増加しているのですが Position を設定しても、そのPosition に行ってくれません。 何かヒントありませんでしょうか。
43 :
デフォルトの名無しさん :03/10/15 13:09
VB.NETにIsNumeric関数に相当するものある? VisualBasic.DLLを用いない方法で
IsNumericとは&HFFや1E10もTrueを返す関数ですね?
>>44 ほんとだ、意外と高機能だったんだね。初めて知ったよ。
おまけに &HXX とかありえないやつだと、ちゃんとFalse返してら。
&HXXでTrueが返ってきたらIsNumericじゃないだろw
>>43 ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/frlrfSystemCharClassTopic.htm
のメソッドに目的のものがあるかもしれない。
IsNumericとは(10)、\1,000、&15、20+、0001、123なんてのもTrueを返す関数だ。
49 :
デフォルトの名無しさん :03/10/16 19:58
50 :
こっちも頼む :03/10/16 20:14
51 :
デフォルトの名無しさん :03/10/16 23:52
vb.netとVBの違いがわかりません・・・。 .netってDataObjectとかを使って 完全にクライアントとサーバの処理をわけてしまう、とか そのアタリが.net!って感じなのでしょうか? Javaとあんまり違いがわかりません。
頭のてっぺんから爪の先まで違う。 似てるのは名前だけ。 今月号の.Netマガジンについてる過去記事CDでも見ながら勉強しな。
>>51 なにかつくったことあるのか?
やったことのある奴が言うセリフじゃない。
>>51 というかVB.NETとVBとJAVAのどれを比較しているのかわからん
>>51 違いがどうこういう前にそれぞれの言語をちゃんとヤリコメ。
>>53 何も作ってません。
今から開発に入るところです。
すら、っと上のリンク見てきましたけど言語的に変わってる所はまぁいいとして、
業務的にどんな感じの開発に使うのかなと思って。
Javaと似たような感じでクライアントとサーバで完全に処理を分けるような形で開発するのが主なの?
それともDAOとかでオラクルでひっつなげる今までと同じような開発の仕方になるの?
上のリンクみたら.NET環境で他言語との隔たりがなくなることや、
フレームワークのDLLが1種類で良いこととか。ソースやクラスの流用ができること、ぐらいしか書いてなかった。
開発の感じなんかは特定のフレームワークを使って
XMLのマッピングファイルなども使ってJava的な感じでやってくんでしょうか?
うまくイメージつかめません。
それと例外処理や固定長取りやめなどは、逆にやりやすくなったね。VBが他言語に歩み寄ったって感じ。
エクセプションとばせるのは嬉しい。
>>57 フーンなるほど。
ありがとう。参考になりました。
今ってその一番上のリンクにあるように
ユーザプロセスとビジネスロジックとサーバプロセスと分ける開発の仕方が主流なの?
.NETってウェブアプリケーションを作成するものかと思ったらそういうわけでもなかったのか。
ウィンドウズのアプリケーションを開発するのは従来と一緒で、
単に.NETフレームワークの中にみんな収まったってだけで
元々のVBとそんなにかわらないんだね。
継承とかJavaやCを若干噛んでいたら特に難しいわけじゃないのかな。
触ってみたところVB5以来VB触ってないけど
そんなに敷居高そうに見えないのは表面しかまだ触ってないからなのかな?
59 :
デフォルトの名無しさん :03/10/20 13:01
.NetでのWebアプリの場合 DBから値を取得→DataTable→ASP.NET(DataGrid等)となる訳ですが、 1.DataTableでの受け渡しでは型が曖昧 2.ASP.NETに表示するときに値の変更がいる場合に どこで値を変更するか? 例:DBの値が1→HTML上では「YES」と表示等 この2つが疑問です。 皆さんはどのように行っていますか?
>>59 DataGrid用に全フィールドstring型のDataTableを構築しなおす。
オンメモリでDataTableを作れるのは死ぬほど便利。
DataSet内でリレーションも張れる点からもPowerBuilderのDataStoreより好き。
えらい人教えて!! ある基本ホームを継承後オブジェクト(ボタン等) を非表示にする方法(コーディングせずに)ってありますか? 上記のボタンオブジェクトのプロパティVisibleを Falseにしても画面上には表示されます。 ちなみにEnableをFalseに設定したらちゃんと使用不可の 状態になるんだが…。 環境:Win2000 VB.NET Ver.2002
>>61 いまいち意味が飲み込めないが
デザイン時にはボタン表示して
実行時にボタン不可視なら
InitializeComponentのところで
Button1.Visible = False
で出来る
ちなみにユーザコントロールはフォームに貼り付けた瞬間にロードされるので
ロードイベントで何かやらせてる場合は注意が必要
>>62 49さんレスありがとうです
説明不足ですみません
ご指摘のように
InitializeComponentのところで
Button1.Visible = False
とするとちゃんと不可視になるんですが
これをデザイナ上のプロパティウインドウの操作だけで
非表示には出来ないでしょうか?
なお、新規に貼り付けたボタン等に関しては
プロパティウィンドウのVisibleをFalseにすることで非表示になるのですが、
(ソースにはButton1.Visible = Falseと書かれる)
継承してきたボタン等のプロパティを変更しても非表示にならないのです。
(継承したフォームのボタン.Visible = Trueが消えているだけ)
宜しくお願いします。
VB.NETスタンダードにはAPIピューアは付いてないんですか? これがないとかなりしんどい
Webアプリは.NETがまさるが、クライアント用アプリはVB6.0がよいな
66 :
デフォルトの名無しさん :03/10/21 22:10
Dim cn As New SqlClient.SqlConnection() Dim cmd As New SqlClient.SqlCommand() Dim dr As SqlClient.SqlDataReader で、'接続済みの Connection を指定する cmd.Connection = cn 'あるいは cmd = cn.CreateCommand としたとき、cmdはSqlCommandのインスタンスですが、 SqlCommandにはConnectionプロパティもメソッドもないのに、 なぜcmd.Connectionというふうにすることができるのでしょうか? cmd = cn.CreateCommandの文なら理解できるのですが・・・
68 :
デフォルトの名無しさん :03/10/22 01:48
おお、ありがとう
69 :
デフォルトの名無しさん :03/10/22 01:53
いままで大学、会社ではC,C++,PerlなどなどUnix系でプログラムしていたんですが、 今度転職した会社でVB.netをやることになりました。ASP.netをやるのですが、 あまりのクラスに唖然。VBって簡単そうに思っていましたがとんでもなかったです。 VS.netの使い方、sql serverとの接続など新しいことがいっぱいで毎日勉強です。
VBを利用して茶筅DLLを組み込んだ分かち書き変換ソフトってないですかね?
71 :
デフォルトの名無しさん :03/10/22 11:17
VB.NETをWindowsCE.NET上で動作させる場合、 母艦PCとのデータやり取りってどうしてます? テキストデータの読み書きは出来ないみたいだし、 PocketAccessは入ってない、CE.NETから母艦 PC経由でOracle参照したり出来ないみたいだし。 とても困ったです
ネタイクナイ
73 :
デフォルトの名無しさん :03/10/22 12:44
「.NET Framework SDK」ってどこにあるんですか VB.NETやるんだったら、まずこれを読めって言われたんですが
>67さんレスありがとうございます。 アドバイス通りPublicに設定して 継承元のプロパティを予め Visible = False にしておき 経書後もプロパティを Visible = False にすると非表示になりました。 ただし問題点が…。 継承元が同じソリューション内にある場合は、上手くいったのですが 継承元をDLL化して配布した後、こいつを引っ張って継承させると 上手くいきませんでした…。 (プロパティウィンドウ上ではVisible Falseになってます) なにか設定方法等違いがあるモノなのでしょうか?
>>73 見つけられない時点で、それを読んでも理解できないと思うよ。
そんなの気にせずにVB.NETはじめた方がいい。
76 :
デフォルトの名無しさん :03/10/22 19:38
2つの条件を使ってレコードを抽出しています。 2つともLIKEを使ったところ、ANDではダメなようです。 どうしたらいいですか?
具体的にSQLを書いてくれたら、もう少し解答してやろうという気になれる訳だが。
>71 触ったことないからなんともいえないけど、 .NET Compact Framework でもSystem.IO 関連はサポートされてる。 つーかファイル操作が出来ない言語って何よ… >73 とりあえずいった香具師に氏ねっていってこい。 で、最寄の本屋いって初心者向けの本を買ってこい。 初心者向けはたくさん出版されてるよ。 中級、上級向けは少ない。つーか、SDKはその後だね。 >74 漏れのところではDLL化してもうまくいくんだが。参照が古いのかな? どうやってプロパティを作成したか、晒してみれ。
>>77 すみません、具体的に書きます。
Dim r As DataRow()
Dim i As Integer
r = Dataset.Table.Select("AA Like 'モナー%'")
AND ("title Like '2ちゃんねる%'")
これだと「ANDはstringに対して定義してません」とでます。
>>79 VB.NET使いじゃないが、どう見ても構文が変だろ。
r = Dataset.Table.Select("(AA LIKE 'モナー%') AND (title LIKE '2ちゃんねる%')")
じゃないのか?
>>80 ありがとうございました。
スレ汚して申し訳ないです。
>>78 さんレスサンクスです。
定義したプロパティは、こんな感じです。
#Region "独自プロパティ"
Private bOrgStatus As Boolean
Property OrgStatus() As Boolean
Get
Return bOrgStatus
End Get
Set(ByVal Value As Boolean)
bOrgStatus = Value
Me.Button4.Visible = Value
End Set
End Property
#End Region
インデントできてなかった…すんません 上記の状態でプロパティを変更するとButton4の非表示設定が Falseになりデザイン画面上から見えなくなるのですが 実行すると直前にボタンが表示され、実行中は表示されてしまう という状況です。
84 :
デフォルトの名無しさん :03/10/23 19:40
今まで、VB6を使って開発していたのですが、同じマシンに、VB.net いれて、動きますか?
>82 これでPublicになるの? Privateになると思ってたんだが、漏れ間違ってた? ↓とりあえず、こんな感じにしてみれ。 Public Property OrgStatus() As Boolean Get Return(Me.Button4.Visible) End Get Set(ByVal Value As Boolean) Me.Button4.Visible = Value End Set End Property
87 :
デフォルトの名無しさん :03/10/24 01:31
コンボボックスの事で質問です。 データセット内のデータテーブルのデータ 例として商品マスタ(商品コード 商品名)をコンボボックスにセットしたいのです。 それはデータソースにテーブルを入れてしまえば入るとおもうのですが、 こうなった場合、コンボボックスのリストインデックス=−1って設定できないのでしょうか? エラーが出てしまいます。 データテーブルを入れたはいいけれど、初期設定でコンボを空白にすることができません。 無理から空白をデータテーブルに入れる、という処理はできればやりたくありません。 イニ社ライズでコンボボックスのテキストを空白にもできませんでした。 データソースを設定する前に items.addで空白をコンボに追加することももちろんできませんよね・・・。 色々試してみたのですがどなたか教えて下さい。宜しくお願いします。
88 :
デフォルトの名無しさん :03/10/24 09:30
>>87 たしか、
ComboBox.Text = ""
だと空白に見えるが実際は最初のインデックス
が選択されていて
ComboBox.Text = Nothing
だと何も選択されていない状態
になるんじゃなかったっけ?
レスありがとうです。 報告するのも恥ずかしいんですが フォームロード中にTrueを設定するようなコードが 混じってました…小人さん召喚してたみたい;; で、そのコードを取り除いたら意図した通りに動作しました。 自分で作った方も教えていただいた方も。 教えていただいた方 長々とありがとうございました。 プロパティのアクセス限定子は >修飾子が指定されていないプロパティは、既定で Public になります。 と書かれてましたので省略しました。
90 :
デフォルトの名無しさん :03/10/24 15:05
右シフトと左シフトに別々のコードを割り当てることは出来ますか?
92 :
デフォルトの名無しさん :03/10/24 17:21
VB.NET用のクラスビルダユーティリティってある? VB6の奴は結構重宝してたんだけど
93 :
デフォルトの名無しさん :03/10/24 19:08
教えてください〜(泣 VB6使ってます。 デザイナモジュールファイルをプロジェクトに取り込むにはDoしたらいいですか? クラス {XXXXX-XXXXX}(コントロール XXXXX) はロードされていません。 というエラーが出ます。 よろしくお願いします。
>93 ネタですか? マジレスしてほしかったらVB6スレ逝け
95 :
デフォルトの名無しさん :03/10/24 20:27
なんらかの機能を作成する場合に、必ずメソッド化してコンポーネントクラスの 中にコーディングするようにしていますか?コードビハインドの対象となるVBファイル には状態遷移にまつわるコードだけを記述したいためこのようにするっていう人が いますがみなさんはどうですか?
コンポーネントクラス って?
97 :
デフォルトの名無しさん :03/10/25 00:59
VSに項目の追加からコンポーネントクラス選べるけど
98 :
デフォルトの名無しさん :03/10/25 01:17
VS.NET(2002?旧バージョン)では.NETFramework1.1を使用できないのでしょうか? インストールしたのですが、Framework1.1が使えません。。どこかに。設定とかあ るんでしょうか?開発言語はVB.NETです。 よろしくお願いしますm(__)m
100 :
デフォルトの名無しさん :03/10/25 02:00
>>99 さっそくのレスありがとうございました。やっぱりそうですよね、、、
.NET2003はFrameworkのバージョンも選択できるんですよね。いいな
>>98 ,100さん
.NET2003入れていないので、ホントかどうかわかりませんが、Cマガの話によると、.NETFramework1.0対応アプリは.NET2002で、
.NETFramework1.1対応アプリは.NET2003でないと完全に対応したモノが出来ないとか書いてありましたYO。
102 :
デフォルトの名無しさん :03/10/25 05:26
>94 はぁーい☆
宿題くれ
どのくらいの初心者かは知らんが、宿題を上げよう。 VB6しかやったことがなく、VB.netは全くやったことがない。ということを想定してだしてみる。 (宿題 LV1 テーマ:イベントメソッドを、複数のコントロールで共有する) 5個のボタンがあります。ボタンのテキストはそれぞれ、「1」〜「5」となっています。 ボタンが押されたときに、ラベルにそのボタンのテキストが表示されるようなメソッドを書きなさい。 ※従来のVBに無く、VB.NETの新機能を利用して書くことを推奨する。
105 :
デフォルトの名無しさん :03/10/25 16:40
自テキストをラベルに表示するクラスを作って それ継承させて他のコントロールつくればいいんじゃないの?
今アプリの終了時に現在のフォルダ位置をテキストファイルに残し、次回起動時にそのフォルダをデフォルトで起動という処理をしようとしています 英語表記のフォルダは以上はないのですが漢字をを使っているフォルダにアクセスするとエラーが出ます なにがいけないのでしょうか こんな感じです なおfolder.iniには c:\tempとかいう書き込みが入っています Dim srFile As New System.IO.StreamReader("folder.ini", System.Text.Encoding.Default) Dim strContents As String = srFile.ReadToEnd DriveListBox1.Drive = strContents DirListBox1.Path = strContents 'ここでエラー FileListBox1.Path = strContents
宿題の答え…イベントメソッドに、ボタン1〜5のクリックイベントをハンドルする。 応えもクソも、テーマにそのまんまの事だが。 Private Sub BtnClick(byval Sender as Object,byval e as EventsArrgs) handled Btn1_Click,Btn2_Click,(以下略 Label1.text = Sender.text End sub 「VB6 だったら、各ボタンのクリックイベントから、メソッドを呼び出すように作るが、 VB.Net なら、メソッドにイベントを割り当てることができるようになりましたよ。」 ということを伝えてみたかった。
>>106 自己解決
JISだとコードを変えないといけないんですね
109 :
デフォルトの名無しさん :03/10/26 00:02
>>107 すごい!まじで?
そんな事できるんだ。ありがとう。
でもコードの見やすさの点から言うと
それぞれのイベントにメソッドを呼び出すようにしたほうが
断然わかりやすいとおもうのだけど・・・。違う?
以外と実務では使えなかったりしないだろうか。
考えが古いだけかな。
便利な事は重々承知だけれど、見やすさ,読みやすさが第一だとおもうのだけどな。
ここはどんなレベルの人は対象ですか?
>>1 を見れば判るとおり、VB.Net初心者から.Netの神まで。
>>103-109 までは、いわゆる.Netの移行に難儀している.Net初心者群の質疑応答
停滞気味だから、なんかネタがあったら提供しておくれ。
112 :
デフォルトの名無しさん :03/10/26 05:33
formを半透明にしてラベル上に書かれたテキストのみを通常(非半透明)表示させたいのですが
Delphi最強すぎ
>>113 君はDelphi信者かい?だったら、VB.Netをやってみる気は無いかい?
VB.Net設計チームの中の人は、Delphi4を作った人だよ!!
VB.NETの方がDelよりいいと思ったからここに来てるんだよ。
117 :
デフォルトの名無しさん :03/10/26 15:54
なんかVB.NET微妙に面倒な部分が多いな。やはりDelphiに戻ろうかな。
119 :
デフォルトの名無しさん :03/10/26 18:18
textboxで最初にフォーカスが当たった時に 入力されている文字列を全選択した状態にしたいのだが、 Enterイベントに全選択のコードを書くと、Tabキーでの移動は全選択されますが、 クリックすると全選択されません。 どうもマウスでテキストボックスをクリックした場合、 Enterイベントの後にClickイベントが発生しているので、 全選択された後に、クリックによる全選択解除が起きているようです。 だれか、良い方法教えてください
120 :
デフォルトの名無しさん :03/10/26 21:55
質問です。
>>119 に似ていますが、
複数のTextBoxがありまして
最初のTextBox入力を終え、Enterを押すと次のTextBoxに
カーソルを移動するにはどうしたらいいですか?
Tabキーは使いたくないのです。
>>120 似ているのだろうか??
キーが押された時の処理に書こう
System.Windows.Forms.SendKeys.Send("{TAB}")
122 :
デフォルトの名無しさん :03/10/26 23:12
>>121 ありがとうございます
キーが押されたときっていうのは
この場合TextBox_Enterですか?
わからなかったです。
123 :
デフォルトの名無しさん :03/10/26 23:23
>>119 私はこうしています。
1)Intervalを150程度にしたタイマと、全選択を行ないたいコントロールの
オブジェクトへの参照をStaticで記憶するルーチンを用意する。
ex.
Private sub SelectAllText(Optional Byval Obj as Objcet = Nothing)
Static Target as Object
If Obj is Nothing then
Target.SelectAll = True
else
Target = Obj
End If
End sub
2)全選択を行ないたいコントロールのクリックイベントルーチンで、
そのコントロールのオブジェクトへの参照を前述の記憶ルーチンに渡し、
タイマのEnabledをTrueにする。
3)タイマのイベントルーチンで、記憶ルーチンを引数を省略してコールし、
タイマのEnabledをFalseに戻す。
あ、タイマのEnabledをTrueにするのはイベントルーチンの中より オブジェクト参照を記憶させるルーチンに書くべきですね。 全選択を行ないたいコントロールが沢山あるとき、コードの冗長性を省く点からも 理解のしやすさの点からも。
125 :
デフォルトの名無しさん :03/10/27 00:51
VB.NETのリッチテキストボックスでは、デフォルトで禁則処理が なされているようです。この禁則処理をオン/オフにする方法が 分からないで悩んでいます。よろしくお願いします。
126 :
デフォルトの名無しさん :03/10/27 14:29
VB.NETで名前付きコレクションを実現する方法はありますでしょうか? ObjHoge = hogeCollection("HOGE") のような感じのものを作りたいのですが
>>126 System.Collections.Hashtable
>>128 ありがとうございます
いままでCollectionBaseをぐるぐる回して同じ名前を取得していました
これだと一発ですね(^_^)
たすかりました
CStr(数字) = 数字.ToString で合ってますか?
>>119 やっとできました。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = Not Me.KeyPreview
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Enter Then
e.Handled = True
System.Windows.Forms.SendKeys.Send("{TAB}")
End If
End Sub
134 :
デフォルトの名無しさん :03/10/28 00:55
DataGridで質問です。 データグリッドの列をクリックすると行全部の色を変えたいのですが、 ネットで探してもその方法がみあたりません。 知ってる人いますか? 列指定はできたり、ウェブコントロール上のデータグリッドはItem_boundメソッドかなんかでできるみたいだけど 普通のwindowsアプリケーション上のデータグリッドで 上記のことはどうやればできるのでしょう? datagrid.selectedbackcolorってのがあったけどできなかった・・・。
135 :
デフォルトの名無しさん :03/10/28 01:33
.NET環境において、データを表形式に表示する方法(VB6にあったMSHFlexGridなど) でどんなものがお勧めでしょうか? 標準のデータグリッドがありますが、使い勝手が悪く、悩んでおります。 理想的には市販製品のPerfectGridのようなものが欲しいでのすが、 費用的に厳しいです。 みなさん、入力可能な表を表示するときどんな手法を使われていますか?
136 :
デフォルトの名無しさん :03/10/28 01:45
以前にも質問させて頂きましたが、答えが見つからず悩んでおります。 IEコンポーネントで画像を表示しない(テキストのみの)ブラウザを作りたいのですが どういった方法をとれば画像を取得しなくなるのでしょうか? マイクロソフトIEであればインターネットオプションの設定で画像を取得しないように 設定できますが、このコンポーネントで実現するにはどのようなコーディングに なるのでしょうか? 大変申し訳ありませんが、お知恵を頂けないでしょうか。
>>132 それだと、Clickされる度に全選択になってしまうよ
出来れば、イメージ的には、
フォーカスが無い状態から、当たった状態になった時、全選択される
すでにフォースが当たっている状態で、さらにClick等で選択されると、
そのClickされた文字にIビームが当たる状態となる
って感じにしたいのだが・・・うまく説明が出来ん・・・
↑すみません 133 でした
>>119 あのー、だからそういうことなら、タイマを使って
GotFocusイベント発生からSelectAllメソッドの実行までに
遅延を作れば実現可能ですよ。
ご自分でも問題の原因の特定はできておられるようだから、
なぜ遅延を作ることが解決になるのかも理解できると思うのですが。
ロジックを「時間」で解決するのはエレガントじゃないからいやだろ。
1つBooleanの変数作って、フォーカス当たったらTrue、 クリックする時それがTrueの時だけSelectAllメソッド、そしてFalseに戻しておく。
>>140 確かに。でも私は詳しくないけどこれを「ロジカル」に解決するには
たぶんメッセージフックを使うしかないでしょ。
メッセージフックを使う方法がタイマで遅延する方法よりコードの可読性が
良いとは思えないし、.NETでそれを使うのがエレガントとも思えませんが。
>>133 レスありがとうです。禁則処理とは、日本語の禁則処理のことです。
また、ワード・ラップもデフォルトでオンになってます・・・。これもオフに
切り替えられる機構を搭載したいと考えているわけです。。
144 :
デフォルトの名無しさん :03/10/28 12:35
TextBox1に漢字を入力した痕 TextBox2にひらがなを入力 ということは実現できますでしょうか? 自分の名前を入力したら、読み仮名が同時に入力される ってかんじです
>>142 つまり.NET自体に問題があるわけですね。
146 :
デフォルトの名無しさん :03/10/28 17:32
>>144 あっ 俺もそれ知りたい
漢字→ひらがな の変換ってどうやるんだろうって
ちょうど悩んでた。
答えでなくてゴメン・・・・・・
>134 TableStylesから設定できる。 ただし、グリッド全体の反映になることは理解しておくように。 行単位に色をつけたいなどといってもまず返事は来ないよ。 >135 うちは葡萄都市だが、費用は小村とあんま変わらんなぁ。 個人的に使い慣れてるし、機能もナカナカだと思うけど、 手放しでオススメできるほどではないかな。 >136 System.Net.WebClientでプレーンテキスト取得して直書きすれば?(ワラ ……どーでもいいが、Windowsフォームで HTMLを描画するコントロールとかって、ないかなぁ? >141 だめぽ。Tabとかで移動した後でクリックすると、 最初の一回は全選択状態になるんだな。 >143 禁則処理はわかんね。 ワードラップはまんまWordWrapプロパティがあるね。
>>144 >>146 「119の質問にコードで答える VBプログラミングテクニック」
っていう本に書いてあったような・・・・・。
しょーもない質問ですみません。 Labelコントロールの、PreferrWidth がインテリセンスに表示されません。 これだけでなく、そのコントロールが持つはずのプロパティがインテリセンス候補に挙がらないケースがあるのですが、 何が原因なんでしょうか(;´Д`)
151 :
デフォルトの名無しさん :03/10/30 12:05
>>120 .NETやってる奴がみなその本を持ってるとは限らん罠
WORD98のCDに入ってるMSIME.TLBを使って解決・・・ って根本的な解決じゃないよな・・・(w これって再配布していいのかしら?
153 :
デフォルトの名無しさん :03/10/30 17:31
>>150 どこか別の行で文法間違いと貸してない?
ツール→オプション→テキストエディタ→Basic→全般→自動メンバ表示 「メンバの詳細を非表示」をオフにする。
S1=timeofday.tostring S1=replace(S1,"/","_") S1=replace(S1,":","_") を実行すると 0001_01_01 1_59_58 がS1に入ってしまいます。 S1を1_59_58という日付部分の無い時刻部分だけにするにはどうすればいいのでしょうか?
cstr(timeofday)にしたらできました。 timeofday.tostringでも同じ結果が返ってきそうなものなのですが、なぜでしょうか?
157 :
デフォルトの名無しさん :03/10/31 12:02
内部で持ってる形式がそのまま出力されてる とおもふ
>>157 そうですか・・・・もうToString使うのやめます。
これでいかがでしょう 現在時刻をフォーマット書式で成型しています MsgBox(Now.ToString("H_mm_ss")) 参考: ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1041/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.htm
>>159 Formatと書かなくてもフォーマットしてるのでびっくりしました。
ToSringたまにつかうことにします。
Dim dirs As String() = Directory.GetFiles("C:\") なぜStringに()がついてますか?
162 :
デフォルトの名無しさん :03/10/31 15:01
COMの引数がLPBYTE pになってると、ByRef p As Byteになるのはわかるんだけど、 その引数にByteの配列を渡したい時はどう記述すればよいですか? Dim a() As Byte m_hogehoge.hoge(a, 100) と書くとエラーになってしまうのですが・・・。
163 :
デフォルトの名無しさん :03/10/31 16:08
win32APIとdirectXってどっちがはやいの?速さはおなじ?
は?
165 :
デフォルトの名無しさん :03/10/31 18:29
VBで分割コンパイルしたいんだけど どうやったらできるの?
166 :
デフォルトの名無しさん :03/10/31 20:10
Cみたいにライブラリ(DLL)を埋め込むのってどうしたらよいデツカ?
167 :
デフォルトの名無しさん :03/10/31 20:28
168 :
デフォルトの名無しさん :03/10/31 21:05
>>166 /::::::::::::::::::::::::::::::::::::::::::::::: ::::::::\
(::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::\
/:::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ::::::::::::::::)
(::::::::::/:::ハ):::ノ::::ノ ) ノノヾ::::::::::::丶::::ヽ
(:::::::::/ 彡 ノ ノ :: 彡:/)) ::::::::::)
(::::::::::/彡彡彡彡彡 ミミミミミミミ :::::::::::)
(:::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
| =ロ -=●=- ‖ ‖ -=●=- ロ===
|:/ ‖ //ノ ヽ \ ‖ ヽ|ヽ
|/ ヽ`======/ .⌒ ` ========ノ. ..| |
.( (○ ○) ‘)ノ
( / l l \ )
( // ̄ ̄ ̄ ̄\ \ )
\ ) |  ̄ ̄ ̄ ̄ | ( /
\ \____/ /
(ヽ ヽ ノ
\丶\_ _ _ _/ /
| \ \ __/
 ̄ ̄\ 丶  ̄ ̄ ̄ ̄ ̄ ̄ ̄ / ̄ ̄
>>148 そうなんだ!どこに質問しても123のようにタイマで遅延処理を施すか、
141のように「厨め!!」と思いながら安直に逝ってくる奴がほとんどなのだよ…
もっとロジカルに解決する方法を求む
>>149 お願い♪サンプルプリーズ
無能な上に馬鹿なのか。最悪だな。
>>161 >Dim dirs As String() = Directory.GetFiles("C:\")
>なぜStringに()がついてますか?
String()という型だから。
Dim dirs() As Stringと同じ意味。
>>165 >VBで分割コンパイルしたいんだけど
>どうやったらできるの?
そんなことして何したいの?
DLL作るか、DOSプロンプトから手動コンパイルで/t:moduleにしとくか。
>>171 つまり動的文字列配列型ってことですね??
>>119 感じ悪いな。
厨というなら、.NETの枠内に準拠した「ロジカル」な解なんてあり得ないことが
わからない119こそ厨だろう。
Label3.Text = ListBox1.SelectedItem これでエラーがでるのですがどうしてでしょうか。 Label3.Text = ListBox1.SelectedItem.ToStringもダメでした。
Console.WriteLine("{0} was copied to {1}.", path, path2) {0}や{1}はどういった意味ですか?
177 :
デフォルトの名無しさん :03/11/01 14:49
データグリッドでクリックした行の全体のフォントを変えるやり方ってどうしたらいいんでしょうか?
>>176 WriteLine(A,B,C)は、フォーマット指定出力。
この場合は
Console.WriteLine("{0} was copied to {1}.", path, path2)
{0}のところには、path(第一引数の値)が、
{1}のところには、path2(第二引数の値)が表示される。
>>178 さん
ありがとうございます。
{ }という記号はCっぽいのでちょっと抵抗がありました。
でも便利そうな記号だとわかりました。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="CompanyName.ProductName.YourApplication" type="win32" /> <description>Your application description here.</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly>
>>175 エラーの内容くらいかけよ!
それとそのコードが実行されるときに、リストボックスのアイテムは選択されているんだろうな?
ここの質問はマジなのか、からかっているのか分からんなw
C#の方が優れているらしいのですがなぜVB.NETを使うのですか?
旧VBユーザだったから。
TBS必死だな(藁
>177 無理。市販の高機能グリッド使え。
いやむしろ高機能なグリッドを作って
>>177 が作って公開してしまうという選択肢もあり。
openfiledialogから選択した画像ファイルをpictureboxに表示させたいのですが
>>188 こんなんでいいのか?
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
End If
せめて一冊くらいは本を買ってくれ
193 :
デフォルトの名無しさん :03/11/03 12:27
アプリの設定ってどうしてますか? レジストリから移行するってことで調べてたんですが、app.configでは階層化できなそうなので、 結局自前でオブジェクトをつくってxmlでシリアライズなのかなぁと。 他にいい案ありますでしょうか。
Windowsアクセサリのメモ帳にVB.NETとASP.NETのインテリセンスを付加するフリーソフトみたいなのあるでしょうか? またはインテリセンスのある、デザイン部分とコード部分を分離しないVB.NET記述用エディタはあるでしょうか?
いままでVB4とかVB6の開発をやってたんですが こんど.netでやることになりました ちょいと不安なんですが そんなに構えないで平気ですか???
196 :
デフォルトの名無しさん :03/11/04 11:46
>>195 まずは作る云々よりヘルプの読み方になれることです
いや、まずは作れ。 そしたらヘルプになれる。
198 :
デフォルトの名無しさん :03/11/04 12:20
いやいや、ヘルプになれるほうが先だ
199 :
デフォルトの名無しさん :03/11/04 15:43
openfiledialogから選択したテキストファイルをrichtextboxに表示させたいのですが
作らずにヘルプになれるってのはどういう意味だよw ヘルプだけ眺めるのか?
まぁ、あれだ。 .NETマガジンの記事でも見れば、なんかの取っ掛かりは見えてくるだろう。 ちくちく勉強しよう。
みなさんこんばんは。 VB6であったコントロール配列を.netで実現するにはどうすればよいのでしょうか? TextCtrlという名のテキストボックスコントロール配列が100個あったとして、 //////////////// VB6 ////////////////// Private Sub TextCtrl_Change(Index As Integer) 処理 End Sub /////////////////////////////////////// VB6だと、100個のテキストボックスのどれが変更されたかが、Indexを見て一発でわかるのですが、 VB.netだとコントロール配列が使えないみたいなので、例えばテキストボックスコントロールの名前を 「TextCtrl001、TextCtrl002・・・、TextCtrl100」として、VB.netヘルプに書かれてあるようなプログラム (Visual Basic .NET におけるコントロール配列の変更点)を組むと、 ////////// VB.net //////////////////// Private Sub fncTextCtrl_Change(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) _ Handles TextCtrl001.TextChanged , TextCtrl002.TextChanged , TextCtrl003.TextChanged ... TextCtrl100.TextChanged 処理 End Sub /////////////////////////////////////// となりそうなのですが・・・ コントロール配列数が少ないときはいいですが、上記みたいに100個とかある場合、Handles の後に、 TextCtrl***.TextChanged を100個も記述しないといけないのでしょうか? さらに、どのコントロールが変更されたかを識別するのに、「Tagプロパティ等の共通プロパティ を設定してそれを見る事でコントロール配列機能を複製できます」ってあるのですが、 例えばTagプロパティを他の事に使用していた場合、上記機能は実現できないって事なのでしょうか? VB.netを始めたばかりで、まだよくわからないのですが、VB6でのコントロール配列の機能を、VB.netで 上記以外の方法にて実現する方法があったらご教授お願いします。
203 :
デフォルトの名無しさん :03/11/05 03:46
VBの質問じゃないんだけど、VB使ったASP.NETで、例えばボタンとかラベルとか をブラウザでセンターで表示したいって時、どうやればいいの?フロントページとかだったら センターボタン押せば真ん中に移動してくれるから。
現在Exeが起動しているマシンのIPアドレスやMACアドレス、 コンピュータ名を取得することは出来ますか?
自己レス 「ManagementObject」を使用することで 上記の三つを取得することができました。
208 :
デフォルトの名無しさん :03/11/05 16:19
十進数を二進数に変換するプログラムを教えてください
>>201 そういえば、最近 .NETマガジンの質が落ちたな・・・
読みごたえがなくなった
>>204 ありがとうございます。
概念は理解できました。
しかし、これはコードでコントロールを追加していますよね?
すでにデザイナで配置済みのコントロールを配列化するには
どうすればいいのでしょうか?
続きです^^; デザイナにて、TextCtrl00 〜 TextCtrl99 という名ですでに配置済み。 Friend TextBox1 As TextBox() = New TextBox(100) {} Public Sub New() Dim i As Integer For i = 0 To 99 ''////////// VB6表記 //////////////////// TextBox(i) = Me.Controls("TextCtrl" + Format(i,"00")) ''////////////////////////////////////// AddHandler TextBox1(i).KeyPress , AddressOf TextBox1_KeyPress Next みたいな事ってできないのでしょうか?
>>210 同意。最近ASP.NETばっか特集してるけど、まともな記事がない
今月号のTIPSも基礎の基礎だったし
VB. NETの記事が3つしかないんだよな。 VB.NETのツボ(クラスの作成云々) スモールパーツプログラミング(リストビューのソートテクニック) たまひよクラブ(占いアプリ作成によるVB.NET基礎取得) 単体アプリに関する記事て、あんまり需要が無いという見解なのかもしれない。 それはそうかも。
たまひよの瀬戸遥が男なのがキモイ
VB.NETの勉強を始めました。 とりあえず思いつくコードを書いてみたのですが Dim arr As New ArrayList() arr.Add("AAA") MsgBox(arr.IndexOf(0)) とすると -1 と表示されます。 どこがだめでしょうか?
217 :
デフォルトの名無しさん :03/11/06 13:34
>>216 IndexOf(Object)はそのオブジェクトが何番のインデックスかを調べるもので
-1になるのはアレイリスト内に「0」というオブジェクトがないから
もし「AAA」を表示させたいなら
arr.Item(0)
とする
VB.NET(・∀・)イイ!!ね。 早く仕事で使いたいよ。
220 :
デフォルトの名無しさん :03/11/06 19:37
お前なんかに仕事ねーよハゲ
お前こそねーよ童貞
お前こそねーよたらし
Java使いですが何か?
童貞はひっこんでろ
童貞の何が悪い?
226 :
童貞NET :03/11/07 13:51
VB6からNETにいくと、テキストファイル出力はなに使ってる?
227 :
デフォルトの名無しさん :03/11/07 14:02
OutputStream
228 :
デフォルトの名無しさん :03/11/07 14:12
Declare の by ANYがエラーしまくる。 なんに変えるの? おそらく相手は char *x; か char hairetu[20000];なんだけど。
229 :
デフォルトの名無しさん :03/11/07 14:33
>>219 妖精様・・・私を天国へ連れて行ってください・・・
三十路ですが、何か?
童貞はクサイ
Office2003もVBAなんでつか?
童貞の話はいい。 大体、セクースだのなんだのという行為は、この世には存在しない。 あれは、基地外どもの妄想だ。 だから、童貞の話なんかやめて、VBの話をするんだ。
>212 無理ざます。 そういう曖昧な指定ができないようにすることで、 バグを減らして効率を上げようというのが.NETの方向性。 ↓でどうよ。 コントロール名にTextCtrlがついたヤツ全部を関連付けるよ。 Friend CNT As Control Public Sub New() MyBase.New() コントロール作成するロジック(省略) For Each CNT In Me.Controls If InStr(1, CNT.Name, "TextCtrl", CompareMethod.Text) > 0 Then AddHandler CNT.KeyDown, AddressOf Key_Down End If Next End Sub
童貞じゃないけど妖精になれますか?
>>235 童貞でなくとも、処女なら妖精になれるよ。
もし処女でなくとも、童貞ならアーサー王の聖杯をゲトできる可能性あり。
ガンカレ。
237 :
デフォルトの名無しさん :03/11/10 20:38
ファイルのサイズを表すfile1.lengthが 32145Byteだったとすると、3ケタごとにカンマをつけようと format(file1.length,"Currency") を実行すると \32,145 と\までつけられてしまいました。\を空白文字にリプレイスする手もあるのですが、#を使ってカンマを打つことにしました。 format(file1.length,"######") みたいにシャープを使って3ケタごとにカンマを打つにはシャープのところをどのように書いたらいいのでしょうか?
>>235 おまえはすでによごれている。しあわせな人生は送れない。
format(file1.length,"###,###")
241 :
デフォルトの名無しさん :03/11/10 22:38
VB.netでWebアプリケーションを作っているのですが、shift-jisの扱いが分かりません。 <%@ Page Language="vb" ResponseEncoding="shift_jis" ・・・ と追加し、 Response.Charset = "shift_jis" をPage_Loadに追加したのですが、 textarea とかで文字列を入力してもらい、それをGET/POSTで取り出そうとすして、Request.Formしてるのですが 入力が日本語だと、取り出せません。(表示は出来るのですが。。。) どなたかスマートな方法をご教授ください
243 :
デフォルトの名無しさん :03/11/10 22:48
web.configのどこをどうすればよいのでしょうか?初心者質問ですみません
244 :
デフォルトの名無しさん :03/11/11 12:04
FindWindow等で使用するクラス名を変更する方法を教えてください。
VB.NETはOracle(9i)と接続できるんでつか?
>>246 ODBCとかADO経由じゃなくて、ネイティブドライバもある?
249 :
デフォルトの名無しさん :03/11/12 07:52
クイズゲームを作っていまして、その問題と解答を集めたテキストファイルの扱い方に 悩んでいます。 できれば、プロジェクト内に含ませて、実行ファイル一つ(と.net Framework)で動く アプリケーションにしたいのですがどのようにしたらよいのでしょうか? 問題集(テキストファイル)をアプリケーションと同じ階層に配置しなければならないのは配布時に面倒っぽいし、 問題集(テキストファイル)を書き換えられたり中身をのぞかれたりするのが嫌なのです。 でも、問題集はテキストファイルで簡単に編集していきたいのです。 どなたかよろしくご教授下さいませんでしょうか。
250 :
デフォルトの名無しさん :03/11/12 08:08
フリーのライブラリとか使って暗号化すれば? その状況だと、暗号化したものだけ配布すれば問題ななさそうだけど。 quizResource.txt -> encipheredQuizResource.txt
251 :
デフォルトの名無しさん :03/11/12 12:24
>>249 htmlに汁
配布もクソもなくてウマー
>>250 ありがとうございます
暗号化してやってみます。
フリーソフト探してこよっと。
>>251 htmlにするという意味がわからない初心者でして、すみません。
お答え頂きありがとうございます。
(はっ・・ホームページにして公開すれということか)
>>252 画面右上のソリューションエクスプローラが
ソリューション
プロジェクト
Form1.vb
となっているとして、
プロジェクトを右クリック
↓
追加
↓
新しい項目の追加
↓
たくさんあるアイコンの中からテキストファイルというのを選択する。
そうすればコンパイルするとテキストファイルがexeファイルに含まれるようになる。
ListViewで多重ソート(項目Aでソートして、項目Aが同じなら項目Bの順で並べる)かます上手い手はないかな。 いや、下手でもいいけど。
>>253 ありがとうございます!
暗号化ソフトを探していたのですがどうも自分の思考回路まで
暗号化されてしまいまして・・・・・・・。
早速、プロジェクトにテキストファイルを追加してやってみました。
そして、某HPにてプロジェクトへの埋め込みファイルの扱い方を見てみたのですが
ビットマップファイルを埋め込んで扱う方法しか載っていませんでした。
現在のアセンブリを取得した後、プロジェクト内のテキストファイルを
問題集として扱う方法がわかりません。
テキストファイルの内容は、
1(問題番号),グーに勝つのは?(問題),チョキ(選択肢1),パー(選択肢2),2(解答No),2(配点)
,2,チョキと引き分けるのは?,チョキ,パー,1,1
,3.・・・・・・・・・・・・・・
というようになっているのですが、
この問題番号、問題、選択肢1−2、解答、配点を順に読み出し変数(ストラクチャ)に格納していきたいのです。
(普通のシーケンシャルファイルのようにして読み込みたいのです。)
プロジェクトに取り込んだテキストファイルをシーケンシャルファイルのようにして扱う方法を教えていただきたいと
思い、再度書き込みさせていただきました。どなたかわかるかたよろしくお願いします。m(,_,)m
>>234 亀レスですが、ありがとうございました!
とても参考になりました!
257 :
デフォルトの名無しさん :03/11/13 07:21
asp.netでウェブブラウザでボタンおすと違うページに飛んでくっていう のってどうやってつくったらいいのですか?
258 :
デフォルトの名無しさん :03/11/13 10:31
初心者の域なんですが、ExcelファイルをDataTableに読込むとき、 シート名に空白が混じってるときは どうしたらいいのでしょうか? Dim MyCommand As System.Data.OleDb.OleDbDataAdapter MyCommand = New System.Data.OleDb.OleDbDataAdapter( _ "select * from " & sheetname, MyConnection) として sheetname に"[aaa]"とかなら うまくいくんですが "[a. 12]"などだと かっこの使い方が違います(?)のようなエラーが でてしまうんです。 どなたか ご存知でしたら 教えて下さい。
259 :
デフォルトの名無しさん :03/11/13 11:35
>>258 うろおぼえでスマソ。試してないので間違ってたらゴメン。
"'[a. 12]'" のように' で囲ってみたら?
>259 ありがとうございます。 でも だめでした〜。(;_;) エラーのメッセージも同じままでした。
指定した時刻になったら、なにかのEXEを起動する スケジュールソフトを作るにあたって、 Private thdThreading As System.Threading.Thread Private Sub btnSt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSt.Click thdThreading = New System.Threading.Thread(AddressOf Me.sThreadPg) thdThreading.Start() End Sub Private Sub sThreadPg() Dim intCnt As Integer Dim strNow As String Do strNow = Now If mnowdate = "2003/11/13/ 13:00" Then MsgBox("成功!") End If Loop Until intCnt <> 0 End Sub てな感じで一応出来るんだけど 重くないし、他のアプリケーションには影響ないぐらいですが 見た目のCPU使用率が100% 他に方法ないですかね?
ちょっと修正 Private thdThreading As System.Threading.Thread Private Sub btnSt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSt.Click thdThreading = New System.Threading.Thread(AddressOf Me.sThreadPg) thdThreading.Start() End Sub Private Sub sThreadPg() Dim strNow As String Do strNow = Now If mnowdate = "2003/11/13/ 13:00" Then 'ここにイベントを書きたい MsgBox("成功!") End If Loop Until intCnt <> 0 End Sub
263 :
デフォルトの名無しさん :03/11/13 15:33
フツウにEXEを作ってタスクマネージャで起動するのでは?
>>263 タスクマネージャを編集するソフトを考えたんですが
自分のソフトで出来る方法が・・・
>261 ずっとループさせてるんだから当たり前じゃん>100% System.Threading.ManualResetEventオブジェクトの、 WaitOneメッソドでウェイトを取るってのはどーよ。 厳密な時間計測がいるなら話は別だけど。
266 :
デフォルトの名無しさん :03/11/13 19:03
PictureBoxの上にマウスポインタがあるときに次のことを実現したいのですが、 ○ ツールチップを表示しながら ○ マウスポインタ周辺のPictureBoxのビットマップを取得したい。 ただしその表示しているツールチップが透過された(ツールチップを表示していない 状態の)画像が欲しい。 現在、ビットマップを取得するのにWin32APIのBitBltを使っているのですが、 これで取得するビットマップにはツールチップがそのまま含まれてしまいます。 一見、ビットマップ取得直前にツールチップのActiveプロパティをFalseにして 表示を消して、取得後にTrueに戻せばよさそうですが、そうすると たとえ本来ツールチップが表示されていなければならないようなタイミングでも (マウスポインタが停止してからツールチップの表示期間のタイムアウトが来てなくても) その後マウスポインタが動かされないとツールチップが表示されなくなってしまうので 困ります。 何かよい解決法はないでしょうか。 ツールチップを透過したビットマップを取得する方法か、あるいは マウスポインタが停止していても強制的にツールチップを表示する方法があれば よいと思うのですが。
ある構造体をFilePutでファイルに書き込もうとしてるのですが、 Structure STRC_TEST Dim A As Long Dim B() As Integer Public Sub Initialize Redim B(3) End Sub End Structure Private Sub fncTest() Dim intFn As Integer Dim Test As STRC_TEST Test.Initialize() Test.A = 1 Test.B(0) = 2 Test.B(1) = 3 Test.B(2) = 4 Test.B(3) = 5 intFn = FreeFile() FileOpen(intFn, "Test.tmp" , OpenMode.Binary) FilePut(intFn, Test) FileClose(intFn) End Sub で書き込んだ場合、 01 00 00 00 00 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 となると思ってたのですが、バイナリエディタなどで見ると 01 00 00 00 00 00 00 00 01 00 04 00 00 00 00 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 となっています。 Test.A と Test.B(0)の間にある10バイトは一体何なのでしょうか? すいませんがご教授よろしくお願いします。m(__)m
うあ、ソース見づらくてすいません・・・ スペースがなぜか書き込み時には詰められているみたいで・・・
>>254 ではわかりにくいので具体的にさせて下さい。
「ソート後の各Itemの順番を値として取り出したい」
これで得た値をItemのIndexにすれば、ソートする項目が同じ時にIndex順に並ぶと思うんだけど…
270 :
デフォルトの名無しさん :03/11/14 03:26
VB.NETでの質問です。 プロジェクトに取り込んだテキストファイルの中身を 「,」(カンマ)区切り毎に各変数に格納する方法を教えて下さい。 プロジェクトに取り込んだテキストファイルの内容を一文字ずつ変数に格納する 方法でもかまいません。
Dim I As Integer Private Sub Timer1_Timer() If Text1.Text = "" Then Else If ti = 1 Then 'もしtiが1秒になったとき Timer1.Enabled = False 'まずタイマー終了させて Text2.Text = "Time over" 'timeoverと表示させる。 Label3.Caption = "0秒" For I = 1 To 10 Beep Next I Else 'tiが0秒でなければ ti = ti - 1 'tiを1秒ずつカウントダウン Label3.Caption = ti & "秒" End If End If End Sub テキストどおりにやってみたらBEEP音がなりません。 Timeoverとは表示されるのですがなぜ鳴らないのでしょうか? 宜しくお願いします。
>>270 ただ単にSplit関数使うだけじゃないのですか?
ちょっとヘルプ検索すればすぐ見つかるようなこと聞くのは如何なものでしょう。
って、私みたいに回答しちゃう奴がいるからいけないのか。。
>266
PictureBoxのImageオブジェクトから直接取るってのはダメなん?
↓なカンジ。
Private BitImage As New Bitmap(100, 100)
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
Dim RECT1 As New System.Drawing.Rectangle(0, 0, 100, 100)
Dim RECT2 As System.Drawing.Rectangle
Dim g As Graphics
RECT2.X = e.X
RECT2.Y = e.Y
RECT2.Width = 100
RECT2.Height = 100
g = System.Drawing.Graphics.FromImage(BitImage)
g.DrawImage(Me.PictureBox1.Image, RECT1, RECT2, GraphicsUnit.Pixel)
End Sub
>271
こっちに逝け。
http://pc2.2ch.net/test/read.cgi/tech/1065446334/
>>269 ListViewItemSorterプロパティをしらべなされ。
web.config のファイル名って変更できるのでしょうか?
>>273 あ、私の説明が足りなかったんですけど、グラフィクメソッドで描画した画像の
ビットマップを取得したいんですよ。VB.NET自分個人では持ってない(仕事で使ってる)
のでいま試せないのですが、確かグラフィックメソッドで描画した画像は
Imageプロパティでは取得できなかったですよね?違ったかな。
しかし.NETの+GDIってなんかすごく中途半端な気がするのは
私がまだよく理解してないせいだろうか?
277 :
デフォルトの名無しさん :03/11/15 00:29
VB.NETで作ったWebアプリケーションからoo4oでオラクルにアクセスすると、 アクセス拒否のエラーが出ます。同じ環境で、Windowsアプリケーションだと大丈夫でした。 誰か、VB.NETのWebアプリケーションでoo4oを使う方法を教えてください。
素直にODP.NETを使えと。
279 :
デフォルトの名無しさん :03/11/15 01:36
11月14日に Visual Studio Tools for Office が一般発売されましたが、世間では全く話題になっていないようです。 WordやExcelにはVBAで十分で、.NETを持ち出す必要はないのかな。
>>279 これって、Officeで.NET使えるようになるの?
知らなかった。さっそく試してみます。
>>278 過去の資産が結構あり、ODP.NETもまだ出たてで当方の検証が終わっていないので、
できればoo4oを使いたいのです。使えないのでしょうか?
282 :
デフォルトの名無しさん :03/11/15 13:51
Class a Inherits basea End Class Class b Inherits baseb End Class というaクラスとbクラスがあって、この両方に全く同じメソッドを実装したいんですが、 やはり両方に同じコードを書くしかないんでしょうか? 例えばC言語のようにソースの中に別のソースを#includeしたりは無理?
283 :
デフォルトの名無しさん :03/11/15 16:39
Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As Long) As Long Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim hwnd As Long Dim winame As String hwnd = 0 hwnd = FindWindow("XLMAIN", 0) If hwnd <> 0 Then MsgBox(hwnd) Else MsgBox("取得できませんでした。") End If End Sub エクセルが起動していないときも、 0以外の数字が返されるのですがなぜなのでしょうか? 全然わかりません。
>>283 それ、起動してるときはちゃんとしたハンドル取れてるの?
大きな桁の数字がmsgboxにでてくるのですが それがちゃんとしたハンドルかどうかって どうすれば判断できるのでしょうか? それとコマンドボタンを押すたびに 前回と異なった値がmsgboxで帰ってくるのですが これもおかしいですよね。 エクセルは起動しっ放しなのでハンドルは変わらないと思うのですが。
>>285 VB使いじゃないんで詳細はわかんないけど、宣言がまずいんじゃない?
Declare Function FindWindow1 Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As Long) As Long
Declare Function FindWindow2 Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As Long, _
ByVal lpWindowName As Long) As Long
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(FindWindow1("XLMAIN", 0))
MsgBox(FindWindow2(0, 0))
End Sub
こうするとどうなる?
当てずっぽうで書いてるので、文法違ったら直してね。
ハンドルが正しいかどうかは、、Spy++か何か持ってない?
詳しくないので頓珍漢なレスかもしれませんが、 ウィンドウハンドルって4バイトじゃないの? だから対応する型は旧VBならLongでいいけどVB.NETならIntegerでは? で、たぶんウィンドウが見つからないときは4バイト符号付整数で -1 = 0xFFFFFFFFを返すから、それをLongで受けるとまんま 0xFFFFFFFF = 4294967295になっちゃうのでは?
ハンドルが正しいかどうかをテストするには IsWindow API はどうでしょ?
>>286 hex()で16進数変換すると右半分の数字が
spx++でのハンドル値と同値になりました。
左半分は毎度変化します。
288さんのを参考に
Declareをintegerですると見事
spy++でのハンドルと同値となり
>>283 がうまく実行できました。
ところがPostMessageでhwnd, 16, 0, 0を送っても
Private Const WM_CLOSE = &H10
Call PostMessage(hwnd, WM_CLOSE, 0, 0)
エクセルが終了しません。
正しいハンドル値でないのか、postmessageがおかしいのかわかりません。
postmessageの宣言を Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" _ (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam _ As Integer) As Integer とすべてintegerですると強制終了もできました。 どうもありがとうございました。
292 :
デフォルトの名無しさん :03/11/15 19:04
ラベルの透明背景は下のコントロールを無視してしまいますが、これを回避する方法はあるのでしょうか? VB6では、透明ラベルでテキストの重なり等を色々使っていたもので、結構困ってます。
VB6.0ではTimer1_Timer だったが VB.NETは Timer1_Fuck というイベントになってるね。
つまんね
Fomr1.Visible=Trueは Me.Visible=Trueともかけますが、 Private Sub TextBox1_Click (ByVal Sender as〜) ここで、TextBox1.Text=""ではなく Me.Text=""のように、自分自身を指定するキーワードを使いたいです。 MeはForm1のことになっちゃうので、Fomrの中のコントールで自分自身を指し示すキーワードはなんですか? End Sub
くだんね〜。VB1.0からやり直せ。
>>274 いや、もちろんそれ使ってるんだけど、ListViewItemSorterにクラス代入してソートしても、
並び順が変わるだけでIndexは変わってないっしょ?
例えば、昇順ソートだと
(1) 甲 乙
ItemA 1 2
ItemB 1 1
ItemC 2 1
とある状態で、一度乙でソートすると
(2) 甲 乙
ItemB 1 1
ItemC 2 1
ItemA 1 2
となって、ここから甲でソートすると
(3) 甲 乙
ItemB 1 1 ←
ItemA 1 2 ←
ItemC 2 1
となる様にしたいんだけど、クラス作ってListViewItemSorterに代入すると
(1)→(2)→(1)ってなっちゃって、(3)の並び順になってくれないんだよ…
>276 >確かグラフィックメソッドで描画した画像は >Imageプロパティでは取得できなかったですよね? んー。何かPictureBoxの上に描画してるだけの予感。 Imageプロパティにセットしたオブジェクトに描画しないと、リフレッシュ時に消えちゃうぞ? 273はPictureBox1.ImageにセットしたImageオブジェクトの一部を、 BitImageというBitmapオブジェクトに取得(書き込み)してるんだよ。 これを、例えばPictureBox2.Imageにセットすれば、 PictureBox1.Imageの一部がPictureBox2.Imageに表示されるわけ。 >しかし.NETの+GDIってなんかすごく中途半端な気がするのは >私がまだよく理解してないせいだろうか? 多分ね。 このあたりのことは過去に何度か出てきたから、ログあさってみれ。
>>298 >んー。何かPictureBoxの上に描画してるだけの予感。
>Imageプロパティにセットしたオブジェクトに描画しないと、リフレッシュ時に消えちゃうぞ?
私は低レベルのコーダーですが、そのぐらいのことは知ってますよ。
ですが、普通はビットマップオブジェクトに描画してそれをPictureBoxのImageプロパティに
設定するってしないでしょ。メモリ無駄に使うから。
まあ変更の必要のないちっちゃな絵を書くときには私も使いますけど。
>>しかし.NETの+GDIってなんかすごく中途半端な気がするのは
>>私がまだよく理解してないせいだろうか?
>
>多分ね。
これは「反疑問」のつもりで書いたのですが。つまり本当は間違いなく中途半端だと
思っているわけです。だってちょっとしたことやるとすぐに+GDIだけでは実現不可能か、
可能であっても恐ろしく面倒なコード書く必要が出てくるから。
例えば
>>266 にも書いたWin32のBitBltや、DrawFocusRestに相当するものって
ないでしょう。
あ、X反疑問→○半疑問、XDrawFocusRest→○DrawFocusRectでした。
304 :
デフォルトの名無しさん :03/11/16 18:29
SendMessage(hwnd, WM_SETTEXT, 0, "○○商事") SendMessage(hwnd, WM_SETTEXT, 0, "株式会社") テキストファイルに出力への出力を実行すると 「○○商事株式会社」とならずに 「株式会社」とだけなります。 上書きでなく、追記という形でするにはどうしたらいいでしょうか?
>301 >ですが、普通はビットマップオブジェクトに描画してそれをPictureBoxのImageプロパティに >設定するってしないでしょ。メモリ無駄に使うから。 Imageの一部がビットマップに取得されるのが確認できるよって意味でなんだが。 つーか、漏れもそんなに詳しいわけじゃないけど、何が「普通」だと思ってるの? >つまり本当は間違いなく中途半端だと思っているわけです。 そうですねー。 ……といって欲しかったの?(w
306 :
デフォルトの名無しさん :03/11/16 19:03
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint Debug.WriteLine("paint") End Sub Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged Refresh() End Sub では、Paintは一回しか流れないんだけど、二回流れないとおかしいと思う。 SizeChangedに何も書かなかった場合、 サイズを小さくする場合は、Paintは呼び出されないということは、わかってるけど、 大きくする場合も一回しか流れない。なんでだろう? どこかで、SizeChangedにRefreshが書かれているかどうかを判断しているとか?
うろ覚えだが、WM_PAINTは必ず送られるものじゃなかったような気がするが。
>>305 基本が全然わかっておられないうえに、日本語も不自由でおられるようだ。
「PictureBoxの上に描画してるだけ」だと、「リフレッシュ時に消えちゃう」、
「Imageプロパティにセットしたオブジェクトに描画しないと」と、
こういう風におっしゃるから(本当は、こんな説明は全然なってないですが)
普通はそのようなメモリを無駄に消費する方法はとらない、と答えたのに、
>Imageの一部がビットマップに取得されるのが確認できるよって意味でなんだが。
訳がわかりません。全然受け答えになっていませんが。
>何が「普通」だと思ってるの?
普通はPictureBoxのデバイスコンテキスト(.NETのGDIではGraphicsオブジェクト)に
描画する処理をPictureBoxのPaintイベントをトリガーに呼び出すようなコードを
書きます。常識以前だと思いますが。
私は無知なことは悪いとまでは思わない。でも無知を自覚できず、
見当違いなことで食って掛かるのは如何なものか。
>>306 WM_PAINTは処理されるときに、溜まってる分を結合するんじゃないの?
>>308 自分の話が相手に伝わらないからって、全部相手のせいにしない方がいいよ。
自分の常識が世界の常識だと思い込まない方がいいよ。
理解してないのを自覚してるフリはしない方がいいよ。
おまえらウザイ
>308 不愉快な思いをする羽目になるから、 てめーは不自由な日本語で拙い説明文なんか作るな、一言で済ませろ。 ってことですね。なら改めて。 DrawImage 以上。 >普通はPictureBoxのデバイスコンテキスト(.NETのGDIではGraphicsオブジェクト)に >描画する処理をPictureBoxのPaintイベントをトリガーに呼び出すようなコードを書きます。 ( ´_ゝ`)フーン、それがフツーなんだ。 ま、保存する必要がないならそれでいいかもね。
>>312 >ま、保存する必要がないならそれでいいかもね。
保存が必要なときは、一時的にビットマップオブジェクトを作成し、
その(CreateGraphicsメソッドで作成した)Graphicsオブジェクトを
描画ルーチンに渡して描画したものを保存します。
保存後作成したBitmapオブジェクトをDisposeします。
これが「普通の」処理ですが。ビットマップオブジェクトが存在し続けるような
間抜けな処理(Imageプロパティにbitmapオブジェクトを設定するような)
は「普通」のプログラマならしません。
ちゃんとヘルプとか読んでます?私みたいに.NETはじめて1月の人間でも知ってるのに。
しかしVB厨ってのはこういう人たちのことを言うのですかね。
無知の自覚がなく自分の恥を平気で晒すような。
VB厨=童貞
>313 色々ツッコミどころはあるが、もうどーでもいいや。 日本語が不自由なVB厨に教えられても不愉快なだけだろうし。 お前さんの問題が解決しなかろーが漏れにはまったく関係ないし。 まあ、せいぜいがんがってくれ。
総括 VBやってると妖精になれなす
問題なのは携帯アプリをVB.NETやVBやVB Scriptで作れないことである。
スマートデバイス用の.net Compact Framework下において タブオーダーって、使えないんでしょうか。
319 :
デフォルトの名無しさん :03/11/17 09:10
>277 >279 どなたかこちらもお願いします。
320 :
デフォルトの名無しさん :03/11/17 10:23
あのー、すいませんが、 arraylist配列を2次元にする方法知ってる方いらっしゃいませんか? 2次元ともarraylistで。 とりあえずは自作structureを駆使してしのいでるけど・・ structure ST dim array2 as arraylist end structure dim array1 as arraylist dim tempST as ST array1=new arraylist() tempST.array2 = new arraylist() array1.add(tempST) こうすると、array1().array2()という形で()内の要素数が変わる2次元のarraylistになるけど、 もっと、スマートにいかないものでしょうか? timer1.fuck
321 :
デフォルトの名無しさん :03/11/17 10:48
>>307 ,309
再描画が必要ではない場合は、WM_Paintメッセージは発行されないわけですね。
322 :
デフォルトの名無しさん :03/11/17 10:54
windowが重なっていて、クライアント領域を再描画する必要があるときに、発行されるのだけど、 直前でリフレッシュしているから、重なっていなかったとして、WM_Paintが発行されないということか。
>>320 ArrayListって使ったことないので間違ってるかもしれませんが、
2次元のArrayListって定義矛盾というか、ありていにいうとそれは既に
ArraiListとは呼べないんじゃないですか?
だってAddとかRemoveメソッドはどんな動作すりゃいいの?
もし、単に2次元配列みたいに添字を2つ付けて各アイテムに
アクセスしたいってことなら、そういうクラスを書けばいいんじゃないですか?
例えばこんなのはどうでしょう。
Public class c2DArrayList '枝ArrayListの入れ物のArrayList Private mBranches As New ArrayList '枝ArrayListの追加 Public Sub AddBranch Dim NewBranch As New ArrayList mBranches.Add(NewBranch) End Sub '枝ArrayListに葉っぱ(データ)の追加 Public Sub AddItem(BranchIndex As Integer, Item As Object) Dim Branch As ArrayList = mBranches(BranchIndex) Branch.Add(Item) End Sub 'BranchIndex番目の枝のLeafIndex番目のデータの取得 Public Function GetItem(BranchIndex As Integer, LeafIndex As Integer) As Object Dim Branch As ArrayList = mBranches(BranchIndex) Return Branch(LeafIndex) End Function End Class VB.NET個人では持ってないんで動作は未確認です。
なんじゃそら・・・
>>324 さんくす
当方、VB.NET歴2ヶ月ちょっとのド素人なもので
超初心者的質問にお付き合い下さいサンクスコ。
なんにしろ、大きな勘違いを正せたので助かりました。
Timer1_Fuck
確かになんじゃそりゃだな(ワラ。 オーバーロードくらいすりゃい〜のに。
328 :
デフォルトの名無しさん :03/11/19 15:07
厨な質問ですまそ VB.NETって、クラス参照型ってのは、ないんすか? ぐぐってみたけど、引っかかってこなかったもんで
>328 Delphiでつか? なんにしても実現したいことを書いたほうが良かろうです。
>>329-330 へい。Delphi屋です。
VB.NET、Delphiとほとんど同じなんで、バカスカ、実装してたんですけど、
「あれ、クラス参照、ねぇ〜じゃん」ってなちゃって。
ないんなら、ないで、何とかしますぅ〜
でも、VB.NET、よくできてますなぁ。VB6で拷問受けた身には
天国ですわ。
でも、もっさりしすぎだけど(藁
CのDLLに構造体を渡す為に、アライメント設定とマーシャリングをしたいのですが、 <StructLayout(LayoutKind.Explicit, Size:=10, CharSet:=CharSet.Ansi)> _ Structure STRC_TEST1 <FieldOffset(0)> Dim A As Short ''2バイト整数 <FieldOffset(2)> Dim B As Integer ''4バイト整数 <FieldOffset(6), VBFixedArray(1), MarshalAs(UnmanagedType.ByValArray, SizeConst:=2)> Dim C() As Byte ''2バイトのバイト配列 ''2バイト整数 <FieldOffset(8)> Dim D As Short ''2バイト整数 Public Sub Init() ReDim C(1) End Sub End Structure って定義すると アセンブリ '6' の型 'STRC_TEST1' を読み込めませんでした。 オフセット 6 に不適切に整列されたか、オブジェクト以外のフィールドで オーバーラップされたオブジェクト フィールドが含まれています。 ってなエラーが出るのですが・・・ どこか定義の仕方がおかしいですか?
スティーブバルマーが公演でイノベーションと言っていたのですが意味は何ですか?
334 :
デフォルトの名無しさん :03/11/21 11:34
以下の定義で2階層の構造体を作ろうと思ったのですが Private Structure Detal Private m_szYyyyMm As String Private m_szCP_Cyo As String Private m_szCP_Cne As String Private m_szCP_Ltc As String Private m_szCP_Other As String Private m_szAP_Engr As String Private m_szAP_Cad As String Private m_szAP_Cne As String Private m_szAP_Ltc As String Private m_szAP_Other As String End Structure Private Structure Import Private m_sEX_FileName As String Private m_bErrorFlag As Boolean Private m_sPrj As String Private m_sJobNo As String Private m_sStartDate As String Private m_sEndDate As String Private m_sDepartment As String Private m_sTblMax As Integer Private m_sMH() As Detail End Structure ↑型'Detail'が定義されてません と出て、定義できませんでした。VB6では出来たのですが。。。 どうすれば定義できるでしょうか?ご教授願います。
335 :
デフォルトの名無しさん :03/11/21 12:23
Private Structure Detal Private m_sMH() As Detail す@えるみす
336 :
デフォルトの名無しさん :03/11/21 14:01
337 :
デフォルトの名無しさん :03/11/21 15:43
データグリッドでセル内を複数行にしたいのだが その方法を教えてけろ。
またまたすみません。 フォームの頭で Public m_tblExDataFile() As Import を宣言して フォーム内のプロシージャで参照しようとすると 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」 と出てしまいます。。。 どーすれば解決できるでしょうか?ご教授願います。
イノベーション???
あ、書けた!OCN規制解除マンセー
Dim t As Date t = CDate("2003/11/21 22:16:10") TextBox1.Text = Year(t) TextBox2.Text = Month(t) TextBox3.Text = Day(t) TextBox4.Text = Hour(t) TextBox5.Text = Minute(t) TextBox6.Text = Second(t) について、TextBox3.Text = Day(t)のところでエラーが出るのはなぜでしょうか?
344 :
デフォルトの名無しさん :03/11/21 22:28
Redimでm_sMHを宣言しなおす
>>343 TextBox3.Text = DateAndTime.Day(t)
またはTextBox3.Text = t.Dayとか
点を指定した座標にポチっと描画する時ってどうすればいいでしょう? Graphics.Draw??? みたいなのが用意されてると思ったらなかったもので。。。 皆様はどうなさってるんでしょうか?
348 :
デフォルトの名無しさん :03/11/22 01:14
今授業で電卓を作っているのですが 1+2+3=5になってしまいます。 最後の二つだけが計算されてしまうということなのですが、 どうやったら直すことができますか? あと小数点以下の計算のさせ方について よいアドバイスをください。
どなたかグラフを描くいい方法ご存知ないでしょうか? 例えば、データ点が1000個ある系列2つを、各々x、y軸として グラフを表示させたいんですよ。 結構基本的なことだと思うので、何か既成のライブラリみたいのが あると思うのですが、あれば教えて頂けないでしょうか?
点の描画が大ブレイク? つか、何がわからんのかがわからん・・・。
>347 System.Drawing.Graphics >349 Crystal ReportsとかCOMのMS CHARTを使うとか。 ベンダ製の有料コントロールもあるみたい。 Graphicsでシコシコ書くという方法もある。
office自身のサンプルコードをキボンヌ!
>>352 お返事ありがとうございます。
早速MSChartで試してみたんですが、なんだか描画に異常に時間がかかるんですよ。。。
Chartに関する操作を含んだ関数呼出しの際に、実行終了まで10秒程かかります。
データ数も10そこそこで、CPUもPen4 1.8GHzなのでこれらは問題ないと思います。
しかもそのコードの最初に TextBox1.Text = "hoge"みたいな行を記述しても、やはりその実行に10秒程
かかるので、描画「自体」が原因というわけではなさそうです。
同じコードをVB6で記述したら一瞬で描画できました。聞きかじりですが、.netではCOM呼出しに
ラッパーを被せてあるそうなので、こちらが原因なのでしょうか?
どなたかこの問題について御存知の方、原因を御教授願えませんでしょうか?
(長文すみません)
なぜそっちを教える?w 点ならSetPixelでいいだろ?
.NETの低レベルグラフィック描画(GDI+)は遅いよ。 DirectXが標準APIに変わるまで我慢だね。 んで、「ラッパー…」は関係ない。 ためしにVB6でPsetなコンポーネントを作って、VB.NETから呼んでみ。
VS.NETの起動自体が早くなれば結果としてプログラム自体も高速になったとみなしてよいんだけどね。
ボタンのクリックイベントに Dim Fr2 As New Form2 Fr2.Show() と書くと ボタンを押すたびにForm2が何個も表示されてしまいますが、 何回ボタンを押してもForm2が一個だけ表示されている状態はどうやって作り出せばいいのでしょうか?
360 :
デフォルトの名無しさん :03/11/24 18:34
Windowsコントロールライブラリについて質問ですが、 UserControlにButtonを1つ追加します。 で、そのButtonのModifiersプロパティをPublic指定します。 で、出来たDLLを他のプロジェクトで使用します。 そうすると、UserControl1のプロパティのその他の欄にButton1が追加されるのですが、 そのプロパティを変更してもデザイン時には、変わっているのですが、実行したら元のプロパティ状態に戻っています。 プログラムで、変更したプロパティは実行しても、ちゃんと反映されています。 これって、DLLを作るときに何かロジックを作らないといけないのでしょうか??
361 :
デフォルトの名無しさん :03/11/24 18:40
fr2.ShowDialog()
>>361 それだとfr2を閉じないとForm1を最前面に持ってこれないようですが???
363 :
デフォルトの名無しさん :03/11/24 19:44
visual basic.netで作ったasp.netなのですが、サーバーで作った asp.netソリューションをローカルに持ってきて、ローカル上で 実行したいのですが、ローカル上でどのようにソリューションを 作成すればよいかわかりません。どのようにソリューションを 作ればよいのでしょうか?
セットアップ作れば?
>>359 >Dim Fr2 As New Form2
↑の行を↓のようにイベントの外に出す
Private Fr2 As New Form2
わからなければボタンのクリックイベントに
Button1.Enabled = False
って書いとけw
366 :
デフォルトの名無しさん :03/11/24 22:23
>>359 フォームのコレクション(Forms)の中にForm2のインスタンスが
既に存在しているかどうかを確認するコードを書くだけだと思いますが。
367 :
デフォルトの名無しさん :03/11/24 23:01
TabControlのフォーカス枠を表示しないようにしたいんだけど、それを設定するプロパティってありませんか? VB6なんかでいうShowFocusRectね。 消したければオーナードローするしかない?
>>369 はじめてみるキーワードでしたがDimの代わりにつかってみたら成功して感動しました。
371 :
デフォルトの名無しさん :03/11/25 00:38
>>370 Staticを知らないプログラマってのも驚きだけど、
Staticを指定するとインスタンスが1つに保たれる(恐らく既に存在している
インスタンスがdisposeされる)ってのはもっと驚き。
なんか間尺に合わない気がするのだが。
Static Fr2 As New Form2 ↑ これは初期化宣言なんで1度しか通ってないってことじゃねの? GCがそんなに都合よく動くとは思えん。
>>372 正解っすね
Static Fr2 As Form2 = New Form2
と考えたら一目瞭然
374 :
デフォルトの名無しさん :03/11/25 01:14
staticにすると何処に書いても自動で関数の外に出されるよね。自動グローバル化(勝手に命名)というか何というか
>>366 それVB.NETにもあるの?
NewしたFormのインスタンスを自動で管理してるってことだよな。
そのFormsコレクションってなんのプロパティなんだ?
376 :
デフォルトの名無しさん :03/11/25 13:05
VB6からVB.NETに移植しているのですが APP.Pathが使えなくなってしまって困っています。 VB.NETの場合は何に置き換えればいいのでしょうか?
377 :
デフォルトの名無しさん :03/11/25 13:10
>>376 Application.StartupPath
だったと思う。
Dim wc As New System.Net.WebClient()
wc.DownloadFile("
http://img.yahoo.co.jp/images/main7.gif ", "c:\test.gif")
を実行すると
'System.Net.WebException' のハンドルされていない例外が system.dll で発生しました。
追加情報 : 基になる接続が閉じられました : リモート サーバーに接続できません。
というエラーが出るのはなぜでしょうか?
>379 環境のせいだと思われ。 ちゃんとWebにアクセスできる? ちなみに漏れの環境ではそのソースでOKです。
381 :
disco :03/11/26 11:15
厨房ですがすいません。 結局VB.netでどの程度のゲームが作れるの?
382 :
デフォルトの名無しさん :03/11/26 11:33
RPGやシミュレーションのような動きの少ないゲームなら余裕じゃないかね?
古いパソコンでも無い限り3Dのレースやアクションでも簡単なものなら オンボードでPentium3とか言われるとつらい気がする
384 :
disco :03/11/26 12:35
ありがとうございます。 ここ2ヶ月前からVB.netをはじめたものですが 以後よろしくお願いします。
386 :
デフォルトの名無しさん :03/11/27 06:28
ユーザコントロール(コンボボックス&テキストボックス等で構成)を作成したのですが、 フォームにデザイン画面からではなくコードで 動的にユーザコントロールを追加しています。 その場合にユーザコントロール側で起きたイベントを拾いたいのですが どうしたらよいでしょうか???
ユーザーコントロールでPublicイベントが発生するようにした上で、 WithEventsで宣言すればいいんじゃないの?試してないけど。
389 :
デフォルトの名無しさん :03/11/27 12:22
Crystal ReportsのテキストオブジェクトがReadOnlyになっているようで プログラム上からテキストの内容を変更できません。 どのようにしたらTextをプログラムで編集できるのでしょう?
390 :
デフォルトの名無しさん :03/11/27 14:22
動的に増えるユーザーコントロールのイベントを拾う方法ってありますか??
389です。 以下のソースでテキストオブジェクトが変更できません。 恐らくソースが間違っていると思いますが。 Dim Report As New rptOutPut() Report.Section3.ReportObjects.item("txtComment").text = "TEST"
>>390 ユーザコントロール「UCON」が動的に「Panel1」追加されると仮定して
UCONにはHOGEHOGEというイベントがある
Private MyUCON as UCON <- これをフォームレベルで定義
MyUCON = New UCON
Panel1.Controls.Add(MyUCON)
AddHandler MyUCON.HOGEHOGE, AddressOf MyUCON_HOGEHOGE
'ここにイベント処理
Private Sub MyUCON_HOGEHOGE()
End Sub
判りにくくてスマソ
393 :
デフォルトの名無しさん :03/11/27 18:35
質問です。過去ログを見ましたが解決方法が記載されてなかったようなのでお聞きします。 VS.netをインストールしました。プロジェクトを作り、保存しました。 DebugモードでF5でビルドを開始しました。するとエラーメッセージボックスが出てきて、 「エラーが発生したぞ!デバッグを切るとビルドできるがやるか?」 (意味はこうだったと思います。) と聞かれたので[OK]を押しました。この件の後、ビルドは出来ますがブレークポイ ントを置いても全くそこで止まらなくなりました。 現在全くデバッグが出来ない状況です。改善方法をお教え下さい。 よろしくお願い致します。
失礼しました。 プロジェクトはVisualBasicプロジェクトでASP.NET Web アプリケーション を選択しました。
ちなみにどこにブレークポイントを置いても動作しません。 必ず通るであろうPage_Loadの行にブレークを置いても全く動作しません。
といいますか・・・ もう俺ばか。解決しました。 1、ソリューションエクスプローラのプロジェクト名を右クリック 2、プロパティをクリック 3、TreeViewの構成マネージャを展開 → デバッグ をクリック 4、下のデバッガで「ASP.net デバッグ」にチェックを入れる 5、OK これでOKでした。失礼しました。お次の方どうぞ。
398 :
デフォルトの名無しさん :03/11/27 23:57
>387,388,392 助言ありがとうございました。 なんとかできそうッス!!
400 :
デフォルトの名無しさん :03/11/28 11:11
Shell関数を使ってワードパットを起動するのですが 開くファイルを指定できないんでしょうか?
write.exe c:\hogehoge\hogehoe.doc
402 :
デフォルトの名無しさん :03/11/28 13:35
>>401 レスどうもです。
やってみたのですが、
SHELL("c:\wordpat.exe","C:\Documents and Settings\iki\デスクトップ\vb.txt")
とした場合、「C:\Documentsは存在しません。」のエラーが出て
出来ませんでした。
どーすれば解決できるでしょうか?
SHELL("""c:\wordpat.exe""","""C:\Documents and Settings\iki\デスクトップ\vb.txt""")
404 :
デフォルトの名無しさん :03/11/28 14:17
>>403 出来ました。
誠にありがとうございました。
別解 Dim myp As New Process myp.StartInfo = New ProcessStartInfo("write.exe", """C:\Documents and Settings\iki\デスクトップ\vb.txt""") myp.Start()
406 :
デフォルトの名無しさん :03/11/28 16:24
>>405 おぉっ!こんな方法もあるのですね。
アドバイス、ありがとうございます。
407 :
デフォルトの名無しさん :03/11/28 19:31
起動されているメモ帳にtabキーと文字を送りたいのですが 文字だけが送られ、tabキーがおくられないです。 Public Const WM_KEYDOWN = &H100 Public Const WM_KEYUP = &H101 Public Const VK_TAB = &H9 ↑この宣言に間違いがあるのでしょうか? Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim hwnd As Integer Dim chwnd As Integer hwnd = 0 chwnd = 0 hwnd = FindWindowT(0, "テスト.txt - メモ帳") chwnd = FindWindowExC(hwnd, 0, "Edit", 0) SetForegroundWindow(chwnd) SendMessage_int(chwnd, WM_KEYDOWN, VK_TAB, 0) SendMessage_int(chwnd, WM_KEYUP, VK_TAB, 0) SendMessage(chwnd, EM_REPLACESEL, 0, "シャノー") End Sub
408 :
デフォルトの名無しさん :03/11/28 19:43
>>407 keybd_event() とか使いなはれ。
VK_RIGHT なんかは正常に動作するのに なぜtabが。
410 :
デフォルトの名無しさん :03/11/28 20:08
たったいま Call keybd_event(VK_TAB, 0, 0, 0) をつかって試してみました。 tabキーを送ることはできたのですが そのタイミングが文字入力の先だったり後だったりで安定しません。 「 シャノー」 「シャノー 」 ↑こんなのがはっせいしてしまいます。 sendmessageでtabを送ることが出来ればおそらく タイムラグがないと思うのですが、よい解決方法はないでしょうか?
411 :
デフォルトの名無しさん :03/11/28 20:24
>>410 EM_REPLACESEL を使うなら、タブ込みでやっちゃえばいいやん。
412 :
デフォルトの名無しさん :03/11/28 20:34
ボタン選択の移動もtabで行いたいのです。 tab無しの文字入力もありますのでできれば sendmessageで処理したいです。 sendmessageでtab(インデントや項目移動)は サポートされてないのでしょうか?
VBを買おうと思ってアマゾンで検索したら VB.netっていうのばっかり出てきます。 VB6.0が最新のやつかと思ったんですが、netの方が新しいのでしょうか。 それとも質の違いなんでしょうか。 違いについて教えてください。 当方プログラミングの経験はほとんどなく 昔にMACのHyperCardをいじっていたくらいです。 友達に聞いた所、VBがオブジェクト指向で同じ感じだというので 購入を検討していたところ、上記のような疑問に出会ってしまいました。 初歩的な質問なのかもしれませんが、よろしくお願いします。
あと Visual Studio .NET とかいうのもあって更に混乱しています。
各ユーザのデスクトップなどの特殊フォルダーはFileSystemObjectで取得する方法はわかりましたが せっかく.NETを使っているのでSystem.IOではどのように記述すればいいのでしょうか?
System.Environment.GetFolderPath(Environment.SpecialFolder.System)
417 :
デフォルトの名無しさん :03/11/29 10:24
>>412 たぶん、サポートされてないんじゃないかな。タブキーを押したときの状況を
SPY++ で確認してみれ。
>>413 .NET の方が新しい。ぜんぜん違うものなので、まずは Microsoft のサイトなど
で確認してみるよろし。
>>414 それは、Visual C# だとか、Visual J# だとか、Visual C++ だとかがセットになった
やつ。お金に余裕があれば買ってもいいね。
>>413 VB6のユーザーは多いけど、
MSはVB6の系統は今後バージョンアップしないから、
今から覚えるなら避けたほうが良い。
エクセルとかのVBAが.NETになるのはいつ???
>>417-418 ありがとうございます。
さっそくMicrosoft行ってみます。
あとで本屋にも行ってVB.netの入門書とか見てみることにします。
>>413 VS.NET MSDN何とかエディションにはVisualStudio6が付いてくる(会員登録後1週間ぐらいで送られてくる)
会社で買うのであればこれを買うことを進める
VB.netで、「マインスイーパ」って作れますか? もし可能なら作ってソース公開してください。 勉強材料にさせていただきます。
う〜ん 君最強
う〜ん VB.net最強
う〜ん 俺.最高
う〜ん nakata.net最強 中田熊度でかいぞ
428 :
デフォルトの名無しさん :03/12/02 12:59
ワイルドカード指定でファイルを削除する方法ってある? System.IO.File.Deleteに("*.txt")とか指定するとArgumentExceptionが出ちゃう。 ファイル名拾ってループさせるしかないのかな。
429 :
デフォルトの名無しさん :03/12/02 13:13
つーか声がエロすぎ
430 :
デフォルトの名無しさん :03/12/02 14:00
Visual Basicのサービスパックは オンライン上で入手することは可能なんですか?
431 :
デフォルトの名無しさん :03/12/02 14:09
432 :
デフォルトの名無しさん :03/12/02 14:28
>431 ありがとうございました
>428 System.IO.File はファイルそのものだから、その指定は無理でしょ。 System.IO.Directory.GetFiles で、 指定したディレクトリ内のファイルをワイルドカード検索出来るみたいだけど、 返ってくるのはなんとString。ファイル名だけ。 FileのCollectionを自動生成するメソッドはなさげだし…… うーん、無理ぽ?
434 :
デフォルトの名無しさん :03/12/02 23:50
VB.NETの先輩方に質問です。 自作クラスのインスタンスをNew演算子で次々と作成し、ArrayListに格納した後、 ArrayListをNewで初期化してしまうと、それまでArrayListに格納されていたインスタンス達は どこへいってしまうのでしょう? 大量のインスタンスをAddしては、ArrayListの初期化でまた他のインスタンスをAddしていくという 処理を組んでいるので、記憶領域に負担をかけることにならないか心配になり、質問させていただきました。 こんな感じです↓ dim A as ArrayList dim c as MyClass dim i,j as integer For i = 0 to 1000 A = New ArrayList() For j = 0 to 1000 c = New MyClass A.Add(c) Next j Next i 使わなくなったクラスのインスタンスや、アレイリストをそのまま放っておいて、 新たにNew演算子で作成し続けていっても大丈夫なのでしょうか?
>>434 まず、ガベージコレクタでググってください
436 :
デフォルトの名無しさん :03/12/03 12:21
ガベージコレクタが理解できない場合、 | Private Sub SubA() | | dim A as ArrayList | dim c as MyClass | dim i,j as integer | | For i = 0 to 1000 | A = New ArrayList() | For j = 0 to 1000 | c = New MyClass() | A.Add(c) | c = Nothing | Next j | A.Clear() | Next i | | End Sub でいいんじゃないの?
437 :
デフォルトの名無しさん :03/12/03 12:33
VB6でボタンとかをダブルクリックしてもコード画面に切り替わらないように出来ますか?
>>437 なにがやりたいのかさっぱり分からんし、
方法も思いつかない。
439 :
デフォルトの名無しさん :03/12/03 13:13
>>437 何かあったような気がしたけど方法忘れた
440 :
デフォルトの名無しさん :03/12/04 04:34
441 :
デフォルトの名無しさん :03/12/04 06:18
フォームにデザイン画面でスクローラブルコントロールを貼り付けて そのスクローラブルに動的にユーザーコントロールを追加&削除する処理を 作成しています。 ユーザコントロールの追加は上手くいったのですが 追加されたコントロールをDisposeした時の動きがおかしくなってしまいます。 画面上は消えているコントロールなのですが スクローラブルのコントロールズのカウントを取り for文でユーザーコントロールの値を取得すると 消えているはずのコントロールの値が取れてきてしまいます ユーザーコントロールの消し方に問題があるのでしょうか??
442 :
デフォルトの名無しさん :03/12/04 07:16
>>441 そのコントロールは具体的にどうやって削除してるんだ?
たしか強制的にGC動かす方法あったな。
Nothing は、Visual Basic .NET でオブジェクト変数がオブジェクトへの参照を含んでいないことを示すために使用されるキーワードです。 以前のバージョンの Microsoft Visual Basic では、使わないオブジェクトを Nothing に割り当てることによって、 オブジェクト変数をオブジェクトから切り離し、リソースを解放していました。Visual Basic .NET でも、使わないオブジェクトを Nothing に割り当てることはできますが、 リソースの管理方法が変更されているため、オブジェクトがすぐに解放されるとは限りません。 一般に、オブジェクトを Nothing に割り当てる必要があるのは、共有メンバやグローバル変数などの寿命の長いオブジェクトの場合だけです。
446 :
デフォルトの名無しさん :03/12/04 14:50
オラクルテーブルの項目 SYMBOL VARCHAR2(30), に値をセットしたいのですが、 入力される値が漢字、英数字を含むもの 例:2ちゃんねらー12345678901234567890 場合によっては入力される値がオラクルの設定桁数より 大きくて落ちます。 LEN関数で桁数チェックしようと思ったのですがうまくいきません。 どーすればうまくいくでしょうか?
VB.NETは文字をUnicode(2バイト)で扱うので そのままをOracle(デフォルトはシフトJIS)に突っ込むと 場合によっては半分しか入らないとおもいます VB6にはStrConv関数で対応できたが今は出来ないみたいですね System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount("2ちゃんねらー12345678901234567890") でいけるかと
448 :
デフォルトの名無しさん :03/12/04 16:07
>>447 様
早速のレスありがとうございます。
早速試してみます。
449 :
デフォルトの名無しさん :03/12/04 17:50
450 :
デフォルトの名無しさん :03/12/04 21:18
VB.NETを修得できる学校を探しています。 どなたかご存知の方、お勧めの学校などありますか? (国内外にこだわらず)
学校なんか行かなくても全然習得できるし、人に教えてもらうより自分で調べたほうが 身につくと思うけどなぁ。
452 :
デフォルトの名無しさん :03/12/05 01:57
asp.net + win2kserver でWebサーバ並びにメールサーバを構築したいと思っていますが。 ↑の本とか良いWebサイト知りませんか? アマゾンを探してみたのですが、どうにもASP.netとWin2Kが切り離されて記載されてるから 調子が悪くて。そこら辺りを誰か知ってる人いたら教えてplz
これまで、独学でやってきたんですけど、 サラリーマンにはなりたくないので、 (できれることなら自営を考えており) 社会的にも認められるような経歴にもなる 学校にいきたいと考えているのです。 海外留学でもかまわないので、 どこかいい学校を知っている人いませんか。 中国にそれらしき学校があったけれど、 他にもいろいろ探そうと考えてます。 VB.NETをしっかり身に付けて世に出たいと 思っています。
自営するならそんな学校の経歴なんぞいらんw っていうか、プログラミング力を学校で判断するなんて考えたこともない。 それより会社で経験詰んだ方がいい。 ここで言う経験ってのは言語=プログラムじゃなくて、業務知識ってこと。 もしかして >453 って10代?
455 :
デフォルトの名無しさん :03/12/05 09:24
VB.netでWebアプリケーションを作成しています。 Page上の全てのTextboxのプロパティを変更したい場合は どうすればよいのでしょう? Dim MyCtrl As Object For Each MyCtrl In Page.Controls Select Case TypeName(MyCtrl) Case "TextBox" MyCtrl.・・・ End Select Next MyCtrl だと、Textboxが引っかかってくれません。
>>455 Webに山ほどTextBoxを貼り付けている時点で設計失格。
457 :
デフォルトの名無しさん :03/12/06 11:17
TextBoxのMultilineをTrue、ScrollBarsをVerticalにしました。 この、テキストボックスがスクロールされたというイベントを取得したいのですが、 どのイベントを使えばいいのでしょうか???
458 :
デフォルトの名無しさん :03/12/06 19:05
フォームをOpacityで半透明にしているのですが その下に見えている他のウィンドウなどを普通に 操作出来るようにしたいのですが出来ますでしょうか? よろしくお願いします。
まるち
いちどOpacity変更すると描画速度が遅くなるのはどうしようもないのか・・・
Form1のTransparencyKeyプロパティで透明色を指定したところ、 ツールチップがフォームの後ろに隠れてしまいました。 最前面(フォームよりも上)に出すにはどうすれば良いですか? ※TransparencyKeyの設定を無くすと最前面に現れます。 どなたかご教授願います。
VB.NetでPGを作っています。で、dllがたびたび無くなってしまいます。 dllの消える原因として何があるのか教えてください。 プロパティの参照パスをいじると消えるということは分かっています。 よろしくお願いします。
>>462 PGの不具合だな。あるいは、
プロパティの参照パスをいじったからぢゃないかな?
プロパティの参照パスをいぢらなければ良いと思われ。
つか、釣りじゃないなら、もっと具体的に書き直せ。
464 :
デフォルトの名無しさん :03/12/09 20:16
一つのプログラムを複数のプロジェクトに分けて作ってきました。 今!それらをまとめるときがきたのです! が、やり方がわかりません(つд`;) ソリューションに、複数の既存のプロジェクトを追加したのですが、 いったいどうやって扱えばよいのでしょうか?
「ファイル」の「既存項目の追加」で追加したい.vbを追加したらどうでしょうか
「ファイル」の「既存項目の追加」で追加したい.vbを追加したらどうでしょうか
467 :
デフォルトの名無しさん :03/12/10 00:29
追加しました(・_・) ・・・。 何がどう変わったんだぁぁ(;;)ポロポロ
>>464 何が分からないのかが伝わらない。
[ファイル]-[プロジェクトの追加]-[既存のプロジェクト] じゃダメなのか?
>>462 SourceSafe使ってるとたびたび物が消えることがある
470 :
デフォルトの名無しさん :03/12/10 22:37
asp.netでの質問なんですが、ボタンを押すと画面が変わるのではなく、ポップアップで 画面が立ち上がってくるっていう処理を作りたいんですが、どのようにやればいいんでしょうか?
そらJavaScriptだろ
472 :
デフォルトの名無しさん :03/12/11 00:16
>>472 カネ出して、Visual Basic.NETを買えば、その統合開発環境でクリックひとつでコンパイルできる。
カネ出したくない人は、Microsoftから、.NET Framework SDKをダウンロードすれば、そのURLの方法でコンパイルできるYO!
大変失礼しました。 自分も「プロジェクトの追加」の意味をわかっていないものでして。。 何がやりたいかと言いますと、 ・ある一つのプログラムを作るのに、各処理毎にテストを行いながら作成する。 この際、面倒だから各処理を一つのプロジェクトとして作成し、 標準モジュールや自作クラスなどを扱いながらプロジェクト(一つの処理を 完成させる) ・各処理が一通り完成したら、今度は、それらを部品のように見て、 一つのプログラムを組み立てる。 まず、この時、各プロジェクトにある標準モジュールやクラスは、他の プロジェクトから見れるもの、見れないもので扱いをわけたいのだが、 それが可能なのか不可能なのかわかりません。 ・各処理がプロジェクト毎に分割された、とてもスマートなプログラムが 完成する。このように、プログラム=ソリューションと見ることができるのか どうか、ソリューションに各プロジェクトを扱うロジックを持たせることが できるのかわかりません。 このような漠然とした疑問なのですが、今後、分担作業で プログラミングをしていくに当たって、とても重要な問題でもあります。 このVB.NETで新しく取り入れられた「ソリューション」という概念が どのようなものなのか、把握したいと思い質問しました。 結局、プロジェクトに分けて作った処理をあとで一つのプロジェクトに まとめてしまうのなら、平らでメンテナンスしづらいプログラムに なってしまうので自分なりの対策が必要になると思いまして・・。 わかりづらい質問で申し訳ありません。藁をもつかむ思いで、ここ2chスレに 書き込みました。どなたかわかる方がいらっしゃったら是非ご教授下さい。
475 :
デフォルトの名無しさん :03/12/11 06:55
>>474 プロジェクトをまとめるのがソリューションです。
簡単に言ってしまえば、「プロジェクト = アセンブリ」です。
簡単なアプリであれば、実行ファイル(EXE)ひとつのプロジェクトでよいですが、
ちょっと込み入ってくるとそうもいきません。
なので、コンポーネント(DLL)を複数と、実行ファイルをひとつ含むソリューション
を作成することになります。コンポーネントは使い回しが効くので、
・Aアプリ(ソリューション)
・Aメイン実行ファイル(プロジェクト)
・共通コンポーネント(プロジェクト)
・Bアプリ(ソリューション)
・Bメイン実行ファイル(プロジェクト)
・共通コンポーネント(プロジェクト)
というような使い方ができます。さらに、プロジェクトをソリューションに含める場合と、
参照設定して使う場合がありますが、この辺はさらにややこしくなるので割愛します。
>>474 ソリューションっていうのは、VB6のプロジェクトグループみたいなもので、
アプリ全体を一纏めにしたものです。Webアプリのように、
htmlやスクリプト(ASP)やライブラリ(DLL)が混在するような時に便利です。
ソリューション内のプロジェクトは、通常1つにつき1つのモジュールを生成するので、
複数プロジェクトが存在する場合は、それぞれ別のモジュールを生成するため、
>・各処理が一通り完成したら、今度は、それらを部品のように見て、
>一つのプログラムを組み立てる。
上記のような事(おそらく1つの.EXEを想定しているのだと推測)はできません。
既に共通クラス、共通関数単位のモジュールはあるんですよね?
これらはDLL化しないという前提で話を進めると、
分担する時一般的なのは、各ソースファイルを共有フォルダに置き、
他人の担当するモジュールは、リンク取り込みを行うという方法です。
ソースも、プロジェクトにフォルダを追加すると整理しやすいです。
他から呼ばれたくないモジュールは、宣言のキーワード(Public等)を変更します。
(自モジュールしか参照できないもの、サブクラス以外は参照できないもの等・・・)
方法としては、465のようになると思いますが、当然ながら取り込んだからといって
プログラム側で対応できていなければ、勝手に動作してはくれません。
以上、非常に大雑把ではありますが・・・。
477 :
デフォルトの名無しさん :03/12/12 00:13
あるファイルAにボタンが一つあって、ファイルBにテキストボックスが1つある。 ファイルAのボタンを押したら、ファイルBのテキストボックスに文字列を表示させたいんだけど、 どうやるかわかりません。同じ画面でならば、text1.Text="abc"という処理を書けばいいのですが、 違うページをまたいだときにどうやってこの処理を行うかわかりません。よい知恵をお授けください〜
478 :
デフォルトの名無しさん :03/12/12 08:56
>>476 >リンク取り込み
そうそう。普通に追加しただけだと、コピーしちゃうんです。ここ注意が必要。
>>477 ファイル = フォーム だとすると、フォームの参照をもらってからテキストボックス
に代入することになる。
ファイル = Web フォームだと、Sessionオブジェクトとかに入れておいて、
ページ遷移後に設定する、って感じかな。
479 :
デフォルトの名無しさん :03/12/15 04:53
質問1 textbox1とtextbox2、button1があります。 button1をクリックするとtextbox1が空白の場合に 数字(例えば100)が入力されます。 それ以外の場合にはtextbox2に数字が表示されるような コードはどうかけばいいのか教えて下さい。 なんとなくこの文章を書いてるとif文を使うのかなと言う予感が しましたが漠然としているので教えて下さい。
480 :
デフォルトの名無しさん :03/12/15 04:58
質問2 textbox1とtextbox2、button1があります。 button1をクリックすると textbox1がアクティブ(カーソルが点滅している)の時には textbox1に数字(例えば100)を入力します。 textbox2がアクティブ(?)の場合には textbox2に数字を(例えば100)を入力します。 このようなコードはどう書けばいいのかわからないので 教えて下さい。
481 :
デフォルトの名無しさん :03/12/15 04:59
なんとなく>480は不可能な予感がします。
482 :
デフォルトの名無しさん :03/12/15 05:10
ソリューション名を日本語で書くのは厨ですか?
483 :
デフォルトの名無しさん :03/12/15 05:19
484 :
デフォルトの名無しさん :03/12/15 05:43
485 :
デフォルトの名無しさん :03/12/15 06:35
日本語ベーシック(うそ)で書くとだな、
>>479 ボタン1のクリックイベント
もし、テキストボックス1のテキストプロパティが空白なら
テキストボックス1のテキストプロパティに「100」を代入
そうでないなら
テキストボックス2のテキストプロパティに数字を代入
クリックイベント終わり
>>480 フォームの ActiveControl で取れるかもしれんが、駄目なら Enter イベント
やらで、フラグを設定して判断、かな。
486 :
デフォルトの名無しさん :03/12/15 06:40
>>485 >もし、テキストボックス1のテキストプロパティが空白なら
その空白ならと言う表現をコードでどう書けばいいのか
わからないのですよぉ。
Sendkeysすりゃいいじゃんと思ったが、よく考えたらbutton1をクリックで フォーカスは移動しちゃうんだな。 やっぱフラグだね。
488 :
デフォルトの名無しさん :03/12/15 10:30
489 :
デフォルトの名無しさん :03/12/15 11:34
ファイル操作について質問です。 Open ファイル名 For Input Access Read Write As ファイル番号 とすると、構文エラーが出てしまいます。 原因がわからないので教えて下さい。
490 :
デフォルトの名無しさん :03/12/15 11:48
>>489 FileOpen() を代わりに使いませう。Open はなくなったみたい。
492 :
デフォルトの名無しさん :03/12/15 22:10
>>486 ですがいくつか解らない言葉があったので
教えて下さい。
Sendkeys
フラグ
493 :
デフォルトの名無しさん :03/12/15 22:12
>>488 ""か0の場合はやっぱりif文を使うのですよね。
494 :
デフォルトの名無しさん :03/12/15 23:33
>>493 ふたつぐらいなら、If 文で OK でしょう。もっと多くなってきたら、Select Case〜End Select
を使いましょう。
495 :
デフォルトの名無しさん :03/12/15 23:48
>>494 ありがとうございます。
また明日来ると思うのでよろしくお願いします。
496 :
デフォルトの名無しさん :03/12/16 00:54
497 :
474(464) :03/12/16 06:50
>>466 ,468,475,476
ご丁寧な対応(そうでない対応)、ありがとうございました。
ようやく目処がつきました。
「共通関数レベルのモジュール」という意味がわかりませんでしたが、
プロジェクトを進めていくうちに、それっぽいのが必要になってきたりと、
大変参考になりました。
・・「共通関数レベルのモジュール」って何だろう・・・(^^;
とまた新たな疑問が生まれたわけです。こうやって、少しずつ前に
進めるのも皆さんのおかげです。 m(._.)m
教えてください。 .NETでWinsock.ocxを使ってソケットプログラムを作るとき、 データの受信がうまくできないのですが、 何か良い方法しらないですか? Private Sub Winsock_DataArrival(ByVal eventSender As System.Object, ByVal eventArgs As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock.DataArrival Dim strData As String Winsock.GetData(strData) Text1.Text = strData End Sub
質問です。 リストボックスで、垂直スクロールバーが出現するまで 項目を追加していった時、このスクロールバーを スライドしたタイミングで、他のコントロールの表示を同期したいのですが、 このスクロールバーのイベントを拾う方法はありますか? それとも、VScrollBar等を上に載っけるしかないのでしょうか。
>>498 個人的にはWinsockじゃなくてSystem.Net.Sockets.Socketクラスを使った方がいいと思う。
501 :
デフォルトの名無しさん :03/12/16 16:52
>>499 WM_SYSCOMMAND の SC_VSCROLL とかが流れるっぽい。なので、それを
フックしてあげて、そのまま隣のリストビューに投げてやればよさげ。
>>500 激しく同意
>>501 システムのメッセージを扱うのは慣れていないので、
なるべく触れずに済ませたかったのですが、その方法を試してみます。
どうもありがとうございました。
503 :
デフォルトの名無しさん :03/12/16 23:53
VB.NETを始めたいんですが 購入するソフトとしては書籍に載ってる通りに Visual studio .NETを購入しなければいけないのですか? Visual Basic .NET standardでは駄目なんでしょうか? 違いが良く分かりません Visual studio .NETは高くて、とても買えないので
>>503 VB.NETだけなら、VB.NETだけで十分。
あぁ、違いも知りたいのか。StudioはVB以外にC#やC++などが付いている。 さらにいろんなツールが付いているが、勉強用や趣味用では大体不要。
オレはすごい発見をした。 Directory.CreateDirectoryはサブフォルダも一気につくることができたぞ
「やらないか」というファイルも一緒に出来てしまうのですが・・・
509 :
デフォルトの名無しさん :03/12/17 17:26
>>508 僕のPCだとその後
「イヤです」というファイルも一緒に出来てしまうのですが・・・
510 :
デフォルトの名無しさん :03/12/17 19:03
VB6とVB.netって同じPCにインストールできるんですか?
>>510 できま〜す。
今の所、私の端末ではそれぞれ問題なく動作しています。
512 :
デフォルトの名無しさん :03/12/17 20:32
>>511 そうなんですか、よかった♪
今からインストールします。
513 :
デフォルトの名無しさん :03/12/17 22:40
計算した結果をテキストボックスに 小数第1位まで表示してあとは四捨五入したいのですが どういう方法があるのでしょうか?
>513 System.Math.Round()
Roundはいわゆる「四捨五入」ではないよ。 やるんなら自前でやるしかない。
>>513 Dim MyDouble As Double =123.45678
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-us")
Console.WriteLine(MyDouble.ToString("F1"))
>>513 Imports System
Imports System.Globalization
Imports System.Threading
518 :
デフォルトの名無しさん :03/12/18 13:57
質問です。 VB6のラベルコントロールでは、 BackStyleプロパティでラベルの背景を簡単に透明にできましたが、 .NETで同様の事をしようとした場合は、どのような方法がありますか?
質問に補足をさせていただきます。 やりたいことは、ラベルに表示した文字だけが、 他のコントロールの上に浮いて見えるようにしたいのです。 よろしくお願いします。
520 :
デフォルトの名無しさん :03/12/18 14:20
>>519 透明色を使えるモードにし、
他のコントロール内にラベルをAddし、
ラベルの背景色を自作し、自作色のアルファ値を0(透明)に汁。
ヘルプでVB.NET語に翻訳すれ。
521 :
デフォルトの名無しさん :03/12/18 16:22
くだらない質問ですが ASP.NETでいったいどんな事が できる??
523 :
デフォルトの名無しさん :03/12/18 17:34
>>522 掲示板、eコマースサイト、コンテンツ管理、blog・・・要するに、Web アプリケーション
と呼ばれるもの。
524 :
デフォルトの名無しさん :03/12/18 17:41
>>523 なるほど、やってみたいのですが
必要なものはなんですかね??
525 :
デフォルトの名無しさん :03/12/18 18:28
>>524 Visual Studio/Basic/C# を買う、もしくは、WebMatrix をダウンロードして使う。
お試しって意味では、WebMatrix がお勧め。
OS は、Windows 2000/XP が必要ね。
>>520 VBでは上手くいきそうにありません。
PictureBoxにラベルを貼り付けて、ラベルの背景色を透明にし、
PictureBoxの画像や、親コントロールに書き込んだ文字を
透過表示させるといったことはできるようですが、
コントロールの外観を透過させることはできそうにありません。
できるとしても、かなり複雑な方法になりそうですね。。。
諦めます。 どうもありがとうございました。
StrConvを使わずに "012"→"012" にしたいのですが
528 :
デフォルトの名無しさん :03/12/19 01:00
>>527 If hoge = "012" Then
hoge = "012"
End If
529 :
デフォルトの名無しさん :03/12/19 01:53
DataGridを使って、フッターの所に合計を表示するような処理がしたいんですが、例えば 列が10行あって、各行に数字が入っていて、その合計をフッターの所にだすっていう 処理なんですけど、どなたか知ってればお教えください。
>>527 Format(CDec(s), New String("0", i)) とか?
531 :
デフォルトの名無しさん :03/12/19 11:14
もしかして、 "!,$" → "!,$" にできる?
>>526 背景を透明にできたんならそれでOKじゃ?
コントロールの外観ってなによ。
ボーダーなしにしてないだけなんじゃないのか?
Dim A, B, C, D As Integer と Dim A As Integer Dim B As Integer Dim C As Integer Dim D As Integer だったら速度の違いってあるんですか?
535 :
デフォルトの名無しさん :03/12/19 23:07
form1のtextbox1の内容をform2のtextbox1の 内容に反映するにはどのようなコードを書けばいいのですか?
>>535 form1で、textbox1というインスタンスを作って
文字列を入れてるんでしょ?
それと基本的には一緒。
StrConv関数はWinXPで誤変換を起こすことが・・・
538 :
デフォルトの名無しさん :03/12/20 00:18
>>536 すいません。全然わからないので
わかりやすく教えてもらえないでしょうか?
539 :
デフォルトの名無しさん :03/12/20 00:39
だれかマジで>535を教えて下さい。 コードで説明していただければわかりやすいかと 思います。よろしくお願いします。
540 :
デフォルトの名無しさん :03/12/20 01:31
>>539 コードで説明っていったってform1とform2の関係がわからないと
答えようがないと思うよ。
まあ、質問の仕方や内容からいってあなた自身がわかってないのだと
思うけど。
今は回り道だと思っても、まずはクラスとかインスタンスという概念を
理解するところから始めたほうがいいと思う。
541 :
デフォルトの名無しさん :03/12/20 01:41
>>540 そうなんですか・・・。
逆引きなどにも載っていなかったですしね。
インスタンスとか意味わからないですし。
出直してきます!
>>542 いや・・・マジですいません。
趣味程度でやってる者で・・・ちょっと限界かな??
545 :
デフォルトの名無しさん :03/12/21 03:26
>>544 一皮むけるにはどうすればいいのですか?
547 :
デフォルトの名無しさん :03/12/21 11:30
チンコの皮ならムケムケです
Visual Basic 言語リファレンス \ 演算子参照 \= 演算子 | / 演算子 | 算術演算子 | Visual Basic における演算子の優先順位 | 機能別の演算子一覧 | 算術演算子 (概念) 2 つの数値の商を計算し、結果を整数で返します。 number1 \ number2 指定項目 number1 必ず指定します。整数型の任意の数式です。 number2 必ず指定します。整数型の任意の数式です。 ------------------------- とあり、\は整数同士の割り算にしかつかえないので、 少数÷少数の計算はどうすればいいのでしょうか?
>>548 0.03/0.02を考えると、100倍して
3/2 → 1・・・1
で元に戻して
1・・・0.01
つまりは整数に直してやればいいんじゃないかな?ってこった。
>>549 ですね。
>>550 小数A÷小数Bで、AもBもケタすうがまちまちだったら、
Cstr(A)とかして、ピリオドの位置を探して小数点以下のケタ数を求めて、
それで何倍にするかを自動決定するプログラムをつくるしかないですかね?
それかまず普通に割る。 少数A/少数B. で整数部分だけ取り出す。 0.031/0.01315を考える。 0.031/0.01315=2.357・・・ で、2(w
余りは0.031-0.01315*2= で求まるはず。 飯
Mod 演算子を使って、2 つの数値の除算を行い、その剰余を取得する例を次に示します。どちらかの数値が浮動小数点数の場合、結果は剰余を表す浮動小数点数になります。 Dim myResult As Double myResult = 10 Mod 5 ' Returns 0. myResult = 10 Mod 3 ' Returns 1. myResult = 12 Mod 4.3 ' Returns 3.4. myResult = 12.6 Mod 5 ' Returns 2.6. myResult = 47.9 Mod 9.35 ' Returns 1.15.
>>552-554 割り算の記号には\のほかに/があって、/では小数を扱えることがわかったのでもういいです。
556 :
デフォルトの名無しさん :03/12/22 04:13
初心者です。よろしくお願いします。 数字がスペース区切りで並んだデータがあります。ただ、 2 56 3 14 33 9 2 31 55 1 134 9 21 2 のよう各行に何列あるかはばらばらです。 行数と最大列数は分かっています。 このようなデータを上手く読み込みたいのですが、 どうしたらよいのでしょうか? 教えてください。お願いします。
すいません、愚問だとは思いますが質問させてください。 VB.NETとVB6は別物なんでしょうか? 最近.netを使いはじめたのですが、近所の書店ではVB6の本しかなかったので これでもいいやと思い、本に沿ってやってみたところ ラベルの項目を変える.captionという項目がVB6の本には書いてあったのに .netではそういった項目が出てきません。 やなり仕様が違うのでしょうか…?
558 :
デフォルトの名無しさん :03/12/22 04:47
>>556 ReadLineメソッドで一行ずつ読み込みながら処理していく。あるいはvbCrLfなどの改行コードごとにSplitしたり。
ごめんなさいごめんなさい 過去ログ読んだら発見しました。 VB6と.netは別物なんですね。 マウスのコードで吊ってきます。
>>559 なるほど、ありがとうございます。やってみます。
さらに質問で申し訳ないのですが、
ここで読み込んだ数字を使って、
数字一つ一つについて、その上下左右の数字と足し引きなどを行い、
結果をもとの場所に返したいのですが、
どのようにすればよいのでしょうか?
隣に数字が無い場合には、0と演算をしようと思っています。
よく分からずに困っています。よろしくお願いします。
>561 特定文字で区切られた要素を配列に格納するには、 >559も言ってるけどSplitで出来る。 後はアルゴリズムの問題だろ。自分で考えれ。
>>562 わかりました。がんばってみます。
レスどうもありがとうございます。
564 :
デフォルトの名無しさん :03/12/22 15:13
糞初心者ですが、おながいします。 VB.NETで作ったアプリは、VB6.0アプリが動いていた端末でそのまま 動くでしょうか?やっぱ.net Frameworkが必要でしょうか?
566 :
デフォルトの名無しさん :03/12/22 16:26
これからプログラムを覚えようと思っています。 VBをやろうと思うのですが、ググった所でVisual Basic Professional 6.0が紹介されていました。 それを買おうかと価格.COMで探してみたのですが、価格.COMに載っていません。 Visual Basic .NET Standard 2003 というのがありましたがこれが後継ソフトなんでしょうか? そのサイトには高価と書いてあったのですが、 Visual Basic .NET Standard 2003の値段をみると1万7千円ぐらいです。 この価格ではアプリの価格としては普通より安いですよね? 7万とか10マンとかするVisual Studioというのがありますが 値段からしてVisual Basic Professional 6.0の後継はこっちですか? 教えてください。よろしくお願いします。
>>567 レスありがとうございます。
ああ、やっぱり値段からしてVisual Basic Professional 6.0の後継はVisual Studioでしたか…
こっちの値段はさすがに簡単にホイと買うわけにはいきませんね。
Visual Basic .NET Standard 2003ってどんな物なんでしょうか?
俺、これから初めてプログラムに触れるのですが、
最初はVisual Basic .NET Standard 2003で問題ないですかね?
こっちなら値段的にもすぐ手の出る値段なので、入門としてはどうでしょうか?
>>568 すんません、マジで知らんかったです…(´Д` )
>>570 どうもありがとうございます。
スレをざっと読んだ所、上のほうでも同じ質問が出ていました。
どうもすみませんでした。読まずに質問してしまいました。
早速Visual Basic .NET Standard 2003を買います。
ありがとうございました。
>>566 確かVB6.0って販売終わってたような。
今からVBやるんだったら、VB.netで間違いないと思う。
配列の要素の最大値を求めるにはどうしたら良いのでしょうか? 分からないので教えてください。 お願いします。
574 :
デフォルトの名無しさん :03/12/23 18:21
>>574 レスありがとうございます。
UBound()って最大添字を返す関数ですよね。
そうではなくて、配列に含まれる数字の最大値を求めたいのです。
分かりにくい言い方ですみませんでした。
よろしくお願いします。
>>575 Private Sub a()
Dim l_ia As Variant
Dim l_iIndex As Long
Dim l_iMax As Long
l_ia = Split("5 4 2 1 9 0 7 8 6 3")
l_iMax = -2147483648#
For l_iIndex = LBound(l_ia) To UBound(l_ia)
If l_iMax < l_ia(l_iIndex) Then
l_iMax = l_ia(l_iIndex)
End If
Next
MsgBox l_iMax
End Sub
>>576 どうもありがとうございます。
助かりました。
しかし、みなさんすごいですね。
みなさんはVBというかプログラミング歴はどのぐらいなのでしょうか?
私は3日前に始めたばかりの超初心者です。
先は長いなー。
578 :
デフォルトの名無しさん :03/12/23 22:56
何か明らかに解りきった事聞いてる餓鬼が少なくとも一人いるだろう。 そんなのいちいち馬鹿正直に答えてやる奴もどうかしてると思うが、 こういう餓鬼には自意識ってものがないのかね。 普通の神経なら、わざと幼稚なこと書いて答えてくれる奴をみて喜んでる「寂しい自分」 なんて哀れな自己イメージには耐えられんと思うが。
配列を宣言するとき、例えばx(0)からx(100)すべて値を0にしたいとき Dim x() As short = {0, 0, 0, 0, 0......0} のようにいちいち0を101個書かなきゃいけないのでしょうか?
>>577 「プログラミング歴」となると22年ぐらいになっちゃう。
VBは、.netはさわったことなくてVB6かVBAだけ。
普段はVC++かC#がほとんど。
>>579 Dim x() As short
ReDim x(101)
For i As Integer = 0 To Ubound(x)
x(i) = 0
Next
と書くしかない気がする。
でも、VBなら自動で0に初期化されてるハズ。。。
Array.Clear(x,0,x.Length)
583 :
デフォルトの名無しさん :03/12/24 18:52
>>576 とか
>>581 みたいに配列の全要素に対して処理をする場合は、
配列の添え字をForで回すんじゃなくて、例えば
For Each ArrayItem in HogeArray
'配列の要素(ArrayItem)に対する処理
Next
みたいに書くのが普通じゃないかな。それに
>>576 はMath.Max使ったほうが
簡単でわかり易いと思う。
584 :
デフォルトの名無しさん :03/12/24 23:00
ソフトを作って配る時はみなさんフレームワークを 同封しているのですか?
no
>>585 使えねーよ!とか言ってくる輩はいないのですか?
一般公開してないし。
589 :
デフォルトの名無しさん :03/12/25 01:14
スイマセンageマス
お。アカデミックパックあるんか。
592 :
デフォルトの名無しさん :03/12/25 08:16
>>591 なんで放置できんのかね。本当に分からなくて聞いてるとでも思ってるの?
それとも街頭で『お祈りさせてください』とかやってる「自分さがし君」の
同類なのかキミは。
593 :
デフォルトの名無しさん :03/12/25 10:31
>>592 なんでキミは「自分さがし君」なのかね。
それとも街頭の同類なのか。『させてください』
>>591 サマ
ありがとうございました
首吊ってきます
595 :
デフォルトの名無しさん :03/12/25 23:05
598 :
デフォルトの名無しさん :03/12/27 03:03
HOGEってなんですか。
日本語で言う「ほにゃらら」にあたる英語です
600 :
デフォルトの名無しさん :03/12/27 11:59
FOOは?
602 :
デフォルトの名無しさん :03/12/28 01:51
VB.NETで作ったプログラムは、 .NET Frameworksをインストールして無いPCだと動かないのですか?
教えて下さい。 1つの画像ファイル(bmp)から、指定したサイズ毎に 絵をとりだすには、どのようにすればよいのでしょうか? ※1つの画像に4個の画像がくっついているのを変数に分けたいたいのです。
TextBox1.Textの値とHScrollBar1.Valueの値を連動させたいのですが、 HScrollBar1.Maximum=200009 HScrollBar1.Minimum=1 HScrollBar1.Value=10000 TextBox1.Text=10000 Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles TextBox1.TextChanged HScrollBar1.Value = Val(TextBox1.Text) End Sub で以下のエラーがでます。↓ 'System.ArgumentException' のハンドルされていない例外が system.windows.forms.dll で発生しました。 追加情報 : '10000' は 'value' に有効な値ではありません。 'value' は 'minimum' と 'maximum' の間でなければなりません。 なんでエラーになるのでしょうか?
HScrollBar2.Maximum=30 HScrollBar2.Minimum=1 HScrollBar2.Value=15 TextBox2.Text=15 Private Sub TextBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles TextBox2.TextChanged HScrollBar2.Value = Val(TextBox2.Text) End Sub こっちだとエラーは出ないで、ちゃんと連動してくれてます。 ご教授お願いします。
>>604 白紙のbitmapオブジェクト4つ作ってそれぞれGraphicsオブジェクト(g)を(4つ)作る。
で
もうひとつ"1つの画像ファイル(bmp)"を入れるbitmapオブジェクト(bigbmp)を作る。
g.DrawImage(bigbmp,**位置を調節して**)
これを4個の画像についてそれぞれ実行。
>>605 わかんないねー。
↓
HScrollBar1.Maximum=200009
HScrollBar1.Minimum=1
HScrollBar1.Value=10000
TextBox1.Text=10000
↑これはどこに?
608 :
デフォルトの名無しさん :03/12/29 01:13
とあるアプリケーションを作っていて、 BGMを鳴らしたいが為にPlaySound文の使い方を勉強しました。 結果、PlaySound文ではwaveしか扱えず、mp3が使えない。 mp3やmidi等を使いたい場合、どの関数を使えばよいのか、 どなたか教えて下さい。著作権は侵害しません。
>>607 なるほどお。ありがとうです。
試してみます。
DirectX9.0b使用。 Microsoft.DirectX.AudioVideoPlaybackの参照追加とImports Dim a As New Audio("山嵐 - 山嵐.mp3") a.Play()
>>607 レスどうもです
Private Sub Form1_Load(ByVal ....略
HScrollBar1.Maximum=200009
HScrollBar1.Minimum=1
HScrollBar1.Value=10000
TextBox1.Text=10000
End Sub
です。わけわかめです。何か分かったらよろしくお願いします。
614 :
デフォルトの名無しさん :03/12/29 10:08
>>614 私ももう一度最初から作ってるんですけど、
確かに上記のコードだけならちゃんと動いてくれますね。
つまりどっかにミスがあるのかなぁ
色々いじって考えてみます。
ありがとうございました
>>605 スクロールバーのMaxかMinがどっかで変わっちゃってるんじゃないの?
エラーのでる行の前にMsgboxでも突っ込んで調べてみ。
最初から作り直して、コーディング→デバッグ→コーディング→デバッグ→コー・・・ って地道な作業繰り返していたのですが、結局エラーは出ませんでした。 全く同じ内容なはずなのですが・・・謎だ 一応解決できました。ありがとうございました
618 :
毛ブリ42歳 :03/12/29 18:01
VBでPocket PCの開発を勉強しようとしているものです。(VB.NETです) 参考書籍が皆無ですし、Web上で初心者向けのサイトを探しているのですが どこかいいところをご存じの方教えてください。
621 :
デフォルトの名無しさん :03/12/30 00:35
VB.NETでフラッシュ(swfファイル)を扱う方法を教えて下さい。 フラッシュ(swfファイル)は、アニメーションと、 簡単なキー判定だけを持っているものを使います。 VB.NET2003 AC Flash MX
初歩的で恐縮なのですが、 Dim N As Short = Val(TextBox1.Text) これを複数のプロシージャで扱うには どのようにすればよいのでしょうか?
623 :
デフォルトの名無しさん :03/12/30 08:24
>>621 なんかコントロールを探すことになるんじゃないかな?
ありがちなのは、WebBrowser + Flash プラグイン
>>622 意味がよくわからないんだけど、変数 N を他のプロシージャから参照
したいってこと?
それなら、フォームレベルの変数として宣言すればいい。具体的には、
フォームモジュールの頭(クラス定義内)で、
Private N As Short
とする。
>>623 Private N As Short だけなら、大丈夫なんですけど、
それといっしょに N = Val(TextBox1.Text) とやろうとすると
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
と怒られてしまうんです。
各プロシージャ内で N = Val(TextBox1.Text) と書かないと、
やっぱだめなんでしょうか?
625 :
デフォルトの名無しさん :03/12/30 09:44
>>624 だって、その時点では TextBox が存在しないわけだし。そういうときは、
フォーム上の各コントロールが生成された後の Load イベントなどで
やるのが定石。
値が変わらないのなら、各プロシージャでやる必要はまったくなし。
>>620 詳しく知らんがDataGridではあかんの?
627 :
デフォルトの名無しさん :03/12/30 13:18
>>622 それって、(仮にTextBox1がForm1にあるとして)Form1のTextBox1の内容(Textプロパティ)
に、他のフォーム(本当はフォームに限らないけど)からアクセスしたい、ってことでしょ?
旧VBだったら直接Form1上のオブジェクトのプロパティにアクセスすればよかったのですが、
(もっとも、旧VBであってもこういうコードを平気で書く人は「VB厨」と呼ばれて蔑まれても
仕方ないと思いますが。。).NETではそういう時は普通はTextBox1のTextプロパティの値を
返すようなパブリックプロパティをForm1に書きます。
で、多分上に書いていることが理解できないから質問しているんだろうけど、
それならオブジェクト指向の意味から勉強するか、そういうことを実現するのは
諦めたほうがいいと思う。変にグローバル変数なんかを使ってその場をやり過ごす
ことを覚えると、「VB厨」への道まっしぐらです。
理解できんな(ハゲワラ
Module Module1 Public frm2 As New Form2 End Module Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click frm2.Show() End Sub form1のbutton1をクリックすると、form2が表示されるんですが、form2を閉じた後に再び、 form2を表示しようとして、form1のbutton1をクリックすると、 「Form2" という名前の、破棄されたオブジェクトにアクセスできません。」 とエラーが出てしまいました。 form2を閉じた後も、再び表示できるようにするには、どうすればよいのでしょうか?
630 :
デフォルトの名無しさん :03/12/31 16:29
>>629 も一回生成すればいい。つか、エラーメッセージどおりだろ?
理解できんな(ハゲワラ
プロパティを入れ子にする方法キボンヌ これだとできないです。教えてエロイ人 Public Property Hoge() As String Public ReadOnly Property Count() As Integer Get... End Property Public Property Value(Byval n As Integer) As String Get... Set... End Property End Property
633 :
デフォルトの名無しさん :04/01/02 14:12
>>632 クラスを受け取るプロパティを作ればよいかと。
635 :
デフォルトの名無しさん :04/01/02 17:38
当方VisualStudioは2003のアカデミックを使用。 ついこの間、VB.NETの参考本買ったんですが、 その本についてたサンプルプログラムを動かしてみたら、 「旧形式です」のビルドエラーがちらほら出てきたんですが… 2002と2003でそんなに違うもんなんですか?
2003買ってないからわかんないや。
639 :
デフォルトの名無しさん :04/01/04 21:31
>>632 632はそれでいったい何がしたいんだと小一時間問い詰めたい。
もし、Hogeの中のCountというのがHogeの文字数を意図してるんなら、
HogeをString型にしてるんだから、
そのクラスのインスタンス変数.Hoge.Lengthで文字数は取れるじゃないか。
部分文字列を取り出したいなら、SubStringメソッド使え。
>>627 なんか目が覚めた。
初心者向けの本だけ読んで627の言う通りのことをやってきちゃったよ。
パブリックプロパティとか、オブジェクト指向について再考するよ。
マジ、ありがとう。
641 :
デフォルトの名無しさん :04/01/06 07:16
大変お忙しい中失礼致します。どうしても分からなかったので質問させてください。 ピクチャーボックス内の好きな位置に好きな色の点を打つというプログラムを作りたいのですが、うまくいきません。6.0の場合だと、 picture1.DrawWidth=10 picture1.Pset(x,y)=RGB(100,100,100) のようなプログラムになるそうなんですが(どこか間違ってるかも)。どうかよろしくお願いします。
642 :
デフォルトの名無しさん :04/01/06 20:27
TreeViewでラベルの右横に文字を表示するにはどうすればよいでしょうか。 Outlook Expressのツリーで、未読の数が表示されるような。
【VisualBasic.NET】質問スレのみなさんに質問です! 今私は学校の課題でMP3のタグエディタ(ID3v1)のプログラムを作ろうとしています。 テキストボックスに文字を入力してボタンコントロールを押すと(タイトル、アーティスト、コメント…etc) がMP3ファイルに書き込まれるような概要にしたいと思っています。 ・・・ですが、テキストボックスに書いた物をどのようにしてID3に書き込めばいいのかが まったくわかりませんでした。(4月から始め初心者ようの参考書も購入したのですが;;) ↑についてのアドバイスよろしくお願いします<m(__)m>
645 :
デフォルトの名無しさん :04/01/07 14:43
質問なんですが、VB6.0の時にあったDoEventって使えないんですね。 じゃあ、以下のような内容の時、どうすればTextBox1.Textの内容がカウンターのように1ずつ動くのか 教えて頂けないでしょうか。お願いします。 Dim i As Integer For i = 0 To 10000 TextBox1.Text = str(i) Next
646 :
デフォルトの名無しさん :04/01/07 16:09
>>645 Dim i As Integer
For i = 1 To 1000
TextBox1.Text = i.ToString
TextBox1.Refresh() '<--これ
Next
じゃだめ?
Public Shared Sub DoEvents() 次のメンバ : System.Windows.Forms.Application 概要 : メッセージ キューに現在ある Windows メッセージをすべて処理します。
648 :
デフォルトの名無しさん :04/01/07 17:29
教えて下さい m(__)m 今テキストファイルから StreamReaderのReadLine使って読み込んでいるんですが 半角カナがあると文字化けしてしまいます。 なにか設定が必要ですか?それとも別の方法で読み込むんでしょうか?
>>646 >>647 ありがとうございます。
これで内部で演算しているのか、単にフリーズしているのか
わかりやすくなりました。
>>644 さん、ありがとうございました。
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi, Pack:=1)> Public Class ID3tag
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=3)> Public ID() As Byte
<MarshalAs(UnmanagedType.ByValArray, Sizeconst:=30)> Public TITLE() As Byte
・・・・・・・End Class
ID3の構造体はこの様な感じでいいと思いますがTextBox1の内容を
ID3のTITLEに書き換えるプログラムがわかりません(ノ_・、)
**【ID3tag.TITLE.Items.Add(TextBox1.Text)】**
上の命令ではエラーがでてしまいます。どなたかアドバイスを宜しくお願い致しますm(__)m
651 :
デフォルトの名無しさん :04/01/07 18:16
スレ違いということを教えよう
653 :
デフォルトの名無しさん :04/01/07 19:01
>>652 失礼しました。別の所にカキコしてみますハイ。
654 :
デフォルトの名無しさん :04/01/07 19:20
>>641 ピクチャボックスに線を引くだけのプログラム
Dim g As Graphics=picture1.CreateGraphics()
g.DrawLine(New Pen(New SolidBrush(Color.Coral),0,0,30,30)
>>648 Encodeが適切で無いと見た。shift-jisの部分は適当にかえてくれ。
Dim sr As New StreamReader(てくすと , Encoding.GetEncoding("shift-jis"))
While sr.Peek()>-1
Console.WriteLine(sr.ReadLine())
End While
コンパイル通らんかったらスマソ
>>642 ラベルをハッつけるのは・・・だめ?w
>>655 shift-jisでできましたー
ありがとうございますー!!!
DatasetにFillでDBからデータを取得し、そのデータを 各テキストボックスにバインドしているのですが、この テキストボックスの値を画面から変更して、Dataset のupdateで更新したいのですが、肝心のDatasetの 方に変更が反映されません。どうしたらよいでしょうか? Windowsアプリケーションです。 DBはDB2で、OleDataAdapter(?)を使用しています。 1テーブルの全項目を各テキストボックスに出力して 画面で各値を変更してそれを更新するという、簡単な ものなのです。 DataGridではカラム数が多すぎ(100以上)て横長に なってしまうので上記のような方法にしてみたんですが、 他になにか簡単な方法があるでしょか?
658 :
デフォルトの名無しさん :04/01/08 00:35
フォームの表示位置と種類について教えてください Form1からForm2を開く際にForm1から少しずれて表示させるようにしたいのです。 Class Form1 Private Sub Button1_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Frm2 As Form2 Dim Frm1Point As Point = New Point Frm2 = New Form2 Frm1Point = Me.Location() Frm.Show() Frm2.Location = New Point(Frm1Point.X + 20, Frm1Point.Y + 20) Form2はme.closeで閉じる このようにすると、Form1を移動させてからButton2を押してもFrom2はちゃんとずれて 表示ます。また、一度From2を閉じてから再びButton2をしても大丈夫です。 しかし、これだと一瞬違う場所にでてから少しずれた場所に移動します。 これはShowが先にあるため当然だと思うのですが、そこでShowを最後にもってくると くるとlocationが反映されずに違う場所に表示されてしまいます。 また、ShowDialogにすると順序に関係なくlocationが反映されません。 できればShowDialogでForm1が触れないようにしたいのですがどうすれば よいのでしょうか。よろしくご教授願います
>658 Frm2.Location = New Point(Frm1Point.X + 20, Frm1Point.Y + 20) Frm2.Show() で普通にうまくいくと思うが。 Form2のStartPositionプロパティはちゃんとManualになってるかえ?
>>657 コマンドビルダでUpDateコマンドを生成してますか?
また対象のテーブルに主キーが無い場合は実行できなかったような記憶があります
環境が違うため正解となるかわかりませんが
Dim HogeCB As OleDb.OleDbCommandBuilder
HogeCB = New OleDb.OleDbCommandBuilder(MyDA)
HogeDA.Update(HogeDS,"テーブル名")
小生の場合DataSet内のDataTableを取得して
DataTabeのRowごとに更新かけています
誤:HogeCB = New OleDb.OleDbCommandBuilder(MyDA) 正:HogeCB = New OleDb.OleDbCommandBuilder(HogeDA)
教えてください。 コマンドプロンプトから nslookup -type=mx hoge.jp と打ち込むと、ドメイン名からメールサーバー名が確認できます。 vb.netで同じような機能のクラス、メソッドはないでしょうか?
663 :
デフォルトの名無しさん :04/01/08 18:15
>>659 Form2のStartPositionプロパティがdefaultのままでした。
Manualにしたらうまくできました。
ありがとうございました。
>>662 ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/frlrfSystemNetDnsClassTopic.htm
一応DNSクラスはあるね。でもできないくさい。あんましわからんが。
自前でSocketとか使ってやるべし。POP3プロトコルも専用クラスはなくて、
helo(だっけ?)とか送って通信しないと・・・だし。
っと適当なことを言ってみるテスト。
できるんかな?!わっかんねぇや
Windowsフォームでtextboxとbuttonを作成したら・・・ buttonはEnterKeyで実行できるのにtextboxはフォーカスが移動しない! なんで??TabIndexで次のtextboxはあるのに。 Web仕様??誰か助けてー
>>660 OleAdapterのプロパティでUpdateCommandを書いてます。
主キーがうまくとれず、ウィザードで自動生成されなかったので
手動で書きました。DataGridで更新はできました。
1画面1レコードを各テキストボックスに表示して、それらを
更新できればいいのですが。
>小生の場合DataSet内のDataTableを取得して
>DataTabeのRowごとに更新かけています
すみません。具体的にどういったコードになるのでしょうか?
VBの経験はまったくなく(Javaのみ)、チュートリアルを
みながら作っているのです。
テキストボックスの値を更新しても肝心のデータセットが更新
されないため、updateコマンドを発行しても空振りしちゃうんです。
DataGridを別に表示しておいて、テキストボックスを更新した
あと、DataGridの任意の列にフォーカスをあわせるとDataGrid
の中の値も更新され、その状態でUpdateコマンドで更新までは
できました。DataGridを使わずにDatasetの値を更新できないで
しょうか?
DataSetはAccessでいうMDBファイルのようなもので、DataTableはその内部のテーブル構造だと思って下ください hogeDT = hogeDS("テーブル名")で更新したいテーブルを取得して For Each vRow In hogeDT.Rows vRow.Items(0) = 更新値 Next でDataSet内の仮想テーブルを更新しています ここで更新されるのはあくまでもPC上のメモリのテーブルなので この後にDataAdapter.Updateで実際の更新をかけます これで更新がかからない場合はもしかしたらトランザクションの関係があるかもしれません どこかのコードでロールバックしてないか確認してみてください DataGridは使ったことが無いので良く解らないんですが もしかしたら内部に更新用の処理を持ってるかも???
>666 コーディングしない限り、フォーカスが移動しないのは当然だろ。 つーか何が言いたいのかワケわからん。 >667 APIのFindWindowとSetForeGroundWindowを使えば実現できる。 「FindWindow SetForeGroundWindow VB」でググればサンプルはいくらでも出てくるよ。 しかし、少し調べてみただけだけど、これ以外の方法は見つからないなぁ。 APIは使いたくないから他になんかいい方法がないものかね?
>>670 ありがとうございます。
ほとんど
>>667 の2のコピペなんですが、Me.Textを変更したら動きました。
以下のコードをForm_Loadに書いてます。
' 二重起動チェック
If existPrevInstance() Then
Me.Text = "二重起動"
MessageBox.Show("このアプリケーションは既に起動しています。", "二重起動禁止")
' トップレベルのウィンドウハンドルを得る。
lngFirstTophWnd = FindWindow(vbNullString, pCstStrAppTitle)
If lngFirstTophWnd <> 0 Then
' 直前にアクティブなウィンドウハンドルを得る。
lngFirstPophWnd = GetLastActivePopup(lngFirstTophWnd)
' ウィンドウをアクティブにする。
lngResult = SetForegroundWindow(lngFirstPophWnd)
' 最小化されタスクバーに格納されてある場合があるので、ウィンドウを通常表示にさせる。
lngResult = ShowWindow(lngFirstTophWnd, SW_RESTORE)
End If
End
End If
VB.NET開発と微妙にズレるますが、ご教授お願いします。
つい先日買った本のサンプルコードが
ttp://www.vbvbvb.net/jp/guide/ip/code.xml にあったんで、ダウンロードして実行してみたんですが
「SocketExceptionにハンドルされてない例外が、System.dllで発生しました」
ってエラーが出るんです。
友達に聞いたら、プログラムにエラーがあるか
レジストリが壊れてるかどっちかだと言うんですが、市販されてる本の
サンプルにそんなにエラーがあるとあんまり思えないんで…
他の人でもエラーが出るなら、プログラムの問題だと思って
新しい本でも買って勉強します。
エラーが出ないようなら、とりあえずOSの再インストールでもしてみたいと
思っているので、すいません、どなたか試してみてください。
古い話題になってしまうのですが、質問があります。 MP3がならなくて困ってます。過去スレも見ながらVBMP3.dllの付属の宣言モジュールを 書き換えているのですが、part1スレ460の 1:VBmp3.basをVBmp3.VBとしてプロジェクトに追加 2:type を Structure に置換 3:As LongはAs Integer 4:Byvalと書いてない関数の引数にByrefと書く 5:下記のようにStringのサイズを宣言 <StructLayout(LayoutKind.Sequential)> _ Public Structure InputInfo <MarshalAs(UnmanagedType.ByValTStr, SizeConst := 128)> _ Public szTrackName As String '曲名 のように書き換え、ファイルの文頭にImports System.Runtime.Interopservices をつけたのですが、ファイルオープンに失敗してしまいます。 それと、basファイル冒頭のAttribute VB_Name = "VBMP3"の部分の扱いがわかりません。 初心者なしれませんが、上記以外の変更など教えていただきたいです。
初心者な質問かもしれませんが、、、、、、でした。
675 :
デフォルトの名無しさん :04/01/10 00:39
TextBoxを動的にFormに追加する方法について教えてください データベースより取得したRecordsetの件数分、Textboxを追加し、Recordsetのフィールドの値をテキストボックスに代入したいのです。 Recordsetを取得してからの処理を以下に掲載します。 Dim i As Integer = 0 Dim UDColl As New Collection Dim oneTbxFdate As TextBox Dim FormUriageData As New UriageData '(←Form名) Do Until i = Koncnt '(←Recordsetの件数) Dim TbxFdate As New TextBox UDColl.Add(TbxFdate, i.ToString) i += 1 Loop rstkon.MoveFirst() '(rstkonはRecordset名) For Each oneTbxFdate In UDColl oneTbxFdate.Text = CStr(rstkon("Fdate").Value) '(フィールドの値) oneTbxFdate.Location = New Point(10 + i * 5, 10 + i * 5) FormUriageData.Controls.Add(oneTbxFdate) rstkon.MoveNext() Next Debug.Write("UDColl.Count=" & UDColl.Count) Debug.Write("Controls.Count" & FormUriageData.Controls.Count) FormUriageData.ShowDialog() 実行するとFormが表示された際にTextboxがひとつしか表示されませんが、そのTextboxには正常な値が代入されています。 Collection.Count、Controls.CountともにRecordsetの数と一致しています。少なくともControl.Countが増加しているということは、FormにTextboxが 追加されているはずだと思うのですが、どこがおかしいのかわかりません。 間違いを指摘していただくか、ほかの方法をご教授ください。(そもそもCollectionを使わなくてもできるとか・・・) よろしくお願いします。
676 :
デフォルトの名無しさん :04/01/10 16:18
windowsアプリケーションを作りたいです。 VBとVB.net どちらを勉強するべきでしょうか?それとももっと他のものでしょうか。
>>675 こんな感じではダメなんですか?
Dim TbxFdate As TextBox
rstkon.MoveFirst()
Do Until i = Koncnt
TbxFdate = New TextBox
TbxFdate.Text = CStr(rstkon("Fdate").Value)
TbxFdate.Location = New Point(10 + i * 5, 10 + i * 5)
FormUriageData.Controls.Add(TbxFdate)
i += 1
rstkon.MoveNext()
Loop
679 :
デフォルトの名無しさん :04/01/10 18:57
>>677 ご提示いただいたコードでできました!!
最初にそのようなコードで試したのですが、その際もTextboxがひとつしか
追加されなかったので、先に私が掲示したようなややこしいというか無駄なコード
にしてしまったのです。最初に試したコードをはっきりと記憶してないのですが、
TextboxのNewをDo Loopの外側にしてたのか何かだと思います。
どうもありがとうございました。
680 :
デフォルトの名無しさん :04/01/11 03:29
そもさん! テキストボックスの表示フォントのサイズをpixel単位で指定したいのですが、 テキストボックスのプロパティ上では指定できるものの、ダイアログボックス から変更処理をするとpoint単位になってしまいます。 変更ルーチン上で、textbox.font.unitプロパティを戻そうとしても、ReadOnly とのことではじかれてしまうのですが、どうすれば良いでしょうか。 先生がた、ぜひご教授ください。
681 :
デフォルトの名無しさん :04/01/11 14:27
>>680 桔梗屋かよ!(藁
フォントサイズをピクセルで指定ってなんか印刷プレビュー画面でも作らない限り
いらない気もするのですが、こんな感じかなあ。
1インチ = 72ポイント = 96ピクセル
∴1ピクセル = (72/96) ポイント
つまり例えば10ピクセル(に相当する?)のフォントを表示したいなら、
10 * (72/96) = 7.5 ポイントに設定すればいいんじゃないでしょうか。
ただし、厳密には1インチ = 96ピクセルってのはあくまでWinのデフォルト値に
過ぎず、たしか「画面のプロパティ」の設定で変わるからその点には
要注意かもしれません。
ていうかフォントサイズいろいろ変えたいのなら、フォームかピクチャーボックスに
描画したほうが良いような気が。
>>681 ありがとうございます。
メルマガ用の入力システムを作ろうかと思っていじっているのですが、
固定フォント(MSゴシックとか)を指定していても表示上は半角/全角
のサイズ比率が1/2ではない(文字数ドット分ずれる)ようなので、
どうにかならないものかと…。
(テキストボックスでunitプロパティをpixelにしたらなんとなくOK
でしたが、どうも考え違いっぽい…)
なるほど、直接文字をレンダリングしてしまえば良いんですね。
ご教授ありがとうございました。
ぽくぽくぽくぽく…
mshtml の使い方きぼんぬ Dim Document As mshtml.HTMLDocument Document.titile = "タイトルです" Document.body.innerHTML = "本文テスト <b>太字</b> <i>これは斜め</i>" とやってみるんですけど "オブジェクト参照がオブジェクト インスタンスに設定されていません。"ってエラーになるです。 要は HTML の文字列を Document にセットしたいんですけど。
>>683 mshtml とやらの事はサッパリ分かりませんが、
要するにインスタンスを作成しろって事なのでは・・・?
→ Dim Document As New mshtml.HTMLDocument
>>684 >Dim Document As New mshtml.HTMLDocument もだめですた。
さっきやっとMD5算出が・・・^^ 報告(誰にだか....)
687 :
デフォルトの名無しさん :04/01/13 02:33
6.0の頃のGETとOPENを.netではどう使ったらいいか分かりません。例えば、6.0だと Open fil For Random Access Read As #1 Len=256 (filはstringで定義) や、 Get #1,RNN,RdRdd (RNNはLong ,RdRddはRddで定義) のようなプログラムです。上はFileOpen,下はGET...END GET を用いればいいのかと思いましたが、うまくいきませんでした。 これじゃわかりにくいかもしれませんし、自分の使い方が間違ってるだけかもしれませんが、どちらのことでもほんの些細なことでもいいです。何かアドバイスを頂けませんか?
688 :
デフォルトの名無しさん :04/01/13 03:33
>>687 Open fil For Random Access Read As #1 Len=256
Get #1,RNN,RdRdd
は、
Open fil For Random Access Read As #1 Len=256:Get #1,RNN,RdRdd
と同じ結果が得られる。
689 :
デフォルトの名無しさん :04/01/13 11:20
Crystal Reports で質問があります。 テキストオブジェクトにデータが出力される際、 データがフィールド幅より長い場合にされる改行なのですが、 この改行が場合によって、下記のような妙な場所で改行されてしまいます。 <-------------------------フィールド幅---------------------------------> C:\Documents and Settings\user\デスクトッ プ\user1\myProgram\program1\xxxx\xxxxx\xxxxx\xxxx\ この改行位置はどうもならないんでしょうか? できれば一行目はフィールド幅いっぱいいっぱいに表示させるなどしたいのですが
690 :
デフォルトの名無しさん :04/01/13 16:36
>>689 英語と日本語でワードラップの仕様が異なるのが原因ぽい。
そういうときは、明示的に空白を入れるってのが解決策。
TextboxのReadOnlyについて Trueにすると実行時のユーザーとの対話においては変更不可。 コード内でのテキストのプロパティの設定は可能とのことですが、 ForeColorも変更可能なのでしょうか? TextBoxを動的にPanelに追加し、ReadOnlyをTrueにしているのですが BackColorなど変更できるのに、ForeColorが黒のままで変更できません。 以下、実行コードの抜粋です Dim TbxKinSum As New TextBox TbxKinSum.Text = CStr(Format(CInt(KinSum), "#,##0")) TbxKinSum.ForeColor = System.Drawing.Color.Blue TbxKinSum.TextAlign = HorizontalAlignment.Right TbxKinSum.Location = New Point(130, 10 + i * 20) TbxKinSum.Width = 50 TbxKinSum.ReadOnly = True DataPanel.Controls.Add(TbxKinSum) よろしくお願いします。
691です。 BackColorと同時に設定した場合はForeColorの値が反映しました。 とりあえずはやりたいことができたのですが原因が知りたいです。 BacKColorのみ設定→○ ForeColorのみ設定→× 両方設定→○(両方反映) ReadOnly=True既定のBacK,ForeColorに起因しているのでしょうか? ご存知の方がいらっしゃいましたら教えてください。
>692 関係ないかと・・・ Private Sub CheckBox1_CheckedChanged............... If CheckBox1.Checked = True Then TextBox1.ReadOnly = True Else TextBox1.ReadOnly = False End If End Sub Private Sub Form1_Click............. TextBox1.BackColor = System.Drawing.Color.White TextBox1.ForeColor = System.Drawing.Color.Black End Sub Private Sub Button1_Click............. TextBox1.BackColor = System.Drawing.Color.Red TextBox1.ForeColor = System.Drawing.Color.Blue End Sub Private Sub Button2_Click............. TextBox1.ForeColor = System.Drawing.Color.Blue End Sub これで普通にできましたよ
>693 すみません。同じようにやってみたのですが、ひとつ確認させてください。 Button2をクリックした時の順序は @CheckBox1をチェック(Backがグレーに変更される=ReadOnly) AButton1をクリックしてBack,Foreが反映 BForm1をクリックしてBack,Foreを白,黒に変更 CButton2をクリック でしょうか? これならできたのですが @Cの順序でやるとReadOnlyの色のまま変わりませんでした。 お手数ですが、再度教えていただけますでしょうか。 よろしくお願いします。
>694 どうもそのようですm(_ _)m Formクリックのイベントを間違って起こしてしまっていて 容易に"ForeColor"を変更できたようです。 解決ではないですが、一度でも"BackColor"を変更・明確に設定しておくと ReadOnlyをTrueにしても「"ForeColor"のみ変更可 "BackColor"が変更されない(グレーにならない)」 ので、デザイン時にBackColorをWhiteなど・・・に設定すれば良いのでは?
696 :
デフォルトの名無しさん :04/01/14 22:32
質問させてください。 VBAやVBScriptで使われるEval関数というものは、 VBには存在しないのでしょうか。 今使っているのはVB5なのですが、最新のVB.netには 実装されているのかと考え質問しました。 文字型の引数を評価して、ステートメントとして扱いたいのです。 たとえば[textbox1]というテキストボックスにxを変数とする 任意の関数を文字列として入力し、コードで strFx=Me![textbox1] for x= 0 to 100 i=eval(strFx) Me![textbox2] = i (中略) next x のようにしたいのですが。
697 :
デフォルトの名無しさん :04/01/14 23:02
質問です ユーザー定義型の配列変数を初期化したいのですが、 udtDCInfo()=0 で修飾子不正のエラーが出てしまいました。 何のステートメントを使えばいいんでしょうか…
板間違いました。取り下げます
>695 やはりそうでしたか。安心しました。 とりあえずはご提案されているような内容で対応しています。 でも・・気になりますよね。。 再試行していただきありがとうございました。
>696 ない。 されるのは次のリリースだってどこかで読んだ希ガス。
701 :
デフォルトの名無しさん :04/01/15 11:48
はじめまして。 VB.NETのWEBサービスでasmxと同じフォルダにあるファイルを読み込みたいのですが、相対で指定すると取得できません。 これは絶対パスで指定するしかないのでしょうか?
702 :
デフォルトの名無しさん :04/01/15 13:26
すみません。 DB接続なのですが、今までJavaだったのでJDBCドライバを プロジェクトのライブラリに入れてあげれば わざわざパソの環境にドライバをいれなくてもOKだったのです。 が、VBは違うのでしょうか? VB.netとかでODBCドライバなどをパソ環境にわざわざ設定せず DBに接続する方法はないのでしょうか? よろしくお願いします。
>>700 お答えいただきありがとうございました。
多少場違い化とも思いましたが、思い切って
質問してみました。本当に困っていたので、助かりました。
>702 .NET Framework さえ入れればADO.NETが使える。 ドライバを追加する必要がそもそもない……と思ってたけど、 漏れの認識は間違ってるかなぁ?
705 :
デフォルトの名無しさん :04/01/16 09:11
>>704 MDAC が必要だから、ドライバがまったく不要、ってわけではないね。
706 :
デフォルトの名無しさん :04/01/16 10:37
はじめまして。 Socket.Selectメソッドのような感じで、イベントの状態変化を 検知してくれるようなメソッドって無いですかね? 自分なりに調べてみましたが、無さ気なもんで質問させていただきました。
>>702 DSNの設定のことか?
MSSQLなら(たしか)ダイレクト接続できるがOracleなら無理
その他のDBはよくわからんが多分無理
708 :
デフォルトの名無しさん :04/01/16 13:27
709 :
デフォルトの名無しさん :04/01/16 15:46
DataGridの行ヘッダ (一番左にある固定行。">"見たいな文字が入力セル位置にあわせて移動するところ) に文字列を突っ込みたいんだけど、方法ないのかなぁ? なけりゃ、代替案として、">"列に文字列を突っ込まなくてもいいんで、 一番左を1列だけ固定行にする方法、ないですか?? DataGridTextBoxColumnのインスタンス作って、 こやつのReadOnlyをTrueにするのは思いついたけど、今一。。。
>709 DataGridにそんな器用なことはできないと思うのです。 高性能なGrid製品を買うのが一番手っ取り早い。
711 :
デフォルトの名無しさん :04/01/16 18:46
vb.NETで開発をしています 「C:\TEST\」にあるクリスタルレポートのファイル直接印刷したいのですが そういうことは可能でしょうか?
>>708 半年ぐらい前にOracle9でDriverキーワード設定してやったら激しく安定しなかったもので
安定稼動してるようであればスマソ
713 :
6.0→.net :04/01/17 15:47
6.0であったツール→プロシージャの追加というのは.netでは どうすればいいのでしょうか?初心者質問で申し訳ないです。
714 :
デフォルトの名無しさん :04/01/17 23:41
6.0でのショートカット Shift (+Ctrl) + F2 にあたる機能(定義へジャンプ/戻る)は vb.netでの統合開発環境には存在しないんでしょうか。 (一応過去ログ検索かけてみましたがHitしませんでしたので。かぶってたらすいません)
>>710 やっぱ、無理すかぁ。
あんなバカ高いGrid(FlexGridのことだ、ぐるぅぁ〜〜)
買えないもんなぁ。。。
Com使って、VB6時代のGrid、使おうか、思案中
717 :
デフォルトの名無しさん :04/01/18 12:34
>>714 あるよ。キーボードスキームを Visual Basic 6.0 にしておけば、同じ
ショートカットが利用できる。Visual Studio だと、キーボードショートカット
が違う。
718 :
6.0→.net :04/01/18 15:32
ないんですね。 >715そのようにします。
DBへの接続。 UDLだったっけ、 あれでいけるんじゃない? とりあえず、テキストファイル作って、拡張子をUDLに変更してみてください。
720 :
デフォルトの名無しさん :04/01/18 19:08
すみません。質問があります。ListViewなんですが、 まず、Form1に貼り付けたListView1に データを表示させることはできました。 Public Class Form2 Private Form2_Load(略) ListProc() 'Form2起動と同時にリスト表示 End Sub Private sub ListProc() ListView1.Items.Add・・・・ End Sub End Class 次に、下のようにしたのですが
Module Module1 Public gList As New ListView Public sub ListProc() gList.Items.Add・・・・ End Sub End Module ----------------------------------------- Private sub Form1_Load(略) ListProc() 'Form1起動時にリストを作成 End Sub Private sub Button_Click(略) Form2.ShowDialog() End Sub ----------------------------------------- Private sub Form2_Load(略) ListView1 = gList 'Form2起動時に、リストをコピー End Sub ----------------------------------------- リストが表示されてくれません。 コピー後、ListView1のプロパティとかをみると、 値は入っているようなのですが、表示がされません。 なぜなんでしょうか・・・
722 :
デフォルトの名無しさん :04/01/18 19:38
>>721 それはリストビューをコピーしてるんじゃなくて、リストビューの参照を
突っ込んでるだけ。アイテムを追加しなきゃだめ。
>>722 そ、そうなんですか・・・
すみません。レスありがとうございました。
724 :
デフォルトの名無しさん :04/01/19 00:34
>>717 できました。ありがとうございました。
質問に挙げたショートカット以外の操作も6.0のものが使えていい感じ。
やっぱ慣れ親しんだ操作の方が扱いやすいし効率もいい。
でも、最初は戸惑ってでも新しい環境に慣れたほうがいいのかなぁ・・・
VBでさえも、解説書(サイト)の説明で眠くなる・・・ やっぱディベロッパには向いてないのかな・・・ C++もDelphiもかじったけど、すべでだめぽ・・・
726 :
デフォルトの名無しさん :04/01/19 10:48
テキストボックスに入力されている文字が半角英数字のみか どうかって、どうやって調べるんですか?
727 :
デフォルトの名無しさん :04/01/19 11:39
.NETで ShellExecute って使えなくなったの???
728 :
デフォルトの名無しさん :04/01/19 12:57
動的に追加したコントロール配列にイベントを設定する方法を教えてください 追加したコントロールすべて共通でも、個々に設定でもどちらでもよいのですが・・ 具体的には Dim TxtBox() As TextBox = New TextBox(19) {} '20個のTextBoxを作成 Do-Loopの中でTextBoxのプロパティを設定して Me.Controls.Add(TxtBox(i)) 'MeはメインのForm というようにしています。 コントロール一つのみの場合は Friend WithEvents txtbox As TextBox を宣言して Private Sub txtbox(......)Handles txtbox.イベント ですが、配列の場合はどのようにすればよいのでしょうか? よろしくお願いします。
730 :
デフォルトの名無しさん :04/01/19 23:23
Pictureboxに写真をプログラムに載せたいのですがどう書いたらいいのでしょう? 写真はVBと同じフォルダに入れているのですが、指定の仕方がわからないです。 初心者です、よろしくお願いします。
>729 AddHandler TxtBox(i).Click, AddressOf Me.TxtBox_Click でTxtBox_Clickのコードを実行することができました。 お騒がせしました。
732 :
デフォルトの名無しさん :04/01/19 23:36
733 :
デフォルトの名無しさん :04/01/19 23:59
>>732 すいませんが、一文教えて頂けたら・・。meとかiとかdimとかもはっきりわからなくて・・
>>733 ヘルプで検索すれば、サンプルソースが載ってる。
735 :
デフォルトの名無しさん :04/01/20 15:57
質問です。 VB6.0だと、プロジェクトエクスプローラのところで、 右クリック→追加→既存のBasファイル 等で 共通basファイルを参照で追加できますよね。 でも.NETでこれと同じようにやると、プロジェクトフォルダの中に 追加したファイルそのものが新しく出来てしまい、共通化できません。 先のVB6.0と同じことをVB.NETではできないのでしょうか。
>>735 ソリューションエクスプローラでプロジェクトを選択し、
ソリューションエクスプローラのツールバーの
「すべてのファイルを表示」を押す。
で、淡色表示されたファイルを右クリックし、
「プロジェクトに含める」
ということで取り合えずなんか作ろうと思って三次の正方行列の 逆行列を求めるプログラムを作っていたのですが結構多くの手順が 必要になりそうなんです。わたしがやっているのは線形代数で習った (A|E)を簡約化していくとAの部分が単位行列になったときにEの部分に Aの逆行列が現れるという方法なんですけど1つの手順ごとに新しい 行列を用意してやっています。 何か無駄が多いように感じているのですがこれで正解?ほかにスマートな 方法はありますか?プログラム初めてまだ2日の超初心者なんですが よろしくお願いします。長々と失礼しました。
>>735 参照取り込みができないってこと?
それなら、ファイルを選択後、「開く」ボタンで確定するんじゃなくて、
その横の「▼」ボタンを押し、「リンクファイル」を選択すればOK。
739 :
デフォルトの名無しさん :04/01/20 19:16
740 :
デフォルトの名無しさん :04/01/20 19:53
Cだと、 /* コメント1 コメント2 */ なんて、あったけど、 VBって複数行にコメント打つ場合 どうするんだYO! ’ ’ ’ ’ ’おねがい教えてください。
742 :
デフォルトの名無しさん :04/01/20 21:41
>>737 ここは房の集まる場所だから大学レベルの数学は・・・
743 :
デフォルトの名無しさん :04/01/20 21:53
昨日も似たような事質問したんですが、背景に使う写真を使うのに、 「挿入」ってやってできますか?ヘルプにそのような事が書いてあった んですが、挿入ボタンが見当たらなくて読み違いかと思ってるんですが・・
>742 そうですか‥ 誰かわかる人いたら答えてね! またあとで覗きに来ます。
745 :
デフォルトの名無しさん :04/01/21 00:51
>>742 逆にそんな方法で逆行列を求めるコードが書けるってのはある意味すごいな。
もっと機械的に求める方法って線型代数の本に書いてあると思うんだけど。。?
746 :
デフォルトの名無しさん :04/01/21 02:10
>>745 >>737 がいっているのが線形代数の本には書いてあったと思うが?
(A|E)→簡約化→(E|A^-1)というのじゃなくて?
>>737 一般的なやつを紙の上で計算して公式みたいにしちゃったら?
ベクターエンジン積んでるコンピュータってどういうプログラム書くんだろう・・・ 教えてエロイ人
>739 最初のほうしか見てないけど、 結構基本的なところから始めてるね。初心者にも優しい。 色んな情報があるみたいだし、サンプルもある。 いいんじゃねぇの? 英 語 が 苦 な く 読 め る な ら な 。 日本語版は出ないんだろーなぁ……
>>746 だから間違ってる(線型代数の本にそんなこと書いてない)なんて言ってないよ。
もっと機械的に解ける、つまりコードにしやすい別の方法があるでしょ、って話。
それにその方法だと誤差の問題もあるんじゃない?
早い話コーディングの問題というより数学の問題じゃないのかなってこと。
750 :
デフォルトの名無しさん :04/01/22 11:32
DatSel()関数でマーシャリングのエラーになってしまいます。どこが悪いかご教授願います。 Public Structure S_DAT <VBFixedArray(9)> Public Sdate() As Byte Public Sub Initialize() ReDim Sdate(9) End Sub End Structure Public Declare Function DatSel Lib "MORE.dll" ( _ ByVal nm As String, _ ByVal fl As Integer, _ ByRef Sdate() As S_DAT _ ) As Integer ret = DatSel(nm, fl, SdateDat) ************** 例外テキスト ************** System.TypeLoadException: 型 SDATE_DAT のフィールド Sdate をマーシャリングできません : この型は構造体フィールドとして、マーシャリングできません。 at MORE.modMORESTORE.DatSel(String& nm, Int32 fl, SDATE_DAT[]& Sdate) at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl()
751 :
デフォルトの名無しさん :04/01/22 16:11
ちょっとお邪魔します、、、 配布先PCでクリスタルレポートを開くと [Cannot Find KeycodeV2.dll, or invalid keycode]というエラーが出ます。 regwiz.msm に License Key の設定もしてあります。 設定するキーはメールで送られてきた形をそのままコピペすればよいのですよね? カンマでくくらなければならないとか、そういう特別なことはするのでしょうか? 初歩的な質問かもしれませんが、行き詰まっています(涙 ちなみにCR9,VB.net2003,Win2000の環境です。 どなたかわかりましたら助けてください。よろしくお願いします。
>750 過去スレに 構造体の中に構造体の配列があるとダメ という情報があったぞ。それとは違うかね? 初代の最後とPart2の最初にあるはず。 確認してみては?
リレーションを定義したDataViewで、子テーブルの条件にしたがってフィルターをかけたいのですが、 DataViewのRowFilterの書き方がわかりません つーか子テーブルの値を参照する方法もわかりません グーグル検索でもはっきりしたやり方は探せませんでした どなたか助けてください・・・
ずばり質問します。 Visual Basic時代のテクニックややり方や、プロジェクトファイルは 活用することが出来ますか?
申し訳ない。質問させて下さい。 PL/SQLのストアドDBにアクセスし、複数レコードを一度に取得したいと思います。 その際VB側ではどのようにコールすれば宜しいか ご存知の方おられたら、回答していただけますでしょうか? がいしゅつだったらすみません。
>>758 Oracleのストアドを呼び出して複数のリザルトセットを取得ってことでスカイ?
For i=1 to 5 Dim sr As StreamReader = New StreamReader(Dfile2) Dim line,lineAll As String Next DimがFor Nextの中にあるのに 変数srはすでに宣言されています というエラーがでないでちゃんと動くのはなぜですか?
>>760 明らかに解ってて聞いてるでしょ。
そんなにしてまで「誰かに相手にされたい自分」に悲しくならないの?
SaveSetting等でレジストリに保存する
>757 RowFilter 値を作成するには、列名の後に演算子とフィルタ処理をする値を付けて指定します。 値は引用符で囲む必要があります。 って書いてあるじゃん。 つーか使用例にそのままのが載ってるじゃないか。 >DataColumn.Expression こっちでも出来るけど、列名指定はいらない。当然だけどね。 理由がわからないようならDataTableとDataViewについて理解を深めたほうがいいと思われ。
>>765 その検索する列名に子テーブルの列を指定する方法がわからないのです
DataView.RowFilte="Order = 'hoge'"
では、列名[Order]が見つかりません。 とエラーが出ます
>766 指定方法はそれで間違ってないはず。 RowFilter以外の場所が悪いんだろ。 DataColumnを調べてあなたがOrder列だと思ってる列の名前を確認すれ。
動的に作成したDataGridに サブウウィンドウから値を渡して行を増やしたいのですが そういうことは可能なんでしょうか?
配列の配列を使用して動的にLabelを作成したのですが、 LabelがClickされた際のイベントをすべて共通のイベントで処理したいのです。 @AddHandlerおよびAddressOfの指定方法 Aクリックされたラベルがどの配列に格納されているのかを取得する方法 (共通のイベントの中で条件判断を行うため) 例えば、 Label(0)=Label0(3)、Label(1)=Label1(5)、Label(2)=Label2(7) があり、Label(1)(2)のラベルがクリックされた際に Label(X)(Y)のXにあたる値を取得したいのです。 各配列ごとの@はわかるので、 現在は各配列を追加する際にLabel.NameにXにあたる値を含めて無理やり 取得しているという非常に情けない状態で動いてはいるのですが・・ よろしくお願いします。
>>767 レスありがとうございました
もう少し勉強してから出直します
DataColumについてあんまり理解してないんだろうと思います
以前に三次の逆行列のプログラムについて質問したものです。 がんばって作ったのですが答えが合いません。間違いがあったら 指摘してください。 For k = 1 To 3 P = A(k, k) For i = k To 6 A(k, i) = A(k, i) / P Next i For i = 1 To 3 If i <> k Then For j = k To 6 A(i, j) = A(i, j) - x * A(k, j) Next j End If Next i Next k
>768 DataGridがPrivateならフツーに出来ると思うけど? >769 Label(1)(2)ってのは何? よくわかんないけど、Label作成時に配列の位置をTagプロパティに入れるとか。 クリックした場所はイベントのsender引数に入る(と思う)から、 そのオブジェクトが持ってるTagプロパティで条件分岐。 検討外れだったらスマソ。
携帯から失礼します。 VB.netとCで作るDLL間で構造体の配列の受け渡しをしたいのですが上手くできません。 どうすれば実現出来るか知っている方いますか? VB6ではAs Anyを使ってたのですがVB.netへ移植したら出来なくなってお手上げ状態なんです
誰か助けてください! 大学でレポートが出されまして、これが明日までに出来ないと留年してしまいます! どなたか宜しくお願いします・・・・(T_T) 配列Aのデータをソートせよ。ただしAの入力は Void getdata(int *n,double *a) を呼び出せば入力できるものとする。 っていうものです。このままでは本当に留年が確定してしまうのでどなたか助けてください・・・・・
775 :
デフォルトの名無しさん :04/01/28 14:10
>>773 Marshal すれば、Any でも渡せる。
>>774 VB じゃポインタは使えません。さようなら。
776 :
デフォルトの名無しさん :04/01/28 14:12
>>775 > VB じゃポインタは使えません。
ネタ?
ネタにしてもちょっと寒いな
778 :
デフォルトの名無しさん :04/01/28 18:53
>>775 >Marshal すれば、Any でも渡せる。
お前嘘つきだな
Directory クラスは、ディレクトリのコピー、移動、名前変更、作成、削除などの一般的な操作に使用します。 Directory クラスは、ディレクトリに対する作成、アクセス、および書き込み操作についての DateTime 情報の取得および設定にも使用できます。 Directory のメソッドはすべて静的であるため、1 つの操作を実行するだけであれば、 File のメソッドを使用する方が、対応する DirectoryInfo のインスタンス メソッドを使用するよりも効率的な場合があります。 ---------------------------------- この文に出てくる静的とはなんですか?
dim di as new DirectoryInfo("ファイル名とか")'インスタンスを作る。 di.メソッド 'インスタンス.メソッド がインスタンスメソッド Directory.メソッド 'クラス名.メソッド が静的メソッド(インスタンスを作らない) の違い。
質問です リターンキーを押した場合 とにかく次のインデックスへフォーカスをいどうするということは出来ますか? そのときにより使用できるコントロールが異なるので それぞれ記述するとものすごくめんどくさいんです
>>781 SelectNextControlメソッドでいけると思いますよ
784 :
デフォルトの名無しさん :04/01/29 07:52
>>778 UnmanagedType.AsAny って知ってる?
>>778 それを使ってアンマネージDDLと構造体配列の値の受け渡しができますか?
<VB.net>
Public Structure DAT
<VBFixedString(10), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=10)> Public ch() As String
Public Sub Initialize()
ReDim ch(9)
End Sub
End Structure
Public Declare Function GetData Lib "AAA.dll" ( _
ByRef Dat As DAT _
) As Integer
Dim Dat As DAT
Dat.Initialize()
ret = GetData(Dat)
For i = 0 To 9
Msgbox(Dat.ch(i))
Next
<C>
typedef struct{
char chr[10];
} DAT;
extern int WINAPI GetData(char *buf ) {
DAT *ptr = (DAT*)buf
for (i=0;i<10;i++) {
memcpy(ptr + i, 編集データ, sizeof(DAT));
}
}
こんにちは。VB.NET 2003初心者です。 構造体のメンバのサイズをLenで調べようとしてますが、 0が返ってきて困ってます。以下がコードです。 型宣言は、 Public Structure strMsgStruct <VBFixedStringAttribute(10)> Public member1 As String <VBFixedStringAttribute(10)> Public member2 As String End Structure で、実体宣言は、 Dim msgStruct As strMsgStruct で、サイズ取得部分は、 Len(msgStruct.member1) です。 ちなみに、そのメンバに、何か値を代入すれば、その長さがlenで返ってくるのですが・・・。 (値を代入するまで、そのメンバがNothingになってるのがまずいんだと思う。) もしかするとLen以外に何か在るのかな?
そもそも固定長になってないことが判明しました。 よく見たら、<VBFixedStringAttribute(10)>って、ファイルI/O用途以外は関係無いとヘルプに在りました。 ファイルI/Oの用途以外で固定長文字列の構造って定義出来ないんですかね・・・? メッセージ電文とかでは必須ですよね・・・?
>>788 Public Structure strMsgStruct
<VBFixedString(10), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=10)> Public member1 As String
<VBFixedString(10), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=10)> Public member2 As String
End Structure
Dim msgStruct As strMsgStruct
msgStruct.member1.Lengthで取れないですかね?
「型'MarshalAs'が定義されていません。」とコンパイルエラーが出ます。
System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr,〜 もしくは、頭に Imports System.Runtime.InteropServices を追加
792 :
デフォルトの名無しさん :04/01/30 00:28
WEBアプリを作成しています。 DataGridの一部のセルの色を変えたいのですが方法がよくわかりません。 調べてみるとオーバーライドしたクラスを作る、みたいなことが あるのですが。。。 直接プロパティをコードからいじれないのでしょうか? リストをループ表示させているときにある条件にマッチしたら色を変えたいです。 あとDataGridの特定セルのコントロールを非表示にしたりできるでしょうか? 文字列:文字列:文字列:ボタン:ボタン:ボタン という配置でコントロールブレイクを使用してループ表示。 ブレイクしたときにその1行のボタンを非表示にしたいのです。。 どなたか、お願いします。
>>791 度々すんません。変数を参照した時点で、
'System.NullReferenceException'のハンドルされていない例外がxxxx.exe
で発生しました。
追加情報:オブジェクト参照がオブジェクトインスタンスに設定されていません。
と出ます・・・。
>>793 >変数を参照した時点で、
その構造体はVB.net内部でのみ使ってるのかね?ひょっとして参照する前にインターフェースに使用してる?
>>793 仕様がいまいち分からんのと今手元に.net無いからわからんけど
↓でもだめかい?
Public Structure strMsgStruct
<VBFixedArray(10), MarshalAs(UnmanagedType.ByValArray, SizeConst:=10)> Public member1 () As Byte
<VBFixedArray(10), MarshalAs(UnmanagedType.ByValArray, SizeConst:=10)> Public member2 () As Byte
Public Sub Initialize()
ReDim member1(9)
ReDim member2(9)
End Sub
End Structure
Dim msgStruct As strMsgStruct
Dim Strmember1 As String
'初期化
msgStruct.Initialize()
For i = 0 To 9
msgStruct.member1(i) = 32
msgStruct.member2(i) = 32
Next
<
此処になんらかの処理があるんだろ?
>
Strmember1 = Trim(System.Text.Encoding.ASCII.GetString(msgStruct.member1))
Strmember1.lengthで取れると思うがだめかい?
797 :
デフォルトの名無しさん :04/01/30 10:33
誰か構造体の配列データをDLLから受け取る方法教えてください。 できればサンプルがあればいいのですが
>>797 同じようなことをやってるWin32APIのインポート例がどっかにあるだろ。
799 :
デフォルトの名無しさん :04/01/30 12:09
>>798 う〜ん...VB.netの情報って少ないんですよね〜
探してあれば苦労しないのですが...
アンマネージDLLからの構造体配列データの受けは無いんですよ。
800 :
デフォルトの名無しさん :04/01/30 12:51
すみませんが教えて下さい。Excelファイルをデータテーブルに読み込みたいのですが MyConnection = New System.Data.OleDb.OleDbConnection( _ "provider=Microsoft.Jet.OLEDB.4.0; " & _ "data source=" & FileName & "; " & _ "Extended Properties=Excel 8.0;") Dim MyCommand As System.Data.OleDb.OleDbCommand Dim MyAdapt As New System.Data.OleDb.OleDbDataAdapter DTable = New System.Data.DataTable ' Select the data from Sheet1 of the workbook. MyCommand = New System.Data.OleDb.OleDbCommand( _ "select * from " & name, MyConnection) MyAdapt.SelectCommand = MyCommand MyAdapt.Fill(DTable) とやって 文字列は読込むのですが 数値などが入ったところは全てnullになって しまいます。 全てを文字列として読込むには どこに何を設定したらよいのでしょうか?
801 :
デフォルトの名無しさん :04/01/30 17:46
On Error Resume Nextでエラーを流してしまっているときに ふたたびエラーが起こるようにしたい場合は On Error GoTo 0 と On Error GoTo -1 の2行を書かなければなりませんか? それとも On Error GoTo 0 の1行だけ書けばOn Error Resume Nextを書く前の状態にもどれますか?
803 :
デフォルトの名無しさん :04/01/30 20:03
VBでbtn1, btn2, btn3...........btn100と、ボタンを100こ作りたいとすると、 loopでまわして、書けるのかなと思ったのですが、配列にしても どうやってもループで100こつくることができません・・・どうやったら いいのでしょうか?
>>803 こんな感じ。
Dim btn(99) As Button
Dim k As Integer = 0
Do Until k = 100
btn(k) = New Button
btn(k).Location = New System.Drawing.Point((k Mod 10) * 25, (k \ 10) * 25)
btn(k).Size = New System.Drawing.Size(25, 25)
btn(k).Text = CStr(k)
Me.Controls.Add(btn(k))
k += 1
Loop
805 :
デフォルトの名無しさん :04/01/31 16:29
マウスカーソルの位置をピクチャボックスの左上端を 原点にして取得するにはどうすればいいのでしょうか
>>805 mouse_moveイベント等で
e.X e.Y
で取れない?
807 :
デフォルトの名無しさん :04/02/01 04:57
808 :
デフォルトの名無しさん :04/02/01 07:43
VB7は、いつ発売されるの。アメリカではもう発売されてるの。
809 :
デフォルトの名無しさん :04/02/01 07:56
class オブジェクトでデータベースの関数を1本化したやついるか。
810 :
デフォルトの名無しさん :04/02/02 01:07
>806 thx
811 :
デフォルトの名無しさん :04/02/02 01:15
axWebBrowserコントロールでIEのお気に入りを 表示するにはどうすればいいんでしょうか
現行のVisualStudioはVS8だな
813 :
デフォルトの名無しさん :04/02/02 09:24
○ 今だに、VB6.0を使用しているが、VB.netへの移行はむずかしいのか。 ○ 金融、保険、その他のシステムの開発は VB.netに移行しているのか。 だれか教えて。
814 :
デフォルトの名無しさん :04/02/02 10:08
教えて下さい。 Socketサーバを開発しているのですが、クライアントの接続要求毎に 通信を処理するThreadを立ち上げ、処理終了後にThreadを終わらせる ようにしたいのですが、Threadの管理はどのようにすればよいのでしょうか? thrThreadを配列で持てばいいのか・・・? ↓ thrThread = New System.Threading.Thread(AddressOf ReceiveData)
815 :
デフォルトの名無しさん :04/02/02 11:05
>>813 ソースの変換という意味での移行は不可能に近い(リソースの移行は努力次第)
金融(銀行)ではユニシスが.netのシステムを受注してる
817 :
デフォルトの名無しさん :04/02/02 22:42
>>796 すんません。仕様を変更して、固定長でなく、CSVにしてしまいました。
なるほど。.NETで固定長を使おうとすると、そんな感じになるんですか。
Cで使うヘッダファイルみたいに、実体が無くても簡単に構造体のメンバの
サイズは取れないんですね〜。
そうすると、固定長の扱いはVB6の方が楽ですね。
.NETのドキュメントにある、「.NETからは固定長を使うな」
という旨の一節の意味が理解出来た方、いらっしゃいますか・・・?
821 :
どっどくり :04/02/04 13:55
.netで開発している物です。 クリレポのデザイン時に下の用紙(白色)が 右に広がらないんですが、無理なんですか?
822 :
デフォルトの名無しさん :04/02/04 14:52
簡単なランチャーを作ってるんですけど アイコンをドロップして登録するタイプにしようと思ってるんです でもそのアイコンの取得方法がわかりません つД`)どなたかわかる方いませんか
823 :
デフォルトの名無しさん :04/02/04 21:54
質問というか、暇な方がいたらちょっと確認していただけると助かるのですが、 なんかNumericUpDownってツールチップ設定しても表示されないことないですか? 私の環境だけ?
824 :
デフォルトの名無しさん :04/02/05 11:02
>>821 用紙の余白設定を変えると勝手に広まったり縮まったりするみたい。
825 :
デフォルトの名無しさん :04/02/05 15:22
正規表現について教えてクンです \COMMANDNAME FILENAME XXXX XXXXX XXXXX ... というコマンドを正規表現で分解したいのですが、どう書いたらいいのでしょうか? 因みにグループっていうので値も取得しようとしております。 <C#だけど正規表現は同じなので気にしないで> Regex r = new Regex(@"(?<commandname>\w+)\s+(?<filename>)\s", RegexOptions.Compiled); "\COMMANDNAME" と "FILENAME"の部分だけ取得したいのですが XXXXXの部分は捨てたいです どしたらいいの??
826 :
デフォルトの名無しさん :04/02/05 19:16
VB.Netで2次元配列をパラメータとして渡す記述がわかりません。教えていただきたいです。
>>823 あ、ホントだ。 ShowAlwaysでもダメぽ。
>>826 Private Sub Monar(ByRef Teston( , ) As String)
とかじゃダメなの?
配列ではなく、時にはコレクションも使うように・・・と一応言ってみた。
コントロールが重なる場合の表示優先順位について。 優先順位を設定するプロパティはあるのでしょうか。 それらしいものが見当たらなかったのですが・・・ デザインでは後から作成したコントロールが手前に表示されますが、 実行時に動的にコントロールを追加した場合、逆に先に作成(New)した方が手前に表示されます。 よろしくご教授願います。
830 :
デフォルトの名無しさん :04/02/07 00:39
>>829 まずはコントロールを選択してから右クリック汁!
そして出てきたポップアップメニューの真中あたりの項目を凝視すべし。
それでも分からなかったらプログラミングは諦めたほうが吉かと。
>>829 親コンポーネントにAddされた順も影響しているようですね。
とりあえずはBringToFront、SendToBackというメソッドで制御できるようです。
ウインドウのサイズに合わせてその中身もリサイズするにはどうすればいいでしょうか?
AnchorとDockを調べる
>831・830 BringToFront、SendToBackでできました。 どうやら、Newした順は無関係でAddされた順に影響しているようでした。 デザイナで変更した場合もAddの順番が変わっていました、 Newに捉われていてAddの順番に気づきませんでした。 どうもありがとうございます。
MDIのブラウザを作っていてます。 ここで困ったことがあるんですが、ページは表示できるのに、 ページの検索ボタンやリンクをクリックするとIEでそのページが開いてしまいます。 MDIの中に新しくページを開いたり、その開いてあるページで指定した先を開くにはどうすればいいんですか? それと、ウェブページを開くのはScriptBridgeを使っていますが、これを使っている限りでは解決しないんですか?
メモリがちゃんと開放されたかどうか、調べる方法はないんでしょうか。
>>835 NewWindow2ってイベントがIEコンポーネントにあるから、その引数eをe.Cancel=trueにする。
WindowsXPでVB.netを 「ひと目でわかる Microsoft Visual Basic.NET 入門」 っていう本読みながら学ぼうと思うんだが、 肝心のVBがパソコンに全く入っていない! どっかでダウンロードできない?
>>839 VB.net(Visual Basic.NET)は、有料です。
最新版の2003のVB.netだけ(単体)なら15000円くらいあれば買えます。(問題は無い範囲での制限はちょっとある)
学生の場合、単体で7000円くらいで売ってます。
ダウンロードはMicrosoftのMSDNからダウンロードできますが、契約(有料)しなければなりません。
お金払わずにソフトを作りたいなら、Borland社がいくつかの制限を含んだ(ex.シェアウェア配布不可)
などをつけた物を配布しています(要情報登録)。
ただし、これはDelphiやBorland仕様?のC#等、Visual Basicとは違います。
このほかに無料のソフト開発環境はJavaが有名です。
お店で買おうと思ったんだけど、 何で学生は安くなるの?
843 :
デフォルトの名無しさん :04/02/08 23:49
すみません、VisualBasic.NETなんですが、 テキストボックスの高さだけ、変えることができません。。 なぜでしょうか?教えてください・・(_ _(--;(_ _(--; ペコペコ
844 :
デフォルトの名無しさん :04/02/09 00:00
>>843 なぜってそういう「仕様」っすよ。
でもMultiLine(だったっけ?微妙に違うかも)ってプロパティTrueにすれば
高さ自由に変えられるんじゃないかな。
まあ、(必要なら)Enter押された時の処理書いてやらないとならなくなるけどね。
845 :
デフォルトの名無しさん :04/02/09 00:00
親画面(form A)にはコンボボックスとボタンAがあります。 子画面(form B)にはTextBoxとボタンBがあります。 ボタンAを押すと子画面を表示し、 TextBoxに文字列を入力後、ボタンBを押すと、子画面を閉じ、親画面のコンボボックスにTextBoxに入力された文字列を追加します。 こんなものを作りたいんですが、うまくいかないので教えてください。 お願いします。
846 :
デフォルトの名無しさん :04/02/09 00:04
>>845 もうずっと激しく既出杉。
OO勉強する気がないならNetでそういう処理は諦めましょう。
>>844 ありがとうございます!!すみません、、こんなくだらないことで。。
でも、なんで、テキストボックスだけこんな仕様なんですか??
visualbasic6では、普通に変えれたのに・・・
848 :
デフォルトの名無しさん :04/02/09 00:08
>もうずっと激しく既出杉。 そうだろうとは思っていたんですが、時間がないものであせって聞いてみました。
849 :
デフォルトの名無しさん :04/02/09 00:17
>>847 入力した文字に対してテキストボックスが高すぎたり低すぎたりしたら
カッコ悪いからでしょう。(.NETだと、TextBoxの高さはフォントによって決まるみたい)
まあ、余計なお世話な気もしますけど。
VB.netからCでつくったDLLに配列要素を参照渡したいのですが上手くいきません。 "オブジェクト参照がオブジェクト インスタンスに設定されていません。" というエラーが出ます。 C側の宣言は、 _declspec(dllexport) int _stdcall function1(int *a); で、a[20]の配列に値を入れてVB側で読み出したり、逆に値を渡したりしたいのですが・・・。 VB側では、標準モジュールに Public a(50) As Integer Public Declare Function funtion1 Lib "my.dll" (ByRef a() As Integer) As Integer Call function(a) とやってみたり、 Public Declare Function funtion1 Lib "my.dll" (ByRef a As Integer) As Integer Call function1(a(0)) とやってみたりしたのですが実行すると上記のエラーでとまってしまいます。た・す・け・て
失礼しました。 自分の頭に問題があったことが分かったので、自己解決できました。
誰も突っ込まないのか・・・。
>>843 AutoSize = False にするだけでいい。
Multiline は変える必要なし。
854 :
デフォルトの名無しさん :04/02/09 11:26
くだらない質問ですが、聞いてください。 私はずーと、VBを使用して社内アプリを開発してます。これからも そのつもりです。皆さんは、これからもVBで開発していくつもりですか? それとも、他の言語への移行を考えていますか。
聞いた
856 :
デフォルトの名無しさん :04/02/09 11:33
聞いてもらった。
VB2003の体験版付初心者用解説本が本屋に会ったよ。おととといぐらい。
>>835 あるとおもうよ。IEのコントロールに。
他の言語に移行する理由がない。
他の言語よく知らないので理由が思いつかない。
VB.NETでやりたいことがすべてできるのに他の言語に手を出す必要はない。
>>854 VB6からVB.netへ移行するんならC#へ行った方がいいと思ふ
理由かいてなかた・・・・絶対て理由はないけど、 ただ、C++やってた人はC#へ移行するでしょう。C/C++をやってる人はVBをやってた人よりも多い。多分← 故に、C#利用者は今後増える。社内アプリということはいずれ引継ぎがあるだろうし、後輩の指導もしなきゃならないだろうし、 そんなときC#の方がいいでしょ。VBもC#も難しさは大差ないと思うし、C#が分かればJavaもすぐ飲み込めるようになるという特典付き。
はじめにスレ違いすまそ。 ヲレがC#に移行しない理由: C#はVBとC++の中間(どちらよりなのかは議論があるが)に位置してる。 しかもいいとこ取りではなくてただの中途半端。
VB6.0からVB.NETとC#のどちらに移行すべきか迷っています。 VB.NETのほうが見慣れた記述形式だから理解は早そうだとは思うのですが、 C#が標準になってVB.NETの存在が消えていかないかどうかが心配です。
まずものになるかどうかVB.NETから入ってみれば? クラスやメソッドは共通だから、後から移行するにしても文法だけの問題だし。
866 :
デフォルトの名無しさん :04/02/09 18:26
C#の記述形式もみなれたもんだろ?
VBとC#で同じようなコード書いてコンパイルした香具師いる? バイナリレベルで同じものが出来るらしいんだけど
868 :
デフォルトの名無しさん :04/02/09 20:30
VB6を使って業務システムを開発しているんだけどVB.netへの移行 タイミングを決めかねている。一応テストでの使用は問題はないような んだけど、実際業務システムを開発してSQLサーバーなりオラクル なりと連携して本格的に使用されている方はいる? VBも業務用の開発ツールとしてさんざん痛い目にあい、VB5のSP 3辺りでやっと問題なく使える事になった事を考えるとNET2005までは まだまだ不安で、どうも様子見という所が多いようだんだけど、、
>>867 ちと試してみたところ、
同じようなコードでも完全に同じでなく若干違うようだ。
ILレベルでなー。
870 :
デフォルトの名無しさん :04/02/09 22:54
858以降有難う、もっと俺も自分で思考錯誤してみるよ。 もともとが、建設屋の独学なんで、IT情報を人と話してを得る機会 がない。
871 :
デフォルトの名無しさん :04/02/10 02:36
アカデミック版は商用利用可でしょうか?
>>871 確かLearning Edition以外は商用利用可能だったと思いますが。。。
>>869 サンクスコ
自分も気になったので仕事の合間にC#やってみまつ
>>868 基幹システムというほど大げさなシステムではないのですが
いわゆるフルフィルメントという分野?の物を作ってます
画面のデザインは楽になったのですが(リサイズとかその辺のめんどくさいのが)
VB6みたいに、いきなりゴリゴリコード書いて動くようなものではなくなってしまってますね
ダマシが利かなくなってるのできっちりデザインしてからコードの落とすようにしてます
まぁ本来はこのやり方が正道なんでしょうけど(^_^.)
Oracleとのデータベース接続をADO2.7→ADO.NETにしたのが一番戸惑いました
1年弱やってますがいまだに良く解ってません・・・
>>868 販売管理のシステム(1日のトランザクションが300件程度)を
VB.NET2003とSQL2000で開発したよ。
ぜんぜん問題ないってどころか、.NETにしてよかった。
俺の周りで「.NETは使えん」って言ってるやつのほとんどがVB6のプログラミングしてる。
>>868 さんも言うように.NETらしい書き方ができないと、VB6のがよかったってことになるよ。
開発ツールも言語も、それで出来る事と出来ない事を把握してなければ何使っても同じ。
過去に「さんざん痛い目に」あった理由が何か解決してなければ、また会うかもしれない。
877 :
デフォルトの名無しさん :04/02/11 01:20
VB.netでシリアルポートを扱うにはどうすれば良いでしょうか? 以前のVBにあったMSCommは無くなってしまったのでしょうか?
>>867 実行時エラーの時に出てくるメッセージを見ていると、
VB.NETっていっても、内部的には、
本来C#用に作成されたライブラリを呼んでるだけじゃないのかなーって思う。
そういう意味では、バイナリレベルでは同じもの・・・?
>>878 .NET FrameworkはC#用ってわけじゃないけど。
マルチプラットフォームへの移行はJava対策でもある。
880 :
デフォルトの名無しさん :04/02/11 15:44
>>877 MSCommって電話アイコンのやつだっけ?
VB.Net(.NET Framework)にMSCommは無かったと思うけど←たぶん・・・。
ただVB.NetからMSCommは普通に使えたよ。
以前のVBをそれだけのためにインストールしたけど・・・・。
今から始めようと思うんだけど、 VB.NETってVisualStudio.NETを買わなきゃついて来ないの? 単体で売ってないかなぁ・・・。
>>883 本当ですか!名前だけでもいいので教えて頂けますか?
VB.NET2002(VSシリーズ全般)使いがVB.NET2003(VSシリーズ全般)に移行するメリットって見当たらないんだけど・・・。
.NET Frameworkも今度は2.0で1.0、1.1、2.0の共存って言ったらただの容量のムダとしか思わないし・・・。
.NETも個別インストールな限り普及しなそうだし、上記の問題もあるし。
どうにかしてよMicrosoftさん。
>>885 Standardね。
>886 M$も迷走しているんだよ。いつものことだけど。 とりあえず、M$の新しいテクノロジは、Ver.3まではクソで Ver.4あたりになってようやく他から買い付けて安定する というのが定石となっている。
2003 じゃないと、DIrectX Summerは使えないよう。
.NETはマイクロソフトが社運をかけた技術です
890 :
デフォルトの名無しさん :04/02/13 23:02
それにしてもXボックスは大失敗だったね。
892 :
デフォルトの名無しさん :04/02/15 00:46
教えてクソですまそ。 フォームにボタンコントロールがあって、それらを配列として扱うとき Private Button(4) As System.Windows.Forms.Button Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load Buttons(0) = Button1 Buttons(1) = Button2 Buttons(2) = Button3 Buttons(3) = Button4 Buttons(4) = Button5 Dim i As Integer For i = 0 To 4 AddHandler testButtons(i).Click, AddressOf testButtons_Click Next i End Sub こんときButtons(0) = Button1とかをForNextとかで代入できないですかね? ForEachとかでなく・・・
>>892 Controlsを使えばできなくも無さそうだけど、
Formにはボタン以外にも色々と貼ってるだろうから、
Typeチェックとかをせんといかんな・・・なんでそんなことを。
894 :
デフォルトの名無しさん :04/02/15 01:51
>>893 コントロール配列の代わりってことでネットでみつけたんです。
初めはForEach BB as Object in Me.Controlsとかで拾って
TypeNameで分けていたんですが、なんせおっしゃるとおりFormに
いろいろ貼ってありまして・・・
せっかく単純な名前付け(連番)にしてるんだから
ループで代入できないかなぁ〜って・・・
895 :
デフォルトの名無しさん :04/02/15 02:42
>>892 どぼんさんのとこにあるサンプルみたいだけどそれって結局何がしたいのか
意味不明な気がするなあ。。
VB6なんかのコントロール配列のキモは、イベントハンドラで
イベントが発生したコントロールをインデックスで識別できることに
あったと思うんだけど、それじゃイベントが発生したコントロールのインデックスは
(コード書かないと)得られないよね。
プロパティとかまとめて変えたい、ってことなら配列よりコレクション使ったほうが
後々楽だと思うし。
単にイベント発生源のコントロールのインデックスを取得したい、
ってことなら、コントロールの.Nameプロパティから取得するコード書くほうが
簡単じゃない?
どうしても配列に入れたいならこんな感じですかね。
For i = 0 to 4
Dim MyControl as Control
Dim ButtonName as String = "Button" & (i+1).ToString
For Each MyControl in Form1.Controls
If MyControl.Name = ButtonName Then
Buttons(i) = MyControl
End If
Next
Next i
897 :
デフォルトの名無しさん :04/02/15 13:32
3日前に.NETマスターしろっと言われまして。VB6からの変わりようにビビてました。
>>895 さん、勉強になりました。
サンプルはまさしく「どぼんさん」とこのです。VB6コントロール配列については
895さんのおっしゃるとおりです。
サンプルはボタンでしたが、自分がやってるのはテキストボックスで、128bitの各ビットを
見立てて128個配置して、クリックされるたびbitを01かえるっていう単純な使い方でした。
VB6のときは発生源ごとのイベントはどうでもよく、コントロール配列で十分事足りてまして。
.NETになって単純なリプレースをしてみて、ふと「128個も代入かよ・・・」ってふと思い、
カキコしました。
マジレスありがとうございました
>>892 この辺りの仕様って、Delphiだよな。
さすが、.netは引き抜いて作っただけあると思った。
899 :
デフォルトの名無しさん :04/02/16 10:07
VB.NetでのDebugとReleaseのコンパイルの違いが分かりません。おしえてください
900 :
デフォルトの名無しさん :04/02/16 12:14
>899 そりゃ、Debugはデバッグ用に余分な情報が入っているってこと、Releaseはそれが取れて実行速度が速くなります。
901 :
デフォルトの名無しさん :04/02/16 13:00
ありがとうございます。
902 :
デフォルトの名無しさん :04/02/16 13:54
ODBC(Mysql)接続の仕方教えてください。 ODBCの設定はしてあるのでVB.NETからのコードをお願いします。 OdbcDataAdapter使っても使わなくてもいいです。
904 :
デフォルトの名無しさん :04/02/17 00:15
VB.net2004って出る予定あるのでしょうか? それともとっとと2003買ったほうがいい?
905 :
デフォルトの名無しさん :04/02/17 07:47
>>904 そりゃ、2004が出なくても次期バージョンは必ず出るわけで、学習者なら早めに始めたほうがいいと思う。
.NET開発者なら、ケースバイケースだけど。。。
906 :
デフォルトの名無しさん :04/02/17 20:03
vb.netでAccessみたいなサブフォームのあるフォームって作成すること できますか? Accessしか触ったことないけど、Vb.Netでできるならやってみようかと
初めてまだ一週間程度なのですが、現在のテキストボックスネームを取得して、 隣のテキストボックスにフォーカスを移したいのですが・・・ Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim box(20, 4) As TextBox For i = 0 To UBound(box, 1) For j = 0 To UBound(box, 2) box(i, j) = New TextBox 中略 box(i, j).Tag = i Me.Controls.Add(box(i, j)) AddHandler box(i, j).KeyPress, AddressOf keypressed Next Next End Sub Sub keypressed(ByVal o As [Object], ByVal e As KeyPressEventArgs) 中略 box(i, j).focus ←ここのところがわかりません、、、 End Sub これで、sub keypressedの中で、どのテキストボックスから飛んで来たか 値を取り、次のテキストボックスにフォーカスを移すにはにはどのように すればいいのでしょうか?
908 :
デフォルトの名無しさん :04/02/18 00:12
2つ質問があります。。 1、ASPボタンを使わないでHtmlボタンを非表示にしたいんですがどうやったらできますか? VBソースからではなくてASPコードで。 Disableではないです。 2、これはVB.NETの話ではないんですが。。。 TEXTBOXのReadonlyをtrueにした状態で(変更不可の状態) マウスのポインタをTEXTBOX中に落としてカーソル移動させるみたいなことは 可能でしょうか??長い文字列を画面に表示するのに画面を横長にしたくないので テキストボックスを使用してユーザがスクロールさせるようにしたいのですが、 そのデータを変更されるとDB登録とのからみがあり困るんです。。 どなたかご伝授お願いします。
実際に自分でやってみてないの?
910 :
デフォルトの名無しさん :04/02/18 08:16
>>907 イベントの付け替えとか、コードでフォームにコントロール追加とかが理解できる人が
そんなことができないなんて信じられないのですが。。
>910 え?簡単なんですか?(^^;;; すみません、ヒントだけでも下さい・・・
自己解決しますタ パネルコントロールにユーザコントロール貼り付けて擬似的に実現できました
>>907 Me.GetNextControl(o, True).Focus()
>913 ありがとうございました。これで先に進めます、、、
915 :
デフォルトの名無しさん :04/02/19 19:28
データグリッドについて教えて下さい。 SQLServerのデータベーステーブルをメンテする WindowsアプリケーションをC#で作成しています。 データグリッドにテーブルの内容を表示はさせてことは出来ました。 (SqlDataAdapter、SqlConnection、DataSetを使用しています) その表示の際に、テーブルの表示項目はint型なのですが、その内容を判断して int型の項目の変わりにstring型の文字を表示したいのです。 例:int項目=1ならばデータグリッドに“OK”、 int項目=0ならばデータグリッドに“NG”の様にしたいのです。 もう、わけわからん・・・。
>915 SQLでCase関数を使うか、データグリッドのフィルタを使う。 個人的には前者が好き。
917 :
デフォルトの名無しさん :04/02/20 13:14
DataGridにおいて特定のカラムのフォーカスを飛ばすことは出来ますか? 用はTabStopプロパティをくっつけたいのですが・・・ DataGridTextBoxColumn.TextBoxのタブストップはFalseにしたのですがどうも グリッド自身の制御が難しいです。
918 :
デフォルトの名無しさん :04/02/20 17:22
>916 お答え、サンクスです。 前者の方向で組みなおしてみます。
919 :
デフォルトの名無しさん :04/02/20 18:17
テキストボックスの入力を全角カナに制限したいときにはどうすればいいんですか?
メインから作成・開始した別スレッドからフォームのVisible等をいじると、 プロセス全体が固まってしまいます。 どうやらInvokeとかを使ってメインのスレッドにやらせる必要がある らしいのですが、デリゲートとか散々試してついにギブアップ!! 誰か助けてちょ〜!!
921 :
デフォルトの名無しさん :04/02/21 05:26
VB.NET 2003を使っています。 MP3、AVI、MPEGを再生するにはどうしたらいいのでしょうか。 WAVEはAPIを使って再生できました。
Form1にあるButton1を不可視にするだけのサンプル ''''''''''''''''''''''''Form1.vbの一部''''''''''''''''''''''''''''''''''''''' <STAThread()> _ Shared Sub Main() Application.Run(New Form1()) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim vtf As vbthreadfirst = New vbthreadfirst(Me) Dim t As Thread = New Thread(New ThreadStart(AddressOf vtf.VBisSaikyo)) t.IsBackground = True t.Name = "vtf Thread" t.Start() End Sub Public Sub SetButton1Visible(ByVal vis As Boolean) Button1.Visible = vis Console.WriteLine("SetButton1Visible: Thread.Name = {0}", Thread.CurrentThread.Name) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Thread.CurrentThread.Name = "GUIThread" Console.WriteLine("Form1_Load: Thread.Name = {0}", Thread.CurrentThread.Name) End Sub '''''''''''''''''''''Form1.vbの一部のおわり'''''''''''''''''''''''''''''''''
'''''''''''''''''''''vbthreadfirst.vb'''''''''''''''''''''''
Imports System.Threading
Public Class vbthreadfirst
Public f1 As Form1
Public Delegate Sub MyDelegate(ByVal visible As Boolean)
Public Sub New(ByVal f1 As Form1)
Me.f1 = f1
End Sub
Public Sub VBisSaikyo()
Dim i As Integer
Console.WriteLine("VBisSaikyo: Thread.Name = {0}", Thread.CurrentThread.Name)
Dim md As New MyDelegate(AddressOf f1.SetButton1Visible)
Dim ar As IAsyncResult
Dim args() As Object = {False}
ar = f1.BeginInvoke(md, args)
ar.AsyncWaitHandle.WaitOne()
If ar.IsCompleted Then
Console.WriteLine("おわったーヽ( ゚∀゚)ノ")
End If
End Sub
End Class
'参考URL
'
http://ukamen.hp.infoseek.co.jp/Programming/Asyncro/index.htm
別スレッドからButton1のTextとVisibleいじっても 固まらなかったのだが。。。 ぬぅ。 2002。
iはいらんかったな。まっいいか。
928 :
デフォルトの名無しさん :04/02/21 22:59
学校で.NETのWEBアプリケーションを作る課題が出されたのですが、CGIではなくVBでアクセスカウンタを作れ、と言われて切れそうなんですが 作れるのでしょうか?
>>928 ASP.NETでやるってことでしょ。CGIといっしょだべ。
学校で.NET教えてるとこがあるとは
931 :
デフォルトの名無しさん :04/02/22 00:04
デスクトップの壁紙を変更するプログラムを書きたいのですけど、 どうすればいいでしょうか?
>>931 ChangeDesktop()を使いなされ。
>>932 ありがとうございます。早速試してみます。
>>932 に教えていただいたChangeDesktop()ですけど、
検索しても適当なページが見つからないので、
恐縮ですが、使い方教えていただけないでしょうか?
関連スレはいらんくさいな。
937 :
デフォルトの名無しさん :04/02/22 12:14
VB.NET 2003を使っています。 ActiveXコントロールにExplorer(WebBrowser)を追加して、 VB.NETのフォーム上でインターネット上やハードディスク上に保存された htmlファイルを閲覧することができるようになりました。 ここで質問があるのですが、 ハードディスク上に保存されたhtmlファイルをアプリケーションに埋め込んで、 その埋め込まれたhtmlファイルを閲覧するにはどうしたらよいのでしょうか? どなたかわかる方、いらっしゃいましたらご教授下さい。
938 :
デフォルトの名無しさん :04/02/22 12:22
タイマコントロールだけ使いたいクラスってどうしてます? 私はただタイマ使うためだけにフォーム使ってるんですが、これってやっぱり 余分にリソース食うんでしょうか? コンストラクタで親のフォームのタイマ渡してやるってのもなんかエレガントで ない気がするし。 クラスにコードでタイマ追加できればいいと思うのですが、これは可能でしょうか?
939 :
デフォルトの名無しさん :04/02/22 12:34
>938 たしか、timerって関数が普通にあったはず。 大麻コントロール使う必要がない、単純な操作用。
>>939 いや、タイマ使いたいってのは、つまり一定間隔で何らかの処理をしたい、
ということでして。。(それが普通のタイマコントロールの用法ですよね?)
いまVB.NET手元にないんで確かめられないけど、Timerってたしかシステム起動
からのmSecオーダーの経過時間ですよね?
>>941 そんなあなたにWithEventsステートメント
ごめんキーワードだった。
.NETはフォームなしでもコントロール使える
System.Timers.Timer 使えばいいじゃん。
>>926 レスありがとう。早速トライしてみます。ちなみに当方2003です。
また、最上位フォームのvisible等では固まらず、
そのフォームから開いた子フォームのvisible等では固まりました。
具体的には、その子フォームに張り付いてる2つのラベルのvisibleをそれぞれ
TrueとFalseにして、その子フォーム.refreshして、その子フォーム.BringToFront
しました。
>>926 いや〜出来ました!!最凶VB厨房様万歳!!BeginInvoke万歳!!
しかしなんでドット入れて出てこない!?
948 :
デフォルトの名無しさん :04/02/23 14:10
vbとvb.netの違いを教えてくれ
KeyPreviewのマウス版みたいなのってどうやれば実現できますか?
952 :
デフォルトの名無しさん :04/02/24 11:10
あの〜 VB.NET2003でFlashを再生してるんだけど、 Flashのムービー再生が終わったことをどうやってアプリから判断するのでしょう。
954 :
デフォルトの名無しさん :04/02/24 13:46
作成したアプリケーションを配布する際に、WindowsUpdate以外で、 .NET Framework をインストールする方法が分かりません。 できれば、インストーラに含めて、setup.exeをクリックしたら、アプリケーションと、.NET Frameworkの両方がインストールできるような物を作りたいのですが、可能でしょうか?
955 :
デフォルトの名無しさん :04/02/24 14:54
>>864 両方使った立場から言えば、これを機会にC#に
移行した方が良いと思う。
他の人も書いているけど、C系やっとけばJavaとかを
吸収しやすいし、VBよりも文法的にもすっきりしている。
また、VBだと今までの癖で.Netのメリットが活きてこない旧
VB的なコードを書いてしまう様な気がする。
>>878 フレームワーク用の中間コードに落としているので
同じものになるけど、VBの方が本来のターゲット文法
(C*やJ*)よりも少し遠いから多少の差異がでるらしい。
フレームワーク1.0の頃に試した人の日記によるとVBの
方が遅かったとのこと。いまはどうだか不明。
>>891 基本的に北米市場だけ。
>>894 出来ない。
その様な場合、ポトペタでやるよりもループ回してnewして
いった方が楽。初めは面倒に感じるかもしれんけど。
旧VBのコントロール配列はなくなっちゃったけど、
継承したクラスのオブジェクト突っ込めたり、多次元配列化
出来たり、コレクション使えたりするので、ちょっと馴れれば
今の方が遥かに便利になる。頑張れ。
>>953 一理あります。
でも、もしフラッシュムービーがループしていたらどうしたらいいのでしょう
957 :
いずみんせんせぇ :04/02/25 01:48
フォルダ内のファイルをファイル名で昇順に取得したいんだけど System.IOクラスでできますか? 誰かそれ以外の方法でもいいから取得方法知ってたら教えて下さい
958 :
デフォルトの名無しさん :04/02/25 02:01
>>957 フォルダを開いて、表示形式を詳細にし、
名前タブをクリックして下さい。
959 :
いずみんせんせぇ :04/02/25 02:13
え?プログラムで取得する方法なんだけど。。 そんなのわかってるよ
>>957 データセット(データビュー)に一度書くって方法は?
>>957 昇順に取得するんじゃなくて、取得してから昇順に並べ替えろ。
962 :
デフォルトの名無しさん :04/02/25 07:49
>>957 ,959
こいつは、荒らしに来ただけ
みなさん、軽く煽ってやって下さい。
963 :
デフォルトの名無しさん :04/02/25 11:09
できました。
>>953 ,957
気合入れて調べたら半日で方法が見つかりました^^
964 :
デフォルトの名無しさん :04/02/25 14:35
VB.NETで、ActiveMovieControlを追加して使っているんだけど、 このコントロールのムービー表示部分以外(ムービー進捗バー、再生ボタン、 一時停止ボタン、停止ボタン、タイムカウント)を全部消して、 ムービーの表示部分だけにするにはどうしたらいいのでしょうか?
解決しました。 プロパティでいいんだね。 ところで、ムービーを自動で元のサイズにして再生する方法が わかりません。 MSDNの説明どおりにやってもうまくいきません AllowChangeDisplaySize = true AutoSize = true DisplaySize = mpDefaultSize これだけではダメなのでしょうか。
毎度お世話になります。 コンソールアプリで作成したアプリのコンソールを見えなくする方法を探してて、 試しにプロパティをWindowsアプリに変更してみたら見た目上うまくいってます。 この方法に問題は無いでしょうか? もし、他に普通の方法があれば教えてください。
スレたてお願いしますヽ(´ー`)ノ 俺、やったことないんでw
For each im as system.陰毛 in 俺の体 Console.WriteLine ("埋め立て中..." & im.Index) Next
こんばんわ,VBも2chも始めて初心者の厨房です('A`)ノ 本を読んでコツコツと勉強してます,よくサボってますがね…. Left関数について質問があります.このようなソースを書いてみたのですが, ' Left関数を使ったプログラム Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a As String = TextBox1.Text Dim b As String = Val(TextBox2.Text) TextBox3.Text = Left(a, b) End Sub End Class 「Left() As Integer には引数がないため、戻り値を参照出来ません」 とエラーが出ます…(´・ω・`) ヘルプを見て4行目を『Microsoft.VisualBasic.Left(a,b)』にしたら出来ました. Microsoft.VisualBasic.って何ですか?本には書いてないので必要無いと思ったんですが……. 本でのバージョンが6.0だからかなぁ…….教えてください(;´Д`)人
すいません,
クッキーの設定で、別のスレで使っていたハンドルにしてしまいました.
>>968 は僕です.
>>969 Dim b As Long = Val(TextBox2.Text)
Dim b As Integer = Val(TextBox2.Text)
>>やまごろ
BeginInvokeおめでとう。.NETのみ触っているわけでもないから。
>>966 コマンドプロンプト上から起動しないのであれば問題ないだろう。
>>969 単純にLeftと書くとForm1クラスのLeftプロパティの意味になるようだ。
Microsoft.VisualBasicは名前空間。
Val関数は省略しないでかくとMicrosoft.VisualBasic.Valになる。
Microsoft.VisualBasic.Left(a,b)と省略しないで書くことによって
Form1クラスのLeftプロパティでなくて
Microsoft.VisualBasicという名前空間にあるLeft関数なんですよーと教えてやる必要がある。
VB6.0の本はほとんど役に立たないだろう。
VB6.0やOfficeVBAを触るつもりが無ければその本はポィ。
app.Configファイルを動的に更新する方法ってありますか? イメージ的には.iniファイルの更新みたいな感じです
976 :
デフォルトの名無しさん :04/02/27 19:18
MailMessageをつかってメール送信をしてるんですが 1件の場合普通に送信できるのですが ループで複数件メール送信しようとするとエラーとなってしまいます MailMessageを初期化するような処理が必要なのでしょうか? 初心者のため質問の論点がずれていたごめんなさい
>976 UGツールでも作る気ですか?
>>973 御指摘有難う御座います.
数値型でしたね(;´Д`)
>>974 なるほど,
Leftだけ書くとForm1クラスとVBが認識してしまうんですね,有難う御座います.
またお世話になると思いますがその時は宜しく御願いします.
……本買い換えなくちゃ(つД`)
お奨めとか有りましたら宜しく御願いします.
979 :
デフォルトの名無しさん :04/02/28 08:33
> とりあえずどうしたらいいか とりあえず本買ってこい
>>980 Help見りゃじゅうぶんだろ。何故IBMのサイトなんぞを見ているのだ
982 :
デフォルトの名無しさん :04/02/28 20:17
ええと、もうまもなくスレ埋まってしまいますが質問です。 よく、コード中にファイルパスを指定するシーンが出てきます ****.FileName = "c:\あいうえお\ABC\ファイル.txt" のように。 ここで、ハードディスク上のファイルではなく、アプリケーションに埋め込まれた ファイルとして ***.FileName = "RES://プロジェクト名.exe/埋め込まれたリソース.txt" と指定する方法があるらしいのですが、 (アプリに埋め込まれたリソースをあたかもディスク上にあるかのような パス形式で読み込める。) この方法をどなたか知ってる方いるでしょうか? マネージリソースではなく、Win32リソースとして埋め込まれていなければ ならないそうなので、 そのやり方をご存知の方、よろしくご教授の程お願い申し上げます。
IEで実在しないURI開いて、"ページを表示できません"画面のプロパティ見てみ
っと、、参照の仕方は分かってるのか。 /win32resスイッチでもにゃもにゃするか、できたEXEにリソースエディタで埋め込め。
あと14発言で埋まってしまうけれど、
>>984 /win32resスイッチでのもにゃもにゃの仕方か、
できたEXEにリソースエディタで埋め込む方法を教えて下さい(⊃Д`;)
>>985 filenameとして取得したいのです。
例えば、ファイルの場所を指定するメソッドがあった時、
「ああ、そのファイルならアプリ内に埋め込まれているから、
そこからとってきて〜」
の意味で、「RES://」でパスを与える方法があるらしいのです。
Win32リソースとして埋め込めばいい、ところまで突き止めたのですが
Win32リソースとして埋め込むには、どうしたらよろしいのでしょうか?;;
できたEXEにリソースエディタで埋め込む方法を 教えて下さい・・。 /win32resでもにゃもにゃの仕方はわかりました。 「1..rcに定義を書き、rc.exeでresファイルを作る。 2.vbc.exeでコンパイルする際、 /win32resourceオプションでresファイルを指定する。」 リソースエディタって、インターネッツで調べたところ Mac版や、C++用等ばかりで・・・。
>987 ResHacker.exeは?
>>975 こんなところはどうか?
http://dobon.net/vb/dotnet/programing/editappconfigfile.html >>976 特に問題なかったが?
>>987 適当にやってみた。
///////////r.bmp//////
(落書き)
////////////sample.rc////(textfile)///
1 BITMAP r.bmp
/////////rc.exe///////////////
rc /v /x sample.rc
/////////////Test.vb/////////
Imports System
Imports System.Windows.Forms
NameSpace vbchu
Public Class Test
<STAThread()> _
Shared Sub Main(args As String())
Console.WriteLine("This is a Test")
MessageBox.Show("MessageBoxTest")
End Sub
End Class
End NameSpace
//////////vbc.exe///////////////
vbc /r:System.Windows.Forms.dll /win32resource:sample.RES Test.vb
オブジェクト配列で作ったテキストボックスから Me.ActiveControl.Nameで コントロール名を取得しようとすると””になって、名前が取得出来ません。 オブジェクト配列からコントロール名を取得するにはどのようにするので しょうか?
残り10発言ですが・・・
>>988 ResHacker、今度使ってみます。
(自己責任で)
>>989 (最凶VB厨房)
うまくいきました!
最初、自分でvbcでコンパイルをしてみたところエラーでまくりで
Dosプロンプトがスクロールしきって上の方が切れてしまうほどでしたが、
同じソースを書いて同じコンパイルをしたところ、うまくいきました。
びっくりです。
・まず、rcファイルをRESファイルにコンパイルし、
MyResource.rc → [rc.exe] → MyResource.RES
・その後、ResSet.vbという名前で作ったソースをvbcでコンパイルしResSet.exeを作成しました。
vbc /r:system.windows.forms.dll /win32resource:MyResource.RES ResSet.vb
すみません、できたのに質問するのも何ですが、
1.ソースファイル内にある、<STAThread()> Shared Sub main(略)は、なぜ必要なのでしょうか?
2.ソースでImportsしてる、SystemとSystem.Windows.Formsは、なぜ必要なのでしょうか?
3.vbcコマンドで/r:system.windows.forms.dllは、私は最初Microsoft VisualBasic.dllを指定していましたが、
どうしてこちらではダメなのでしょうか?
4.今回、作成できたResSet.exeには確かにリソースがアタッチされています。しかし、
このResSet.exeをリソース群として他のアプリから参照したい場合、どのように組み込めばいいのでしょう;;
(***.filename = "res://プロジェクト名?/ResSet.exe?/?/リソースファイル名?)
すみませんが、再度 ご登場お待ちしております・・。
初心者本ぐらい読んでからコード書け
質問が多すぎました。
>>989 (最凶VB厨房)さん
のやり方でwin32リソースがアタッチされたexeを作りました。
このwin32リソースにアクセスする方法を教えて頂けないでしょうか。
単純にプロジェクト1にexeを追加して、それに
***.filename = "res://〜"
の形式でアクセスしようとしてもできませんでした。