AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array of Integer?

Ein Thema von Gehstock · begonnen am 2. Sep 2007 · letzter Beitrag vom 2. Sep 2007
Antwort Antwort
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#1

Array of Integer?

  Alt 2. Sep 2007, 12:15
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
Marcel
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Array of Integer?

  Alt 2. Sep 2007, 12:47
Moin Gehstock,

Delphi-Quellcode:
const
  Counts: array[0..4] of Integer = (ca, cb, cc, cd, ce);


Was hältst Du davon:

Delphi-Quellcode:
var
  Counts: array[0..4] of Integer;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Array of Integer?

  Alt 2. Sep 2007, 12:53
damit weiß aber doch net ca ,cb u.s.w noch net wie groß sie sind
habs erstmal so das klappt auch und ihr versteht vieleicht besser was ich meine
Delphi-Quellcode:
const
 Data: array[0..4] of String = ('Funktionen', 'Prozeduren', 'Units', 'Forms', 'Programme');


implementation

uses Main;

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;
     case d of
      0:ca:=frmmain.ADOQuery1.RecordCount;
      1:cb:=frmmain.ADOQuery1.RecordCount;
      2:cc:=frmmain.ADOQuery1.RecordCount;
      3:cd:=frmmain.ADOQuery1.RecordCount;
      4:ce:=frmmain.ADOQuery1.RecordCount;
     end;
        frmmain.ADOQuery1.Next;
    end;

end;
[edit=Christian Seehase]Delphi-Tags korrigiert. Mfg, Christian Seehase[/edit]
Marcel
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Array of Integer?

  Alt 2. Sep 2007, 12:56
Moin Gehstock,

Zitat von Gehstock:
damit weiß aber doch net ca ,cb u.s.w noch net wie groß sie sind
habs erstmal so das klappt auch und ihr versteht vieleicht besser was ich meine
das ist schon klar, dass die Variablen ca ... damit nicht gefüllt werden.
Das Array ist ja auch als Ersatz für diese zu verstehen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Array of Integer?

  Alt 2. Sep 2007, 12:56
Um die Anzahl der Datensätze zu bestimmen sollte man ein Select count(*) from ...

RecordCount ist nur dann gültig wenn die Datensätze entweder schon beim Client gelandet sind (Netzwerkbelastung bei großen Tabellen) oder vom Server eine Temporäre Tabelle (MS SQL Server) erzeugt wurde (Serverlast) oder erst wenn wirklich der Curser bis zum letzten Datensatz bewegt wurde (Fall A).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz