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

Вниз

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

Наверх




Память: 0.47 MB
Время: 0.009 c
1-53595
dub
2004-02-07 01:09
2004.02.17
Как спрятать консолевое приложение?


14-53717
Vitalik
2004-01-29 13:10
2004.02.17
Не открывается файл


1-53519
h0use
2004-02-05 16:37
2004.02.17
Как запустить Thread параллельно основному потоку?


11-53443
Boguslaw
2003-05-29 00:00
2004.02.17
One crazy idea...


1-53501
Beat
2004-02-03 09:02
2004.02.17
глюк TRadioButton





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский