1

したがって、次を含むテキストファイルがあります。

Harry Potter and the Deathly Hallows###J. K. Rowling###2007

そして、次の形式でFreePascalプログラムに出力する必要があります

J.K.Rowling "Harry Potter and the Deathly Hallows" 2007 year

ファイルから読み取る方法は知っていますが、前のフォームのようにする方法がわかりません

誰かが私を助けることができますか?とても感謝しています。

4

1 に答える 1

1

TStringListfreepascal が Delphi と同じである場合、これでうまくいきます。

function SortedString( const aString : String) : String;
var
  sList : TStringList;
begin
  Result := '';
  sList := TStringList.Create;
  try
    sList.LineBreak := '###';
    sList.Text := aString;
    if (sList.Count = 3) then
    begin
      Result := sList[1] + ' "' + sList[0] + '" ' + sList[2] + ' year';
    end;
  finally
    sList.Free;
  end;
end;

@TLama のコメントによると、freepascal にTStringListはプロパティがありませんLineBreak

代わりにこれを試してください(ReplaceStrStrUtilsで使用):

function SortedString(const aString : String) : String;
var
  sList : TStringList;
begin
  Result := '';
  sList := TStringList.Create;
  try 
    sList.Text := ReplaceStr(aString,'###',#13#10);
    if (sList.Count = 3) then
    begin
      Result := sList[1] + ' "' + sList[0] + '" ' + sList[2] + ' year';
    end;
  finally
    sList.Free;
  end;
end;
于 2013-03-16T09:54:07.453 に答える