Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Insert und NextGen

  Alt 5. Apr 2015, 16:51
Ich hatte mich fast schon damit abgefunden und die Mindestversion beinah auf XE3 festgelegt.
War schon dabei einige Funktionen auf die neuen Helper umzuschreiben, aber da gibt es ein paar Probleme.

Man sollte besser nicht in die Helper schauen, was die für Mist bauen.
  • Fast alles arbeitet mit Index 0,
  • bis auf S.Chars[i] , denn das arbeitet mit 1 oder 0, genauso wie S[i] .
    Delphi-Quellcode:
    function TStringHelper.GetChars(Index: Integer): Char;
    begin
      Result := Self[Index];
    end;
  • Man denkt dort gibt es "optimierte" Stringfunktionen, aber Chars werden erst nach String umgewandelt und arbeiten dann doch wieder mit den alten Funktionen.
    Ein Replace mit Char->Char könnte so wunderschön implementiert sein.
  • Alles leitet nur auf die alten Funktionen um, dabei ergäbe es andersrum optimaleren/kürzeren Code.
  • An vielen Stellen fehlt ein inline; und man bekommt teilweise Results, bzw. zusätzliche temporäre Variablen, die bissl was Anderes machen, als man denken könnte.
    Delphi-Quellcode:
    S.Insert(3, 'xx'); // geht
    S.Insert(3, 'xx').Insert(7, 'zz'); // geht nur halb
    S := S.Insert(3, 'xx').Insert(7, 'zz'); // geht, aber kopiert sinnlos umher
    Insert(S, 'xx', 3); Insert(S, 'zz', 7); // macht genau das, was es soll
  • Wieso ist Format nur als Class-Funktion deklariert?
    S := '%d'; ShowMessage(S.Format([123])); könnte nett sein.
  • Warum um Himmels Willen zeigt die Codevervollständigung nicht an, was Class-Function ist und was nicht?
  • Und natürlich das Problem mit den mehreren Class-Helpern an einem Typ, was ja immernoch nicht funktioniert.
    unbenannt.png

Das heißt also QCs schreiben und hoffen es ist irgendwann wirklich mal "verständlich" nutzbar.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 5. Apr 2015 um 20:36 Uhr)
  Mit Zitat antworten Zitat