txtファイルに書かれているものを・・・

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: txtファイルに書かれているものを・・・

by mako20 » 2005年8月05日(金) 01:08

僕にも、役立ちます^^。ちょうど同じことを考えていたので、淡幻星さん、僕からもお礼で
ありがとうございます

Re: txtファイルに書かれているものを・・・

by Mario2 » 2005年8月04日(木) 12:25

> > 自分のしたい結果にはなりませんでした。
> というのが、どういう状況かは分かりませんので、なんとも言えませんが。
説明不足でしたね・・・すいません。
それと、
#include <WSLib_MacroEmuVer2.x.sbp>
は、同じフォルダ(Includeフォルダにはいれずに)に入れたかったので、
#include "WSLib_MacroEmuVer2.x.sbp"
としました。
さらに、
LINEINPUT 1, strBuf
も、AB4では
LINEINPUT( 1, strBuf)
でないといけないみたいです。
' Ver3.13で確認。
Ver4.04.00でも確認しました。

それと、結果ですが、上手く行きました。淡幻星さん、ありがとうございました。

Re: txtファイルに書かれているものを・・・

by 淡幻星 » 2005年8月04日(木) 03:17

> 自分のしたい結果にはなりませんでした。
というのが、どういう状況かは分かりませんので、なんとも言えませんが。

> 簡単なサンプルでも良いので、教えてください。よろしくお願いします。
RADを使用して、MainWnd に貼り付けたリストボックスのIDをListBox1 とします。
以下の MainWnd.sbp で変更した場所は「TODO: この位置に~」と「Sub MainWnd_Create()」です。
WSLib_MacroEmuVer2.x.sbp は実践コードモジュール
http://www.discoversoft.net/forum/viewtopic.php?t=214のコードです。
まぁ、使っているのはLineInputだけですが(^^;)。

コード: 全て選択


'-----------------------------------------------------------------------------
'  イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd

' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
#include <WSLib_MacroEmuVer2.x.sbp>


'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数

Function MainWndProc(hWnd As DWord, dwMsg As DWord, wParam As DWord, lParam As DWord) As DWord
	' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。

	' イベントプロシージャの呼び出しを行います。
	MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function


'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。

Sub MainWnd_Destroy()
	TestWnd_DestroyObjects()
	PostQuitMessage(0)
End Sub

Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
	Dim strBuf As String
	Dim strFile As String
	Dim retAns As Long
	Dim hList As Long

	'読み取るファイルの絶対パスを指定して下さい。
	strFile = "***\ActiveBasic3.x\project\TestWnd\file.txt"

	'リストボックスのハンドルを得る。
    hList = GetDlgItem( hMainWnd, ListBox1 )

	Open strFile For Input As #1
		While( Eof(1)=0 )
			'ファイル内容の一行ずつの読み取り
			LINEINPUT 1, strBuf
			'読み取ったファイル内容の追加
			retAns = SendMessage( hList, LB_ADDSTRING, 0, StrPtr( strBuf ) )
		Wend
	Close #1
End Sub
Ver3.13で確認。

txtファイルに書かれているものを・・・

by Mario2 » 2005年8月04日(木) 00:46

たとえば、Wドライブにfile.txtのファイルがあり、そのテキストファイルには
W:\ActiveBasic\ProjectEditor.exe
W:\ActiveBasic\BasicCompiler.exe
W:\ActiveBasic\BasicHelp.chm
と言うものが書かれていたとします。それをListBoxに追加していきたいのですが、InstrやDo~Loopを用いて自分でがんばってみましたが、自分のしたい結果にはなりませんでした。
この少し下のトピックスにTXTファイルを複数行読める関数「File_Open」もつかってみましたが、やはり自分の力不足なのか、できませんでした。

簡潔にまとめると、
「TXTファイルに書かれている内容(複数行)を、順番にListBoxに追加していきたい」
と言うことです。

簡単なサンプルでも良いので、教えてください。よろしくお願いします。

ページトップ