• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

плз помогите ))

  • Автор темы LordofDarkness
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

LordofDarkness

помогите......мне нужно сделать так чтобы считать данные с досовского файла текстового......просто при открытии файла и считывании....он естественно не понимает кодировку кто нить может сталкивался с этим ?? ответти плз......просто мне нужно именно с этого файла считать все....
 
V

vital

хм..как вариант..
сначала конвертируешь файл в вин кодировку потом считываешь из конвертированного файла..
Код:
function DosToWin(St: string): string;
var
Ch: PChar;
begin
Ch := StrAlloc(Length(St) + 1);
OemToAnsi(PChar(St), Ch);
Result := Ch;
StrDispose(Ch)
end;

что делает функция понятно ну и че нить в духе..
Код:
var 
f,f1: TextFile; 
instr,outstr:string;
begin
assign(f,'ФайлВДосовскойКодировке');
assign(f1,'ФайлКудаБудетЗаписанКонвертированныйТекст');
reset(f);
rewrite(f1);
while not eof(f) do
begin
ReadLn(f, instr);
outstr:=DosToWin(instr);
writeln(f1,outstr);
end;
closefile(f);
closefile(f1);
end;

добавь только проверку на существование файла, и где нить в OnDestroy формы удаляй ненужный файл в вин кодировке..
 
V

vital

и ещё...DelphI посмотри свои настройки..
 
L

LordofDarkness

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Font.Charset := OEM_CHARSET;
end;



все очень просто ;)
 
V

vital

ты изначально не говорил, что загружаешь файл в мемо..но так тоже ничего..;)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!