Einzelnen Beitrag anzeigen

Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Einträge aus Datenbankfeld in Combobox

  Alt 5. Feb 2021, 21:17
Zitat:
Nun dauert das ganze sehr lange, weil ich alle ...
Ja und Nein,
es ist nicht nur deswegen.

Delphi-Referenz durchsuchenDisableControls



Und natürlich kannst du auch die jeweiligen Daten für jede ComboBox mit einer Abfrage von der DB holen, anstatt das aus diesem Dataset auszulesen,
inkl. Sortierung und Gruppierung bzw. Distinct (Doppeltes entfernen).

Autors und Publisher braucht man nur zu machen, wenn noch nichts in der ComboBox steht (beim ersten Mal), denn es ändert sich eh nie wieder (Konstante).
Und das sind nicht zufällig einfache statische oder dynamische String-Arrays?
Delphi-Quellcode:
ComboBox_AddBook_Author.Items.Clear;
ComboBox_AddBook_Author.Items.AddStrings(Const_Autors);

//bzw.
if ComboBox_AddBook_Author.Items.Count = 0 then
  ComboBox_AddBook_Author.Items.AddStrings(Const_Autors);

DisableControls kann ich leider nicht einsetzen, weil ich die Datenbank zum Beginn des Programmstarts auf Plausibilität prüfe. Hier Teste ich z.B. auch, ob es in der Datenbankstruktur Änderungen gab. Dazu muss ich auch die Tabelle einmal öffnen, um gelöschte Felder (Field) erkennen zu können.

Die Autoren sind als Array of String deklariert.

Const_Autors : array [ 1 .. 5889 ] of string = ( 'Autor 1', 'Autor 2' .... );

Bei der Verwendung von Deinem Code ergibt sich eine Fehlermeldung:
[dcc32 Fehler] Unit3.pas(212): E2250 Es gibt keine überladene Version von 'AddStrings', die man mit diesen Argumenten aufrufen kann
Mathias
  Mit Zitat antworten Zitat