![]() |
Quelltext in String konvertieren
Hallo,
Ich habe oft den Fall, dass ich längere mehrzeilige SQL-Queries als String brauche. Entsprechende Einfüge-Funktionen gibts in MMX, CnPack und GExperts, nur dummerweise bei keinem so wie ich es bräuchte. Ein Beispiel:
Code:
Daraus sollte werden:
SELECT T1.A AS NAME_1,
T2.A AS NAME_2, T2.B AS NAME_3 FROM MY_TABLE_1 AS T1 LEFT JOIN MY_TABLE_2 AS T2 ON T1.KEYFIELD=T2.KEYFIELD WHERE T2.C=:MY_PARAM_1 ORDER BY T2.B;
Delphi-Quellcode:
Für sowas wäre es ideal, wenn Delphi HereDoc unterstützen würde anstatt dass man solche Klimmzüge machen muss. In meinem Fall scheidet auch die sauberere Lösung mit den Resourcenstrings aus, weil ich die Queries dynamisch zusammenbauen muss. Am nächsten dran ist für meinen Bedarf noch GExperts. Allerdings muss ich hier dann noch einen zweiten Schritt gehen und alle "'," in "' +" ersetzen. CnPack und MMX konvertieren jeweils noch die Zeilenumbrüche in "#13#10", was ja hier im Fall von SQL völlig unnötig ist.
'SELECT T1.A AS NAME_1, ' +
'T2.A AS NAME_2, ' + 'T2.B AS NAME_3 ' + 'FROM MY_TABLE_1 AS T1 ' + 'LEFT JOIN MY_TABLE_2 AS T2 ' + 'ON T1.KEYFIELD=T2.KEYFIELD ' + 'WHERE T2.C=:MY_PARAM_1 ' + 'ORDER BY T2.B;'; Insgesamt halt ein bissl mühselig bei langen Queries. Der oben gezeigte ist ja noch winzig im Vergleich... Grüße Cody |
AW: Quelltext in String konvertieren
Dir geht es um die Einrückung?
|
AW: Quelltext in String konvertieren
Hallo,
Zitat:
|
AW: Quelltext in String konvertieren
Zitat:
Zitat:
|
AW: Quelltext in String konvertieren
Ups, hab mich komplett vertan.
Sorry, kann gelöscht werden. |
AW: Quelltext in String konvertieren
Du könntest mit Suchen&Ersetzen arbeiten. Markiere den Text, rufe den Suchen&Ersetzen-Dialog auf, verwende
Code:
als Suchmuster und
^{ *}{[^ ].*}$
Code:
als Ersetzungstext. Bei den Optionen des Dialogs muss "Reguläre Ausdrücke" aktiviert sein. Nach dem Ausführen mit "Alles ersetzen" musst Du nur noch in der letzten Zeile (an deren Ende der Cursor positioniert wird) das Plus durch ein Semikolon ersetzen.
\0'\1 ' +
Falls sich jemand wundern sollte, wieso das eigentlich überflüssige "[^ ]" im zweiten Klammernpaar steht: der eigentlich äquivalente Suchausdruck
Code:
hat bei Leerzeilen abgebrochen. Fragt mich nicht wieso ...
^{ *}{.*}$
|
AW: Quelltext in String konvertieren
Zitat:
Gruß K-H |
AW: Quelltext in String konvertieren
Zitat:
Zitat:
|
AW: Quelltext in String konvertieren
Liste der Anhänge anzeigen (Anzahl: 1)
Die IDE hat im Menü "Bearbeiten" einen Eintrag "Mehrfach einfügen". Dieses Multipaste macht mit den richtigen Einstellungen ziemlich genau was du willst:
|
AW: Quelltext in String konvertieren
Ich weiss, Du hast GExperts schon erwähnt. Aber kennst Du den Editor-Experten "Convert Strings"?
OK, ich sehe gerade, es gibt keine Möglichkeit, dabei die Zeilenumbrüche wegzulassen. Wäre vielleicht eine Erweiterungsidee und gar nicht so kompliziert umzusetzen. Done. ![]() Es gibt natürlich davon noch kein Release, aber Du kannst Dir ja einfach eine neue DLL backen. ![]() |
AW: Quelltext in String konvertieren
Zitat:
Besonders der letzte Punkt ist wichtig, wenn Du die Textmarkierung von oben nach unten vorgenommen hast. Außerdem sollte unter Tools/Optionen/Editor-Optionen "BRIEF reguläre Ausdrücke" nicht aktiviert sein. Allerdings ist mir erst zu spät aufgefallen, dass diese Methode nicht mit einfachen Anführungszeichen im SQL-Befehl zurechtkommt. |
AW: Quelltext in String konvertieren
Zitat:
Sherlock |
AW: Quelltext in String konvertieren
Zitat:
Zitat:
Zitat:
|
AW: Quelltext in String konvertieren
Zitat:
|
AW: Quelltext in String konvertieren
Database Workbench (Kostenpflichtig von upscene.com) hat dazu eingebaute Funktionen für Export to Delphi und Export to C(++)
mfg Hannes |
AW: Quelltext in String konvertieren
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Quelltext in String konvertieren
Ich danke euch erstmal allen für die vielen Vorschläge. Inzwischen bin ich wohlbehalten in Rom angekommen ;-) Allen ein schönes WE!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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 by Thomas Breitkreuz