VB.net

vb.netでバイナリファイル読み書き

FilePut/FileGetというのがあって便利 public Class Form1 'バイナリファイル読み書きの練習 Public Structure Person Public Name As String Public Age As Short End Structure Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Syst…

vb.netでビットフィールド構造体的アクセス

扱いたい数字の最高値をいれれば、いい感じに割り振ってくれる dim data as int32 '元になるデータをセット Dim dataBV As BitVector32 = New BitVector32( data ) 'mySect1 はケツから0-6の数字が扱えるエリアと定義 'mySect2 はmySect1の次から0-3の数字が…

vb.netでバイト型配列を文字列に変換する

'バイト型配列"bytesData"に文字列データが入っているものとする Dim str As String 'Shift JISとして文字列に変換 str = System.Text.Encoding.GetEncoding(932).GetString(bytesData) 'JISとして変換 str = System.Text.Encoding.GetEncoding(50220).GetSt…

vb.netでビットシフト演算子

>> << と Cっぽい書き方でできる Dim i As Integer i = 4 >> 1 ' 算術右シフト : i = 4 \ (2 ^ 1) = 2 となる ' &B0100(&H4) -> &B0010(&H2) i = 4 << 1 ' 算術左シフト : i = 4 * (2 ^ 1) = 8 となる ' &B0100(&H4) -> &B1000(&H8) i = 7 >> 2 ' 算術右…

regasmを呼び出す

regasmの場所は環境依存なので困る。 NET のコードで実行時に Framework のインストール先が取得できる。 Dim path As String = IO.Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "RegAsm.exe") ネタ元 https://qiita.com/tinymouse/items/7d1431…

VB.netのIE操作でキャッシュクリア

'インターネット一時ファイルの削除 Process.Start("RunDll32", "InetCpl.cpl,ClearMyTracksByProcess 8") 'パスワードの削除 Process.Start("RunDll32", "InetCpl.cpl,ClearMyTracksByProcess 32") 'フォームデータの削除 Process.Start("RunDll32", "InetC…

VB.netでwindowsインストールソフトウェア取得

Dim wkRegKey As Microsoft.Win32.RegistryKey Dim wkKeyName As String Dim strKeyNames() As String Dim strKeyName As String Dim rKey As Microsoft.Win32.RegistryKey Dim displayName As String wkKeyName = “SOFTWARE\Microsoft\Windows\CurrentVersi…

.netのHTTPS通信で System.Net.WebException: 接続が切断されました: 送信時に、予期しないエラーが発生しました。 とエラーがでたら TLS1.2にすればOK

WebClientでアクセスしたら例外がでた。 TLS1.0、1.1の廃止が原因らしい。TLS1.2にするには ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 入れるだけで一応OK。 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12…

vb.netで日付をyyyymmddhhmmssで取得

DateTime.Now.ToString("yyyyMMddHHmmss") ネタ元 http://www.atmarkit.co.jp/ait/articles/0408/27/news104.html

Html Agility Packを使ってWebページをスクレイピングするには?[C#、VB]

スクレイピングには便利なライブラリらしい。 ネタ元 http://www.atmarkit.co.jp/ait/articles/1501/27/news140.html

vb.netで排他処理(ミューテックス)

Imports System.Threading ... Private mtx As New Mutex .... '排他開始 mtx.WaitOne() ... '排他完了 mtx.ReleaseMutex() ネタ元 http://www.atmarkit.co.jp/fdotnet/vblab/vb2005m_11/vb2005m_11_04.html

Html Agility Packを使ってXPathでWebページをスクレイピングする

NuGetでHtml Agility Packを追加。例(VB.NETコード) Sub Main() Console.WriteLine("HttpClientクラスで取得したWebページを解析する(Html Agility Pack)") ' 時間計測用のタイマー Dim timer = New System.Diagnostics.Stopwatch() timer.Start() ' .NET …

C#/VB.netですべての例外をキャッチする

vb.net Try 'ファイルを開く sr = System.IO.File.OpenText(filePath) Catch ex As System.IO.FileNotFoundException System.Console.WriteLine(ex.Message) Return Nothing Catch ex As System.IO.IOException System.Console.WriteLine(ex.Message) Return…

vb.netですべての例外をキャッチ

Try 'ファイルを開く sr = System.IO.File.OpenText(filePath) Catch ex As System.IO.FileNotFoundException System.Console.WriteLine(ex.Message) Return Nothing Catch ex As System.IO.IOException System.Console.WriteLine(ex.Message) Return Nothin…

vb.netでのWebSocketの使い方

WebSocket = New WebSocket4Net.WebSocket("wss://ws.binaryws.com/websockets/v3") AddHandler WebSocket.Opened, Sub(s, e) socketOpened(s, e) AddHandler WebSocket.Error, Sub(s, e) socketError(s, e) AddHandler WebSocket.Closed, Sub(s, e) socketC…

Dictionaryなどのコレクションの初期化記述方法

From って書く Private Sub TestProc01() Dim col As New ArrayList() From {10, 20, 30} Dim list As New List(Of Integer) From {10, 20, 30} End Sub ネタ元 https://code.msdn.microsoft.com/windowsdesktop/12-393b568a

vb.netで文字コードを指定してテキストファイルに書き込む

'Shift JISで書き込む '書き込むファイルが既に存在している場合は、上書きする Dim sw As New System.IO.StreamWriter("C:\test\1.txt", _ False, _ System.Text.Encoding.GetEncoding("shift_jis")) 'TextBox1.Textの内容を書き込む sw.Write(TextBox1.Tex…

VB.NETでC言語の sprintf

dim sb as new System.Text.StringBuilder() for n as Integer = 0 to 100 sb.append( String::Format( "No0 ={0:0000} No1={1:#,##0} No2={2:#0.00}{3}", n, n*33, n*45.125, vbCrLf ) ) next TextBox1.Text = sb.ToString() ネタ元 https://detail.chiebuk…

vb.net RestSharpで得たJSONデータをJson.NETを使って読む

NugetでRestSharpとJson.NET(Newtonsoft.json)をインストールしてね Dim client = New RestClient("https://public.bitbank.cc/") Dim request = New RestRequest("btc_jpy/ticker") Dim response As IRestResponse response = client.Execute(request) Dim …

VB.NETでURLを叩く

【VB.NET】指定したURLのHTMLを取得する Public Class SampleHTML Public Shared Sub main() Dim client As System.Net.WebClient = _ New System.Net.WebClient() Dim url As String url = "http://blog.livedoor.jp/akf0/" '指定したURLからデータを取得す…

vb.netでJSONを扱うには Json.NET 

nugetからインストール可能 Imports Newtonsoft.Json ... ネタ元 http://future-convergence.hatenablog.jp/entry/2015/01/07/001045

VB.netでSelenium

準備編 Seleniumモジュールダウンロード http://www.seleniumhq.org/download/ から C#のをダウンロード いまならNugetからでもいけるみたい。 IEとEdgeとChrome自動化する場合に実行ファイルと同じフォルダにおくものダウンロード chromedriver ここからThe…

Html Agility PackとXPathでスクレイピング

HtmlAgilityPackを使うにはプロジェクトごとにNuGetから導入する。 ソリューションエクスプローラーで導入したいプロジェクトを選択しておいて、メニューバーから[プロジェクト]-[NuGet パッケージの管理]を選ぶ すると、[NuGet パッケージの管理]ダ…

ストリームを使ってテキストファイルに書き込む

'Shift JISで書き込む '書き込むファイルが既に存在している場合は、上書きする Dim sw As New System.IO.StreamWriter("C:\test\1.txt", _ False, _ System.Text.Encoding.GetEncoding("shift_jis")) 'TextBox1.Textの内容を書き込む sw.Write(TextBox1.Tex…

VB.NETとC#でデバッグビルド時のみ通るコードを書く

VB.NET #If DEBUG Then Console.WriteLine("デバッグバージョンです。") #End IfC# #if DEBUG Console.WriteLine("デバッグバージョンです。"); #endifネタ元 http://dobon.net/vb/dotnet/programing/define.html

vb.netで区切り文字で分割して配列に変換する

Split使う ' 必要な変数を宣言する Dim stCsvData As String = "5, Jitta, ABC" ' カンマ区切りで分割して配列に格納する Dim stArrayData As String() = stCsvData.Split(","c) ' データを確認する For Each stData As String In stArrayData MessageBox.Sh…

.NETで実行されているすべてのプロセスを取得する

'ローカルコンピュータ上で実行されているすべてのプロセスを取得 Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses() '"machinename"という名前のコンピュータで実行されている 'すべてのプロセスを取得するには次のよう…

.NETでファイルのリネーム

'"C:\test\a.txt"を"C:\test\b.txt"に名前を変更する My.Computer.FileSystem.RenameFile("C:\test\a.txt", "b.txt")ネタ元 http://dobon.net/vb/dotnet/file/filecopy.html

.NETで外部EXE(アプリ)を起動

'メモ帳を起動する Dim p As System.Diagnostics.Process = _ System.Diagnostics.Process.Start("notepad.exe") ネタ元 http://dobon.net/vb/dotnet/process/shell.html

.NETで拡張子の変更

' 拡張子を .txt から .log に変更したファイルパスを取得する Dim stAfterName1 As String = System.IO.Path.ChangeExtension("C:\Hoge.txt", ".log") ' 拡張子を削除したファイルパスを取得する Dim stAfterName2 As String = System.IO.Path.ChangeExtens…