Главная страница
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.041 c
6-1114520911
Moisha
2005-04-26 17:08
2005.08.07
Как сохранить содержимое окна IE


6-1114873644
Dextor
2005-04-30 19:07
2005.08.07
TServerSocket в DLL - реально ли ?


6-1114540433
Galiaf
2005-04-26 22:33
2005.08.07
Как отправить при помощи "ServerSocket" Переменную типа массив?


14-1120682822
GanibalLector
2005-07-07 00:47
2005.08.07
Что это ?


1-1103916043
VaR
2004-12-24 22:20
2005.08.07
Как изменить цвет кнопки