Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Auf den letzten char in einer Datei zugreifen (https://www.delphipraxis.net/203448-auf-den-letzten-char-einer-datei-zugreifen.html)

freimatz 19. Feb 2020 10:42

AW: Auf den letzten char in einer Datei zugreifen
 
Zitat:

Zitat von kagi3624 (Beitrag 1457800)
Zitat:

Zitat von freimatz (Beitrag 1457798)
Wie kommst Du drauf, dass es sonst bei 0 anfängt? Was ist bei dir "sonst"?

Arrays?

Da kommt es darauf an welche. Hier nicht:
Delphi-Quellcode:
var
  MachineDimensions: Array [1..3] of aVectorT;
Und hier ist das erste nicht mal eine Zahl
Delphi-Quellcode:
var
  dateFormatsLongC: array [dateFormatET] of string;
Dagegen dynamische Array fangen immer bei 0 an, die verwende ich sehr selten.

himitsu 19. Feb 2020 11:28

AW: Auf den letzten char in einer Datei zugreifen
 
In mobilen Anwendungen (NextGen-Compiler) und in den neuen StringHelpern werden die Chars in den String ab 0 gerechnet.
Bei PChar der Offset sowieso schon immer mit 0.

PS: Weil der alte ShortString als im ersten Byte (0) die stehen Länge hat, fingen die Chars nunmal erst bei 1 an
und daher wurde im Pascal/Delphi dann auch die neueren LongStrings mit 1 begonnen, auch wenn dort nun das erste Zeichen intern auf Position 0 seht. (und die Verwaltungsdaten mit negativem Offset vor den Chars)

Statische arrays dind frei, in der Definition, aber ja, ei dynamischen Arrays fängt es bei null an.
Aber variante Arrays gäbe es auch noch und die sind auch komplett frei. (Typ Variant)

freimatz 19. Feb 2020 11:40

AW: Auf den letzten char in einer Datei zugreifen
 
Und am Besten man verlässt sich auf nichts und verwendet dann z.B. Low() - geht das bei String überhaupt?

himitsu 19. Feb 2020 16:35

AW: Auf den letzten char in einer Datei zugreifen
 
Zitat:

Zitat von freimatz (Beitrag 1457892)
Und am Besten man verlässt sich auf nichts und verwendet dann z.B. Low() - geht das bei String überhaupt?

Ja, aber im XE ging
Delphi-Quellcode:
Low(string)
noch nicht ... wollte ich vor Kurzem mal verwenden. :oops:

Und ja, verlassen besser nicht, denn wer seine geliebte 1 nicht verlieren will, der kann
Delphi-Quellcode:
{$ZEROBASEDSTRINGS OFF}
.
http://docwiki.embarcadero.com/RADSt...trings_(Delphi)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.
Seite 4 von 4   « Erste     234   

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