ファイルの読み込みについて

解決


 2005-05-25 06:17:11  No: 90024  IP: [192.*.*.*]

VB6を先月からやり始めました。
CommonDialog1.Filter = "DXF(*.dxf)|*.dxf|すべてのファイル(*.*)|*.*"
commondialog1.showopen  
をしてDXFファイル形式をtext1.textに表示したいのですがうまく読み込んで出力されません。どのようにしたらいいですか?
  Sub DXFver(selFn As String)

    Dim strFilename As String
    Dim Read_Data As String
    Dim Tmp_Data As String
    Dim FileNum As Integer

    FileNum = FreeFile
    Read_Data = ""
    On Error GoTo file_read_err
     Open "c:\" For Input As #FileNum
     Text1.Text = ""
     Do Until EOF(FileNum)
     Line Input #FileNum, Tmp_Data
     Read_Data = Read_Data & Tmp_Data & vbCrLf
     Loop
     Close #FileNum
     Text1.Text = Read_Data
     Exit Sub
     
file_read_err:
     MsgBox "ファイルの読み込みエラー", , "エラーメッセージ"


End Sub

編集 削除
もげ  2005-05-25 08:23:32  No: 90025  IP: [192.*.*.*]

いやぁ、うまく読み込んで出力されませんってのが
具体的にどううまくいかないのか説明もらえませんか?
だって、透視能力ありませんし。

まず、DXFって読めるように適宜改行が入れてあるフォーマットなのか?
(そうでなければ、バイト単位で読み込む&見やすいように適宜改行を
入れてあげるようなことをしないとならないかも)
あと、
TextBox側でMultiLineプロパティがTrueになってるかどうか?
は、まず思い浮かびますが...

編集 削除
ガッ  2005-05-25 08:26:04  No: 90026  IP: [192.*.*.*]

> VB6を先月からやり始めました。
> CommonDialog1.Filter = "DXF(*.dxf)|*.dxf|すべてのファイル(*.*)|*.*"
> commondialog1.showopen  
CommonDialog1が、Microsoft コモン ダイアログ コントロール 6.0
なら、
> をしてDXFファイル形式をtext1.textに表示したいのですがうまく読み込んで出力されません。どのようにしたらいいですか?
何を望んで「ファイル形式」と言っているのか全然検討が付きませんが、
コレ↓は全く関係の無いコードですよね?

>   Sub DXFver(selFn As String)

>     Dim strFilename As String
>     Dim Read_Data As String
>     Dim Tmp_Data As String
>     Dim FileNum As Integer

>     FileNum = FreeFile
>     Read_Data = ""
>     On Error GoTo file_read_err
>      Open "c:\" For Input As #FileNum
>      Text1.Text = ""
>      Do Until EOF(FileNum)
>      Line Input #FileNum, Tmp_Data
>      Read_Data = Read_Data & Tmp_Data & vbCrLf
>      Loop
>      Close #FileNum
>      Text1.Text = Read_Data
>      Exit Sub
>      
> file_read_err:
>      MsgBox "ファイルの読み込みエラー", , "エラーメッセージ"


> End Sub
とりあえず、text1.Text = CommonDialog1.FileNameとしてみたらどうでしょ?

編集 削除
siro  2005-05-25 09:48:28  No: 90027  IP: [192.*.*.*]

On Error GoTo file_read_err
をコメントアウトし、実行したらどうなるでしょう?

編集 削除
 2005-05-25 10:55:22  No: 90028  IP: [192.*.*.*]

御解答有難う御座います

DXFをnotepadで表示した内容をTEXT1.TEXTに表示させたいのですが・・・>もげ

CADで設計した内容をDXF形式で出力しそれをtext1.textに表示させたいということです>ガッ

編集 削除
 2005-05-25 11:13:21  No: 90029  IP: [192.*.*.*]

>Open "c:\" For Input As #FileNum
これは何を開いてるの?
Openステートメントの引数の意味がわかってますか?

編集 削除
dark  2005-05-25 12:58:24  No: 90030  IP: [192.*.*.*]

内容とは関係ないけど、指導を頂いた方を呼び捨てにするのはやめましょう。
初心者だからといって許されるとこではないので。
(人間としてのマナー)

編集 削除
 2005-05-25 16:03:21  No: 90031  IP: [192.*.*.*]

呼び捨てにしてすいませんでした。
掲示板を使ったのも初めてだったもので本当にすいません。

編集 削除
ねろ  2005-05-25 16:22:22  No: 90032  IP: [192.*.*.*]

呼び方はさておき、siroさんの
>On Error GoTo file_read_err
>をコメントアウトし、実行したらどうなるでしょう?
これはどうなりました。

編集 削除
ちぃず  2005-05-27 19:34:25  No: 90033  IP: [192.*.*.*]

コントロールはFORM1にText1配置してあるだけです。
Text1はMultiLine=True ScrollBars = 3-両方 になっています。
勘違いの内容でしたらすみません。

Private Sub Form_Load()
    Dim FileNum As Integer
    Dim strLine As String
    Dim strText As String
    
    Me.CommonDialog1.Filter = "DXF(*.dxf)|*.dxf|すべてのファイル(*.*)|*.*"
    Me.CommonDialog1.ShowOpen
    
    If Not Me.CommonDialog1.FileName = "" Then
        FileNum = FreeFile
        Open Me.CommonDialog1.FileName For Input As #FileNum
        
        Do Until EOF(FileNum)
            Line Input #FileNum, strLine
            strText = strText & strLine & vbCrLf
        Loop
        
        Me.Text1 = strText
        
        Close #FileNum
    End If
End Sub

これでファイルの内容が表示されると思います。
変換の意味がわかりませんでしたのでとりあえずテキストボックスに表示させるまでのソースを書き込ませていただきました。

編集 削除
 2005-05-28 22:10:30  No: 90034  IP: [192.*.*.*]

みなさんありがとうございました

編集 削除