Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Text,SuchText vs. SuchText,Text (https://www.delphipraxis.net/209770-text-suchtext-vs-suchtext-text.html)

himitsu 19. Jan 2022 10:30

Delphi-Version: 11 Alexandria

Text,SuchText vs. SuchText,Text
 
Wer hat sich diesen Sch..... ausgedacht,
und warum repariert es niemand?

Oder stört es nur mich?


Hatte doch nur mal ein Pos>0 durch ContainsStr ersetzt, weil verständlicher, (dabei an die gedrehten Parameter gedacht)
und dann beim Commit mir kurz nochmal gedacht: Contains/Pos ist/war eigentlich falsch ... machst schnell ein Starts draus (ohne an Parameter zu denken, weil heißt ja auch praktisch gleich)

Delphi-Quellcode:
Insert({SubStr}Source, Dest, ...);
Pos(SubStr, Str)
PoSex(SubStr, Str, ...)
StartsStr(SubText, Text)
StartsText(SubText, Text)
EndsStr(SubText, Text)
EndsText(SubText, Text)

// aber
ContainsText(Text, SubText)
ContainsStr(Text, SubText)

// OK, die Arrays/Listen sind auch hinden
IndexStr(Text, {SubTexts}Values)
IndexText(Text, {SubTexts}Values)
MatchStr(Text, {SubTexts}Values)

ReplaceStr(Text, {SubText}FromText, {SubTexts}ToText)
StuffString(Text, ..., SubText)

Der schöne Günther 19. Jan 2022 10:34

AW: Text,SuchText vs. SuchText,Text
 
Ich habe die ganzen Dinger noch nie in meinem Leben verwendet und nehme immer nur die StringHelper-Methoden wie
Delphi-Quellcode:
if 'Hallo Welt'.EndsWith('Welt') then {...};
.

himitsu 19. Jan 2022 10:46

AW: Text,SuchText vs. SuchText,Text
 
Ja, Hauptentwicklung ist "noch" XE und das kennt sowas nicht (10.4/11 praktisch schon fertig, aber).


An den String-Helpern nervt noch, dass es z.B. beim Edit.Text oder Label.Caption nicht funktioniert, weil kein "string" :wall:
Und weil der Dreck keine Vererbung, oder man keine weiteren Helper parallel nutzen kann usw.

DeddyH 19. Jan 2022 10:48

AW: Text,SuchText vs. SuchText,Text
 
Genervt hat mich diese Uneinheitlichkeit auch schon öfter, aber wie soll man das reparieren, ohne dass bisheriger Code damit plötzlich falsch wird? Eigentlich sollte man sich doch mit der Zeit an die ganzen Unzulänglichkeiten gewöhnt haben.

Rollo62 19. Jan 2022 10:54

AW: Text,SuchText vs. SuchText,Text
 
Ja nervt schon, aber es gibt CodeVervollständigung ...
Du könntest eigene (inline) API's verwenden, um das so zu umzubauen wie es Dir gefällt.

Redeemer 20. Jan 2022 09:03

AW: Text,SuchText vs. SuchText,Text
 
Zitat:

Zitat von himitsu (Beitrag 1500865)
Oder stört es nur mich?

Nein, mich auch.
Schön, dass es mal jemand anspricht. Obwohl es nicht mehr zu ändern ist.

Dass so etwas bei Wildwuchs-Sprachen wie PHP vorkommt - eine Sache. Dass es bei Sprachen vorkommt, die durch ein einziges Unternehmen entwickelt werden, muss nicht sein.

Gibt es eigentlich Methoden, bei denen sich die Reihenfolge der Parameter zwischen FPC und Delphi unterscheidet?

Uwe Raabe 20. Jan 2022 09:57

AW: Text,SuchText vs. SuchText,Text
 
Zitat:

Zitat von Redeemer (Beitrag 1500918)
Dass es bei Sprachen vorkommt, die durch ein einziges Unternehmen entwickelt werden, muss nicht sein.

Ein Großteil dieser Inkonsistenzen ist vermutlich durch eine zu starke Anlehnung an .NET reingekommen.

himitsu 20. Jan 2022 13:48

AW: Text,SuchText vs. SuchText,Text
 
Codevervollständigung geht ja nicht immer auf.

Das "Problem" ist ja, wenn man nur die Art des Vergleiches ändern möchte und dabei nicht beachtet,
dass sich urplötzliche die Parameter ändern, obwohl es gleich/kompatibel aussieht/klingt.

ContainsStr > ContainsText = Groß-/Kleinschreibung (nicht) beachten
ContainsStr > StartsStr = am Anfang oder in der Mitte suchen



Das ist einfach nur eine extrem pervese potentielle Fehlerquelle.



Und die StringHelper sind ja auch nicht das Wahre.
Wenn ich mir manchmal so anseh, was zwischen Class- und NichtClass-Eigenschaften sich da für abgründe auftun.

Oder ganz "fieß" ist auch Boolean.ToString ... hängt dort mal ein (True) für die Textformatierung dran und wundert euch, dass es nun immer "True" ist.
Und der besch** Enum-Namespace kommt auch fast nie über die Codevervollständigung rein.

Und um "bessere" Funktionen kann man die Helper auch nicht erweitern, weil die Record-Vererbung nicht geht und mehrere Helper an einem Typen nicht möglich sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:55 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