1 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 10:00:19 ] 前スレ VB.NET質問スレ(Part29) pc12.2ch.net/test/read.cgi/tech/1235206416/l50 テンプレは>>2 〜
175 名前:166 [2009/06/17(水) 11:08:28 ] 174さんの言う通り、アクセス権を設定したら取得出来ました。 本当にありがとうございました! >Private Const EVENT_ALL_ACCESS As Integer = &H1F0003 こういうEnumの設定はどこで確認すればよいのでしょうか? MSDN等、どこかに資料があるのでしょうか?
176 名前:デフォルトの名無しさん [2009/06/17(水) 11:15:48 ] win32apiのC言語のヘッダファイル
177 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 11:16:23 ] >>4 の「初心者から中級者のためのVB」のリンクきれてますよ
178 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 11:25:53 ] >>175 Enum じゃないし。 つか、API 呼び出しするのに API の仕様も確認しないとか… >MSDN等、どこかに資料があるのでしょうか? 何を指定すればいいのかは勿論 MSDN ライブラリ等。 ただ、記号定数が実際にどういう値なのかは ヘッダを覗くしかない。 (探すときは Visual Studio のファイル検索を使うと楽) …ていうかね、>>174 でも書いたけど >>167 の言う通り、API 呼び出し使う意味がないんだったら Dim ev as EventWaitHandle = EventWaitHandle.OpenExisting("EVENT000") とした方がいいと思うんだが。
179 名前:166 [2009/06/17(水) 13:37:01 ] なるほど、そういう事ですね。 もうすこし調査してみます。 本当にありがとうございました。名無しに戻ります。 それでは。
180 名前:172 [2009/06/18(木) 09:27:49 ] >>173 今現在、VB2008を学習しなくてはならない事情がありまして 何かカリスマとかバイブル的な書籍、というのは無いものでしょうか 特に学習しなくても、VB6.0の頃とほぼ同じ作り方ができてしまいますが、 それを払拭して、VB2008ならこう構成した方がよい、こう書くべき、 というセオリーみたいなところを勉強したいです
181 名前:デフォルトの名無しさん [2009/06/18(木) 09:43:07 ] じゃC#勉強すればいいじゃん 自動的にVBも使えるようになるよ VBの本である限りVB的なやり方というのはどうしても出てくる VB2008というか.NET的に1番良いのは「C#と同じように使うこと」
182 名前:デフォルトの名無しさん [2009/06/18(木) 15:08:21 ] VB.NET2005を使ってADOとかADOXを使いMDBファイルを作成するPGをwebにアップされている サンプルを見つつ書いてみたのですが、どうしてもエラーが取れません。 ' 他のフィールドの定義 With cat.Tables(strTable).Columns .Append("商品コード", adWChar, 10) End With のadWCharでエラーになります。この型を認識させるにはどこをいじればいいのでしょうか?
183 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 17:34:51 ] GUI(フォーム)をVB、コードをC++で書くことができると知ったのですが、 (ttp://pc12.2ch.net/test/read.cgi/tech/1099112351/1) 方法があれば開設しているサイトなど、教えてください また複数の言語を混ぜてプログラムを作ることをなんというのでしょうか?
184 名前:デフォルトの名無しさん [2009/06/18(木) 19:23:24 ] IE では、「アクティブ コンテンツ」を制限する機能がありました。 「セキュリティ保護のため、このコンピュータにアクセスする可能性 のあるスクリプトやActiveXコントロールを実行しないよう、IEで制限 されています。オプションを表示するには、ここをクリックしてください」 という情報バーが出てくるものです。 この警告機能と、ダイアログを表示してユーザーが選択してから表示する という機能を、WebBrowserにおいても導入するためにはどういった処理を すれば良いでしょう?何か参照推奨のサイト等お教えください。よろしく お願いします。
185 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:20:05 ] >>183 C++/CLIでアセンブリ作って参照に追加するだけ と言えば簡単そうに聞こえるけど、C++と.NET両方の知識がないと厳しい。
186 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:34:15 ] >>185 ありがとうございます C++/CLIでCILを作るのですね・・ややこしい><
187 名前:デフォルトの名無しさん [2009/06/19(金) 01:45:26 ] 昔のC++のコードを利用したいとかでなければまずメリットはないね ものすごい科学技術計算でもするなら別だけどw
188 名前:デフォルトの名無しさん [2009/06/19(金) 03:46:53 ] javaとか、昔の Basicって、1つの命令の後に、区切り文字 (";" や ";")を書けば、同じ行に続けて次の命令を記述できたよね。 VBって、それがないから、1行に一つの命令しか書けないでしょ? 1行に1つの命令しか書けないって、よく考えたら ものすごく使い勝手悪い言語じゃない?
189 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 04:03:27 ] あるから問題ない
190 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 04:40:56 ] >>188 : で区切ればいいだろ
191 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 10:01:01 ] >>150-152 >>154-156 大変遅くなりました!レスありがとうございます。 どれも参考になるものばかりで、本当にありがとうございました! 頑張って作成したいと思います!!
192 名前:デフォルトの名無しさん [2009/06/19(金) 10:02:21 ] ( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
193 名前:149 mailto:sage [2009/06/19(金) 10:02:42 ] ↑↑149です。 連レスすみませんでした。
194 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 13:00:12 ] 現在VB2008 expressでWindowsフォームアプリケーションの多言語化について勉強しています。 C#による多言語対応アプリケーション開発のコツ codezine.jp/article/detail/3288 を参考に、デザイナ、resxファイルを利用して多言語化を行うことができました。 この作業を実際に行ってみて思ったのですが、 .netには、ある言語に翻訳したい!と思った人がアプリ公開者を通さずに翻訳 > 配布 ということが簡単にできる仕組みは準備されているのでしょうか。 実際に多言語対応したアプリを公開した場合、個人レベルだと、 規定の言語で公開(またはVerUP) > 各言語の翻訳者による翻訳 > 翻訳を反映 という流れになると思うのですが、 VerUP等でresxファイル内のデータが増えた場合(翻訳作業が必要な文字列などが増えた場合)、 各言語のresxを(アプリ公開者が)入手 > (アプリ公開者が)ビルド > dll作成 > 配布 という方法で翻訳を反映するのがやはり一般的なのでしょうか。 なければ自前で、実行時に動的にカルチャに応じたXMLを読み込み(あれば)反映、といったような処理で多言語化を実装しようと考えています。
195 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 13:10:11 ] 厳密名付けてなかったら翻訳者が勝手にresxをコンパイルしたdllでも読み込まれるな
196 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 15:39:40 ] DB側の接続文字列に変更があったとき、 DataSetにConnectionStringを追加していくと 前のConnectionStringが残ってしまうのですが・・・。 これ以前のConnectionSringを編集したい、 または以前のを削除したい場合はどうしたらいいのでしょうか?
197 名前:196 mailto:sage [2009/06/19(金) 15:50:19 ] app.configとSettings.settingsを手動で書き換えていいのかな・・・。
198 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 15:55:01 ] OK
199 名前:196 mailto:sage [2009/06/19(金) 17:13:01 ] バックアップ取ってやってみたら app.configとSettings.settingsの書き換えだけで問題なかったようです。 とっとと自分で試せって話ですよね・・・w ともあれ、ありがとうございました。
200 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 09:57:22 ] 環境:VB.net2003 GUIプログラムで、Windowsフォームの中にコンソールのようなCUIなコントロールを表示させたいのですが、 (AllocConsoleみたいに別途コンソールを開くのではなく) そういったコントロール(以前に入力(実行)した内容は変更できない)はありませんでしょうか? (標準でなくてもサードパーティー製でもなんでもいいです) もし無いのであればRichTextBoxあたりでなんとかしてみるつもりです。
201 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 10:39:06 ] フォルダを複数選択するダイアログを作成したいと思っています。 こちらのページ ttp://dobon.net/vb/dotnet/form/folderdialog.html こコピペでフォルダを選択できるようにはなりました。 'FolderBrowserDialogクラスのインスタンスを作成 Dim fbd As New FolderBrowserDialog '上部に表示する説明テキストを指定する fbd.Description = "フォルダを指定してください。" 'ルートフォルダを指定する 'デフォルトでDesktop fbd.RootFolder = Environment.SpecialFolder.Desktop '最初に選択するフォルダを指定する 'RootFolder以下にあるフォルダである必要がある fbd.SelectedPath = "C:\Windows" 'ユーザーが新しいフォルダを作成できるようにする 'デフォルトでTrue fbd.ShowNewFolderButton = True 'ダイアログを表示する If fbd.ShowDialog(Me) = DialogResult.OK Then '選択されたフォルダを表示する Console.WriteLine(fbd.SelectedPath) End If しかし、OpenFileDialogと異なりFolderBrowserDialogにはMultiselectプロパティがないようです。 どうすればフォルダを複数選択できるようになるのでしょうか?
202 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 10:55:49 ] 代案があるかどうかは知らんがSHBrowserForFolderじゃ仕様上複数選択はどうやっても不可能だな
203 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 11:06:55 ] btmtz.mvps.org/vbexplorer/
204 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 11:42:47 ] ありがとうございます。 USBメモリ・外部メール等禁止のため長いコードだと手打ちはしんどいので、FolderBrowserDialogでディレクトリを選択後checked listboxに ディレクトリ一覧を表示、そこで複数にチェックを入れるという形にしようと思います。
205 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 03:15:14 ] 繰り返せばええがな
206 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:50:49 ] 一覧表示の親フォームから詳細編集の子ダイアログを開くようなDBアプリを作ってて 親のBindingSourceを子に渡して子の各フォームにバインドさせたいんだけど、 コードで直接書くんじゃなくてデザイナのプロパティで設定する方法ってないでしょうか?
207 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:53:30 ] s/子の各フォーム/子の各コントロール/
208 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:18:28 ] VB.NETからエクセルのマクロを作成したり データの入力制限を編集することは可能ですか? 指定したエクセルの列に値の重複を禁止する入力制限を追加して DBの主キーのような設定を持たせたいのですが 入力制限の編集をVB.net上で行う方法が見つからないので
209 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:18:07 ] マクロの記録で記録できるならできる。 記録できないのも、一部は可能。
210 名前:デフォルトの名無しさん [2009/06/23(火) 19:50:53 ] VBAのマクロを生成できるから何でもできる
211 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:23:57 ] 調べてもマクロ呼び出ししか出てこないけど。 VB.net上で書いたソースをどの参照からマクロ登録することが出来るんだろう。 どなたかサンプルソースがあるところ教えてください
212 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:38:49 ] >>211 officetanaka.net/excel/vba/vbe/06.htm
213 名前:デフォルトの名無しさん [2009/06/23(火) 22:44:41 ] VB2005でftpクライアントの機能作ってます。 WebRequestMethods.Ftp でサーバにあるファイル名を取ってくるときに、 2バイト文字のファイル名だと化けてしまいます。 化けないで正しいファイル名を取得する方法はないでしょうか?
214 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 22:53:11 ] FTPではマルチバイト文字は未定義なのよね TcpClient or Socket使って自分でFTP喋るしかないんじゃないかなぁ まあどっかにその辺の対応も含んだ野良FtpClientがあるかもしんないけど
215 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 02:26:15 ] 化けるって、どこでどう化けるんだ?
216 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:10:40 ] テキストボックスのD&Dで テキストのD&Dは Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter If e.Data.GetDataPresent(DataFormats.UnicodeText) Then e.Effect = DragDropEffects.Copy End Sub で処理できるのですが、インターネットエクスプローラに表示されているWEBページの リンクの文字をD&Dした際に、HTMLに設定されたURLを取得するにはどのように書いたら良いでしょうか?
217 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:52:44 ] "UniformResourceLocator"でデータ取得 MemoryStreamにキャストしてそこからRead Chr(0)を探してその直前までをEncoding.Default.GetString
218 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:54:22 ] あ、Chr(0)じゃなくていいか、単に0探すだけで
219 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:14:36 ] レスありがとございます。 その方法はアドレスバーのURLの左にあるアイコンをD&Dする方法ではないでしょうか? HTMLのリンクになっているテキストはドラッグしても通行禁止のマークのままなのですが・・・
220 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:18:44 ] 普通にa要素のD&Dを取れる IEとFxで確認した あ、EffectはCopyだけじゃなくてLinkも入れないと駄目かも
221 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:20:03 ] どぼんさんのHPにあるじゃないか ttp://dobon.net/vb/dotnet/control/dropfromwebbrowser.html
222 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:20:17 ] ありがとうございます。 DragDropEffects.Copy→DragDropEffects.Link の変更で受け取れました。助かりました。
223 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 02:06:49 ] OSを起動後に起動時の処理(スタートアップのプログラムの起動など)の一番最後に (PCがアイドル状態になったら)自分のアプリを起動したいのですが、 OSが起動後にそのような状態になったというのはどのように調べたら良いでしょうか? ちなみにWindowsXP-PROです。
224 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 14:03:50 ] hint wmic path Win32_Processor get LoadPercentage
225 名前:デフォルトの名無しさん [2009/06/25(木) 14:04:10 ] すみません。自分の開発してるプログラムでつまずいてしまったので教えてください。 現在業務をスケジュール管理するプログラムを作っています。 業務を登録する画面では、1月〜12月、1日〜31日までのチェックボックスを それぞれ作っています。 例えば1月〜12月と1日のチェックボックスをチェックすると、毎月1日の業務 として登録され、スケジュール表に毎月1日だけその業務が表示されるような ものを作りたいと思ってます。 データベースはACCESSを使用しており、月と日のチェックボックスに対応する 項目としてはYes/No型で1月〜12月、1日〜31日まで全て作っています。 今つまずいている点は、日付を指定してDB上からその日付に該当する業務を取得 したいのですが日付によってチェックするフィールドの位置が違う為、 どのようにすればいいか悩んでいます。 例えば6月1日の業務を取得したい場合、DB上で6月フィールドにチェックがあるかどうか の確認が必要になりますが、日付によって確認するフィールドを動的に変える方法を 教えてください。 1月1日の場合〜、1月2日の場合〜とコーディングしたら365日分つくらないと いけないので(こんな案しか思いつかなかったorz)良い案があれば教えて下さい。
226 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 14:16:31 ] DBのテーブルは与えられてるもの?自分でいじれるもの?
227 名前:225 [2009/06/25(木) 14:17:56 ] 連投すみません。 フィールド名を変数で定義出来れば多分出来るかなと思います。 1月の場合、変数に"1月"と代入しその変数=trueのレコードを取得とするような クエリにぶちこめば動くようにしたいです。
228 名前:225 [2009/06/25(木) 14:20:31 ] >>226 DBは自分でいじることが出来ます。 本当にド素人なんでどういったやり方がスマートなのかわかってないので 、こういうプログラムを作るときは普通こういった方法をする と言ったアドバイスを頂けたらと思います。 よろしくお願いいたします。
229 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 14:23:31 ] Accessを使ってるとフォームを作りやすいようなイメージでテーブルを 作ってしまうのだろうけどそこが誤りだろうな。 日付によって読みに行く場所が違うというのが異常だからそこを直すべき。
230 名前:225 [2009/06/25(木) 14:58:45 ] >>229 つまり1月〜12月、1日〜31日のフィールドっていうのが異常って事ですよね? むずかしいです・・・
231 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:24:00 ] まず、フィールドってのがRDB上の属性(カラム)なのかGUI上のコントロールなのかよくわからない 可能ならとりあえず現状のスキーマとSQLクエリでも晒してくれ
232 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:30:58 ] RDBの流儀でいえばこんな感じのスキーマになると予想 スケジュール表 [ 日付, 業務種別ID, 実業務ID ] 業務マスタ [ 業務種別ID, 業務名, 実業務テーブル名 ] (実業務表) [ 実業務ID, 必要な情報・・・ ] ←業務ごとに作成
233 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 17:39:47 ] >>225 プログラムで動的にSQLを生成して実行する フィールド名も動的に変更できる >>229 今回の要件なら、俺でも1−12月のフラグと1−31日のフラグもつかもしれない まあ、ホントは後で書くスキーマのようにするのが正解だろうけど >>232 登録するのは、業務の繰り返し頻度であって、業務のスケジュールそのものじゃないぞ そのスキーマだと、日ごとスケジュールの生成って作業が必要だな そして繰り返し頻度を変更した場合、今あるスケジュールを全部けして再生成 さらに何年先までのスケジュールを生成していいのか不明 俺の予想スキーマ 業務マスタ(業務ID,業務名,その他必要な内容) 業務頻度月(業務ID,業務実行月) 業務頻度日(業務ID,業務実行日) 指定月日の業務を知りたければ、この三つを業務IDでjoinして 業務頻度月.業務実行月=指定月日の月 and 業務頻度日.業務実行日=指定月日の日 を検索 まああれだ。DB設計の話は板違いだな
234 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:34:03 ] DBも気になるけどチェックボックスが大量に並んでいる画面を想像してぞっとした あ、チェックボックスのリストコントロールとかもあるか・・・
235 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 04:16:35 ] 大量って言っても、12個+31個だからなぁ カレンダー系のマスタメンテとかで、31個のチェックボックスを 並べるのなんて結構やってるし まあしかし、>225からここまで1回もvb.netって言葉が出てないじゃないかw
236 名前:デフォルトの名無しさん [2009/06/26(金) 13:36:39 ] ↑ おい、出すなよ。
237 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 16:00:18 ] DB的な使い方をしない前提なら、 スポットで1日分だけ読み込もうとせずに、 1年分くらい全部読み込んでおけってことになるね。
238 名前:デフォルトの名無しさん [2009/06/26(金) 18:18:29 ] VB.NETでスレッドを扱いたいんです。 同時に20個ほどスレッドを起動させ終了を待ちたいのですが、 どうすればいいのでしょうか? .joinでは無理ですよね? よろしくお願いします。
239 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:21:09 ] 別にJoinでも問題ないと思うが
240 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:49:10 ] そんなにスレッド起動させてどうすんの? SNS巡回ツールでも作んの?
241 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 23:46:59 ] 大量のラベルコントロールを書き換えがしたくて label1 label2 label3...のような感じで連番にして繰り返し処理で 一気に書き換えようと思うのですが思うようにできません target = Cobj("label" & i) のような感じにしたのですが エラーが出てとまってしまいます どうしたらよいのでしょうか?
242 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 00:02:44 ] >>241 label1 label2 label3...をListに入れる
243 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 00:03:16 ] テンプレに入れたいぐらい良く出るな、この類の。 配列に入れとけ
244 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 00:13:42 ] Controls()からLabelをさがせばいいんじゃない For Each child As Control In Me.Controls If child.Text Like "Label*" Then child.Text = child.Text & "でんがな" End If Next
245 名前:デフォルトの名無しさん [2009/06/27(土) 00:34:12 ] 正直、こんな命令があったんだとか こんな使い方があったんだとか 他人のプログラムやサイトを見て知ることが多く それを踏まえてみると自分の書いたコードがとても無駄だったみたいな経験があるんですが みなさんはどうやって、こんな命令があるこんな使い方があるみたいなものを学んでるんですか?
246 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 00:36:46 ] MSDNのサンプルを読破しようと思ったこともありました 挫折しました というわけで他人のプログラムやサイトw
247 名前:238 mailto:sage [2009/06/27(土) 01:31:43 ] >>238 です スレッドが終わるタイミングはまちまちです。 終わったスレッドから終わったあとの処理をしていきたいのです。 .joinだと制御が戻ってこないので困っています。
248 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 01:33:33 ] コンストラクタ内のstatic変数ってそのクラスのオブジェクトすべてで共通じゃないの? オブジェクトに通し番号をつけようと思って以下のように書いたんだが、毎回0になるのだが・・・ Public Class Form1 Private Class Foo Public Sub New() Static Sequence As Integer = 0 Sequence += 1 (毎回0に初期化されてこの時点で1になる
249 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 02:16:37 ] >>248 Static (Visual Basic) ttp://msdn.microsoft.com/ja-jp/library/z2cty7t8(VS.80).aspx >プロシージャが Shared でなければ、その Static 変数を含むローカル変数はインスタンス変数になります。 >そのインスタンス内の変数は、別のインスタンス内の同じ名前を持つ変数とは独立したものです。 各インスタンスで共有したかったらShared使ってこんな感じ Private Class Foo Private Shared Sequence As Integer = 0 Public Sub New() Sequence += 1 Console.WriteLine(Sequence) End Sub End Class
250 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 02:28:03 ] >>249 thnx staticなのにインスタンス別とは・・・
251 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 03:39:00 ] >>247 やっぱ、スレッドが終わるとき自分で終了通知する、とかじゃないかね Dim waitHandles(20) As AutoResetEvent Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load For i As Integer = 0 To waitHandles.Length - 1 waitHandles(i) = New AutoResetEvent(False) Dim workThread As Thread = New Thread(AddressOf worker) workThread.Start(i) Next Dim manageThread As Thread = New Thread(AddressOf manager) manageThread.Start() End Sub Private Sub worker(ByVal obj As Object) Dim i As Integer = CInt(obj) Thread.Sleep(i * 100) '適当に仕事をする waitHandles(i).Set() 'スレッドが終わるときに終了通知 End Sub Private Sub manager() Debug.Print("--------------") For count As Integer = 0 To waitHandles.Length - 1 Dim i As Integer = WaitHandle.WaitAny(waitHandles) '終了通知を待つ Debug.Print("worker {0} done", i) Next Debug.Print("ALL done") End Sub
252 名前:225 [2009/06/27(土) 08:11:33 ] 皆さん、教えていただきありがとうございました。 DBの設計を見直した方が良かったのですが、時間的な関係で今回はこのまま行く 事になりました。 結局プログラムでレコード1件ずつ読み込んで、指定日付の月、日に 対応するフィールドそれぞれのデータがtrueなら取得。 取得したデータを別テーブルに追加していってスケジュール表を作りました。 申し訳ないのですが、別のことでもう少し教えて頂きたい事があります。 スケジュール表を更新した日付等、ちょっとした情報を保存しておきたいのですが、 その為だけにわざわざ新しいテーブルを作るっていうのはおかしいですか? 保存しておきたい情報としては、更新日付、いつから〜いつまでのデータを スケジュール表に取得しているかという情報くらいです。 スケジュール表は3種類あるので保存するレコード数は3件以上には絶対にならないので たった3件の情報の為だけのテーブル作るっていうのは、変なのかなと思いまして 皆さんのご意見をいただけたらと思います。 お願いします。
253 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 11:14:59 ] DBを使うのはやめてOSファイルに書き出すのはどうだろう。 DataSetに全部突っ込んでテキスト(XML)で保存するのもいいアイデアだと思う。
254 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:59:33 ] いい加減、VB.NET関係ない話は該当するスレ(板)で聞け
255 名前:225 [2009/06/27(土) 15:13:48 ] >>254 VB.NETで作ってるので、関係ないとは一概に言えないと思います。
256 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:30:58 ] 関係ないだろ。
257 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 13:18:40 ] >>252 書いてあることだけみると、他の人のアドバイスを元にDBから作り直せば3時間くらいで作れそうな気がするんだけど、 それでも「時間的な関係で」って結局そのままつくり続けるならここで聞く意味ないんじゃないか? とりあえず更新日付等の情報を保存するためにテーブルを作るのは別に問題ないと思うけど、その程度の情報なら、 更新が起きたときにそのテーブルのレコードをUPDATEするんじゃなくて、INSERTしてログ的な使い方のほうが、そのデータをほしいって言った人の要求に近いんじゃないか。 更新対象のスケジュール日付、更新した人、作業内容(追加、修正、削除等)、更新日 みたいな感じのログにしておけば当面の要求はこなせると思う。 毎月1日実行のスケジュールを追加したら12個ログができるような感じで。 業務スケジュールっていうことだし、多分そんな頻繁に変更がないから、容量もそんなにくわないと思う。
258 名前:デフォルトの名無しさん [2009/06/28(日) 15:03:59 ] 質問させてください。 vb.netで開発したwebサイトを実行環境から確認しようと IISを利用してアクセスしたのですが、 以下のようなエラーが出てしまいました。 BC40056: インポート 'Oracle.DataAccess.Client' で指定された名前空間または型が、 パブリック メンバを含んでいないか、または見つかりません。 名前空間または型が定義されていて、 少なくとも 1 つのパブリック メンバを含んでいることを確認してください。 また、インポートされた要素名がエイリアスを使用していないことを確認してください。 開発環境からは正常に実行できていたのですが、 実行環境からだとこのようなエラーが出てしまい困っています。 どなたか助けてください。 使用しているソフト等 windows xp VWD ODBC ODP.NET Oracle11g
259 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 15:07:36 ] machine.config か web.config に参照設定を記述しろ、ってなかったか?
260 名前:258 [2009/06/28(日) 15:20:02 ] >>259 「参照設定を記述しろ」っていう表示はどこにもなかったです。
261 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:03:09 ] otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/win.111/E05791-01/featConfig.htm とかは違う? IIS への発行はどうやったの? 実行環境に、Oracle のクライアントはインストールしてある?
262 名前:258 [2009/06/28(日) 16:17:05 ] >>261 IISへの発行は、コントロールパネルの「プログラムの追加と削除」→「コンポーネントの追加」からIISを追加して、 ネット検索を経て、設定を済ませました。 < ローカルホスト> でIISが表示されるようになっています。 OracleDBサーバーと、実行環境が同じPC上で行われています。 Oracle11gがインストールされているPCなので、 Oracleクライアントは必要ないかと判断しました。 また、リンク先のページを拝見しましたが、いまいち理解ができません;
263 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:21:00 ] んで、開発環境と実行環境は別 PC なのね? どちらも 32ビット? Oracle DB が入ってても、クライアントがインストールされてなきゃダメ。 まずはそこを確認してみて。
264 名前:258 [2009/06/28(日) 16:27:54 ] >>263 ありがとうございます。 開発環境と実行環境は別PCです。 どちらも32ビットです。 今からOracleクラインアントを OracleDBサーバーにしているPCにインストールしてみまつ。
265 名前:258 [2009/06/28(日) 16:49:52 ] >>263 確認したのですが、OracleDBサーバーにしているPCに クライアント10gがすでにインストールされていました。
266 名前:デフォルトの名無しさん [2009/06/28(日) 17:52:33 ] 皆さんは帳票の出力はCrystalReportを使用してますか? 現在帳票はACCESSで使用しています。 今回、フォームをVB.NETで作成しなおし、DBはACCESSを使用することにしました。 帳票がかなり複雑でビジュアル的にも良くできているのですが、それを VB.NETで作り直すのがかなり困難だということをひしひしと感じております。 皆さんだったらどうしますか?
267 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:00:13 ] クリリポ、Active Reports、iText あたり。
268 名前:258 [2009/06/28(日) 18:09:14 ] Oracleクライアントはインストールされているのですが、 未だに上手くいきません。
269 名前:266 [2009/06/28(日) 18:10:13 ] ActiveReoprts良さそうなんですが会社で買うことが出来ないので 無料ツールはありませんか?
270 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:14:35 ] どうもこうもPrintDocumentでガシガシ書くだけだわな
271 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:15:41 ] つーかこのage厨は…
272 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:21:47 ] >>268 アプリの web.config はどうなってんの?
273 名前:258 mailto:sage [2009/06/28(日) 18:28:44 ] >>268 すみません。 「どうなってんの?」というのは具体的にどの部分のことを指しているのでしょうか?
274 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:32:13 ] つーか、参照設定がおかしいんじゃね? って言われてるんだから、 そこを調べろよ。
275 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:38:01 ] まぁ、どうやって調べたらいいんですか? とかだろうなw