掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
改行コードの取得 (ID:11122)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
かなり遅れましたが >テキストファイルに#0は一般にはありませんので MemoryStream.Memory を >PChar にキャストするときは、自前で付けておくべきです。 と書いていただいたので、テキストファイルを開いた際に問題があるのかと思いましたが、バイナリファイルを開いた際にエラーが出るようです。 「何処かにNULLが無いとエラー」ではなく、 「途中にNULLが有るとエラー」でした。 >S.Write(s[1],S.Size); がうまく行かなかったのですが、Readの事ですよね? Writeというのは「Streamに書く」なのに「Streamが書く」と解釈しており気付きませんでした。 以下のソースで解決しました。 function GpdRCodeCheck(FN:string):integer; var S:TMemoryStream; ss:string; begin S:=TMemoryStream.Create; try S.LoadFromFile(FN); SetLength(ss,S.Size); S.Seek(soFromBeginning,0); S.Read(ss[1],Length(ss)); result:=ReturnCodeCheck(ss); finally S.Free; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.