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

Вниз

Текст из ListBox   Найти похожие ветки 

 
Me2   (2002-10-23 16:20) [0]

API функцией создаю ListBox. И не получается считать из него данные. Делаю так(ListBox - это дескриптор элемента):
procedure Ok;
var
EnVar: string;
Cmdl: string;
S: Pchar;
begin
if SendMessage(ListBox, lb_GetCurSel, 0, 0) <> lb_Err then
begin
GetMem(S, 220);
SendMessage(ListBox, wm_GetText, 220, Longint(@S[1]));
Cmdl := S;
EnVar := GetEnvironmentVariable("PROSTD");
WinExec(PChar(EnVar + "\proe2001workspace.bat " + cmdl), SW_SHOW);
FreeMem(S);
SendMessage(Window, wm_Close, 0, 0);
end
else
MessageBox(0, "Error!!!", "Error", mb_Ok);
end;


 
Игорь Шевченко ©   (2002-10-23 16:26) [1]

SendMessage(ListBox, wm_GetText, 220, Longint(@S[1]));

Кто научил ? :-))))

currentItem := SendMessage(..., LB_GETCURSEL, ...);
SendMessage (ListBox, LB_GETTEXT, currentItem, LongInt(...));



 
MBo ©   (2002-10-23 16:31) [2]

Может, Петцольда почитать?

> Longint(@S[1]));
Ни к чему. S же PChar, значит,достаточно
Longint(S)
>GetMem(S, 220);
Нужно выделять места на байт больше для завершающего нуля.
И вообще, стоит сначала узнать, сколько символов будет считано.


 
Me2   (2002-10-23 16:38) [3]

2Игорь Шевченко © (23.10.02 16:26)
Да, правильно. Теперь пишу
SendMessage(ListBox, lb_GetText, SendMessage(ListBox, lb_GetCurSel, 0, 0), Longint(@S[1]));
Если считать выходное значение(кол-во скопированных байт), то оно больше нуля, а S остается пустой.

2 MBo © (23.10.02 16:31)

> Ни к чему. S же PChar, значит,достаточно

Что значит ни к чему? lParam имеет тип Integer


 
Игорь Шевченко ©   (2002-10-23 16:43) [4]

Если S - PChar, то LongInt(S), а не @S[1] - это же не строка.


 
Me2   (2002-10-23 17:10) [5]

Спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-14637
UserL
2002-11-25 11:30
2002.12.05
TStack


1-14654
Demon[DZ]
2002-11-25 16:00
2002.12.05
Оттенки серого


1-14504
lscomp
2002-11-23 19:20
2002.12.05
Помогите! Как получить количество строк в текстовом файле...


3-14445
Part
2002-11-18 13:44
2002.12.05
database update


1-14626
Ильдар
2002-11-24 13:26
2002.12.05
Рисование линий в QReport