möchte folgende Funktion etwas verkleinern
Delphi-Quellcode:
Procedure Count;
begin
frmmain.Memo1.Clear;
frmmain.Listbox1.Items.Clear;
frmmain.ADOQuery1.Close;
frmmain.ADOQuery1.SQL.Text := '
select * from Funktionen' ;
frmmain.ADOQuery1.Open;
ca:=frmmain.ADOQuery1.RecordCount;
frmmain.ADOQuery1.Next;
frmmain.ADOQuery1.Close;
frmmain.ADOQuery1.SQL.Text := '
select * from Prozeduren';
frmmain.ADOQuery1.Open;
cb:=frmmain.ADOQuery1.RecordCount;
frmmain.ADOQuery1.Next;
frmmain.ADOQuery1.Close;
frmmain.ADOQuery1.SQL.Text := '
select * from Units';
frmmain.ADOQuery1.Open;
cc:=frmmain.ADOQuery1.RecordCount;
frmmain.ADOQuery1.Next;
frmmain.ADOQuery1.Close;
frmmain.ADOQuery1.SQL.Text := '
select * from Forms';
frmmain.ADOQuery1.Open;
cd:=frmmain.ADOQuery1.RecordCount;
frmmain.ADOQuery1.Next;
frmmain.ADOQuery1.Close;
frmmain.ADOQuery1.SQL.Text := '
select * from Programme';
frmmain.ADOQuery1.Open;
ce:=frmmain.ADOQuery1.RecordCount;
frmmain.ADOQuery1.Next;
end;
mit
Delphi-Quellcode:
const
Data:
array[0..4]
of String[10] = ('
Funktionen', '
Prozeduren', '
Units', '
Forms', '
Programme');
Counts:
array[0..4]
of Integer = (ca, cb,
cc, cd, ce);
Procedure Count;
var
d: integer;
begin
frmmain.Memo1.Clear;
frmmain.Listbox1.Items.Clear;
for d := 0
to 4
do begin
frmmain.ADOQuery1.Close;
frmmain.ADOQuery1.SQL.Text := '
select * from '+Data[d] ;
frmmain.ADOQuery1.Open;
Counts[d]:=frmmain.ADOQuery1.RecordCount;
frmmain.ADOQuery1.Next;
end;
bokomme aber bei den Counts diesen Fehler ->
[DCC Fehler] DBtools.pas(22): E2026 Konstantenausdruck erwartet
wenn ich vorher sag
ca:=0;
u.s.w. gehts gibt es noch eine bessere lösung