行単位での読み込み、編集 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 (削除されました)  ()
投稿日時
2009/5/16 03:24:17
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2009/5/15 06:19:56
(削除されました)
投稿者 やまと  (社会人)
投稿日時
2009/5/14 11:55:16
cupidさん
ありがとうございます。
おっしゃる通り大半がコピペでやっているのでわかってない部分もあります。
指摘されたところを直して、空白はpadrightというのを使って処理するようにしました。
ありがとうございました。
ありがとうございます。
おっしゃる通り大半がコピペでやっているのでわかってない部分もあります。
指摘されたところを直して、空白はpadrightというのを使って処理するようにしました。
ありがとうございました。
投稿者 cupid  (社会人)
投稿日時
2009/5/13 19:39:44
(1) Dim m As Match = Regex.Match((Strings.Left(rs.ReadLine(), 1)), "^[\+\-]?\d+$") '
If m.Success = True Then
'Moji su ga 70 yori nanmoji sukunaika kakunin
(2) StrPad = 70 - rs.ReadLine().Length
(1)と(2)で2行読まれるから、しかも(2)で読んだ内容は捨てられるから、まずいですね。
一度、文字変数に代入して置くべきでしょう。
何かのサンプルコードを参考にしているのかもしれませんが、ステートメントの一語一語を
理解しないと発展しませんよ。
If m.Success = True Then
'Moji su ga 70 yori nanmoji sukunaika kakunin
(2) StrPad = 70 - rs.ReadLine().Length
(1)と(2)で2行読まれるから、しかも(2)で読んだ内容は捨てられるから、まずいですね。
一度、文字変数に代入して置くべきでしょう。
何かのサンプルコードを参考にしているのかもしれませんが、ステートメントの一語一語を
理解しないと発展しませんよ。
投稿者 やまと  (社会人)
投稿日時
2009/5/13 14:40:18
初心者です。VB2008Expressを使用しています。下記のような状況で躓いています。
ヒント等ありましたらよろしくお願いします。
フォーム上にはテキストボックスとボタンがあります。
テキストボックスに読み込んだテキスト(データは全て半角です)を行単位で処理したい。
処理:
行頭に数字があった場合はその行の文字数を数える。
文字数が70に満たない場合
行末に文字数が70になるまで半角スペースを加える。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim StrPad As Long
Dim rs As New System.IO.StringReader(TextBox1.Text)
While rs.Peek() > -1
Dim m As Match = Regex.Match((Strings.Left(rs.ReadLine(), 1)), "^[\+\-]?\d+$") '
If m.Success = True Then
'Moji su ga 70 yori nanmoji sukunaika kakunin
StrPad = 70 - rs.ReadLine().Length
If StrPad > 0 Then
ここの処理がわかりません。Readlineを使ってしまうと
文字の編集は出来ないのでしょうか?
End If
Else
End If
End While
rs.Close()
End Sub
ヒント等ありましたらよろしくお願いします。
フォーム上にはテキストボックスとボタンがあります。
テキストボックスに読み込んだテキスト(データは全て半角です)を行単位で処理したい。
処理:
行頭に数字があった場合はその行の文字数を数える。
文字数が70に満たない場合
行末に文字数が70になるまで半角スペースを加える。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim StrPad As Long
Dim rs As New System.IO.StringReader(TextBox1.Text)
While rs.Peek() > -1
Dim m As Match = Regex.Match((Strings.Left(rs.ReadLine(), 1)), "^[\+\-]?\d+$") '
If m.Success = True Then
'Moji su ga 70 yori nanmoji sukunaika kakunin
StrPad = 70 - rs.ReadLine().Length
If StrPad > 0 Then
ここの処理がわかりません。Readlineを使ってしまうと
文字の編集は出来ないのでしょうか?
End If
Else
End If
End While
rs.Close()
End Sub