todo36 の回答履歴

全1898件中161~180件表示
  • 将棋の奨励会について書かれた書籍を教えてください

    「将棋の子」を読んで奨励会への関心を深めています。 その他に将棋の奨励会について、書かれた小説等をご存知の方は教えてください。

  • 【Vb.net】プリンタジョブの取得

    http://jehupc.exblog.jp/8603528/ 上記のページを参考にさせて頂きvb.netにて、印刷処理を実行し、印刷ジョブを監視するプログラムを作成しました。 印刷処理を実行した時、印刷は実行されるのですが、どうも印刷の処理自体が早く、プリンタジョブを取得する前にジョブが終了してしまっているようです。 ジョブを監視しようにも、ジョブが既に消えてしまっているので、監視しているループから抜けだせません。 (ジョブが溜まっているときは上手くジョブを取得出来るのでプログラムの処理自体は問題ないと思います。) どうにか、消えてしまう前にジョブを取得できないでしょうか? 下記が該当のプログラムです。 処理自体はバックグラウンド処理でファイルの個数分ループしています。 -------------------------------------------------------------------------------------- '印刷処理 ShellExecute(IntPtr.Zero, "print", 【ファイルパス】, "", "", 0) 'プリントサーバの情報取得 Dim prtSv As New LocalPrintServer() '印刷キュー取得 Dim que As PrintQueue = prtSv.DefaultPrintQueue '処理フラグ T:正常 F:異常 Dim blnRtn As Boolean = True 'ジョブ番号 Dim intJobNum As Integer 'ループ内での時間カウント Dim intCnt As Integer = 0 '下記のループで待つ時間をミリ秒単位で指定 Dim intWatiMiliTime As Integer = 10 '印刷がキューに入るまで待つ。 While True '指定ミリ秒待つ Threading.Thread.Sleep(intWatiMiliTime) intCnt += intWatiMiliTime '1分以上たっていたら、印刷に問題があったことにして処理異常フラグを立てる If intCnt > 60000 Then blnRtn = False Exit While End If 'キューが1つ以上 If que.NumberOfJobs > 0 Then Dim jobList As New List(Of PrintSystemJobInfo)() '印刷ジョブコレクション取得 For Each ps As PrintSystemJobInfo In que.GetPrintJobInfoCollection jobList.Add(ps) Next '最新ジョブ名に印刷ファイル名が含まれるとき、このプログラムから印刷キューに入れたと判断する。 If jobList(jobList.Count - 1).Name.EndsWith(【ファイルパス】, True, Nothing) Then intJobNum = jobList(jobList.Count - 1).JobIdentifier Exit While End If End If End While intCnt = 0 '指定されたジョブが印刷完了するまで待つ While blnRtn '指定ミリ秒待つ Threading.Thread.Sleep(intWatiMiliTime) intCnt += intWatiMiliTime Dim jobNow As PrintSystemJobInfo Try jobNow = que.GetJob(intJobNum) Catch ex As Exception '(すでに印刷が完了してジョブが破棄されたとき対策) '異常フラグ立てループ終了 blnRtn = False End Try If jobNow.JobStatus = PrintJobStatus.Completed _ OrElse jobNow.JobStatus = PrintJobStatus.Deleted _ OrElse jobNow.JobStatus = PrintJobStatus.Deleting _ OrElse jobNow.JobStatus = PrintJobStatus.Printed _ OrElse jobNow.JobStatus = PrintJobStatus.Printing _ OrElse jobNow.JobStatus = PrintJobStatus.Retained Then 'ループ終了 Exit While End If 'ジョブがなんらかのエラか、タイムアウト(1分)したなら処理異常終了 If jobNow.JobStatus = PrintJobStatus.Error _ OrElse jobNow.JobStatus = PrintJobStatus.Offline _ OrElse jobNow.JobStatus = PrintJobStatus.PaperOut _ OrElse jobNow.JobStatus = PrintJobStatus.UserIntervention _ OrElse intCnt > 60000 Then '異常フラグ立てループ終了 blnRtn = False End If End While

  • ファイルをクローズしたい

    visual studio 2010 vb.netでの質問です。OpenTextFileWriter での書き込み処理時、エラーが発生した場合、Try,Catch ,FinallyのFinallyの部分でファイルをクローズしたいと思い以下のコードを書きましたが警告 「変数 'tw' は、値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。」が発生してしまいます。ファイルを必ずクローズしたい(エラーが発生しても、しなくても)と思うのですが、どのようにコードを書けばうまくいくのでしょうか。お教えいただけるとありがたいです。 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim wfileNamePath As String Dim data As String Dim tw As System.IO.TextWriter wfileNamePath = "C:\test\test.txt" Try data = "abcd" tw = My.Computer.FileSystem.OpenTextFileWriter(wfileNamePath, True, System.Text.Encoding.Default) tw.WriteLine(data) Catch ex As Exception MsgBox("エラー発生") Finally tw.Close() End Try End Sub End Class

  • ADOによるCSVファイルからのデータ取得

    EXCELVBAを用いて、ADODB.CONNECTIONによりデータを取得しようと思い、ネットで調べた プログラムを使ってみたのですが、途中のレコードまでしか取得できませんでした。 ちなみに、データを取得しようと思っているもとのCSVファイルのサイズは10GB超、レコード数は 800万行程度あります。 これが、数十MB程度のファイルだと問題なかったのですが、レコード数などに制限はあるのでしょうか。 ご教示いただけますと幸いです。 用いたマクロの構文は以下のとおりです。 Dim con As New ADODB.Connection Dim connectionString As String Dim csvFilePath As String Dim rs As ADODB.Recordset Dim colNo As Long Dim fileNumber As Long Dim Buffer As String 'CSVファイルが置かれているフォルダ csvFilePath = E:\ connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & csvFilePath & ";" _ & "Extended Properties=""Text;HDR=NO;FMT=Delimited""" 'コネクションオープン con.Open connectionString 'ここでSQL文によりレコードを取得します。 Set rs = con.Execute("SELECT COUNT(*) FROM XXX.CSV") fileNumber = FreeFile Open OutputFolder & Application.PathSeparator & OutputFile For Output As #fileNumber Buffer = "" ’ヘッダーの出力 For colNo = 0 To rs.Fields.Count - 1 If Buffer <> "" Then Buffer = Buffer & "," End If Buffer = Buffer & rs.Fields(colNo).Name Next Print #fileNumber, Buffer ’データの出力 Do While rs.EOF = False Buffer = "" For colNo = 0 To rs.Fields.Count - 1 If Buffer <> "" Then Buffer = Buffer & "," End If Buffer = Buffer & rs.Fields(colNo).Value Next Print #fileNumber, Buffer '次のレコード rs.MoveNext Loop Close #fileNumber 'クローズ con.Close Set rs = Nothing Set con = Nothing End Sub

  • .NETでActiveXコントロールを使う

    開発系初心者です。 ある事情にて.NETの環境でActiveXコントロールの使用を行うことになりました。 そこで、下記アドレスの方の方法を参考にさせていただいたのですが、 ラッパークラスライブラリの生成が行えません。 .NET環境でActiveXコントロールの実装を行うことに参考にさせていただいたサイト http://blogs.wankuma.com/ganfield/archive/2007/03/13/66556.aspx サイトに記載されているActiveXの登録には、下記のアドレスの方のを参考に、 regsvr32で登録済みとなっています。 ActiveX登録に参考にさせていただいたサイト http://www3.ocn.ne.jp/~tonko/HP13_02.htm 二つのラッパーライブラリが生成できないというのは、コマンドプロンプトの作業時、 AxImp c:\WINDOWS\system32\msdxm.ocx と、入力しても AxImp エラー: タイプ ライブラリ/DLL の読み込みエラーです。(HRESULTからの例外:0x80029C4A (TYPE_E_CANTLOADLIBRARY)) と出てしまい、ラッパーライブラリが生成できません。上記サイト以外に、何か準備する必要があるのでしょうか? なお、開発環境は、 OS     :Windows 7 開発環境 :Visual Studio 2010 です。プログラミング言語ではC#の使用を予定しています。 どなたかご回答をお願い致します。

  • VB.NETからWEBブラウザの操作について

    VS2008 VB.NETにて開発を行っています。 プログラムからIEにて開いたWEBサイトに IDとパスワードを自動入力し自動ログインする処理を作成しています。 IDとパスワードの入力については、サンプルサイトなどからお借りして 以下のように作成し実現できました。 Dim ieDoc As mshtml.HTMLDocument = CType(IE.Document, mshtml.HTMLDocument) Dim elCol As mshtml.IHTMLElementCollection = CType(ieDoc.all, mshtml.IHTMLElementCollection) Dim usTxt As mshtml.HTMLInputTextElement = DirectCast(elCol.item("username"), mshtml.HTMLInputTextElement) Dim psTxt As mshtml.HTMLInputTextElement = DirectCast(elCol.item("password"), mshtml.HTMLInputTextElement) Dim elBtn As mshtml.HTMLButtonElement = CType(elCol.item("???"), mshtml.HTMLButtonElement) usTxt.value = "xxxxx" psTxt.value = "xxxxx" elBtn.click() ただログインボタンクリックの部分にnameのTAGがなく以下のような通常のクリック動作を行う ソースになっています。 ・ログインする対象のWEBサイトのソース <td colspan="2" class="white centerPosT"> <a href="#" onclick="javascript:login(); return false;"> <img src="/images/btn_login.gif" alt="ログイン" onmouseout="javascript:showUp(this)" onmousedown="javascript:showDown(this)" /> </a> </td> このような場合にログインをクリックさせるにはどのような方法で行えばよろしいのでしょうか?

  • VB.NETからWEBブラウザの操作について

    VS2008 VB.NETにて開発を行っています。 プログラムからIEにて開いたWEBサイトに IDとパスワードを自動入力し自動ログインする処理を作成しています。 IDとパスワードの入力については、サンプルサイトなどからお借りして 以下のように作成し実現できました。 Dim ieDoc As mshtml.HTMLDocument = CType(IE.Document, mshtml.HTMLDocument) Dim elCol As mshtml.IHTMLElementCollection = CType(ieDoc.all, mshtml.IHTMLElementCollection) Dim usTxt As mshtml.HTMLInputTextElement = DirectCast(elCol.item("username"), mshtml.HTMLInputTextElement) Dim psTxt As mshtml.HTMLInputTextElement = DirectCast(elCol.item("password"), mshtml.HTMLInputTextElement) Dim elBtn As mshtml.HTMLButtonElement = CType(elCol.item("???"), mshtml.HTMLButtonElement) usTxt.value = "xxxxx" psTxt.value = "xxxxx" elBtn.click() ただログインボタンクリックの部分にnameのTAGがなく以下のような通常のクリック動作を行う ソースになっています。 ・ログインする対象のWEBサイトのソース <td colspan="2" class="white centerPosT"> <a href="#" onclick="javascript:login(); return false;"> <img src="/images/btn_login.gif" alt="ログイン" onmouseout="javascript:showUp(this)" onmousedown="javascript:showDown(this)" /> </a> </td> このような場合にログインをクリックさせるにはどのような方法で行えばよろしいのでしょうか?

  • .NETでActiveXコントロールを使う

    開発系初心者です。 ある事情にて.NETの環境でActiveXコントロールの使用を行うことになりました。 そこで、下記アドレスの方の方法を参考にさせていただいたのですが、 ラッパークラスライブラリの生成が行えません。 .NET環境でActiveXコントロールの実装を行うことに参考にさせていただいたサイト http://blogs.wankuma.com/ganfield/archive/2007/03/13/66556.aspx サイトに記載されているActiveXの登録には、下記のアドレスの方のを参考に、 regsvr32で登録済みとなっています。 ActiveX登録に参考にさせていただいたサイト http://www3.ocn.ne.jp/~tonko/HP13_02.htm 二つのラッパーライブラリが生成できないというのは、コマンドプロンプトの作業時、 AxImp c:\WINDOWS\system32\msdxm.ocx と、入力しても AxImp エラー: タイプ ライブラリ/DLL の読み込みエラーです。(HRESULTからの例外:0x80029C4A (TYPE_E_CANTLOADLIBRARY)) と出てしまい、ラッパーライブラリが生成できません。上記サイト以外に、何か準備する必要があるのでしょうか? なお、開発環境は、 OS     :Windows 7 開発環境 :Visual Studio 2010 です。プログラミング言語ではC#の使用を予定しています。 どなたかご回答をお願い致します。

  • C# でDataTableの更新を高速化したい。

    dataTblには1000件程度のデータが保存されています。 Select()で300件程度を検索して、ヒットした対象のデータの一部を変更しています。 以下がサンプルコード(モディファイしてあります。)です。 DataRow[] hitRow; hitRow = dataTbl.Select(str); for (int i = 0; i < hitRow.Length; i++) { hitRow[i][5] = "ABC"; <=== ここが遅い!! }  Select()は頻繁に行うわけでもなく、遅いとは思っていないのですが、for文の中身で非常に時間が掛ってしまいます。約10秒程度掛ります。  これを高速化したいと考えているのですが、何か良い手はないでしょうか?

  • ストアドプロシージャの条件分岐に関して

    お世話になります。 以下の環境で開発を行っています。 言語:C#(.NET 2008) DB: SQL Server 2008 C#で作成した画面にて入力された値をパラメータで ストアドプロシージャに渡し、その値がNULLでない場合だけ WHERE句にレコード絞り込み条件を与えるSQL文を 考えているのですが、記述方法がわかりません。 (プロシージャ) --------------------------------------------- DECLARE @param1 = ''  -- 画面から渡されるパラメータ1 @param2 = ''   -- 画面から渡されるパラメータ2 SELECT * FROM TABLE1 A, TABLE2 B    -- (1) IF @param1 IS NOT NULL AND @param2 IS NOT NULL    -- ここから WHERE A.COLUMN1 = @param1 AND A.COLUMN2 = @param2 ELSE IF @param1 IS NOT NULL AND @param2 IS NULL WHERE A.COLUMN1 = @param1 ELSE IF @param1 IS NULL AND @param2 IS NOT NULL WHERE A.COLUMN2 = @param2              -- ここまで (2) AND A.COLUMN1 = B.COLUMN1       -- (3) AND A.COLUMN2 = B.COLUMN2      -- (4)   ------------------------------------------------ 上記の(1)から(4)までをうまく1つにまとめたかたちで記述することができません。 特に上記(2)の効率のよい正しい記述方法がわかりません。 どなたかご教授願えますか? よろしくお願いいたします。

  • SQLの接続のタイミングは?

    vb.net 2008で、MS SQL 2008への接続を行いデータの更新等を行っています。 質問なのですが、SQLへの接続は (1)ボタンを押す度にSQL接続および切断 (2)アプリ起動時にSQL接続およびアプリ終了時にSQL切断 のどちらがよいのでしょうか? (1)の場合、SQLの接続台数に影響はあるのか? (2)の場合は、Windowsのスリープモード等から復帰した場合、 SQL接続は継続されているのか? などを心配しております。 どなたか、(1)と(2)どちらが良いか、教えて下さい。

  • WebClient()以外でネットにアクセス

    System.Net.WebClient()で @マークが含まれるサイトへアクセスしようとすると WebClientのエラーでアクセスできませんでした。 おそらく@が含まれるURLをメールアドレスだとWebClientが誤認識しているようで 何か他のクラスの機能で情報をとれないものかと考えております。 そこでご質問です。 VisualBasic2010で、WebClient以外の方法でウェブから情報をとってくる方法はあるのでしょうか? それとも、DLL等で完全に外部のAPIを利用しないといけないのでしょうか? お詳しい方ご回答お願いします。

  • WebBrowser内で、ブログにログインするには

    WebBrowserで、ブログのログイン画面を表示させ 自動でログインさせたいと思います。 URL → https://www.so-net.ne.jp/blog/login_sso?u=http%3A%2F%2Fblog.so-net.ne.jp%2F 分からないのは、「タブ」と「ログインボタン」のクリックです。 タブのクリックの仕方は、全く分かりませんでした。 ログインボタンを調べると <input id="loginformsubmit" type="submit" value="ログイン" name=""> となっており、 これを使って、vb.netでコーディングするには「name」が分からないと書けません。 With Me.WebBrowser1.Document.All Dim submit1 As HtmlElementCollection = .GetElementsByName("") submit1(0).InvokeMember("click") End With どのようにしたら、実現できるか 教えて下さい。 宜しくお願いします。

  • ローカル検索アプリの作成について

    駅名入力や現在地情報取得から、周辺の店舗を表示させるWebサービスを作りたいと考えております。 例えば指定or現在周辺10Km以内の店を表示させたいのですが、どのようにすれば実現可能でしょうか? 色々Webを見ているのですが、良くわかりません。 よろしくお願いします。

  • C#でPHPの可変関数のような事ができるでしょうか

    すみません、ご存じの方教えてください。 PHPでは次のような形で文字列で関数を呼び出せるようですが、C#でも同じ事ができますでしょうか? $str = "MyFunc1"; $str("Hellow"); function MyFunc1($abc){ echo "$abc"; }

  • 少し複雑な検索条件

    初歩的な質問だと思われるため、恐縮ですがご教授ください。 以下のような2つのテーブルがあります。 <テーブルA> 会員NO 生年月日 1 20000101 2 20000102 3 20000103 4 20000104 <テーブルB> 会員NO 生年月日 1 20000101 2 20000102 2 99999999 3 99999998 3 99999999 この状態で、 「テーブルA」の「会員NO」すべての内、 「テーブルB」の「会員NO」と一致し、かつ「生年月日」が1つも一致しない「会員NO」を拾い出したいと考えています。 ↑のテーブルでは、「会員NO」 3 のみが該当する条件となります。 1 → 会員NOと生年月日が一致する 2 → テーブルBで会員NOが一致する2件のうち、片方の生年月日が一致する 4 → 会員NOが一致しない どうか、よろしくお願いいたします。

  • VBからネットワーク接続の制御(VPN接続)

    コントロールパネルのネットワーク接続に作成したVPN接続(PPTP)のアイコンがあります。 普段、このアイコンをダブルクリックでVPN接続を開始しているのですが、 同じ事をVBのコードから行うにはどうしたらいいですか? この接続設定には、接続先やログインアカウントも設定されているので、 できれば、VBからこの接続設定をそのまま利用して、接続を開始したい、(接続アイコンをダブルクリックすることと同じ) のですが、VBのコードから制御できますでしょうか? よろしくお願いします。

  • Listの<Label>と<PictureBox>

    C# リスト型作成 List<Label> labesetl; List<PictureBox> pictureboxset; リストの中に10個のLabelとPictureBoxを作る for(int lblcount=0 ; lblcount<10; lblcount++) { labelset.Add(new Label()); } for(int ptbcount=0 ; ptbcount<10; ptbcount++) { pictureboxset.Add(new PictureBox()); } 先にlabelsetを2段にして5行表示にし、表示させます 次にpictureboxsetを半透過(100,255,255,255)で2段にして5行表示にし、表示させます ここからが質問です。 セットしたlabelsetの好きなとこをクリックした時、 そのクリックしたlabelset[]とpictureboxset[]の番号を取るにはどうすればできますか?

  • VBプログラムから「管理者として実行」したい

    コマンドプロンプトで実行したいコマンドが 「route add ***.***.***.*** mask 255.255.255.255 ***.***.***.***」 (*は、任意のIP) だとします。 XPでは問題ないですが、Vista以降だと、管理者権限が必要なコマンドのため、 そもそもコマンドプロンプト自体を「管理者として実行」モードで起動する必要があります。 上記を、手作業で行う場合は、それで解決しますが、 同じ事を、VBのコードから実行したい場合、 System.Diagnostics.Process.Start を使い、(以下サンプルコード) --------------------------- Dim psi As New System.Diagnostics.ProcessStartInfo() psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec") psi.UseShellExecute = False psi.CreateNoWindow = True psi.Arguments = "/c route add ***.***.***.*** mask 255.255.255.255 ***.***.***.***" Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi) p.WaitForExit() ----------------------------------------------------------- とすると、XPでは、管理者権限を問われないので実行できますが、 Vista以降だと、コマンドが管理者権限で実行されていないためか実行が完了せず、コマンドの内容も行われていません。(route addコマンドの記述にミスは無いとします。) Vista以降の場合、手作業で、コマンドプロンプトを右クリックして「管理者として実行」を選んで起動し、コマンドを実行するのと同じ事を、 VBのコードから行うには、どうしたらいいのでしょうか? 分かる方、教えてください。お願いします。

  • フレームでのResponse.Redirect

    はじめまして。 ASP.NET(C#)初心者です。 仕事上、現在づまづいている個所があり、どなたかご教授いただけないでしょうか。 今現在、下記のようなtestページを作成しています。 --- フレーム1-------------フレーム2------------------- 【TextBox】        | *CustomValidator    | ボタン押下時、画面Response.Redirectで別ページ表示 【Button】         | --------------------------------------------------- ボタン押下時、TextBoxはCustomValidatorで検証し、 OKならばResponse.Redirectで、 フレーム2に別ページを表示(targetでフレーム2を指定)する。 といったものを作成したいのです。 1回目の検証OK時には上記の動作をするのですが、 それ以降、ボタンを押下するとフレーム1と同じ画面が フレーム2に表示されるようになってしまいます。 分かる方、もしくはヒントがありましたら教えていただけると幸いです。 よろしくお願いいたします。