Delphi-PRAXiS
Seite 2 von 2     12   

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)

Gandalfus 4. Sep 2005 12:17

Re: String-Klasse?
 
Zitat:

Zitat von Olli
@Bigeddie: Das Problem ist, daß du in Delphi kein Operator-Overloading hast

Das ist kein Problem sondern ein Feature.

Olli 4. Sep 2005 12:40

Re: String-Klasse?
 
Zitat:

Zitat von jbg
Zitat:

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

Aua, aufhören. Das tut echt weh!
Vielleicht solltest du dir doch lieber nochmal das Wissen anlesen. C-String und PChar sind gleich, ja - mein Fehler -, aber der Delphi-AnsiString ist ein komplett anderes und compilergestütztes Konstrukt.

+ 2 Stringtypen

Zitat:

Zitat von jbg
Zitat:

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

Ja, ein weiterer Irrtum. BSTR ist genau wie der Delphi-WideString ein "counted string", wobei wie beim Delphi-WideString die Offsets negativ sind. Unterschied ist die interne Struktur die an diesen negativen Offsets liegt. Im Falle von BSTR ist dies nur ein DWORD. Beim Delphi-WideString (und auch AnsiString) sind dies noch mehr Member, Reference Count und Reservierter Speicher, soweit ich mich entsinne. Es handelt sich also tatsächlich um 3 verschiedene Stringtypen.
Übrigens: BSTR != OLESTR. LPOLESTR entspricht LPWSTR!

+ 3 Stringtypen

Zitat:

Zitat von jbg
Zitat:

Delphi-ShortString
Und noch einer.

Richtig, ist auch ein anderer Typ.

+ 1 Stringtyp

Zitat:

Zitat von jbg
Zitat:

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

Polemik bringt nichts, denn diese Typen wirst du sogar in deinem PSDK finden. Dort ist zB UNICODE_STRING als LSA_UNICODE_STRING deklariert.

+ 1 Stringtyp (weil sich die Pointertypisierung nur unterscheidet bin ich mal großzügig)

= 7 Stringtypen

Wohlgemerkt, dies sind nur jene, die mir auf die Schnelle einfielen. Es könnte noch andere geben.

Zitat:

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

Aua.

Zitat:

Zitat von tommie-lie
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.

Nein, ich meinte tatsächlich den der PChar entspricht. War mein Fehler. Ansonsten hätte ich std::string geschrieben. Ist aber eine Klasse genau wie CString aus den MFC oder wxString aus den wxWidgets.

Zitat:

Zitat von tommie-lie
Zugegeben, zu BSTR fällt mir im Augenblick nichts ein

Ist counted.

Zitat:

Zitat von malo
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 ;)

Dann darf man es aber nicht zu genau nehmen ;)

Zitat:

Zitat von Gandalfus
Das ist kein Problem sondern ein Feature.

:lol:

tommie-lie 4. Sep 2005 12:57

Re: String-Klasse?
 
Zitat:

Zitat von Olli
Nein, ich meinte tatsächlich den der PChar entspricht. War mein Fehler. Ansonsten hätte ich std::string geschrieben. Ist aber eine Klasse genau wie CString aus den MFC oder wxString aus den wxWidgets.

Jetzt, wo du's sagst... QString existiert auch in dieser C++-Vergewaltigung namens Qt, Dann gäbe es noch den ustring aus Gtk-- (eine Klasse zur Kapselung von Gtk+' String-Funktionen, die auf gchar*-Strings wirken, die wiederum Pointer auf im Framework allokierte Unicode-Characters (ich glaube UTF8, wenn ich mich richtig erinnere, gestern erst habe ich's in der Doku nachgeschlagen und schon wieder vergessen :-( (aber richtig gelesen habe ich, Olli :zwinker:))).

Zitat:

Zitat von Olli
Zitat:

Zitat von Gandalfus
Das ist kein Problem sondern ein Feature.

:lol:

Lass sie doch, sie haben einfach nie Klassen in C++ geschrieben, die Daten kapseln :mrgreen:

Olli 4. Sep 2005 13:02

Re: String-Klasse?
 
Zitat:

Zitat von tommie-lie
)))

Mensch bist du beklemmt. Oder sollte ich sagen: beklammert? :mrgreen:

Zitat:

Zitat von tommie-lie
Lass sie doch, sie haben einfach nie Klassen in C++ geschrieben, die Daten kapseln :mrgreen:

Vielleicht war es auch Ironie. So habe ich es aufgefaßt.

tommie-lie 4. Sep 2005 13:08

Re: String-Klasse?
 
Zitat:

Zitat von Olli
Zitat:

Zitat von tommie-lie
)))

Mensch bist du beklemmt. Oder sollte ich sagen: beklammert? :mrgreen:

behämmert gefällt mir besser :mrgreen: (dabei programmiere ich doch gar nicht in LISP :gruebel:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.
Seite 2 von 2     12   

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