![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Schleife zum aktivieren von Queries
Moin Moin liebe DPler ;)
hab folgendes Problem und versteh die Logik momentan grad nicht :P Also ich hab eine Routine geschrieben die mir meine Komponenten vom Typ TZQuery (ZEOS) aktiviert. Da ich zwei Queries habe die ich von der Aktivierung auschliessen möchte, überprüfe ich den Namen der Komponenten ... ich post euch mal meinen Code ...
Delphi-Quellcode:
Die besagten Queries sind "qryB" und "qryK" ...
...
for I := 0 to frmMain.ComponentCount - 1 do begin // Überprüfen ob Komponente vom Typ "TZQuery" if frmMain.Components[I] is TZQuery then begin // >>>>>>>>>>>>>>>> Hier passiert die Überprüfung <<<<<<<<<<<<<<<<< if ((frmMain.Components[I] as TZQuery).Name <> 'qryB') OR ((frmMain.Components[I] as TZQuery).Name <> 'qryK') then begin // Log: Versuch Query zu aktivieren frmDbProgress.mLog.Lines.Append('Query "' + (frmMain.Components[I] as TZQuery).Name + '" wird versucht zu aktivieren ...'); // Query aktivieren try (frmMain.Components[I] as TZQuery).Active := True; frmDbProgress.mLog.Lines.Append('Query "' + (frmMain.Components[I] as TZQuery).Name + '" wurde erfolgreich aktiviert ...'); frmDbProgress.prgDb.StepIt; except on E: Exception do begin Cursor := crDefault; // Fehlermeldung ausgeben frmDbProgress.mLog.Lines.Append('Query "' + (frmMain.Components[I] as TZQuery).Name + '" konnte nicht aktiviert werden ...'); // Errors um 1 erhöhen Inc(Errors); end; end; end; end; end; ... // >>>>>>>>>>>>>>>> Hier passiert die Überprüfung <<<<<<<<<<<<<<<<< ... kennzeichnet den Teil in dem die Überprüfung stattfindet :P Der teil dieses Codes wird im AfterConnect Event der Connection ausgeführt ... nur so als info am rande ;) |
Re: Schleife zum aktivieren von Queries
Zitat:
|
Re: Schleife zum aktivieren von Queries
Delphi-Quellcode:
Name ist niemals mit beiden Strings gleich ... es kann ja immer nur einen Wert gleichzeitig annehmen :angel:
if (Name <> 'qryB') OR (Name <> 'qryK') then
eventuell wolltest du AND verwenden? |
Re: Schleife zum aktivieren von Queries
Spielverderber :stupid:, ich wollte mal sehen, ob er selbst drauf kommt.
|
Re: Schleife zum aktivieren von Queries
Um das ganze flexibler zu gestalten, könntest Du ja einfach eine bestimmte Zahl als
![]() Viele Grüße |
Re: Schleife zum aktivieren von Queries
es muß ja nichtmal das AND sein ... immerhin kann man auch was mit den <> machen :nerd:
|
Re: Schleife zum aktivieren von Queries
Zitat:
nur ich versteh es irgendwo nicht ... step by step ...
Delphi-Quellcode:
Ich überprüfe ob die aktuelle Componente vom Typ TZQuery ist ...
if frmMain.Components[I] is TZQuery then
Delphi-Quellcode:
Dann überprüfe ich ob der Name der Komponente ungleich "qryB" oder ungleich "qryK" ist ...
if ((frmMain.Components[I] as TZQuery).Name <> 'qryB') or
((frmMain.Components[I] as TZQuery).Name <> 'qryK') then da immer nur das eine oder dass andere zutreffen kann müsst dass doch funktionieren ... Angenommen "qryB" ist momentan in "frmMain.Components[I]" ... die erste Bedingung ergiebt natürlich ein "TRUE" ... dann gehts an die zweite ... ist der Name ungleich "qryB" = FALSE ... ist der Name ungleich "qryK" = TRUE ow ... xD ... ja okay ... somit wird die schleife immer ausgeführt ... jetzt versteh ich auch warum es funktioniert hat ... als ich nur auf "qryB" überprüft habe ... Naja ... kurz vorm Feiertag :P xD ... okay ... danke für die schnelle hilfe jungs Euer f4k3 :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz