Einzelnen Beitrag anzeigen

EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#43

AW: Leerzeichen in String einfügen

  Alt 2. Feb 2016, 02:55
Guten Morgen FarAndBeyond, Lucki, alle

ich habe gerade bemerkt(FarAndBeyond, du scheinst FPC'ler zu sein), das ich in der unit überall den NativeUInt versauwurschtelt habe. Ich meine der Typ war mit D2007 eingeführt und buggy bis ?D2010? und ich weiß nicht, ob der FPC ihn inzwischen kennt.

Für gewöhnlich deklariere ich den Typ selbst(Für alle Compiler, wo er fehlt oder falsch deklariert war und wenns Compiler unabhängig werden soll), und versuch den Code zur neuesten Compilerversion zu adaptieren. Somit gehe ich davon aus, das die Unit nicht auf jedem Delphi/FPC compiliert. Deswegen habe ich den den Typ mal durch einen PtrInt ersetzt, welches für den Laien eventuell intuitiver ist. Hinzu kommt, daß der FPC, nicht wie Delphi, für String-Länge und RefCount im TStrRec den LongInt-Typ beibehält, sondern diesen mit dem Compile-Target unterschiedlichen SizeInt nutzt.

Damit alle etwas von dem kleinen Experiment haben, habe ich das gändert und die Unit nochmals angehängt.

@FarAndBeyond

dein Ansatz wird keinen hier vorangegangenen schlagen können, dennoch wird(wenn du dran bleibst und die anderen Vorschläge betrachtest)es dir helfen, deine Version, oder weitere darauffolgende immer weiter zu verbessern. So lernt man es selbst am aller besten. Learning-By-Doing. Versuch zum Anfang mal nur dich selber zu schlagen indem du eine Version schreibst, und weiter ableitest und den neuere Versionen mit einem Prefix 'a...z' oder so, behaftest und alle anderen bereits in der Unit enthaltenen erst mal auskommentierst. Betrachte die Versionen und beobachte, wie sich das compilat zu den anderen Versionen verhält.

Der Thread ist nun schon ziehmlich lang, die deine herangehensweise mit dem Concatieren "NewStr := NewStr +Text[I]" fehtlt hier noch. Warum?
Übrigens reit sich dein Vorschlag in der Kategorie TestVary ein.

Also an alle: viel Spaß beim experimentieren!
Michael, ZeosDevTeam
Angehängte Dateien
Dateityp: pas QuadUnderScoreInjections.pas (17,5 KB, 4x aufgerufen)

Geändert von EgonHugeist ( 2. Feb 2016 um 03:38 Uhr) Grund: TestVary-Kommentar
  Mit Zitat antworten Zitat