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

Вниз

Как узнать число полей типа DBEdit?   Найти похожие ветки 

 
ANATOLYK ©   (2003-05-28 21:53) [0]

На форме размещены ок.30 DBEdit-ов. Какие-то объединены в группы.
Как узнать, сколько таких полей всего
Написал такой код:

procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
History: TStringList;
begin
History := TStringList.Create;
History.Clear;
if AdoTable1.State = dsEdit then AdoTable1.Post; // save data
// здесь начинается лажа
For i:= 0 to 100 do begin
With TDBEdit(FindComponent("DbEdit" + IntToStr(i))) do
try // из-за вышеобозначенной лажи
History.Add(Text)
except
continue
end;
end;

AdoTable1.Append;

For i:=0 to History.Count-1 do begin
With TDBEdit(FindComponent("DbEdit" + IntToStr(i+1))) do
Text := History.Strings[i];
end;
AdoTable1.post;
History.Clear;
History.Free;
end;

Может, кто подскажет чего путного?


 
ЮЮ ©   (2003-05-29 02:32) [1]

Сканировать не DbEdit-ы, а DataSet


 
anatolik   (2003-05-29 09:25) [2]

Да, но не все поля DataSet размещены на форме. Надо только те, которые видны на экране (как поведут себя автоинки?). И при сканировании DataSet, наверное, придется обращать внимание еще и на тип данных, либо делать что-то типа Variant -> String.


 
Johnmen ©   (2003-05-29 09:34) [3]

Вообще говоря, копирование записи надо делать СОВСЕМ не так !
Предпочтительнее сделать запрос
INSERT INTO Table (...,...) SELECT ...,... FROM Table WHERE ...


 
Соловьев ©   (2003-05-29 09:34) [4]


> // здесь начинается лажа

действительно, а зачем сканировать DBEdit - в чем такая жизненая необходимость?


 
VAleksey ©   (2003-05-29 09:42) [5]

var i:integer;
...
begin
for i:=0 to Form1.ComponentCount - 1 do
begin
if Form1.Components[i] is TDBEdit then
begin
...
end;
end;
end;
Но это было к слову. А вообще см
> Johnmen © (29.05.03 09:34)



 
Danilka ©   (2003-05-29 09:44) [6]

// здесь начинается лажа
For i:= 0 to Form1.ComponentCount-1 do begin
If Form1.Components[i] is TDBEdit then begin
... делаем, что хотим сделать
end;
end;

если, конечно, у всех дбедитов owner - Form1.
а вообще, есть коллекции, которые можно заполнять на этапе создания этих едитов.
И, конечно, см: Johnmen © (29.05.03 09:34)
если вся каша только ради копирования...


 
Danilka ©   (2003-05-29 09:45) [7]

VAleksey © (29.05.03 09:42)
:))))))
опередил, почти слово в слово :))))


 
VAleksey ©   (2003-05-29 09:45) [8]


> Danilka ©

:-)



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
7-60448
BaDeVlad
2003-04-14 14:41
2003.06.19
Как узнать время последней активности пользователя?


3-60077
sony1
2003-05-28 13:08
2003.06.19
Как выбрать из view первые 100 записей например ?


1-60151
volodya_
2003-06-06 14:04
2003.06.19
Приведение типов


6-60301
PVOID
2003-04-16 14:27
2003.06.19
Помогите пожалуйста разобраться с RAS


3-60026
plans
2003-05-27 13:24
2003.06.19
Почему не могу явно указать имя индекса?