Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

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

  Alt 28. Apr 2018, 12: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$;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat