.datファイルから文字列リストにデータをロードするDelphi関数を作成しました。次に、文字列リストをデコードし、文字列変数に割り当てます。文字列の内容は、区切り記号として「#」記号を使用します。
次に、この文字列の内容を取得して、その内容をローカル変数に割り当てるにはどうすればよいですか?
// Function loads data from a dat file and assigns to a String List.
function TfrmMain.LoadFromFile;
var
index, Count : integer;
profileFile, DecodedString : string;
begin
// Open a file and assign to a local variable.
OpenDialog1.Execute;
profileFile := OpenDialog1.FileName;
if profileFile = '' then
exit;
profileList := TStringList.Create;
profileList.LoadFromFile(profileFile);
for index := 0 to profileList.Count - 1 do
begin
Line := '';
Line := profileList[Index];
end;
end;
デコードされた後、変数「Line」には次のようなものが含まれます。
例:
Line '23#80#10#2#1#...255#'.
セパレータ間のすべての値が同じ長さであるとは限らず、「Line」の値は、関数LoadFromFileが呼び出されるたびに変化します(たとえば、値の数が1つだけで、次の2つまたは3つなど、信頼できない場合があります)。文字列または配列のコピー機能)。
「Line」の内容をループして「buffer」というローカル変数に割り当て、「#」が見つかった場合は、bufferの値をローカル変数に割り当てる方法を見つけようとしています。バッファを''に再初期化します。次に、「行」の次の値に移動し、毎回「#」を無視して次のパラメータのプロセスを繰り返します。
私はこの問題に長い間悩まされてきたと思います。私は何の進展も見られず、それから抜け出す必要があるようです。誰かが見てみたいと思うなら、これがどのように達成されるかについての提案を歓迎します。
どうもありがとう
K D