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

Вниз

Dos>Win кодировка   Найти похожие ветки 

 
Сибулбо   (2004-02-08 12:08) [0]

Кодировка из дос в вин, как? Есть текст в досовской код, нужно перевести в вин. код. ?


 
Anatoly Podgoretsky ©   (2004-02-08 12:18) [1]

OemToChar


 
Сибулбо   (2004-02-08 12:57) [2]

Src :=FormPlayWin.ListBox1.Items.GetText;
OemToChar(Src, Str);
FormPlayWin.ListBox1.Items.text:= StrPas(Str);
В ЧЕМ ОШИБКА? :(


 
Anatoly Podgoretsky ©   (2004-02-08 13:29) [3]

Мало данных


 
Сибулбо   (2004-02-08 13:35) [4]

Тогда так.
У меня в листбокс загружается файл, в котором кодировка досовская, (в листбоксе всякаю чушь, а не текст), так вот мне
нужно все это представить в нужно виде. И я делаю так:

var Src, Str:PChar;
begin
Src :=ListBox1.Items.GetText;
OemToChar(Src, Str);
ListBox1.Items.text:= StrPas(Str);
end;


 
Anatoly Podgoretsky ©   (2004-02-08 13:37) [5]

А память Пушкин будет выделять?


 
Сибулбо   (2004-02-08 13:47) [6]

Если не трудно, то напишите как, пожалусто :)
Не знаю :(


 
Anatoly Podgoretsky ©   (2004-02-08 14:05) [7]

В FAQ достаточно примеров. А с указателями надо учиться или не использовать.


 
Сибулбо   (2004-02-08 14:17) [8]

Вот из FAQ
procedure DosToWin;
var Src, Str:PChar;
begin
Src := Memo1.Lines.GetText; //Берем текст из TMemo как тип PChar OemToChar(Src, Str); //API функция для перевода текста
Memo2.Lines.Text := StrPas(Str);//Записываем назадend;
Я же так же делал!


 
KilkennyCat ©   (2004-02-08 14:33) [9]

В Вашем случае необходимо использовать GetMem, ну и FreeMem соответсвенно. Небольшая бодяга - ListBox1.GetTextLen вернет ноль.


 
Плохиш   (2004-02-08 14:37) [10]

Lenght(ListBox1.Items.Text) вернёт ну явно число > 0


 
KilkennyCat ©   (2004-02-08 14:41) [11]

блин, старею...

тогда все проблемы:

var
s : pchar;
begin
getmem(s, Lenght(ListBox1.Items.Text) + 1);
oemtochar(listbox1.Items.GetText,s);
listbox1.Items.Text := string(s);
FreeMem(s);
end;


 
Anatoly Podgoretsky ©   (2004-02-08 14:50) [12]

Сибулбо (08.02.04 14:17) [8]
Какой отвратительный FAQ ты раскопал.


 
Anatoly Podgoretsky ©   (2004-02-08 14:53) [13]


var
S: string;
begin
S := ListBox1.Items.Text;
if S <> "" then OemToChar(PChar(S), PChar(S));
ListBox1.Items.text := (S);
end;


 
Verg ©   (2004-02-08 14:54) [14]


> KilkennyCat © (08.02.04 14:41) [11]
> блин, старею...
>
> тогда все проблемы:
>
> var
> s : pchar;
> begin
> getmem(s, Lenght(ListBox1.Items.Text) + 1);
> oemtochar(listbox1.Items.GetText,s);
> listbox1.Items.Text := string(s);
> FreeMem(s);
> end;


Упс. Утечка памяти гарантирована.

listbox1.Items.GetText+F1. Последнее предложение Help-а


 
KilkennyCat ©   (2004-02-08 14:55) [15]

почему утечка?


 
Verg ©   (2004-02-08 15:03) [16]


> KilkennyCat © (08.02.04 14:55) [15]


Так как про Help-то?

Не прчитали еще?

Allocates a text buffer and fills it with the value of the Text property.

function GetText: PChar; virtual;

Description

Call GetText to obtain a dynamically allocated character buffer containing all of the strings in the list. Individual strings are separated by a carriage return and (on Windows) line feed. The caller is responsible for freeing the returned value using the StrDispose procedure.


 
KilkennyCat ©   (2004-02-08 15:14) [17]

понял, спасибо.



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

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

Наверх




Память: 0.5 MB
Время: 0.02 c
7-53788
Undert
2003-11-28 15:53
2004.02.17
Windows 2000 & NTFS


6-53688
atruhin
2003-12-10 16:01
2004.02.17
Подскажите как на W2Kser определить имя пользователя


1-53564
bjohny
2004-02-09 09:24
2004.02.17
StringGrid и Dll


7-53791
DNS
2003-11-26 22:22
2004.02.17
TRegistry and WriteBinaryData


14-53702
Rauf
2004-01-17 17:59
2004.02.17
Кто учится на первом курсе или вообще учится в ХНУ им. Каразина