|
||
株式会社ウィル | ||
|
HOME | 新着情報 | 製品一覧 | 受託開発 | Download | 購入方法 | トライアル | サポート | 会社案内 |
|
テキストビューアサンプル KVIEWER Ver1.03 | |||
|
|||
|
KVIEWERは汎用のテキストビューアーです。これを用いると、JISコード、ShiftJISコード、EUCコードのテキストファイルを閲覧する事が出来ます。
開くメニューで指定したテキストファイルをShiftJISコードに変換して表示します。KVIEWERのパッケージにはサンプルファイルとして、SAMPLE_JIS.TXT、SAMPLE_EUC.TXT、SAMPLE_SJIS.TXTが同梱されています。
▲TOPへ |
'(C)COPYRIGHT 1997 WILL Option Explicit Dim org_txt$ 'ファイルから読み込んだデータを保存する Private Sub Form_Load() If (Command$ <> "") Then '引数にファイルを指定されたら org_txt = ReadFile(Command$) 'それを読み込み Call mnuEditCodeSub_Click(0) '変換する End If End Sub Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, Y As Single) If (Data.GetFormat(vbCFFiles) = True) Then 'ドロップされたら org_txt = ReadFile(Data.Files(1)) 'それを読み込み Call mnuEditCodeSub_Click(0) '変換する ElseIf (Data.GetFormat(vbCFText) = True) Then 'ドロップされたら org_txt = StrConv(Data.GetData(vbCFText), vbFromUnicode) Call mnuEditCodeSub_Click(0) '変換する End If End Sub '画面の大きさの変更に合わせてテキストボックスの大きさも変更する Private Sub Form_Resize() 'テキストボックスを画面いっぱいに表示する Text2.Left = 0 Text2.Top = 0 Text2.Width = ScaleWidth Text2.Height = ScaleHeight End Sub 'ヴァージョン情報の表示 Private Sub mnuAbout_Click() about.Show vbModal End Sub 'メニューの文字コードを変更する Private Sub mnuEditCodeSub_Click(Index As Integer) Dim tmp$ '変換前のデータ。変換された部分は削除されて行く Dim out$ '変換後のデータ。 Static selected% '以前に選択された文字コード If (org_txt = "") Then '変換すべきものがないなら Exit Sub 'なにもしない End If tmp = org_txt 'ファイルから読み込んだデータを取り出す Select Case Index '元のファイルのデータの文字コードに応じて変換する Case 0 '自動 out = Kanji1.Any2Sjis(tmp) Case 1 '元のデータはJIS out = Kanji1.Jis2Sjis(tmp) Case 2 '元のデータはSJIS。変換しなくてよい out = tmp Case 3 '元のデータはEUC out = Kanji1.Euc2Sjis(tmp) End Select Text2.Text = StrConv(out, vbUnicode) 'さらにUnicodeに変換する mnuEditCodeSub(selected).Checked = False selected = Index mnuEditCodeSub(selected).Checked = True End Sub '終了する Private Sub mnuExit_Click() End End Sub '指定されたファイルからデータを読み込む。引数fはファイル名。戻り値はデータ。 Private Function ReadFile$(ByVal f$) Dim ff% 'ファイルディスクリプタ Dim x() As Byte '読み込んだデータ On Error GoTo nofile 'エラーがあったらなにもしない ff = FreeFile '空いているファイルディスクリプタを得る Open f For Input As ff 'ファイルを読み込みモードでオープンする Close ff Open f For Binary Access Read As ff If (LOF(ff) > 0) Then 'ファイルにデータがあるなら、 ReDim x(1 To LOF(ff)) 'ファイルサイズ分のバイト配列を用意する Get ff, , x 'ファイルサイズ分リードする End If Close ff 'クローズする ReadFile = x '文字変数として返す Exit Function nofile: MsgBox f & ":" & Err.Description, , "ReadFile" End Function Private Sub Text2_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, Y As Single) If (Data.GetFormat(vbCFFiles) = True) Then 'ドロップされたら org_txt = ReadFile(Data.Files(1)) 'それを読み込み Call mnuEditCodeSub_Click(0) '変換する ElseIf (Data.GetFormat(vbCFText) = True) Then 'ドロップされたら org_txt = StrConv(Data.GetData(vbCFText), vbFromUnicode) Call mnuEditCodeSub_Click(0) '変換する End If End Sub
'(C)COPYRIGHT 1997 WILL Option Explicit 'OKボタン Private Sub Command1_Click() Unload Me End Sub 'ロードされた Private Sub Form_Load() 'Kanji.OCXのヴァージョン情報を表示する Label2 = kviewer.Kanji1.Copyright End Sub
|
(C) Copyright 2003 WILL Corporation. All rights reserved. |