나는 Delphi 2010을 테스트 중입니다. 다음과 같은 실수를 저질렀습니다.
"096 - Construção Ltda"의이 체인을 입력하고 다른 변수로만이/할 수 있습니까? 그/그게 "096 - Construçà £ O Ltda"를 남겨주는 그 사람을 보아라.Delphi 2010의 인코딩 오류
입구 기반
001 알시 데스 주앙 페헤이라
002 Alvir Maçaneiro
003 자동 Elétrica 이마무라 LTDA
004 자동 Peças 아라 우호
005 자동 Peças 포르투 Eixo LTDA
006 자동 Peças União
007 Azambuja Industria Comercio de Comateriois de Construção Ltda 008 Balaroti 메르시오 드 Materiais 드 CONSTRUCAO LTDA
009 Baldissera LOGISTICA 전자 TRANSPORTES LTDA 나
010 Battistella Veículos Pesados LTDA
011 BERTON 디젤 자동차 Peças
012 Bisolo Materiais 드 CONSTRUCAO LTDA
procedure TForm1.Button2Click(Sender: TObject);
var
tfEntrada : TextFile;
intI, intJ : Integer;
strA, strS : String;
procedure lerUm; //To read a registration of the file text
begin
inc(intI);
ReadLn(tfEntrada, strS);
strA := Copy(IntToStr(intI + 1000), 2, 3) + ' - ';
Edit1.Text := strS;
end;
begin
intI := 0;
AssignFile(tfEntrada, 'nomes_tst_0001.txt');
Reset(tfEntrada);
lerUm;
while not Eof (tfEntrada) do
begin
mmEntrada.Lines.Add(strA + strS); //I move for TMemo(mmEntrada, mmSaida), in the form
mmSaida.Lines.Add(strA + strS);
lerUm;
end;
CloseFile(tfEntrada);
end;
결과베이스
001 - 알시 데스 주앙 £ 페레이라 오
002 - Alvir Maçaneiro
003 - 자동 ELA ©의 trica 이마무라 LTDA
004 - 자동 Peças Araújo
005 - 자동 Peças 포르투 Eixo LTDA
006 - 자동 Peças UNIA £ O
007 - Azambuja하기 Industria 메르시오 드 Materiais 드 Construçà £ LTDA 오
008 - Balaroti 메르시오 드 Materiais 드 Construçà £ LTDA
009 오 - Baldissera LogÃstica 전자 TRANSPORTES LTDA 나
010 - Battistella Veículos Pesados LTDA
011 - BERTON 디젤 자동 Peças 012 - LTDA 오 Bisolo Materiais 드 Construçà £
두 번째 문자열은 첫 번째 문자열의 UTF-8 인코딩 형식입니다. 문자열 값을 UTF8String 변수에 할당하고 있습니까? 문제가있는 실제 코드를 보여주십시오. –
문자열 값은 UTF-8로 인코딩됩니다. 유니 코드를 지원하지 않는 구형 파스칼 파일 I/O를 사용했기 때문에 그런 것 같습니다. TStringList에 파일을 로딩 한 다음 그 파일을 반복하는 것과 같은 새로운 스타일의 VCL 스타일 파일 I/O를 대신 사용하는 것이 좋습니다. 그리고 다음에 StackOverflow의 코드 포맷팅 기능을 사용하십시오. –