投稿日 | : 2002/10/04(Fri) 03:52 |
投稿者 | : どら |
URL | : |
タイトル | : 空白文字の削除について |
初めて投稿させていただきます。
いきなり長くなってしまいすみません。。
現在テキストファイルから300バイトごとに200バイト読み込み、それぞれのデータの
右端の余分な空白を削除して出力したいのですが、RTrim関数をつかっても空白が削除されません。
具体的には
Const BaseFile as string = "c:\ABC.txt"
Const OutputFile as strng = "d:\DEF.txt"
dim i as long
dim readdate as Variant
dim filebyte as long
dim readbyte as long
While filebyte > readbyte
filebyte =LenB(BaseFile)
i=0
OPEN BaseFile for Binary as fileno
seek #fileno ,300 * i + 1
readdata = readdata & vbCrLf & RTrim(StrConv(InputB(fileno,200),vbUnicode)) ・・・@
i = i + 1
readbyte = 300 * i
close #fileno
loop
Open OutputFile for Output as fileno
print #fileno ,readdata
close #fileno
としています。
しかし、このやり方でやってしまうとDEFファイルには空白文字を右端に含めた
文字列(恐らく200バイト)が一行ずつ出力されてしまい、RTrimが有効である
ようには見えません。
そこで上の@のあとに
FileLen = Len(readdata)と入れてみて、この変数の結果を調べながら実行してみ
たら、空白文字を含んだ長さが格納されていました。
またj = Asc(Mid(readdata,180,1)) の結果がJ = 0となっていました。(ヘルプではWindows外の文
字とありましたが、ABC.txtもDEF.txtにもその部分は空白がはいっています)
さらに、ABC.txtの文字列と空白部分をカットアンドペーストして
Readdata = RTrim("***************** ")
のように実行してみたら空白部分はきれいに削除されていました。
このような状態なのですが、どのようにしたら余分な空白を削除することができるのでしょうか?
バイナリモードやRTrim関数の使い方に問題があるのでしょうか?
すみませんがよろしくおねがいします。