dポイントプレゼントキャンペーン実施中!

Active Basicの4.23.00を使ってプログラムを書いています。

今、時間によって文字列を表示していくプログラムを書いています。

例えば、
SetTimerで、0.1秒ごとに時間をカウントしていき、CommandButton1が押されたときにEditBox1の文字列をbufferに読み込んで、それをEditBox2に表示させるといったものです。

それを応用して、読み込んだ文字をファイルに保存し、次回からファイルから読み込んで表示させようと思っているのですが、
OpenとInput命令語で読み書きしているため、改行が入るとちゃんと読み込めません。

bufferに読み込んだときに、改行があれば改行をなくすといったプログラムはどのように書けばいいのでしょうか。
すみませんが、知っている方がいらっしゃいましたら、ご教授ください。

A 回答 (1件)

Inputでは無理でしょうね


そのファイル内の読み込むバイト数は決まっているのでしょうか
決まっているのでしたら Fieldで読み込むバイト数を決めておいて
Getで読み込むといった手法でしょう

Dim ss as String, hEd as HWND
if flag = False then
  Open "ファイルパス" for input as 1
  ' 読み込むバイト数を設定
  Field #1, 16
end if
Get #1,,ss
hEd = GetDlgItem( hMainWnd, EditBox2 )
' CRLFがあるかをチェック
dim n as integer
n = InStr( 1, ss, Chr$(13) & chr$(10) )
While n
  dim w as String
  ' CRLFの手前までを記憶
  w = Left$(ss, n - 1 )
  ' CRLF以降を抽出
  ss = w & Mid$( ss, n + 1 )
  ' まだCRLFがあるのかをチェック
  n = InStr( 1, ss, Chr$(13) & chr$(10) )
WEnd
SetWindowText( hEd, ss )
といった具合でしょう
    • good
    • 0
この回答へのお礼

なるほど・・・
読み込むバイト数が決まっていたら、そうできるのですか。
Getは使ったことが無いので、初めての領域です。
頑張ってみます

お礼日時:2009/02/16 22:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!