Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String-Klasse? (https://www.delphipraxis.net/52801-string-klasse.html)

Bigeddie 4. Sep 2005 00:19


String-Klasse?
 
Hallo,

ich suche eine Klasse, mit welcher ich verschiedene Stringtypen bearbeiten kann.

Gruß

bigeddie

Robert_G 4. Sep 2005 01:00

Re: String-Klasse?
 
Gibt's nicht.
Würde dank fehlender Operatorüberladung auch in einem schlimmeren PITA enden als es bereits jetzt der Fall ist. ;)

Manch Hartgesottener würde jetzt einen TStrings-Nachfahren nennen, aber zu krass bin ich nicht... :mrgreen:

Bigeddie 4. Sep 2005 09:20

Re: String-Klasse?
 
Und wie müßte ich den String innerhalb einer von mir erstellten Klasse händeln umtrotzdem Funktionen wie append oder ähnliches richtig und vorallem zeiteffizient implementieren zu können? Als ARRAY OF CHAR oder als delphi-string oder wie?

Olli 4. Sep 2005 09:37

Re: String-Klasse?
 
Zitat:

Zitat von Bigeddie
Und wie müßte ich den String innerhalb einer von mir erstellten Klasse händeln umtrotzdem Funktionen wie append oder ähnliches richtig und vorallem zeiteffizient implementieren zu können? Als ARRAY OF CHAR oder als delphi-string oder wie?

Da der Delphistring Compilerunterstützung genießt und sowohl mit Array of Char als auch mit PChar, Pointer usw. kompatibel ist, würde ich eindeutig diesen empfehlen.

Allerdings, wenn du zwischen Unicode/ANSI konvertieren mußt, wirst du um ein paar Hilfsmethoden nicht herumkommen.

Bigeddie 4. Sep 2005 10:01

Re: String-Klasse?
 
glaubt ihr eine solche Klasse wäre auch was für den Rest der Community an einer solchen Klasse interesse haben könnte?
und wurde mir vielleicht jemand helfen das ganze zu optimieren?

viele Grüße

Bigeddie

jbg 4. Sep 2005 10:40

Re: String-Klasse?
 
Zitat:

Zitat von Bigeddie
ich suche eine Klasse, mit welcher ich verschiedene Stringtypen bearbeiten kann.

Wieviele verschiendene Stringtypen kennst du denn?

Warum sollte man das Rad neu erfinden? Delphi bietet bereits Stringfunktionen. Diese sind zwar nicht in einer Klasse zusammengefasst, aber trotzdem existent.

Olli 4. Sep 2005 10:51

Re: String-Klasse?
 
Zitat:

Zitat von jbg
Wieviele verschiendene Stringtypen kennst du denn?

BSTR, C-String, Delphi-AnsiString, Delphi-WideString, LPWSTR (PWideChar), LPSTR (PChar), Delphi-ShortString, UNICODE_STRING, STRING, ANSI_STRING, OEM_STRING ...

@Bigeddie: Das Problem ist, daß du in Delphi kein Operator-Overloading hast und daher sowas wie die Verbindung zweier Strings mit + nicht einfach ohne Compilerunterstützung implementieren kannst. Stattdessen müßte man mit Hilfsmethoden leben :-\

jbg 4. Sep 2005 10:57

Re: String-Klasse?
 
Zitat:

Zitat von Olli
Zitat:

Zitat von jbg
Wieviele verschiendene Stringtypen kennst du denn?


Zitat:

C-String, Delphi-AnsiString, LPSTR (PChar)
Das ist schonmal nur ein Typ.

Zitat:

BSTR, Delphi-WideString, LPWSTR (PWideChar)
Und das ein weiterer

Zitat:

Delphi-ShortString
Und noch einer.

Zitat:

UNICODE_STRING, STRING, ANSI_STRING, OEM_STRING ...
Toll, dann füg auch noch MYFAVORITE_SELF_CREATED_STRING hinzu.

Und wenn man es genau nimmt, dann gibt es nur einen Typ von String. Alles andere ist reine Interpretation.

tommie-lie 4. Sep 2005 12:06

Re: String-Klasse?
 
Zitat:

Zitat von jbg
Zitat:

C-String, Delphi-AnsiString, LPSTR (PChar)
Das ist schonmal nur ein Typ.

Als ich zuletzt einen String in der Hand hatte, waren Delphi-String noch reference-counted und besaßen ein LongWord, das die Länge angibt. Ich kann mich nicht erinnern, daß das bei LPSTR auch so war. Und wenn Olli mit C-String den Typ String aus der C++-Standardbibliothek meint, ist das wieder was anderes als der Delphi-AnsiString und der LPSTR.

Zitat:

Zitat von jbg
Zitat:

BSTR, Delphi-WideString, LPWSTR (PWideChar)
Und das ein weiterer

Zugegeben, zu BSTR fällt mir im Augenblick nichts ein, aber für den Unterschied zwischen Delphi-WideString und LPWSTR gilt das gleiche wie oben zwischen Delphi-AnsiString und LPSTR.

Aber das mag sich seit gestern alles geändert haben %-)


Zitat:

Zitat von jbg
Und wenn man es genau nimmt, dann gibt es nur einen Typ von String. Alles andere ist reine Interpretation.

ACK. Alles nur eine Aneinanderreihung von Einheiten zu beliebig vielen Bits. Dennoch sind die Zugriffsmethoden mitunter unterschiedlich und deswegen bedürfen sie durchaus einer Konvertierung.

Edit: daß != das...

malo 4. Sep 2005 12:15

Re: String-Klasse?
 
Zitat:

Zitat von jbg
Und wenn man es genau nimmt, dann gibt es nur einen Typ von String. Alles andere ist reine Interpretation.

Wenn man es genau nimmt, dann gibt es keine Strings. Strings werden in Delphi nur durch Compilermagic erstellt. Im Grunde sind das alles nur Char-Arrays ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.
Seite 1 von 2  1 2      

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