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

Вниз

Текстовый файл из DOS   Найти похожие ветки 

 
Марат   (2004-02-10 12:42) [0]

Здравствуйте, мастера. Проблема такая: при считывании из текстового файла в StringGrid вместо букв-абракадабра. Можно ли решить такую проблему?


 
Radionov Alexey ©   (2004-02-10 12:46) [1]

Страница кодовая другая. См. OemToChar:
--------------
The OemToChar function translates a string from the OEM-defined character set into either an ANSI or a wide-character string. (OEM stands for original equipment manufacturer.)
-----------------


 
Марат   (2004-02-10 12:53) [2]

А где такое прописывается?


 
Radionov Alexey ©   (2004-02-10 12:57) [3]

>Марат (10.02.04 12:53) [2]
Либо конвертировать файл во время загрузки. Либо после нее конвертировать уже загруженные данные (часто много медленнее).
Например, прогнать через OEMToChar свойство Text.


 
Марат   (2004-02-10 13:02) [4]

А можно небольшой пример?


 
Radionov Alexey ©   (2004-02-10 13:12) [5]

Несколько расточительный пример:

Procedure TForm1.Button7Click(Sender: TObject);
Var
S: String;
Begin
With TStringList.Create Do
Try
LoadFromFile("someOEMfile.txt");
S := Text;
OemToChar(PChar(S), PChar(S));
Memo1.Lines.Text := S;
Finally
free;
End
End;


 
Radionov Alexey ©   (2004-02-10 13:13) [6]

В догонку к [5]
Нужно отслеживать случай, когда S ничего не содержит. Иначе - AV


 
Марат   (2004-02-10 13:20) [7]

У меня вот так:
...
ReadLn(F,S);
OemToChar(PChar(S),PChar(S));
т.е. читаю строку, но выдается ошибка "Access violation at address ... in module "user32.dll""


 
Radionov Alexey ©   (2004-02-10 13:25) [8]

>Марат (10.02.04 13:20) [7]
ReadLn(F,S);
if S<>"" then
OemToChar(PChar(S),PChar(S));


 
zamkom ©   (2004-02-10 13:27) [9]

Попробуй так:
OemToChar(@S[1], @S[1])


 
Radionov Alexey ©   (2004-02-10 13:36) [10]

>zamkom © (10.02.04 13:27) [9]
Опять-таки S должна быть не пуста.


 
Марат   (2004-02-10 13:44) [11]

Большое СПАСИБО!!!



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
3-79639
ivan01234
2004-01-31 19:26
2004.02.25
Как завершить приложение (при его содании), если IBDatabase т....


1-79941
Layner
2004-02-09 12:57
2004.02.25
Подскажите плз, как на форме fsMDIForm отображать дочерние


3-79567
Виталя
2004-01-29 13:47
2004.02.25
Запрос с условием DATE_IN CONTAINING 10.2003 не выполняется


8-80034
andre
2003-10-26 16:33
2004.02.25
SDL_MIXER (Jedi-SDL)


4-80342
A.l.i.v.e
2003-12-21 08:56
2004.02.25
Получение handl ов контролов для окна (известен хендл)