TurboBird weiterentwickelt

Forum für Fragen rund um Firebird-Software von Drittanbietern.

Moderator: martin.koeditz

Gerd
Beiträge: 261
Registriert: Di 1. Okt 2019, 17:13

maurog hat geschrieben: Sa 26. Jul 2025, 16:41 ...
Danke auch für deine freundlichen Worte – sowas motiviert wirklich, weiterzumachen. 😊
Hallo maurog.

Tue ich doch gerne, hilft ja allen (Interessierten).

Und im Anhang noch zwei Impressionen zu den Themen Grid-Export und Aufruf Kontextmenü. Letzteres mittels Tastenkürzel Umschalt+F10 (Linux Mint v22.1 Cinnamon).



Viele Grüße
Gerd
Dateianhänge
Kontextmenue_mittels_Umschalt_F10.png
Kontextmenue_mittels_Umschalt_F10.png (44.4 KiB) 10585 mal betrachtet
Beispiel_fuer_Funktion_Export_Grid_as_HTML.png
Beispiel_fuer_Funktion_Export_Grid_as_HTML.png (10.88 KiB) 10585 mal betrachtet
ISQL Version: LI-V5.0.3.1683
Linux Mint 22.1 Cinnamon 6.4.8
maurog
Beiträge: 20
Registriert: Di 13. Mai 2025, 21:50

die SQL-History-Funktion ist jetzt umgesetzt.
Aktuell arbeite ich noch an der Anzeige der Versionsinformationen im About-Dialog.

Sobald das fertig ist, lade ich alles wie gewohnt auf GitHub hoch.

Viele Grüße
Maurog
Gerd
Beiträge: 261
Registriert: Di 1. Okt 2019, 17:13

Hallo Maurog.

Wirklich, sehr, sehr schön! :) :)

Ich warte auf GitHub auf eine aktualisierte Anzeige: Build 1124

Außerdem versuche ich TurboBird endlich fehlerfrei in Lazarus 4.2 zu laden.
Als Bedingung habe ich ZEOS an Bord.

Aber, TSQL QueryExt bekomme ich nicht hin.
Zudem kommen Meldungen, die mich zu der Annahme verleiten, dass das heruntergeladene Archiv (TurboBird-TurboBird_v1.2.1.1124t.ar.gz) für Windows ausgelegt sein kann.
Bevor ich Dich belästige, versuche hier morgen noch einiges.
Sollte dies negativ verlaufen, würde ich Dir eine private Mail mit Bildern der Meldung(en) senden. Das ist bestimmt relativ einfach zu lösen. Gehört aber hier nicht hin.
Zum Dank mache ich eine Zusammenfassung (TSQL QueryExt) und stelle sie hier rein.


Viele Grüße
Gerd
ISQL Version: LI-V5.0.3.1683
Linux Mint 22.1 Cinnamon 6.4.8
maurog
Beiträge: 20
Registriert: Di 13. Mai 2025, 21:50

Hallo Gerd,

„Bevor ich Dich belästige, versuche ich hier morgen noch einiges.“
→ Keine Sorge, du belästigst mich überhaupt nicht! 😊
Version, BuildDate, BuildTime, Buildnummer, Plattform, Betriebssystem, WidgetSet usw. werden jetzt zur Laufzeit korrekt ausgelesen und im About-Dialog angezeigt. Ich muss das nur noch auf GitHub hochladen.

„...dass das heruntergeladene Archiv (TurboBird-TurboBird_v1.2.1.1124t.tar.gz) für Windows ausgelegt sein kann.“
→ Der Quellcode ist komplett plattformunabhängig, sonst hätte ich nicht für Windows und Linux separat compilieren können. Es handelt sich vermutlich nur um ein Missverständnis wegen des Archivnamens oder Inhalts – kein Problem.

„Als Bedingung habe ich ZEOS an Bord.“
→ Als externe Komponenten benötigst du:
ZeosDB und
Synapse

Beide sind entweder direkt im Archiv unter components enthalten oder im Online Package Manager (OPM) von Lazarus verfügbar.

Zur Installation von TSQLQueryExt:
Menü „Datei → Öffnen“ in Lazarus wählen.
Die Datei sqldbext.lpk aus dem components/sqldb_ext Verzeichnis öffnen.

Lazarus fragt dann, ob das als Paket geöffnet werden soll → Ja.

Danach einfach kompilieren und installieren.

„Zum Dank mache ich eine Zusammenfassung (TSQL QueryExt) und stelle sie hier rein.“
→ Das ist wirklich nett, aber du musst das nicht machen.
Allein dass du TurboBird testest und Rückmeldung gibst, ist für mich der beste Dank und eine große Hilfe für das Projekt!

Wenn du dennoch auf Probleme stößt, schick mir ruhig eine E-Mail – ich helfe dir gerne.
Heute wird’s für mich ohnehin wieder eine längere Nacht. 😄

Viele Grüße
Maurog
maurog
Beiträge: 20
Registriert: Di 13. Mai 2025, 21:50

Hallo Gerd,

TurboBird v1.2.1 – Build 1129 ist bereits hochgeladen.

Bitte lade den Quellcode direkt aus dem Master-Branch herunter, also hier:
https://github.com/mdadali/TurboBird

Dann einfach oben rechts auf „Code → Download ZIP“ klicken.

Und wenn du mit deiner Installation fertig bist, kümmern wir uns gemeinsam um die automatische Update-Funktion – einverstanden? 😊

Viele Grüße
Maurog
maurog
Beiträge: 20
Registriert: Di 13. Mai 2025, 21:50

„...dass das heruntergeladene Archiv (TurboBird-TurboBird_v1.2.1.1124t.tar.gz) für Windows ausgelegt sein kann.“
Das lag daran, dass die Projekteinstellungen (Build-Pfade) in der Windows-Konfiguration fehlerhaft waren – dadurch wurden die Output-Dateien (z. B. Object-Files) fälschlicherweise im src-Verzeichnis abgelegt.
Entschuldige bitte! Der Fehler ist inzwischen behoben.
Gerd
Beiträge: 261
Registriert: Di 1. Okt 2019, 17:13

Hallo Maurog.

Warst ja fleißig ...

Hier läuft ab heute 27.07.2025 TurboBird v1.2.1 – Build 1129.
Sowohl das von Dir kompilierte Programm als auch "src".

Der Dialog "SQL History for Datenbankname" weitestgehend zu funktionieren. Stellt eine Erleichterung dar.
Habe bisher 'nur' SELECT geprüft.
:: die "SQL Type" Eingrenzung auf z. B. "Select" (statt "All"), zeigt hier keine Wirkung.
:: das Löschen eines selektierten Eintrags in der SQL History funktioniert.
:: das automatische Überschreiben eines bereits vorhandenen Eintrags mit gleichem Statement zeigt keine Wirkung. So wird trotz aktivierter Checkbox eine bereits vorhandene SQL-Anweisung erneut gelistet.

:: Der Export (auch mit vorgeschalteter Datumseingrenzung, quasi Filterung) funktioniert.

Es gibt ein Anker-Problemchen im Dialog - siehe bitte Bilddatei.
Dlg_SQL_History_for_Anker.png
Dlg_SQL_History_for_Anker.png (13.83 KiB) 8338 mal betrachtet
Bezüglich "src" melde mich heute noch einmal. Macht mir zu schaffen ...


Viele Grüße
Gerd
ISQL Version: LI-V5.0.3.1683
Linux Mint 22.1 Cinnamon 6.4.8
maurog
Beiträge: 20
Registriert: Di 13. Mai 2025, 21:50

Hallo Gerd,

vielen Dank für dein Feedback.
Es gibt ein Anker-Problemchen im Dialog – siehe bitte Bilddatei
Den Anker hatte ich gar nicht gesehen – er war hinter einem Button versteckt :-)

Nun zur Funktionalität:
Wenn der Anker (Checkbox) aktiviert ist, wird der Inhalt im QueryWindow gelöscht. Wenn nicht, wird die ausgewählte Query aus der History zum aktuellen Inhalt hinzugefügt. So war es vom Autor vorgesehen:

Code: Alles auswählen

if cxOverwrite.Checked then
  (FQueryForm as TfmQueryWindow).meQuery.Lines.Clear;

(FQueryForm as TfmQueryWindow).meQuery.Lines.Text := 
  (FQueryForm as TfmQueryWindow).meQuery.Lines.Text + SQLStatement;
Die 'SQL Type'-Eingrenzung auf z. B. 'Select' (statt 'All') zeigt hier keine Wirkung
Der Filter bezieht sich hier ausschließlich auf den Export und wirkt sich nicht auf die Anzeige oder Auswahl der Queries aus.

Grüße,
Maurog.
Gerd
Beiträge: 261
Registriert: Di 1. Okt 2019, 17:13

Hallo Maurog.

Danke für die Infos zum Dialog SQL History.
(Werde ich noch prüfen, ob es sich so verhält.)

Ich wollte Dir gerade eine private Nachricht senden.
Es gibt aber leider keine Möglichkeit einen Anhang (Video mp4) anzuhängen.
Also Rolle rückwärts.
Ich muss da mal was vorbereiten. :D


Viele Grüße
Gerd
ISQL Version: LI-V5.0.3.1683
Linux Mint 22.1 Cinnamon 6.4.8
maurog
Beiträge: 20
Registriert: Di 13. Mai 2025, 21:50

Die auskommentierte und durch eine neue Bedingung ersetzte Zeile soll doppelte Einträge in der SQL-History vermeiden:

Code: Alles auswählen

function TfmMain.AddToSQLHistory(DatabaseTitle: string; SQLType, SQLStatement: string): Boolean;
begin
  try
    Result := OpenSQLHistory(DatabaseTitle);
    if Result then
    begin
      mdsHistory.Last;
      //if (SQLType <> 'SELECT') or (mdsHistory.FieldByName('SQLStatement').AsString <> SQLStatement) then   
      if not mdsHistory.Locate('SQLStatement', SQLStatement, []) then
      begin
        mdsHistory.AppendRecord([Now, SQLType, SQLStatement, 0]);
        if SQLType = 'DDL' then
          mdsHistory.SaveToFile(FCurrentHistoryFile);
      end;
    end;
  except
    on E: Exception do
      Result := False;
  end;
end;
PS: Du kannst mir auch gerne eine Mail an mdadali@yahoo.de schicken, wenn das für dich einfacher ist.
Grüße,
Maurog.
Antworten