Главная страница
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.023 c
7-1078907116
Alex*
2004-03-10 11:25
2004.05.02
Двусторонняя печать


1-1082001109
gweep
2004-04-15 07:51
2004.05.02
Explorer и Delphi


14-1080920927
Lexer
2004-04-02 19:48
2004.05.02
Крым, море, горы


1-1082100085
ZDDR
2004-04-16 11:21
2004.05.02
Locker


3-1081416502
wild_arg
2004-04-08 13:28
2004.05.02
Выбор максимума внутри групп