Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Eigener String-Typ (https://www.delphipraxis.net/62576-eigener-string-typ.html)

tommie-lie 6. Feb 2006 21:02

Re: Eigener String-Typ
 
Zitat:

Zitat von SebE
Ich such(t)e eigentlich nur eine Möglichkeit das erste "String-Byte" auszunutzen"

Nimm halt C-Strings. Und das sind PChars. Oder nimm (statische) Arrays.

Zitat:

Zitat von SebE
Es hätte mir auch bei bestimmten Dingen geholfen: wenn man mit Pointern arbeitet und dann ist immer dieses eine Byte im Weg.

Inwiefern im Weg? Bei den allermeisten Compilern sollten Daten in Arrays linear im Speicher liegen. Also einfach einen Zeiger auf das erste Element holen und gut iss. Wenn du einen gewöhnlichen Pascal-String (meinetwegen auch LongString) hast, einfach PChar(@String[1]), und schon hast du einen gültigen Pointer auf einen String. Musst nur dafür sorgen, daß irgendwie ein Nullterminator drankommt, wenn das weder der Compiler, noch die Compiler-Magic nicht macht.

Zitat:

Zitat von SebE
Warum ich nicht C/C++ nutze -> weil ich dem nicht mächtig bin, außerdem find ich die Sprache Pascal besser (meine Meinung).

Also verrenkst du lieber die eine Sprache, anstatt eine andere richtig zu benutzen? Das wäre doch jetzt die richtige Gelegenheit, um C zu lernen.

Flocke 6. Feb 2006 21:06

Re: Eigener String-Typ
 
Zitat:

Zitat von SebE
Ich such(t)e eigentlich nur eine Möglichkeit das erste "String-Byte" auszunutzen", da ich immer versuche jedes Byte zu sparen, wo es geht.
Klingt doof, aber so bin ich eben.

Da sparst du nix: das System muss ja irgendwie wissen wo der String aufhört. Beim Typ ShortString unter Pascal steht ein Längenbyte vorne weg, bei C ist ein 0-Byte hinten dran. Bei beiden Varianten wird ein Byte verschwendet.

SebE 6. Feb 2006 21:10

Re: Eigener String-Typ
 
ja C/C++ lernen lohnt sich schon (mach ich vllt auch mal intensiver).

Vielleicht werde ich es so machen, dass ich alle funktionen, bei denen Zeichenketten übergeben werden, in C und den Rest in Pascal uns ASM schreibe.

Das mit den Statischen Arrays hatten wir hier doch schon öfters.

Hätte nicht gedacht, dass das so ein Ausmaß nimmt.

Aber ohne PChar komm ich sowieso nicht aus.
Ich werd's schon hinbekommen.

@Flocke:
Auch bei Pascal kommt ein #0 hinten ran.

Und bei meinem Problem muss das System nicht wissen, wie lang der String ist, da ich das mit Funktionen selbst festlege, was ich wo und wieweit auslese.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
Seite 3 von 3     123   

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