![]() |
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. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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 by Thomas Breitkreuz