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

Вниз

Проблема с кодировкой   Найти похожие ветки 

 
286 ©   (2005-07-16 14:16) [0]

Я тут поисках в вашем 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?


 
[lamer]Barmaglot ©   (2005-07-16 14:31) [1]

CharToOemBuff ?


 
begin...end ©   (2005-07-16 15:02) [2]

> 286 ©   (16.07.05 14:16)

> В FAQ описана функция CharToOEM. А есть какая либо для
> типа string?

CharToOEM подходит и для типа string.


 
Anatoly Podgoretsky ©   (2005-07-16 15:09) [3]

string полностью совместимы с PChar


 
286 ©   (2005-07-16 15:19) [4]

ага, щас я пытаюсь сделать нечто полезное.
пробую пока что


 
286 ©   (2005-07-16 15:22) [5]

Ребят, а можно кусочек кода как переводить?


 
Alexander Panov ©   (2005-07-16 15:46) [6]

CharToOem(PChar(s),PChar(s));


 
286 ©   (2005-07-16 15:58) [7]

Так то вроде переводит уже, в watch list видно. Но получается из одной абрыкадабры в другую.


 
286 ©   (2005-07-16 16:02) [8]

Все господа, получилось, спасибо
Нужно было:

OemToChar(PChar(s),PChar(s));
Вот выручили то, а.
                            Пасибо


 
AlexWlad ©   (2005-07-16 18:56) [9]

Как вариант...

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;


 
Alexander Panov ©   (2005-07-16 19:00) [10]

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;



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
14-1121285810
Vudu
2005-07-14 00:16
2005.08.07
Как пользоваться инсталятором?


11-1100526440
Владимир Кладов
2004-11-15 16:47
2005.08.07
TPCAsm - ассемблирует на лету


14-1121526833
Kerk
2005-07-16 19:13
2005.08.07
Почему при использовании файрвола...


1-1121376385
Графиг
2005-07-15 01:26
2005.08.07
Как сделать LoadFromStream для TPicture ?


1-1121435444
Destroyer
2005-07-15 17:50
2005.08.07
Как узнать какой объект лежит ниже?