社員ブログ
HOME  社員ブログ

アーカイブ

‘VB’ カテゴリ

【備忘録】ディストリビューション ウィザード

2013年08月30日 12時29分20秒

こんにちは、花鳥諷詠です。

今回は備忘録。
 ディストリビューションで指定できるマクロパス

  • $(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出力

2013年08月7日 16時11分56秒

こんにちは、カズマです。

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, 社員:カズマ ,

.net修行中37(DataGridViewの描画を速くする)

2013年07月22日 0時00分11秒

こんにちは、モンクです。

DataGridView(以下dgv)の描画を簡単に速くする方法を2点紹介します。

  1. 列の幅、行の高さ設定を自動にしない
  2. 以下の設定をすると、列幅、行高を自動で設定している時より、ずっと早くなります。
    描画する件数が多いほど、効果は高いです。

    <br />
    dgv.AllowUserToResizeRows = False<br />
    dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None<br />
    dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None<br />
    dgv.RowTemplate.Height = 10<br />
    

  3. データをdgvに配置する間、非表示にする
  4. dgvのVisibleをFalseにする、またはFormのVisibleをFalseにすることで、データをdgvに配置するときの描画(ディスプレイへの表示)がないため、処理速度工場が見込めます。
    dgvへの配置が終わったら、VisibleをTrueにします。

後者は描画に限らず、複雑な処理をしている最中でも効果があるので使いどころは多いです。
ただし、画面効果が犠牲になります(いちいち画面が点滅する感じになる)ので、
エンドユーザや発注者がいる場合は、その要望をよく聞きましょう。

.NET, VB, VB.NET, 社員:モンク, 開発言語, 雑記