![]() |
|
|
| 株式会社ウィル | ||
|
|
||
| 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. |