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

Вниз

Перекодировка текстового файла из DOS в WIN   Найти похожие ветки 

 
sniper ©   (2004-04-15 12:48) [0]

Уважаемые мастера Delphi!!! Подскажите, плиз, как перекодировать текстовый файл DOS-кодировки в текстовый файл WIN-кодировку. Если можно, приведите пример.
Заранее очень благодарен.


 
Smithson ©   (2004-04-15 12:51) [1]

OemToAnsi + F1


 
TUser ©   (2004-04-15 13:00) [2]

См в кладовке


 
Fay ©   (2004-04-15 14:07) [3]

procedure Jopa(FileName : string);
const
 BSZ = 4096;
var
 hr, hw, nr, nw : Cardinal;
 b : array[0..BSZ - 1] of Char;
begin
 hw := CreateFile(PChar(FileName), GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
 if hw = INVALID_HANDLE_VALUE then
   begin
     ShowMessage("А ошибки обрабатывай сам 8)!");
     Exit;
   end;
 hr := CreateFile(PChar(FileName), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
 ReadFile(hr, b, BSZ, nr, nil);
 if nr <> 0 then
   repeat
     OemToAnsi(b, b); // в DOS
     //AnsiToOem(b, b); // из DOS-а
     WriteFile(hw, b, nr, nw, nil);
     ReadFile(hr, b, BSZ, nr, nil);
   until nr = 0;
 CloseHandle(hr);
 CloseHandle(hw);
end;

procedure TForm1.Button1Click(Sender : TObject);
begin
 Jopa("c:\1.txt");
end;


 
Fay ©   (2004-04-15 14:10) [4]

Ваще-то не плохо было бы
b : array[0..BSZ] of Char;
и вот так
...
b[nr] := #0;
OemToAnsi(b, b); // в DOS
....

8)


 
Тимохов ©   (2004-04-15 14:43) [5]

правильнее пользоваться oemtochar chartooem, т.к. ansi аналоги устарели.



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
1-1081758981
Dima S
2004-04-12 12:36
2004.05.02
StringGrid


1-1082099277
ghg
2004-04-16 11:07
2004.05.02
динамические массивы из Delphi в фортрановскую dll


8-1075539841
kirilllius
2004-01-31 12:04
2004.05.02
Масштабирование изображения


14-1081451242
УНЯ
2004-04-08 23:07
2004.05.02
Ж


14-1081086968
Piter
2004-04-04 17:56
2004.05.02
FAQ: PChar и String