環境は、VB6.0です。
テキストファイルから読み込んできたデータを、
テキストボックスに表示させます。
データは小論文なので少し長いです。
そこで、テキストボックスで、たとえば100文字目で改行を入れる、
とかやりたいのですが、方法がよく分かりません。
教えてください。よろしくお願いします。
本ホームページの
「VISUAL BASIC 技術テクニック (37tips)」を探してください。
任意文字数毎にvbCrLfを挿入すればオケ
レスありがとうございます。
ホームページを見てみたら、
TEXTBOX1.TEXT="aaaaa" + Chr$(13) + Chr$(10) + "bbbbb"
となっていました。
これは、"aaaaa"と"bbbbb"の間に改行が入るということだと思うのですが、
100文字目、とかを指定する処理はどこに書けばいいでしょう?
申し訳ないです、プログラミングは初めてで、
あまり常識が分かっていないかも知れません。
Private Sub Command1_Click()
Text1.SelStart = 100
Text1.SelText = vbNewLine 'vbNewLine = vbCrLf
End Sub
Private Sub Form_Load()
Text1.Text = String(200, "a")
End Sub
サンプルプログラムありがとうございます。
Private Sub Form_Load()
'データの表示
txt1.Text = strReadData
txt1.SelStart = 10
txt1.SelText = vbNewLine
End Sub
のように書いてみたのですが、10文字目の所に
「・・」とカーソルは入るのですが、改行がされません。
strReadDataには、長文が入っています。
どこかコードがおかしいのでしょうか?
txt1.MultiLine = True
テキストボックスに複数行が許可されてません。
特攻隊長まるるうさん、ありがとう。
レスありがとうございます。
プロパティの設定でMultiLineをTrueにしたら、
10文字目で改行が出来ました!
スクロールバーも出て来ました。
次はこれを1行目だけでなくファイルの終わりまでLoopさせたいと
思い以下のコードを書いたのですが、エラーで抜けてしまいます。
デバッグしてみるとデータは入っているように思うのですが、
読み込むデータが間違っているのでしょうか?
'データの表示
Do Until EOF(strReadData)
txt1.Text = strReadData
txt1.SelStart = 10
txt1.SelText = vbNewLine
Loop
>エラーで抜けてしまいます
エラーの内容によります。
> Do Until EOF(strReadData)
なにコレ?適当に書いても動かないよ。
・コードを書き込む場合は、全ての変数のデータ型を明示して下さい。
プログラムの先頭に
Option Explicit
と書いておく事をお勧めします。
・関数やプロパティは1度ヘルプで使い方を確認してから使って下さい。
すみません。
'データの表示
Do Until EOF(strReadData) ←ココ
txt1.Text = strReadData
txt1.SelStart = 10
txt1.SelText = vbNewLine
Loop
上記の部分で、
実行時エラー'13';
型が一致しません。
と出ます。
Dim p As Long
txt1.Text = ""
For p = 1 To Len(strReadData) Step 10
txt1.SelText = Mid$(strReadData,p,10) & vbNewLine
Next p
って感じかな?
良いコードじゃないけど・・・
間違ってたら、ごめん。
EOFってそうやって使うもんだっけ・・・
まずファイルオープンしてる?
してたとして、処理先は完全にテキストボックスなんですが・・・いいのかな?
Dim iFile As Integer
Dim strReadData As String
Dim p As Long
'テキストファイル読み込み。
Open FileName For Binary Access Read Lock Read Write As #iFile
strReadData = StrConv(InputB(LOF(iFile), #iFile), vbUnicode)
Close iFile
'10文字ずつ改行。
txt1.Text = ""
For p = 1 To Len(strReadData) Step 10
txt1.SelText = Mid$(strReadData,p,10) & vbNewLine
Next p
すみません、パソコンは学校でしか見れないので、
お返事が遅くなってしまいました。
みなさんありがとうございます。
id_rsa+さんのコード、まるまるそのままでいけました。
丁寧なサンプルコード、ありがとうございました。
>特攻隊長まるるうさん
レスありがとうございます。
Option Explicit は、意識していなかったのですが
最初から書いてあったみたいです。
>通ってみたさん
レスありがとうございます。
EOFの使い方は思いきり間違ってました、すみません。
ファイルオープンまでは、何とかたどり着いていました。
処理先は、テキストボックスです。
プログラムについて、まだほとんど何も知らない状態ですので、
みなさんのアドバイスを参考に
がんばって勉強していきたいと思います。
どうもありがとうございました。
ツイート | ![]() |