こんにちは、花鳥諷詠です。
今回は備忘録。
ディストリビューションで指定できるマクロパス
- $(WinSysPath) → \Winnt\System32
- $(WinSysPathSysFile)→ \Winnt\System32
- $(AppPath) → インストール先
- $(CommonFiles) → \Program Files\Common Files\
- $(CommonFilesSys) → \Program Files\Common Files\System
- $(ProgramFiles) → \Program Files
- $(Font) → \Windows\Fonts
以上
では、また
VB, 社員:花鳥諷詠, 雑記
こんにちは、カズマです。
VB6にてCSV出力の処理を作ったので
忘れた時にすぐ探せるようにここに書いておきます
'--------------------------------------------------
'機能説明:SQL取得結果のCSV出力処理
'引 数 :strSQL - String : SQL
' :filePath - String : csvファイル名を含むフルパス
'補 足 :該当CSVファイルが存在しない場合、新規作成
' :存在する場合、上書き
' :CSVファイルが開かれている場合、エラー
'--------------------------------------------------
Public Function Output_CSVFile(strSQL As String, filePath As String) As Boolean
On Error GoTo errorTrap
Output_CSVFile = false
Const DSN As String = "DSN_NAME";
Const DSN_USER As String = "USER"
Const DSN_PASS As String = "PASS"
Dim Env As rdoEnvironment
Dim Con As New rdoConnection
Dim rs As rdoResultset
Set Env =rdoEnvironments(0)
Set Con = Env.OpenConnection("", rdDriverNoPrompt, False, _
";dsn=" & DSN &";uid=" & DSN_USER & ";pwd="& DSN_PASS) 'Oracle
'SQL実行
Set rs = Con.OpenResultset(strSQL)
Dim columCnt As Integer
columCnt = rs.rdoColumns.Count - 1 '取得カラム数格納
Dim i As Integer 'ループ変数
i = 0
Open filePath For Output Access Write As #1
Do Until rs.EOF
Dim resultStr '取得結果結合用に
For i = 0 To columCnt
if i <> 0 Then
resutlStr = resultStr & "," & rs.rdoColumns(i).value
Else
resutlStr = rs.rdoColumns(i).value
End if
Next
Print #1, resultStr
rs.MoveNext
Loop
rs.Cloe
Env.Close
Con.Close
Close #1
Output_CSVFile = True
Exit Function
errorTrap:
If Err.Number = 70 Then
MsgBox ("CSVファイルが開かれています、閉じてください")
End if
Output_CSVFile = False
End Function
【補足】
言語:VB6
DB:Oracle
接続:RDO
VB, 社員:カズマ
CSV出力, 備忘録
こんにちは、モンクです。
DataGridView(以下dgv)の描画を簡単に速くする方法を2点紹介します。
- 列の幅、行の高さ設定を自動にしない
以下の設定をすると、列幅、行高を自動で設定している時より、ずっと早くなります。
描画する件数が多いほど、効果は高いです。
<br />
dgv.AllowUserToResizeRows = False<br />
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None<br />
dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None<br />
dgv.RowTemplate.Height = 10<br />
- データをdgvに配置する間、非表示にする
dgvのVisibleをFalseにする、またはFormのVisibleをFalseにすることで、データをdgvに配置するときの描画(ディスプレイへの表示)がないため、処理速度工場が見込めます。
dgvへの配置が終わったら、VisibleをTrueにします。
後者は描画に限らず、複雑な処理をしている最中でも効果があるので使いどころは多いです。
ただし、画面効果が犠牲になります(いちいち画面が点滅する感じになる)ので、
エンドユーザや発注者がいる場合は、その要望をよく聞きましょう。
.NET, VB, VB.NET, 社員:モンク, 開発言語, 雑記
最近のコメント