Compilerschalter der Autoformat verhindert
Hallo zusammen,
gibt es eine Möglichkeit einzelne Blöcke gegen Autoformat [CTRL-D] zu schützen Ich habe hier eine Sortierung einer Objectlist die sähe lesbar so aus
Delphi-Quellcode:
und nach [CTRL-D ] so
begin
Sort(TComparer<TStandardName>.Construct( function(const Value1, Value2: TStandardName): Integer begin if (Value1.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := -1 else if (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := 1 else if (Value1.Name = Value2.Name) then // Bei gleichen Namen nach Nr sortieren Result := Value1.Nr - Value2.Nr else if (Value1.Name > Value2.Name) then Result := 1 else Result := -1; end)); end;
Delphi-Quellcode:
Grüße und Danke
begin
Sort(TComparer<TStandardName>.Construct( function(const Value1, Value2: TStandardName): Integer begin if (Value1.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := -1 else if (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := 1 else if (Value1.Name = Value2.Name) then // Bei gleichen Namen nach Nr sortieren Result := Value1.Nr - Value2.Nr else if (Value1.Name > Value2.Name) then Result := 1 else Result := -1; end)); end; Gerd |
AW: Compilerschalter der Autoformat verhindert
Bei XE5:
Tools --> Optionen --> Formatierung --> Profile und Status: dort Kästchen „Formatierung aktivieren“ wegklicken (= deaktivieren) Gruß, Andreas PS: Du kannst darüber hinaus noch Folgendes einstellen, um vorzeitige Zeilenumbrüche zu vermeiden: Tools --> Optionen --> Anzeige: Option „Rechter Rand“ auf einen hohen Wert (z.B. 200) setzen. |
AW: Compilerschalter der Autoformat verhindert
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Compilerschalter der Autoformat verhindert
Mein Optimizer würde aktuell das draus machen:
Delphi-Quellcode:
Auch noch nicht ganz passend, aber an ein paar Stellen könnte man noch drehen.
begin
Sort(TComparer<TStandardName>.Construct( function(const Value1, Value2: TStandardName): Integer begin if (Value1.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := -1 else if (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := 1 else if (Value1.Name = Value2.Name) then // Bei gleichen Namen nach Nr sortieren Result := Value1.Nr - Value2.Nr else if (Value1.Name > Value2.Name) then Result := 1 else Result := -1; end)); end; Aber es wäre dann halt ein kompletter Ersatz des Formatierers und derzeit nur für die aktuellste Delphi-Version möglich. |
AW: Compilerschalter der Autoformat verhindert
Da hat jemand aber die Einstellung vom Autoformatter kaputtgespielt.
Denn keine der drei Default-Formater_*.config-Dateien in C:\Users\Dein_User_Name\AppData\Roaming\Embarcader o\BDS\Deine_IDE_Nummer formatiert das so um. Vielleicht die Einstellung zurücksetzen an der ersten von Andreas benannten Stelle (Restore defaults). |
AW: Compilerschalter der Autoformat verhindert
Zitat:
Zitat:
Zitat:
Delphi-Quellcode:
if (Value1.Nr = 0) or (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird
Result := 0 PS:
Delphi-Quellcode:
// Eventuell AnsiCompareStr statt CompareStr ... aber damit man das Schema besser erkennt
Sort(TComparer<TStandardName>.Construct(
function(const Value1, Value2: TStandardName): Integer begin if (Value1.Nr = 0) or (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := 0 else if SameStr(Value1.Name, Value2.Name) then Result := CompareValue(Value1.Nr, Value2.Nr) else Result := CompareStr(Value1.Name, Value2.Name); end)); // der erste Kommentar ist klar, aber der Zweite ist nutzlos. // "Bei gleichen Namen" steht lesbar direkt davor, vor allem wenn man IF-SameStr nutzen würde // und "nach Nr sortieren" kommt schön sichtbar gleich nach dem THEN // bzw. Sort(TComparer<TStandardName>.Construct( function(const Value1, Value2: TStandardName): Integer begin if (Value1.Nr = 0) or (Value2.Nr = 0) then Exit(0); // Verhindern, dass Datensatz 0 sortiert wird Result := CompareStr(Value1.Name, Value2.Name); if Result = 0 then Result := CompareValue(Value1.Nr, Value2.Nr); end)); |
AW: Compilerschalter der Autoformat verhindert
Danke für die schnellen Rückantworten. Grundsätzlich gilt, dass ich mit der Formatierung weitestgehens einverstanden bin. Das Verhalten tritt nur bei dem Sort auf.
Die Formatierung grundsätzlich zurück zu setzen ist deshalb keine Option Die Idee mit den Kommantarzeichen hatte ich ja auch. Er hatte es aber trotzdem verschossen (siehe mein Eingangspost) Jetzt, aber wo ich wirklich hinter jede Zeile eine Kommentar gesetzt hab wird es gut formatiert
Delphi-Quellcode:
Ich muss dazu sagen, dass es Delphi XE war. Vielleicht ist 10 da schon etwas besser. Sort(TComparer<TStandardName>.Construct( // function(const Value1, Value2: TStandardName): Integer // begin // if (Value1.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := -1 // else if (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird Result := 1 // else if (Value1.Name = Value2.Name) then // Bei gleichen Namen nach Nr sortieren Result := Value1.Nr - Value2.Nr // else if (Value1.Name > Value2.Name) then // Result := 1 // else // Result := -1; // end)); Und ich hatte gehofft, dass es vielleicht einen Schalter ähnlich den Compilerschaltern gibt, mit dem man AutoFormat Bereichsweise aussparen kann Danke trotzdem. Für mich ist das Problem gelöst |
AW: Compilerschalter der Autoformat verhindert
Zitat:
|
AW: Compilerschalter der Autoformat verhindert
Ja, das stimmt :oops:
In Wirklichkeit sind die Kommentarzeichen auch noch untereinander. Beim Übertrag hier her ging das aber verloren Danke |
AW: Compilerschalter der Autoformat verhindert
Zitat:
Schön wäre es, wenn man den Formatter so einstellen könnte, dass nur die Function/Procedure, in der sicher Cursor grade befindet, formatiert wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz