![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с кодировкой [D6, WinME]
286 © (2005-07-16 14:16:00)Я тут поисках в вашем FAQ, но немного не пойму
var
list:tstringlist;
i : integer;
s : string;
begin
list:=tstringlist.create;
list.loadfromfile('d:\chasovoi\parametr.cfg');
i :=List.IndexOf('// 6 ');
s :=List[i + 1];
ShowMessage (IntToStr (i) + ' ' + s);
list.Free;
end;
Английские символы - на ура, понимает, а вот русские выводит иероглифы.
В FAQ описана функция CharToOEM. А есть какая либо для типа string?
Alexander Panov (2005-07-16 19:00:00) [1]AlexWlad © (16.07.05 18:56) [9]
Ну зачем же уж так жестоко...
function W2D(const Src: String): String;
begin
Result := Src;
if Result='' then Exit;
CharToOem(PChar(Result),PChar(Result));
end;
function D2W(const Src: String): String;
begin
Result := Src;
if Result='' then Exit;
OemToChar(PChar(Result),PChar(Result));
end;
AlexWlad (2005-07-16 18:56:00) [2]Как вариант...
function _OemToAnsi(s : string) : String;
function _AnsiToOem(s : string) : String;
function _OemToAnsi(s : string) : String;
Var
pcs : PChar; // source
pcd : PChar; // destination
begin
pcs := StrAlloc(Length(s)+1);
pcd := StrAlloc(Length(s)+1);
StrPCopy(pcs,s);
OEMToChar(pcs,pcd);
_OemToAnsi := StrPas(pcd);
StrDispose(pcs);
StrDispose(pcd);
end;
function _AnsiToOem(s : string) : String;
Var
pcs : PChar; // source
pcd : PChar; // destination
begin
pcs := StrAlloc(Length(s)+1);
pcd := StrAlloc(Length(s)+1);
StrPCopy(pcs,s);
CharToOEM(pcs,pcd);
_AnsiToOem := StrPas(pcd);
StrDispose(pcs);
StrDispose(pcd);
end;
286 (2005-07-16 16:02:00) [3]Все господа, получилось, спасибо
Нужно было:
OemToChar(PChar(s),PChar(s));
Вот выручили то, а.
Пасибо
286 (2005-07-16 15:58:00) [4]Так то вроде переводит уже, в watch list видно. Но получается из одной абрыкадабры в другую.
Alexander Panov (2005-07-16 15:46:00) [5]CharToOem(PChar(s),PChar(s));
286 (2005-07-16 15:22:00) [6]Ребят, а можно кусочек кода как переводить?
286 (2005-07-16 15:19:00) [7]ага, щас я пытаюсь сделать нечто полезное.
пробую пока что
Anatoly Podgoretsky (2005-07-16 15:09:00) [8]string полностью совместимы с PChar
begin...end (2005-07-16 15:02:00) [9]> 286 © (16.07.05 14:16)
> В FAQ описана функция CharToOEM. А есть какая либо для
> типа string?
CharToOEM подходит и для типа string.
[lamer]Barmaglot (2005-07-16 14:31:00) [10]CharToOemBuff ?