したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

VBでつくられた2chブラウザ

3341 ◆ExGQrDul2E:2006/05/28(日) 04:17:57 ID:MziW6YcM
↑の方ではテーブルの構造をコピーしたので今度はデータをコピーするプログラム。
'データベースA→データリーダーに読み込み→データベースBに書き込み
ConnectionString = "Data Source=.\sqlexpress;Initial Catalog=DATABASE.MDF;Integrated Security=SSPI;"
ConnectionString2 = "Data Source=(local);Initial Catalog=AoM;Integrated Security=SSPI;"
SQL = "Select * From " & TableName
conn = New SqlConnection(ConnectionString)
conn2 = New SqlConnection(ConnectionString2)
cmd = New SqlCommand(SQL, conn)
conn.Open()
DR = cmd.ExecuteReader
DR.Read()
schemaTable = DR.GetSchemaTable()
SS = ""
Dim i As Integer

'For Each myRow In schemaTable.Rows
' SQL2 = "Insert into " & TableName & "("

' For Each myCol In schemaTable.Columns
' 'SS = SS & myCol.ColumnName & " = " & myRow(myCol).ToString() & "<br>"

' Next
' 'SS += "----------------------------------------------" & "<br>"
'Next
Dim SQL2b As String
'While DR.Read 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW'いったんリードしてるのでここではリードしない
Do
SQL2 = "Insert into " & TableName & "("
SQL2b = ") Values ("
For i = 0 To DR.FieldCount - 1
If Not i = 0 Then
SQL2 += ","
SQL2b += ","
End If
SQL2 += "[" & DR.GetName(i) & "]"
'文字列は' 'で囲むので列のタイプがわからないといけない。
schemaTable = DR.GetSchemaTable()
For Each myRow In schemaTable.Rows
For Each myCol In schemaTable.Columns
If myCol.ColumnName = "DataType" Then
If myRow(myCol.ColumnName).ToString = "System.DateTime" Or myRow(myCol.ColumnName).ToString = "System.String" Then
If Not IsDBNull(DR(i)) Then
SQL2b += "'" & DR(i) & "'"
Else
SQL2b += "Null"
End If

End If
GoTo LandB
End If
Next
Next
LandB:
' If schemaTable.Rows(DR.GetName(i))("DataType") Then
'SQL2b += schemaTable.Rows(0)("DataType").ToString
Next
'GoTo LandA
SQL2 += SQL2b & ")"
cmd2 = New SqlCommand(SQL2, conn2)
conn2.Open()
num2 = cmd2.ExecuteNonQuery
conn2.Close()
'End While 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
Loop While DR.Read
' GridView5.DataSource = DR
' GridView5.DataBind()
LandA:
DR.Close()
conn.Close()
Label3.Text = SQL2

3351 ◆ExGQrDul2E:2006/05/28(日) 04:21:01 ID:MziW6YcM
↑データをコピーするときはSQL のInsertコマンドを使ってみた。
こうしてテーブル構造もデータもコピーできたのであった。

336名無しさん:2006/05/29(月) 04:45:30 ID:x4fpfJRM
めでたし めでたし

3371 ◆ExGQrDul2E:2006/06/03(土) 00:30:00 ID:PfJOdz9g
     _____
   /。    \
  /        \
 / ┏━━━━━┓   コ
 |  ┃ ⊂⊃|⊃|   /
 |  ┃ | \__/| |   ホ
 \┃ \___ / |  /
   \        /

338名無しさん:2006/07/18(火) 17:55:34 ID:AUWg3sMw
http://ime.s2ch.net/log.php

3391 ◆ExGQrDul2E:2006/07/29(土) 02:10:27 ID:SEZ8PBeg
ファイルをゴミ箱に移動させる方法
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/SHFileOperation/

3401 ◆ExGQrDul2E:2006/08/04(金) 02:20:45 ID:SEZ8PBeg
パチンコおもすれーーーー

341名無しさん:2006/08/20(日) 07:24:45 ID:9yx2a7Ek
1って、>>338みたいなの作れる技量あるの?

3421 ◆ExGQrDul2E:2006/08/20(日) 10:46:33 ID:SEZ8PBeg
ノーコメント

3431 ◆ExGQrDul2E:2006/09/06(水) 01:32:00 ID:oJIhamyE
Visual Basic 言語リファレンス
ユーザー定義の日付/時刻書式 (Format 関数)
参照 使用例
すべて折りたたむ すべて展開 言語のフィルタ : すべて 言語のフィルタ : 複数 言語のフィルタ : Visual Basic 言語のフィルタ : C# 言語のフィルタ : C++ 言語のフィルタ : J# 言語のフィルタ : JScript
Visual Basic (宣言)
Visual Basic (使用法)
C#
C++
J#
JScript

ユーザー定義の日付/時刻書式を作成するときに使用できる文字を次の表に示します。以前のバージョンの Visual Basic とは異なり、これらの形式指定文字の大文字と小文字は区別されます。

文字 説明
(:)
時刻の区切り記号。ロケールによっては、時刻の区切り記号を表すのに別の記号が使用されます。時刻の区切り記号は、時刻値を表すときに、時、分、および秒を区切ります。書式指定された出力で、実際に時刻の区切り記号として使用される記号は、システムの LocaleID 値によって決まります。

(/)
日付の区切り記号。ロケールによっては、日付の区切り記号を表すのに別の記号が使用されます。日付の区切り記号は、日付値を表すときに、年月日を区切ります。書式指定された出力で、実際に日付の区切り記号として使用される記号は、ロケールによって決まります。

(%)
後に続く文字には関係なく、次の文字を 1 文字書式指定として読み取る必要があることを示すために使用します。1 文字書式指定をユーザー定義の書式として読むことを示すためにも使用します。詳細については、以下の説明を参照してください。

d
先行するゼロを付けずに日付を表示します (たとえば、1)。ユーザー定義の数値書式でこれが唯一の文字である場合は、%d を使用します。

dd
先行するゼロを付けて日付を表示します (たとえば、01)。

ddd
曜日を短縮形で表示します (たとえば、Sun)。

dddd
曜日をそのまま表示します (たとえば、Sunday)。

M
先行するゼロを付けずに月を表示します (たとえば、1 月は 1)。ユーザー定義の数値書式でこれが唯一の文字である場合は、%M を使用します。

MM
先行するゼロを付けて月を表示します (たとえば、01/12/01)。

MMM
月を短縮形で表示します (たとえば、Jan)。

MMMM
月をそのまま表示します (たとえば、January)。

gg
時代/年号を示す文字列を表示します (たとえば、A.D.)。

h
先行するゼロを付けずに、時を 12 時間制で表示します (たとえば、1:15:15 PM)。ユーザー定義の数値書式でこれが唯一の文字である場合は、%h を使用します。

hh
先行するゼロを付けて、時を 12 時間制で表示します (たとえば、01:15:15 PM)。

H
先行するゼロを付けずに、時を 24 時間制で表示します (たとえば、1:15:15)。ユーザー定義の数値書式でこれが唯一の文字である場合は、%H を使用します。

HH
先行するゼロを付けて、時を 24 時間制で表示します (たとえば、01:15:15)。

m
先行するゼロを付けずに、分を表示します (たとえば、12:1:15)。ユーザー定義の数値書式でこれが唯一の文字である場合は、%m を使用します。

mm
先行するゼロを付けて、分を表示します (たとえば、12:01:15)。

3441 ◆ExGQrDul2E:2006/09/06(水) 01:32:14 ID:oJIhamyE

s
先行するゼロを付けずに、秒を表示します (たとえば、12:15:5)。ユーザー定義の数値書式でこれが唯一の文字である場合は、%s を使用します。

ss
先行するゼロを付けて、秒を表示します (たとえば、12:15:05)。

F
秒の小数部を表示します。たとえば、ff は 100 分の 1 秒を表示し、ffff は 10,000 分の 1 秒を表示します。ユーザー定義の書式では f 記号を 7 つまで使用できます。ユーザー定義の数値書式でこれが唯一の文字である場合は、%f を使用します。

T
12 時間制を使用し、午前は大文字の A、午後 (11:59 P.M. まで) は大文字の P を表示します。ユーザー定義の数値書式でこれが唯一の文字である場合は、%t を使用します。

tt
12 時間制を使用し、午前は大文字の AM、午後 (11:59 P.M. まで) は大文字の PM を表示します。

24 時間制を使用するロケールの場合、何も表示されません。

y
先行するゼロを付けずに、年を 1 桁の値 (0 〜 9) で表示します。ユーザー定義の数値書式でこれが唯一の文字である場合は、%y を使用します。

yy
先行するゼロを付けずに、年を 2 桁の数値で表示します。

yyy
年を 4 桁の数値書式で表示します。

yyyy
年を 4 桁の数値書式で表示します。

z
標準時との時差を先頭にゼロのない数値として表示します (たとえば、-8)。ユーザー定義の数値書式でこれが唯一の文字である場合は、%z を使用します。

zz
標準時との時差を先頭にゼロのある数値として表示します (たとえば、-08)。

zzz
標準時との時差を完全な形で表示します (たとえば、-08:00)。


使用例
December 7, 1958, 8:50 PM, 35 seconds を使ったユーザー定義の日付/時刻書式の例を次に示します。

形式 表示
M/d/yy
12/7/58

d-MMM
7-Dec

d-MMMM-yy
7-December-58

d MMMM
7 December

MMMM yy
December 58

hh:mm tt
08:50 PM

h:mm:ss t
8:50:35 P

H:mm
20:50

H:mm:ss
20:50:35

M/d/yyyy H:mm
12/7/1958 20:50

3451 ◆ExGQrDul2E:2006/09/06(水) 20:52:28 ID:oJIhamyE
文字コードの判別
http://dobon.net/vb/dotnet/string/detectcode.html

346あぼんぬ:あぼんぬ
あぼんぬ

3471 ◆ExGQrDul2E:2007/11/05(月) 01:29:51 ID:PDUtZqkU
2chブラウザはWindowsフォームというアプリケーションなわけであるが、フォームの表示位置をコードで操作するプログラムを自作したので解説する。

3481 ◆ExGQrDul2E:2007/11/05(月) 01:33:07 ID:PDUtZqkU
FormのStartPositionプロパティにManualやCenterScreenという値があるが、今回は自分が指定した位置にフォームを表示させるのでManualにしておく。
そしたらForm1_Loadのプロシージャに次のコードを書く。

3491 ◆ExGQrDul2E:2007/11/05(月) 01:38:05 ID:PDUtZqkU
じゃなかった、フォームの中にリンクラベルコントロールをずらずらとならべるプログラムを書く。
リンクラベルを実行時に動的に生成する場合はコード中でリンクラベルの表示位置をX,Yで指定する。
VB6ではLabel1.LeftとLabel1.TopというプロパティがありX,Yの指定はカンタンだったが.NETではさてどうするかという問題。

3501 ◆ExGQrDul2E:2007/11/05(月) 01:39:20 ID:PDUtZqkU
Dim LinkLove As LinkLabel = New LinkLabel
LinkLove.Name = "LinkLove" & i
LinkLove.AutoSize = True
LinkLove.Text = S2(0)
If i = 1 Then 'HHHHHHHHHHHHHHHHHHHHHH
PX = 0 : PY = 0
Else 'HHHHHHHHHHHHHHHHHHHHHH
Dim o As Object
Dim LB As LinkLabel
For Each o In Me.Controls 'DDDDDDDDDDDDDDDDD
If o.Name = "LinkLove" & i - 1 Then
'CType
LB = CType(o, LinkLabel)
PX = 0
PY = LB.Location.Y + LB.Height
End If 'HHHHHHHHHHHHHHHHHHHHHH
Next 'DDDDDDDDDDDDDDDDD
End If
LinkLove.Location = New Point(PX, PY)
'→エラー'Form1.Controls.Add(LinkLove)'↓Form1でなくMeキーワードを使う
Me.Controls.Add(LinkLove)
'LinkLove.Visible = True
'ListBox2.Items.Add(FileString)
AddHandler LinkLove.LinkClicked, AddressOf LinkLove_LinkClicked

3511 ◆ExGQrDul2E:2007/11/05(月) 01:44:30 ID:PDUtZqkU
Dim LinkLove As LinkLabel = New LinkLabel
LinkLove.Name = "LinkLove" & i
LinkLove.AutoSize = True
LinkLove.Text = "←リンクラベルに表示する文字列"

ここらへんは動的にコントロールを作っている部分。Dimでコントロールを宣言したら各種プロパティの設定を行っている。
.Name コントロールの一意に定める名前で、コントロールにアクセスするときはこのNameを指定する。いわゆるコントロールのIDなので私の好みをいうと.IDと言うプロパティにしてほしかったがVB.NETでは.Nameである。
.AutoSize 表示文字の長さにあわせて自動伸縮
.Text 表示文字列

3521 ◆ExGQrDul2E:2007/11/05(月) 01:47:39 ID:PDUtZqkU
Dim o As Object
Dim LB As LinkLabel
For Each o In Me.Controls
If o.Name = "LinkLove" & i - 1 Then
'CType
LB = CType(o, LinkLabel)

ここらへん、凝っているが、LinkLabel1.Text="abc"ならできるが、
i=1
(LinkLabel & i).Text="abc"という変数iを使ったコントロールの指定ができないから特殊テクニックを使った。

3531 ◆ExGQrDul2E:2007/11/05(月) 02:15:41 ID:PDUtZqkU
ここらへんがフォームの位置座標を扱っているコード。
PY = LB.Location.Y + LB.Height

LinkLove.Location = New Point(PX, PY)
など。
Locationというキーワードを使うのもVB6.0の頃にはプログラマーが書かないでも自動でやってくれていたし、
New Point(PX, PY)というのも目新しく使いこなすのに慣れが必要だとおもふ

3541 ◆ExGQrDul2E:2007/11/11(日) 09:21:30 ID:PDUtZqkU
New Point(PX, PY)
などは構造体という言葉が思いつくであろう。

3551 ◆ExGQrDul2E:2007/11/12(月) 02:47:09 ID:PDUtZqkU
VB6.0のヘルプファイルはMSDNライブラリという膨大なものだが、
このライブラリのナンギガバイトものデータをハードディスクにインストールする余裕が無い場合は
Windowsスクリプトのヘルプファイルをマイクロソフトからインストールすると10MBぐらいですむようだ

3561 ◆ExGQrDul2E:2008/02/10(日) 12:04:43 ID:YyQ2hNss
VB.NETであるフォームから別のフォームのテキストボックスに値を表示するコード
Dim frmDebug As Form = New Debug
frmDebug.Controls.Item("RTB1").Text = S
frmDebug.Show()

3571 ◆ExGQrDul2E:2008/02/10(日) 19:23:55 ID:YyQ2hNss
ディレクトリの中身ごとディレクトリをコピーするすばらしぃメソッド
My.Computer.FileSystem.CopyDirectory(コピー元ディレクトリ, コピー先ディレクトリ, True)
第3引数のTrueはコピー先に同じ名前のものがあったら上書きするためのもの

3581 ◆ExGQrDul2E:2008/02/10(日) 19:35:22 ID:YyQ2hNss
しかし、あるファイルのみをコピーしたいなど細かい制御が必要な場合は
やはりファイルを1コずつ扱うのだ。
-----------------------------------
Dim Moto As String
Dim Saki As String
Moto = "コピー元ディレクトリ"
Saki = "コピー先ディレクトリ"
Dim di As New DirectoryInfo(Moto)
Dim fi As FileInfo() = di.GetFiles()
Dim fiTemp As FileInfo

For Each fiTemp In fi
My.Computer.FileSystem.CopyFile(Moto & "\" & fiTemp.Name, Saki & "\" & fiTemp.Name, True)
Next fiTemp

3591 ◆ExGQrDul2E:2008/02/11(月) 13:04:41 ID:YyQ2hNss
Process.Startという便利なメソッドがある。
便利だが、単にProcess.Start("http://〜")でサイトを開くとすでに開いているウィンドウに新たなページが表示されてしまう。
新しいウィンドウにページを表示したくば次のようにするのだ。
Dim URL As String
Dim i As Integer
Try
i = ListBox1.SelectedIndex
URL = URLDt.Rows(i)("URL")


Dim myProcess As New ProcessStartInfo
myProcess.FileName = BrowserPath
myProcess.Arguments = URL
myProcess.CreateNoWindow = False
myProcess.UseShellExecute = False
myProcess.Verb = "open"
Process.Start(myProcess)
Catch

End Try

3601 ◆ExGQrDul2E:2008/02/20(水) 12:31:25 ID:RHGP7ogY
これはWEBサイトを作る時の話題だが、
ASP.NETでサイトを作ったらデフォルトではすべてのページはUTF-8であり、日本語の文字はきれいに表示されてくれない。
各ページのBODYタグにスタイルシートで文字コードを指定するのは常道ではあるが、各ページに記述するのはとても大変なことである。
そこで、サイト全体をシフトジスにするには、ルートフォルダにあるweb.configの
<system.web>
</system.web>
の間に
<globalization requestEncoding="shift_jis" responseEncoding="shift_jis" />
と書くのだ。
参考ページ
http://www.atmarkit.co.jp/fdotnet/aspexp/aspexp14/aspexp14_03.html

3611 ◆ExGQrDul2E:2008/03/12(水) 14:07:49 ID:8CJQ35mI
String 関数
類似 Space 関数
必要条件
バージョン 1
指定した繰り返し回数を使用して文字列を返します。

String(number, character)
引数
number
文字をいくつ並べるのかを指定します。引数 number に Null 値が含まれる場合は、Null 値を返します。
character
文字の文字コードまたは文字列式を指定します。この文字列の先頭文字を number 回繰り返した値を返します。引数 character に Null 値が含まれる場合は、Null 値を返します。
解説
引数 character に 256 以上の数値を指定すると、String 関数では次の式を使って数値を有効な文字コードに変換します。

character Mod 256
次のコードは、String 関数を使って指定された文字数だけ並べた文字列を返す例です。

Dim MyString
MyString = String(5, "*") ' " *****" を返します。
MyString = String(5, 42) ' "*****" を返します。
MyString = String(10, "ABC") ' "AAAAAAAAAA" を返します。

3621 ◆ExGQrDul2E:2008/04/08(火) 16:21:35 ID:YhrDhYBI
>>179の@パラメータを使用していた場合は下記の問題を回避できるのだ。
@がSQL予約語を自動的にエスケープしてくれるからだ。

【社会】中国国内から「SQLインジェクション」…カード番号など流出した可能性 - サウンドハウス
http://mamono.2ch.net/test/read.cgi/newsplus/1207525293/l50

3631 ◆ExGQrDul2E:2008/04/13(日) 13:32:34 ID:TCJv6qJ2
Webページを保存して開いてみると文字化けしている場合があるが、
それは文字コードの指定がないhtmlファイルの場合がほとんどだ。
ファイル自体が壊れているわけではないので文字コード指定を追加してやる。
<head></head>
の間に
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
を書く。

3641 ◆ExGQrDul2E:2008/04/13(日) 15:34:54 ID:TCJv6qJ2
コンストラクタはクラスのインスタンス作成と初期化を同時に行うもののことだ。
Dim sw As StreamWriter = New StreamWriter(FileName)
はテキストをハードディスクに書き込むためのStreamWriterクラスのインスタンスであるが、
コンストラクタの便利なところは引数に在る。
StreamWriter(FileName)
以外にも、
StreamWriter(FileName,True)

StreamWriter(FileName,True,System.Text.Encoding.GetEncoding("UTF-8"))
などが記述でき、
FileNameはパスまで含んだファイル名
Trueは同じファイルがあったときに上書きするかどうか
System.Text.Encoding.GetEncoding("UTF-8")はどんな文字コードで保存するか、
の指定である。
ファイルのパスを表す引数以外は省略できるが、省略したばあいはデフォルトの値が使用される。
デフォルトの値は.NETの仕様書、ヘルプファイルに載っている。
たとえば文字コードを指定しなければUTF8で保存される。

3651 ◆ExGQrDul2E:2008/05/06(火) 08:01:20 ID:TCJv6qJ2
RichTextBox1という名前が長いので、コントロールはRichTextBox1という名前のままで
プログラム中ではRTB1という短い名前で扱う工夫
--------
Dim RTB1 As RichTextBox = CType(RichTextBox1, RichTextBox)
RTB1.SelectionStart = RTB1.TextLength
----------------
↑CTypeは便利

3661 ◆ExGQrDul2E:2008/05/06(火) 08:02:53 ID:TCJv6qJ2
VbCrLFを毎回書くのは労力なのでカンタンにする工夫
Dim CL As String = VbCrLf

CLの2文字で改行を扱えるようになった。

3671 ◆ExGQrDul2E:2008/06/05(木) 13:58:46 ID:LvivE98s
「大事なアドレス」

192.168.1.1はルータへ、
170.0.0.1はローカルマシンへ。

ルータへのログインIDを忘れたら悲惨

3681 ◆ExGQrDul2E:2008/06/08(日) 01:02:55 ID:LvivE98s
VB.NETでexeファイルを作成するとデフォルトではbin\Releaseというフォルダに作成されてしまう。
VBプロジェクトと同じフォルダにexeファイルを作りたい場合は、
メニュー→プロジェクト→プロパティ→コンパイル→ビルド出力パス
のところに.\と書いておく。

3691 ◆ExGQrDul2E:2008/06/08(日) 01:41:46 ID:LvivE98s
アプリ.exeを起動する時に/abcなどの
コマンドラインをDOSプロンプトなどに記述して、起動された側がそれを受け取るプログラム
Dim CommandLine As String
CommandLine = Command()
TextBox1.Text = CommandLine

3701 ◆ExGQrDul2E:2008/06/08(日) 01:48:05 ID:LvivE98s
逆に、あるアプリをこちらのアプリからコマンドライン付きで起動したい場合は
Process.Start (String, String)
と書く。
Process.Start (String)
はおなじみで、Stringに起動させたいexeなどをフルパスで指定したわけだが、
コマンドラインを含ませて起動したい場合は
Process.Start (String, String)
と第2引数にコマンドラインを書く。
つまり、
Process.Start (String)
を使って
Process.Start ("あぷり.exe /abc")
だと指定したファイルが見つからないというエラーになるので、
コマンドラインを利用する場合は
Process.Start ("あぷり.exe","/abc")
と第2引数にコマンドラインを書いた形式でプロセススタートする。

3711 ◆ExGQrDul2E:2008/06/08(日) 01:50:27 ID:LvivE98s
Process.Start ("あぷり.exe","/abc")

訂正
/abcの/はいらない
Process.Start ("あぷり.exe","abc")

3721 ◆ExGQrDul2E:2008/06/08(日) 13:16:53 ID:LvivE98s
日付データを文字列として、年を4桁、月を2桁、日を2桁で出力する
Format(Date, "yyyy/MM/dd")

3731 ◆ExGQrDul2E:2008/06/08(日) 13:22:08 ID:LvivE98s
2008/1/3の1月部分などを1ではなく01とし、2008/01/03としたい場合がよくあり、このときLeft関数やRight関数を使う場合がある。
X="01"とすると
このときうっかりLeft("0" & X,2)とすると戻り値は00になってしまう。
Right("0" & X,2)が正しく、ちゃんと01の値を取り出せる。

3741 ◆ExGQrDul2E:2008/06/11(水) 05:06:25 ID:LvivE98s
ところであるアプリを別のアプリからコマンドライン付きで起動するべきものはなんであろうか。
グローバル変数を多く使ったアプリは初期化の書き忘れなどが多々あり、そういったアプリは作業が一回終わったら一旦終了して、またアプリを起動しないと使えない。
そこで、アプリの終了や再起動が頻繁に必要なアプリは外部アプリからの立ち上げが便利だ。何回も手動で再起動する必要が無くなる。

3751 ◆ExGQrDul2E:2008/06/25(水) 15:30:33 ID:FyL9DViM
Microsoft Windows Vista で SendKeys を使用するための Microsoft .NET Framework 1.1 Service Pack 1 更新プログラム
http://www.microsoft.com/downloads/details.aspx?FamilyID=59b18749-74f9-4891-8cb5-b22970b58aa9&amp;DisplayLang=ja

3761 ◆ExGQrDul2E:2008/08/22(金) 11:01:19 ID:Ijg2xTc6
なぞのエラーが出たらハードディスクがいっぱいの可能性がある

3771 ◆ExGQrDul2E:2008/08/30(土) 12:51:12 ID:rE00umOE
CheckBox コントロールには、Checked および CheckState という 2 つの重要なプロパティがあります。Checked プロパティは、true または false を返します。CheckState プロパティは、Checked または Unchecked を返します。ThreeState プロパティが true に設定されている場合、CheckState も Indeterminate を返すことがあります。中間状態では、ボックスが淡色表示されてオプションを使用できないことが示されます。

3781 ◆ExGQrDul2E:2008/08/30(土) 14:48:51 ID:rE00umOE
SJIS、JIS、EUC、UNICODE(UTF-16)、UTF-7、UTF-8の文字コード判定/変換(コマンドライン可)
http://homepage2.nifty.com/nonnon/Download/NonCode/index.html

3791 ◆ExGQrDul2E:2008/08/30(土) 15:25:18 ID:rE00umOE
http://chaichan.web.infoseek.co.jp/vbtips/VBMemo2006082201.htm
◆ VBSでのコマンドライン引数の取得
VB6では、Commmand関数でコマンドライン引数を取得できますが、VBSでは、Commmand関数がありません。ではどうするかというと、以下の感じです。ちなみに、VBAでのコマンドライン引数取得はここを参照してください。

Set args = WScript.Arguments
msgbox "引数の数は" & args.Count & "で、第1引数は" & args.item(0) & "で、第2引数は" & args.item(1) & "です。"

'起動方法(DOSコマンドラインまたは、「ファイル名を指定して実行」ダイアログから)
wscript.exe "C:\args.vbs" "abc" "123"

3801 ◆ExGQrDul2E:2008/08/30(土) 18:21:37 ID:rE00umOE
DateAdd 関数 (Visual Basic)
DateDiff 関数 (Visual Basic)
DatePart 関数 (Visual Basic)
Day 関数 (Visual Basic)
Format 関数
Now プロパティ
Weekday 関数 (Visual Basic)
Year 関数 (Visual Basic)
日付型 (Date) (Visual Basic)

3811 ◆ExGQrDul2E:2008/08/30(土) 18:30:28 ID:rE00umOE
文字列→日付型
CDate

3821 ◆ExGQrDul2E:2008/08/30(土) 18:39:47 ID:rE00umOE
S=CStr(D)
のほかに
S=D.ToString
もおk

3831 ◆ExGQrDul2E:2008/08/30(土) 18:48:27 ID:rE00umOE
おススメはこちら
S=Format(D, "yyyy_MM_dd")

3841 ◆ExGQrDul2E:2008/08/31(日) 03:37:33 ID:rE00umOE
9−4.VB6のItemDataプロパティと同じような動作
最後にVB6を使用していプログラマ向けに情報を提供します。

VB6のListBoxにはItemDataというプロパティがあり、表示している一覧とは別に表示されない一覧を持つことができました。この2つの一覧はたとえば、学籍番号と学生の名前のように対になっている値を管理するのに便利でした。ただし、ItemDataの一覧には数値項目しか設定できないのが難点でした。

VB.NET2002以降では一覧はあくまでもItemsプロパティの一覧だけになりましたが、文字列以外の値も設定できるようになったためVB6のItemDataプロパティよりも柔軟に対になっている値や連動する値を管理することができます。

以下のVB6のItemDataプロパティの使用例を示します。

http://homepage1.nifty.com/rucio/main/dotnet/ClassLibrary/L007_System.Windows.Forms.ListBox.htm

3851 ◆ExGQrDul2E:2008/08/31(日) 14:43:06 ID:rE00umOE
Dim S1, S2 As String スカラー変数
Dim Sa1, Sa2 As String() 配列変数

3861 ◆ExGQrDul2E:2008/09/01(月) 12:21:04 ID:rE00umOE
フォルダのサイズを取得する
あるフォルダ以下のすべてのファイルの合計サイズを取得する方法を紹介します。ヘルプにも同様の方法が紹介されていますので、そちらもご覧ください。

下記のメソッド(GetDirectorySizeメソッド)は、DirectoryInfoオブジェクトで対象フォルダを指定し、サイズを取得しています。なお、ファイル数、サブフォルダ数が多いと、かなり時間がかかります。
http://dobon.net/vb/dotnet/file/foldersize.html

3871 ◆ExGQrDul2E:2008/09/16(火) 15:23:56 ID:COmXOrqI
ランダムクラスについて
http://jeanne.wankuma.com/tips/vb.net/random/next.html
乱数 (ランダムな数) を取得する
' Random クラスの新しいインスタンスを生成する
Dim cRandom As New System.Random()

' 0 以上の乱数を取得する
Dim iResult1 As Integer = cRandom.Next()

' 0 以上 512 未満の乱数を取得する
Dim iResult2 As Integer = cRandom.Next(512)

' 256 以上 512 未満の乱数を取得する
Dim iResult3 As Integer = cRandom.Next(256, 512)

' 取得した乱数を表示する
MessageBox.Show( _
iResult1.ToString() & System.Environment.NewLine & _
iResult2.ToString() & System.Environment.NewLine & _
iResult3.ToString() _
)

http://jeanne.wankuma.com/tips/vb.net/random/nextdouble.html
乱数 (ランダムな数) を浮動小数で取得する
VB.NET 全般
' Random クラスの新しいインスタンスを生成する
Random cRandom = new System.Random()

' 0.0 以上 1.0 以下の乱数を取得する
Dim dRandom As Double = cRandom.NextDouble()

' 取得した乱数を表示する
MessageBox.Show(dRandom.ToString())

http://jeanne.wankuma.com/tips/vb.net/random/nextbytes.html
VB.NET 全般
' Random クラスの新しいインスタンスを生成する
Dim cRandom As New System.Random()

' バイト型の配列を確保する
Dim btBytes(5) As Byte

' バイト型の配列の乱数を取得する
cRandom.NextBytes(btBytes)

' 取得した乱数をすべて表示する
For Each btByte As Byte In btBytes
MessageBox.Show(btByte.ToString())
Next btByte

3881 ◆ExGQrDul2E:2008/09/17(水) 11:55:57 ID:COmXOrqI
Random.Next () 0 以上の乱数を返します。
.NET Compact Framework によってサポートされています。

Random.Next (Int32) 指定した最大値より小さい 0 以上の乱数を返します。
.NET Compact Framework によってサポートされています。

Random.Next (Int32, Int32) 指定した範囲内の乱数を返します。
.NET Compact Framework によってサポートされています。

Int32 値型は、-2,147,483,648 から +2,147,483,647 までの値の符号付き整数を表します。

3891 ◆ExGQrDul2E:2008/09/22(月) 08:17:35 ID:R4XJd84M
文字コード判別など
http://homepage2.nifty.com/nonnon/SoftSample/index.html

390名無しさん:2008/09/25(木) 23:18:35 ID:CvMDidiE
もう5年かよ・・・。
尊敬してしまう・・・。

3911 ◆ExGQrDul2E:2008/09/27(土) 03:36:24 ID:R4XJd84M
オッス。

3921 ◆ExGQrDul2E:2008/09/29(月) 11:52:58 ID:R4XJd84M
配列変数の宣言の仕方は次の2通り
Dim Arr1() As String
Dim Arr1 As String()
/////////////////////////////
同じサイズの配列を複数宣言するときに便利な方法
Dim Arr1,Arr2,Arr3 As String()

3931 ◆ExGQrDul2E:2008/09/30(火) 14:45:39 ID:R4XJd84M
IsNumeric 関数
IsNumeric は、Expression のデータ型が Boolean、Byte、Decimal、Double、Integer、Long、SByte、Short、Single、UInteger、ULong、または UShort の場合に True を返します。また、Expression が、数値に正しく変換できる Char、String、または Object である場合にも True を返します。

Expression が Date 型の場合、IsNumeric は False を返します。Expression が、数値に正しく変換できない Char、String、または Object である場合にも False を返します。

3941 ◆ExGQrDul2E:2008/11/23(日) 14:57:29 ID:EKrM8ywA
とりあえず自分のパソコンでしか動かない2chブラウザならできたけど
ハードディスクが壊れてソースごとあぼ〜ん

3951 ◆ExGQrDul2E:2008/12/08(月) 10:14:59 ID:8OfZBncA
不景気だ・・・日本も世界も

3961 ◆ExGQrDul2E:2008/12/14(日) 23:40:53 ID:8OfZBncA
>>349に関連した記事
---------------------------
Form の新しいインスタンスを作成し、ShowDialog メソッドを呼び出して、フォームをダイアログ ボックスとして表示するコード例を次に示します。この例では、FormBorderStyle、AcceptButton、CancelButton、MinimizeBox、MaximizeBox、StartPosition の各プロパティを設定してフォームの外観と機能を変更し、ダイアログ ボックスとして表示します。この例では、フォームの Controls コレクションの Add メソッドを使用して、2 つの Button コントロールも追加します。また、HelpButton プロパティを使用して、ダイアログ ボックスのキャプション バーにヘルプ ボタンを表示します。

Visual Basic コードのコピー
Public Sub CreateMyForm()
' Create a new instance of the form.
Dim form1 As New Form()
' Create two buttons to use as the accept and cancel buttons.
Dim button1 As New Button()
Dim button2 As New Button()

' Set the text of button1 to "OK".
button1.Text = "OK"
' Set the position of the button on the form.
button1.Location = New Point(10, 10)
' Set the text of button2 to "Cancel".
button2.Text = "Cancel"
' Set the position of the button based on the location of button1.
button2.Location = _
New Point(button1.Left, button1.Height + button1.Top + 10)
' Set the caption bar text of the form.
form1.Text = "My Dialog Box"
' Display a help button on the form.
form1.HelpButton = True

' Define the border style of the form to a dialog box.
form1.FormBorderStyle = FormBorderStyle.FixedDialog
' Set the MaximizeBox to false to remove the maximize box.
form1.MaximizeBox = False
' Set the MinimizeBox to false to remove the minimize box.
form1.MinimizeBox = False
' Set the accept button of the form to button1.
form1.AcceptButton = button1
' Set the cancel button of the form to button2.
form1.CancelButton = button2
' Set the start position of the form to the center of the screen.
form1.StartPosition = FormStartPosition.CenterScreen

' Add button1 to the form.
form1.Controls.Add(button1)
' Add button2 to the form.
form1.Controls.Add(button2)

' Display the form as a modal dialog box.
form1.ShowDialog()
End Sub

3971 ◆ExGQrDul2E:2009/01/09(金) 17:45:11 ID:8OfZBncA
起動しているメモ帳をすべて終了するプログラムをつくってみた。
参考ページはこちら
http://jeanne.wankuma.com/tips/vb.net/process/

Dim hProcesses As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("notepad") '大文字のNotepadでも機能する
Dim hProcess As System.Diagnostics.Process
For Each hprocess In hProcesses
hProcess.Kill()
Next hProcess
−−−−−−−−−−−−−−−−−−−−−−−−−−
ウィンドウズアクセサリのnotepad.exeを起動するといくつ起動してもすべてnotepadというプロセスネイムなのですべてのメモ帳を終了することができる。
特定のメモ帳だけを制御したいばあいはプロセスIDを採用する。

3981 ◆ExGQrDul2E:2009/01/09(金) 17:52:35 ID:8OfZBncA
特定のファイルを開いているプロセスのみを制御しているサンプル
http://hanatyan.sakura.ne.jp/dotnet/App05.htm

ByVal e As System.EventArgs) Handles Button3.Click
'指定のExcelファイルを起動しているExcel.EXEを探し終了させる
Dim localByName As Process() = Process.GetProcessesByName("Excel")
Dim p As Process
Dim fn As String = "Microsoft Excel - " & "Test.xls"
'起動中のExcelを取得
For Each p In localByName
'指定のファイル名(Test.xls)で起動中のExcelがあれば終了する
If System.String.Compare(p.MainWindowTitle, fn, True) = 0 Then
'指定のウィンドウにクローズ メッセージを送信して、プロセスを終了
p.CloseMainWindow()
End If
Next

3991 ◆ExGQrDul2E:2009/01/23(金) 17:31:42 ID:jZhBOYY2
http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200211/02110055.txt
コントロールを最前面に移動するには?
[戻る]
--------------------------------------------------------------------------------
Oran [E-Mail] 2002/11/26(火) 21:08:30
VB 初めて 2ヶ月ほど。なかなか進歩しないもんです。
初 VB が .NET なんですが、やはりみなさん 6 なんでしょうか。

と。本題。
コントロールを最前面に配置したいのですが、デザイナー上であれば右クリックで出来ることは分かっています。
しかし、コントロールを動的に配置した場合、デザイン時に配置したコントロールの下に隠れてしまうんですよ。困ったことに・・・
ソースがまずいのかなぁ。どなたか教えてください。
以下は便宜上、フォームロード時、テキストボックスの場合です。

Private Sub MainForm_Load(ByVal sender As System.Object,
           ByVal e As System.EventArgs) Handles MyBase.Load
Dim txtBox As New TextBox()
txtBox.Location = New System.Drawing.Point(100, 100)
txtBox.Size = New System.Drawing.Size(50, 20)
Me.Controls.Add(txtBox)
txtBox.Show()
End Sub

--------------------------------------------------------------------------------
Say 2002/11/26(火) 22:19:01
VB6ならZOrderで変更できますが、
VB.Netではできませんか?

--------------------------------------------------------------------------------
Oran 2002/11/27(水) 00:32:19
[[解決]]
早々のお返事ありがとうございます。
どうやら ZOrder は、無くなったようですが、これをキーワードに検索したらサクっと見つかりました。
まだ試行してないのですが、どうやら BringToFront() や SendToBack() 関数で出来るようです。

助かりました。

4001 ◆ExGQrDul2E:2009/01/24(土) 15:55:26 ID:jZhBOYY2
WebBrowserコントロールにドキュメントを読み込む
Dim SiteAddress As New Uri("http://nyannyan3.minidns.net/UPLoader/&quot;)
WB1.Url = SiteAddress

4011 ◆ExGQrDul2E:2009/01/29(木) 22:52:16 ID:jZhBOYY2
免責事項
当スレには書き間違いがあるかもだけど何が起こっても責任は取らないのでヨロシク

4021 ◆ExGQrDul2E:2009/01/30(金) 15:49:32 ID:jZhBOYY2
同一リストボックス内ドラッグでアイテム並び替え
http://smdn.invisiblefulmoon.net/mnemorepos/20040607-00.html
単一のリストボックス内においてドラッグアンドドロップでアイテムを並べ替えできるようにしたくなったので、それが出来るコントロールを作ってみました。 MSDNライブラリにあるDoDragDrop()メソッドの説明にそれに似たようなコードがあったので一通り読んでみたんですが、何がなんだかよくわからず、ちと苦労しました。 てなわけで、できあがった記念に(笑)

4031 ◆ExGQrDul2E:2009/02/13(金) 15:55:02 ID:pLAJ6L76
My.Computer.FileSystem オブジェクトの DeleteDirectory メソッドを使用すると、ディレクトリを削除できます。指定できるオプションには、ディレクトリの内容を削除するかどうか、削除したディレクトリをごみ箱に送るかどうか、および削除の進行状況を表示するかどうかがあります。

空の場合のみディレクトリを削除するには
DeleteDirectory メソッドを使用してディレクトリを削除します。その際、onDirectoryNotEmpty を False に設定します。この例では、OldDirectory という名前のディレクトリを、空の場合のみ削除します。

Visual Basic コードのコピー
My.Computer.FileSystem.DeleteDirectory("C:\OldDirectory", _
FileIO.DeleteDirectoryOption.ThrowIfDirectoryNonEmpty)




ディレクトリを削除してごみ箱に送るには
DeleteDirectory メソッドを使用してディレクトリを削除します。その際、recycle を RecycleOption.SendToRecycleBin に設定します。この例では、操作の進行状況を表示しながら、OldDirectory という名前のディレクトリおよびそのすべての内容を削除してごみ箱に送ります。

Visual Basic コードのコピー
My.Computer.FileSystem.DeleteDirectory("C:\OldDirectory", FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin)

4041 ◆ExGQrDul2E:2009/02/21(土) 22:30:33 ID:whI5HaL6
Path.GetExtension メソッド
拡張子を取得する

405名無しさん:2009/03/08(日) 01:12:47 ID:whI5HaL6
データテーブル、データカラム、データロー
Dim Dt As New DataTable("iR")
Dim colInt32 As DataColumn = New DataColumn("iR")
colInt32.DataType = System.Type.GetType("System.Int32") 'String型だとソートすると1<16<8とかになる
Dt.Columns.Add(colInt32)
Dim NewRow As DataRow = Dt.NewRow
NewRow("iR") = iR
Dt.Rows.Add(NewRow)

4061 ◆ExGQrDul2E:2009/03/08(日) 10:40:29 ID:whI5HaL6
DataViewの特定のマスを取得
view(i)("item")
iは行のインデックスで、ソートしてあるViewならなおよろしい。
itemはカーラム名

4071 ◆ExGQrDul2E:2009/03/08(日) 11:34:14 ID:whI5HaL6
Vi2(j)("Ren")

4081 ◆ExGQrDul2E:2009/03/14(土) 22:38:06 ID:whI5HaL6
[SleepTimer]

Dim WaitTime As Single
Dim FirstTime As Single
Dim NowTime As Single
WaitTime = 0.1
FirstTime = VB.Timer()
Do
NowTime = VB.Timer()
App.DoEvents()
Loop While (NowTime - FirstTime) >= 0 And (NowTime - FirstTime < WaitTime)

4091 ◆ExGQrDul2E:2009/03/17(火) 11:23:20 ID:whI5HaL6
Array.Sort
Array.Reverse

4101 ◆ExGQrDul2E:2009/03/24(火) 03:59:35 ID:zW2sAYyU
画面解像度の変え方
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15308&amp;forum=7
http://dobon.net/vb/bbs/log3-13/7373.html

411天才ハッカー ◆ExGQrDul2E:2009/10/25(日) 01:30:25 ID:9Ii97l1s
#畭

4121 ◆ExGQrDul2E:2009/12/15(火) 01:27:25 ID:w2x4.1bY
メディアプレイヤーコントロール WindowsMediaplayerControl
AxWMPLib.AxWindowsMediaPlayer

413名無しさん:2009/12/15(火) 02:30:37 ID:XTg8twR6
まだ生きていたのかw

4141 ◆ExGQrDul2E:2009/12/15(火) 07:17:01 ID:w2x4.1bY
なんてこったい/(^o^)\

415名無しさん:2013/03/19(火) 16:52:28 ID:yPS4Bxq.



新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板