Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.056 c
14-1121321379
syte_ser78
2005-07-14 10:09
2005.08.07
Курение


4-1118149449
A№t0№
2005-06-07 17:04
2005.08.07
Процедуры и функции из DLL


14-1121754577
Ega23
2005-07-19 10:29
2005.08.07
С днем рождения! 19 июля


1-1121361505
wqer
2005-07-14 21:18
2005.08.07
запустить упаковщик


1-1121759874
serguncho
2005-07-19 11:57
2005.08.07
Представление Float на разных машинах





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский