Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
ВнизЗамена элемента TList Найти похожие ветки
← →
FishNode (2008-03-31 11:52) [0]прочел данные,изменил и хочу обратно вставить
но не методом Add а на то же место
v:=ListBox1.ItemIndex;
PPP:=P.List.Items[v];
z:=P.info;
z.test:=0;
P.List.Items[v]:=PPP; ? вроде так или нет ?
← →
Reindeer Moss Eater © (2008-03-31 11:54) [1]адд не нужен. и все остальное тоже
← →
FishNode (2008-04-04 01:08) [2]делаю так
v:=ListBox1.ItemIndex;
PPP:=P.List.Items[v];
PPP^.test:=0;
стало быть я пишу прямо туда не трогая список TList
однако он оказывается после действий пустым
=P.List.count-1 !
← →
Германн © (2008-04-04 01:26) [3]
> FishNode (04.04.08 01:08) [2]
>
>
А поподробнее нельзя написать?
Что есть PPP? Что есть P? Что есть List? Что есть z?
Не надо пытаться "перегружать" наши телепаторы. Они имеют встроенную защиту.
Причём, как минимум - двухуровневую! :)
← →
FishNode (2008-04-04 10:13) [4]вот так изменяю данные по индексу TList
type
TP = record
test:byte;
html1:dword;
html2:dword;
stop:dword;
end;
var
v:word;
P:TList;
PPP:^TP;
v:=ListBox1.ItemIndex; // на чем кликнули TListBox
PPP:=P.List.Items[v]; // колнка TListBox = TList
PPP^.test:=0;
← →
clickmaker © (2008-04-04 10:23) [5]почему не использовать ListBox.Items.Objects ?
← →
Плохиш © (2008-04-04 11:08) [6]
> PPP:=P.List.Items[v]; // колнка TListBox = TList
> PPP^.test:=0;
Учитывая, что P.List.Items[v] есть строка, нука попробуй объяснить, что ты пытаешься сделать в следующей строке?
PS. Не пора ли почитать что-нибуть?
← →
FishNode (2008-04-04 20:05) [7]
P:TList;
v:=ListBox1.ItemIndex; // на чем кликнули TListBox
PPP:=P.Items[v]; // колнка TListBox = TList
PPP^.test:=0;
конечно
← →
FishNode (2008-04-05 22:26) [8]стал делать по подсказке clickmaker^a
через ListBox1.Items.Objects
все добавляется в лист бокс строка и в Object указатель на данные
а вот достать их никак (пытаюсь указатель получить)type
TP = record
test:byte;
html1:dword;
html2:dword;
stop:dword;
end;
var
PPP:^TP;
PPP :=TP( ListBox1.Items.Objects[ListBox1.ItemIndex ]);
[Error] Unit1.pas(49): Invalid typecast
еслиPPP := ListBox1.Items.Objects[ListBox1.ItemIndex ];
то [Error] Unit1.pas(4): Incompatible types: "TObject" and "Pointer"
← →
Германн © (2008-04-06 00:01) [9]
> PPP :=Pointer( ListBox1.Items.Objects[ListBox1.ItemIndex ]);
← →
FishNode (2008-04-06 01:05) [10]хм проглатило! Спасибо,проверяется
мне уже подсказали метод класса через размещение в TObjectList
← →
Германн © (2008-04-06 01:22) [11]
> FishNode (06.04.08 01:05) [10]
>
> хм проглатило!
Ещё бы оно не проглотило!
> мне уже подсказали метод класса через размещение в TObjectList
>
???
← →
FishNode (2008-04-06 01:27) [12]переменные как объекты, сам не понял еще
если =Pointer( ListBox1.Items.Objects[ListBox1.ItemIndex ]);
заработает как надо , то ваш метод буду использовать
← →
Германн © (2008-04-06 01:33) [13]
> FishNode (06.04.08 01:27) [12]
>
> переменные как объекты, сам не понял еще
Ааа. Т.е. никаких "строк" нет. Есть только некие переменные какого-то типа. Так?
Тогда да. Тогда лучше TObjectList. А для записей - динамический массив.
← →
FishNode (2008-04-06 09:45) [14]да строк никак в записи нет
type
TP = record
в принципе и строки наверное влезут, но не PCHAR
а типа string[200] тоесть ограниченные
использование оболочки TObjectList немного грязнит код
чем PPP :=Pointer( ListBox1.Items.Objects[ListBox1.ItemIndex ]);
странно чтоPPP.test:=0;
и PPP^.test:=0;
одно и тоже
← →
{RASkov} © (2008-04-06 10:32) [15]> [14] FishNode (06.04.08 09:45)
> странно что
> PPP.test:=0;
> и PPP^.test:=0;
> одно и тоже
Компилятор сам разименовывает(подставляет галочку) для типизированных указателей...
Все компоненты, накиданные в дизайнере на фому, теже самые указатели и поэтому вроде как нужно писать нечто так:
Label1^.Caption:="";
но это не делается, компилятор умный...:)
← →
Германн © (2008-04-06 17:08) [16]
> FishNode (06.04.08 09:45) [14]
>
> да строк никак в записи нет
Я хотел сказать что если нет никакой текстовой информации, которую нужно показывать пользователю, то глупо использовать визуальный компонент типа TListBox для хранения неких переменных.
← →
FishNode (2008-04-06 23:09) [17]{RASkov}
да просто удивило, когда надо компилятор соображать не хочет)
Германн
вобще-то есть выводится строка в TListBox при добавлении,
сократил код по миниму,а так бы использовал TList
← →
Германн © (2008-04-07 00:58) [18]
> вобще-то есть выводится строка в TListBox при добавлении,
>
> сократил код по миниму,а так бы использовал TList
>
Тогда другое дело.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c