AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

Ein Thema von juergen · begonnen am 27. Apr 2018 · letzter Beitrag vom 29. Apr 2018
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 27. Apr 2018, 23:07
So, ich habe nochmal genauer nachgeschaut und getestet. Ich nutze nun die integrierte Formatierung von Castalia und das Highlighting von cnPack. Die Formatierung von cnPack habe ich deaktiviert.
Bei den Castalia Optionen gibt es eine Option "Zeilenumbrüche des Benutzers beibehalten" (true/false). Ich habe das aktiviert.
Damit klappt alles wie ich es möchte!

Allen ein schönes Wochenende!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 27. Apr 2018, 23:16
@Delphi.Narium,
danke für deine Hilfe!
Meine autom. Formatierung hatte alle Zeilen in einer Zeile umformatiert (bis zur eingestellten Breite). Das war doof.
Das konnte ich nun beheben, siehe meinen vorigen Post. Das cnPack-Highlighting habe ich noch aktiv, weil es für mich von Vorteil ist, dass das an der Maus stehende "Wort" alle anderen Vorkommen mit gelb anzeigt.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.698 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 28. Apr 2018, 10:16
Der Code Formatter in GExperts erlaubt es, Bereiche von der Formatierung auszuschließen, indem man sie in bestimmte Kommentare einschließt. Standardmässig sind das {(*} bis {*)}.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.399 Beiträge
 
Delphi 12 Athens
 
#4

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 28. Apr 2018, 11:58
Gerade bei dem Clear+Add würde ich doch mal über ein WITH nachdenken, auch wenn man es sonst meiden sollte.

Auch sollte/könnte man sich überlegen, ob man dort die Validierung ausschaltet?
Bei vielen SQL-Komponenten wird standardmäßg nach/bei jeder Äderung des SQL-Statements was mit dem SQL gemacht, wie z.B. Parameter suchen und die Parameter-Liste anpassen. Eventuell auch schon Pepared-Zeugs mit dem Statement.

Eine komplette "einmalige" Zuweisung könnte sich da angenehmer erweisen.

PS: bei solchen Multiline mache ich persönlich die + vorne hin, denn da sieht man gleich, dass es zusammen gehört
Delphi-Quellcode:
'abc',
'def'

'abc'
+ 'def'
Bezüglich #13#10, so wäre eigentlich ein sLineBreak besser, aber ich gebe zu, dass es mich im Codefluss etwas stört.
Außerdem wird bei der Zuweisung vieler StringListen der Zeilenumbruch intern angepasst, bzw. es wird sowieso zerlegt und "intern" Zeilenweise zugewiesen (hier aber mit Deaktivierung von dem obengenannten), womit es bei derZuweisung egal ist welchen Zeilenumbruch mann nimmt, also mach ich es mit da einfacher.

Und ob Zeilenumbruch nach letzter Zeile, das kann man sich auch überlegen. Also z.B. konsequent immer dran, falls man mal erweitern will und man es soch nicht vergisst.
Ich hab da aber eh immer ein , , ) oder ; ahinter, also ist die Zeile sowieso schon anders, also kann ich den #10 auch weglassen.

Delphi-Quellcode:
qyr_Buchungen.SQL.Text :=
  'select Datum, Name, Vorname, PersNr, Abteilung, ' + sLineBreak +
  'from Buchungen ' + sLineBreak +
  'where Datum > lsUsrDatum';

qyr_Buchungen.SQL.Text :=
    'select Datum, Name, Vorname, PersNr, Abteilung, ' + sLineBreak
  + 'from Buchungen ' + sLineBreak
  + 'where Datum > lsUsrDatum';

qyr_Buchungen.SQL.Text :=
    'select Datum, Name, Vorname, PersNr, Abteilung, ' + #13#10 // oder + #10
  + 'from Buchungen ' + #13#10
  + 'where Datum > lsUsrDatum';

// so mach ich es am Liebsten
qyr_Buchungen.SQL.Text :=
    'select Datum, Name, Vorname, PersNr, Abteilung, '#10
  + 'from Buchungen '#10
  + 'where Datum > lsUsrDatum';
Letztendlich ist alles Geschmackssache.

Aber was mit schon öfters gefehlt hat, ist ein Multiline-String.
Sei es durch offenlassen am Zeilenende, was ja aktuell verboten ist, aber das würde der Pascal-Syntax die wenigsten Probleme bereiten (PS, der Code-Highlighter im Forum kann es schon lange )
Oder durch sowas, wie z.B. Heredoc, was man aus PHP, SQL, Java/JavaScript uvm. kennt.

SQL-Code:
S = $$
  abc
  def
  xzz
$$;

S = $$abc
def
xyz$$;

S = $irgendas$abc
def mit $$ drin
xzz$irgendas$;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.687 Beiträge
 
Delphi 12 Athens
 
#5

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 28. Apr 2018, 12:39
Seit einigen Delphi-Versionen kann man auch sowas schreiben. Das ist insbesondere dann übersichtlicher, wenn das SQL mit if-then-else und/oder Schleifen zusammengesetzt wird.
Delphi-Quellcode:
qyr_Buchungen.SQL.BeginUpdate;
qyr_Buchungen.SQL.Clear;
qyr_Buchungen.SQL.AddStrings([
  'select',
  ' Datum,',
  ' Name,',
  ' Vorname,',
  ' PersNr,',
  ' Abteilung,',
  ' xxxxxxxxxxxxxxxxxxxxxxxxxx ',
  'from Buchungen ',
  'where Datum > lsUsrDatum'
  ]);
qyr_Buchungen.SQL.EndUpdate;
Aber ich sehe gerade: es geht ja gar nicht um das Zusammensetzen der SQL-Befehle
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.559 Beiträge
 
Delphi 7 Professional
 
#6

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 28. Apr 2018, 18:00
Es geht um die Lesbarkeit und da find' ich Deinen Vorschlag schon sehr gut, bin nur noch nie auf die Idee gekommen, das zu probieren.

Die Frage ist jetzt halt, was macht der Code-Formatter daraus?
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 28. Apr 2018, 18:27
Es geht um die Lesbarkeit ...
Genau das war mein eigentliches Anliegen, da ursprünglich das SQL-Statement alles in voller Zeilenlänge umformatiert wurde und ich das SQL nicht vernünftig lesen konnte.

Die Frage ist jetzt halt, was macht der Code-Formatter daraus?
Der Formatter lässt die Formatierung genauso wie Uwe es geschrieben hatte.

Wieder was gelernt, danke dafür an alle!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.687 Beiträge
 
Delphi 12 Athens
 
#8

AW: Bestimmte Zeilen aus der autom. Codeformatierung (Strg+D) ausschließen

  Alt 28. Apr 2018, 18:32
Es geht um die Lesbarkeit und da find' ich Deinen Vorschlag schon sehr gut, bin nur noch nie auf die Idee gekommen, das zu probieren.

Die Frage ist jetzt halt, was macht der Code-Formatter daraus?
Der Delphi-eigene Formatter bringt das in der Standardeinstellung auch durcheinander. Aber auch dort kann man ja das Zeilenumbrüche beibehalten einschalten. Wem das nicht gefällt, weil sich das ja auf den gesamten Code auswirkt, kann auch ans Ende jeder Zeile einen // Kommentar setzen. Der verhindert das Zusammenziehen der Zeilen. Vielleicht verleitet das ja auch mal zu einem sinnvollen Kommentar. (Der Forums-Formatter ist etwas eigensinnig mit den Leerzeichen)

Delphi-Quellcode:
qyr_Buchungen.SQL.AddStrings([ //
  'select', //
  ' Datum,', //
  ' Name,', //
  ' Vorname,', //
  ' PersNr,', //
  ' Abteilung,', //
  ' xxxxxxxxxxxxxxxxxxxxxxxxxx ', //
  'from Buchungen ', //
  'where Datum > lsUsrDatum'        //
  ]);
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 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