Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

Не получается работать с UTF-8   Найти похожие ветки 

 
Ji ©   (2005-08-24 22:49) [0]

Возникла необходимость обрабатывать файл, созданный программой написанной на Java, в котором чередуются строки в формате UTF-8 и числа Int. Начал писать код, но все время получал ошибку при завершении программы.
В итоге пришел к следующей ситуации.

Вот такой код:

procedure TForm1.Button1Click(Sender: TObject);
var
       UTFStr, UTFStr2: UTF8String;
       f: file;
       Str,Str2: String;
       err: Integer;
begin
       Str := "Мама мыла раму";
       UTFStr := UTF8Encode(Str);
       
       AssignFile(f,"123");
       ReWrite(f,1);
       BlockWrite(f,UTFStr,Length(UTFStr),err);
       CloseFile(f);

       Reset(f,1);
       BlockRead(f,UTFStr2,Length(UTFStr),err);
       CloseFile(f);

       Str2 := UTF8Decode(UTFStr2);
       Memo1.Text := Str2;
end;


Если выполняю по F9, то: "privileged instruction at 0x008d3611. Process Stopped."
Пошаговое выполнение: та же ошибка, на строке "end;"
Если запускаю скомпилированный exe: Завершается без сообщений.
Все строки выполняются корректно и в конце Str2 = Str;


 
Турист   (2005-08-24 23:21) [1]

Ошибки выделены

procedure TForm1.Button1Click(Sender: TObject);
var
      UTFStr, UTFStr2: UTF8String;
      f: file;
      Str,Str2: String;
      err: Integer;
begin
      Str := "Мама мыла раму";
      UTFStr := UTF8Encode(Str);

      AssignFile(f,"123");
      ReWrite(f,1);
      BlockWrite(f, UTFStr[1], Length(UTFStr),err);
      CloseFile(f);

      Reset(f,1);
      SetLength(UTFStr2, Length(UTFStr));
      BlockRead(f,UTFStr2[1],Length(UTFStr),err);
      CloseFile(f);

      Str2 := UTF8Decode(UTFStr2);
      Memo1.Text := Str2;
end;


 
Anatoly Podgoretsky ©   (2005-08-24 23:24) [2]

Объяснение - ты портишь память, записываешь не туда куда надо.


 
Ji ©   (2005-08-24 23:33) [3]

Премного благодарен



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.059 c
1-1124799274
DmitryA
2005-08-23 16:14
2005.09.18
Delphi 2005 и QuickReport


14-1124864739
BKV
2005-08-24 10:25
2005.09.18
Нужен программист Санкт-Петербург


14-1124967414
Димитрий
2005-08-25 14:56
2005.09.18
Альтернатива Путину


3-1123060466
set666
2005-08-03 13:14
2005.09.18
Глюк с Rave Reports 5.0


4-1120929115
Olejek
2005-07-09 21:11
2005.09.18
Включение-отключение сетевого адаптера