Главная страница
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.058 c
3-1119884727
Kostiki
2005-06-27 19:05
2005.08.07
Как слить две базы FireBird в одну


1-1121436394
arhis
2005-07-15 18:06
2005.08.07
Инициализация фрейма


14-1121716018
KOVKA_A
2005-07-18 23:46
2005.08.07
Я знаю как отдохнуть!


14-1121313940
Некто
2005-07-14 08:05
2005.08.07
Какие компьютеры у вас (дом, работа)?


3-1119893189
Jungle Forever!
2005-06-27 21:26
2005.08.07
mysql group