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. |
AW: Compilerschalter der Autoformat verhindert
Du kannst die Funktion markieren/selektieren, dann wird nur das Markierte formatiert.
|
AW: Compilerschalter der Autoformat verhindert
Zitat:
Manchmal ist das einfache so nah. Gibt es eine Tastenkombi, mit der man eine ganze Procedure markiert, in der sich der Cursor grade befindet? |
AW: Compilerschalter der Autoformat verhindert
Bin nicht sicher, ob das nur für GExperts/cnbPack gilt + kanns grad nicht überprüfen:
Code:
Everything between {(*} and {*)} does not get formatted.
|
AW: Compilerschalter der Autoformat verhindert
Zitat:
|
AW: Compilerschalter der Autoformat verhindert
Zitat:
|
AW: Compilerschalter der Autoformat verhindert
Zitat:
Das ergibt sich aber aus den Kontext und den Zeitstempel der Beiträge. Bitte nicht so schnell (quer) lesen und unüberlegt posten. Zwinker-Smiley! |
AW: Compilerschalter der Autoformat verhindert
Zitat:
Wäre natürlich auch optional möglich, das abzuschalten und am Startzeichen der vorherigen Zeile auszurichten. Ist halt doch sehr unterschiedlich, was da jeder möchte... |
AW: Compilerschalter der Autoformat verhindert
Formatierungsvorlieben sind wie das Aussehen des präferierten Sexualpartners.
Jeder tickt da anders. Was den einen abstößt, findet der andere geil! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:12 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