AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Compilerschalter der Autoformat verhindert

Ein Thema von norwegen60 · begonnen am 4. Feb 2021 · letzter Beitrag vom 5. Feb 2021
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

AW: Compilerschalter der Autoformat verhindert

  Alt 4. Feb 2021, 16:19
Da hat jemand ...
Mein Optimizer



Zitat:
Delphi-Quellcode:
    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
"mach nichts" heißt doch eigentlich 0?
Delphi-Quellcode:
    if (Value1.Nr = 0) or (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird
      Result := 0

PS:
Delphi-Quellcode:
  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));
// Eventuell AnsiCompareStr statt CompareStr ... aber damit man das Schema besser erkennt
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Feb 2021 um 16:37 Uhr)
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
514 Beiträge
 
Delphi 12 Athens
 
#2

AW: Compilerschalter der Autoformat verhindert

  Alt 4. Feb 2021, 16:36
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:
 
  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));
Ich muss dazu sagen, dass es Delphi XE war. Vielleicht ist 10 da schon etwas besser.
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
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Compilerschalter der Autoformat verhindert

  Alt 4. Feb 2021, 16:39
Ich muss dazu sagen, dass es Delphi XE war. Vielleicht ist 10 da schon etwas besser.
Das wäre schon eine wichtige Information gewesen. Und ja, es ist deutlich besser geworden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
514 Beiträge
 
Delphi 12 Athens
 
#4

AW: Compilerschalter der Autoformat verhindert

  Alt 4. Feb 2021, 16:44
Ja, das stimmt
In Wirklichkeit sind die Kommentarzeichen auch noch untereinander. Beim Übertrag hier her ging das aber verloren

Danke
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Compilerschalter der Autoformat verhindert

  Alt 5. Feb 2021, 08:23
Mein Kommentar bezog sich auf das zweite Quelltext-Beispiel im ersten Threadbeitrag von norwegen60 und nicht auf die Whitespace-Wüste von stahli.
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!
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Compilerschalter der Autoformat verhindert

  Alt 5. Feb 2021, 09:34
... Whitespace-Wüste von stahli ...
Und dabei war ich so stolz darauf, dass mein Tool solche anonymen Methoden am letzten Punkt ausrichten kann.
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...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Compilerschalter der Autoformat verhindert

  Alt 5. Feb 2021, 09:45
Formatierungsvorlieben sind wie das Aussehen des präferierten Sexualpartners.
Jeder tickt da anders. Was den einen abstößt, findet der andere geil!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:48 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