Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Größe von TStrings in Byte ermitteln (https://www.delphipraxis.net/159499-groesse-von-tstrings-byte-ermitteln.html)

Klaus01 31. Mär 2011 11:17

AW: Größe von TStrings in Byte ermitteln
 
Hallo,

warum legst Du nicht die entschlüsselten Daten in einen Stream (MemoryStream)ab.
Die Größe wäre dann Stream.size.

Grüße
Klaus

DeddyH 31. Mär 2011 11:25

AW: Größe von TStrings in Byte ermitteln
 
Streams hatte ich auch schon erwähnt, aber es bleibt das Problem mit den Zeilenumbrüchen. Nun kommt es darauf an, wie genau er die Angabe braucht.

Klaus01 31. Mär 2011 11:29

AW: Größe von TStrings in Byte ermitteln
 
.. sollten im Stream der entschlüsselten Datei die Zeilenumbrüche nicht gleich der Zeilenumbrüche der Originaldatei sein?

(Habe Deinen Hinweis bzgl. Streams überlesen :o( muss am Jetlag liegen)
Grüße aus Seoul
Klaus

DeddyH 31. Mär 2011 11:31

AW: Größe von TStrings in Byte ermitteln
 
Achso, Du meinst, bevor die Daten in der Stringliste landen? In dem Fall sollte das passen, denke ich.

DevidEspenschied 31. Mär 2011 11:34

AW: Größe von TStrings in Byte ermitteln
 
Ich werde mal versuchen, die StringList-Einträge durchzuzählen und die Längen zu addieren. Möglicherweise erhalte ich genau die Dateigröße. Infos folgen...

Ein MemoryStream ist mir auch schon in den Sinn gekommen, allerdings greifen meine Routinen zeilenweise auf die entschlüsselte Datei zu (quasi wie eine sehr lange INI-Datei), und das scheint mit Streams umständlich wenn nicht sogar unmöglich zu sein. Kann mich aber auch irren...

Satty67 31. Mär 2011 12:11

AW: Größe von TStrings in Byte ermitteln
 
Irgendeine Funktion/Methode entschlüsselt doch die Quelle. Warum nicht gleich da den Output zählen und am Ende übergeben?

DevidEspenschied 31. Mär 2011 13:08

AW: Größe von TStrings in Byte ermitteln
 
So ich habe die Lösung: Durchzählen der StringList plus 2 Zeichen pro Zeile (#10, #13). Das ergibt genau die Dateigröße.

mleyen 31. Mär 2011 13:13

AW: Größe von TStrings in Byte ermitteln
 
Delphi-Quellcode:
function StrLstSize(const AStrLst: TStringList): Cardinal;
begin
  if Assigned(AStrLst) then
    Result := Length(AStrLst.Text) * SizeOf(Char)
  else
    Result := 0;
end;

himitsu 31. Mär 2011 13:22

AW: Größe von TStrings in Byte ermitteln
 
Zitat:

* SizeOf(Char)
seine Datei ist als ansi gespeichert und nicht als Unicode

DevidEspenschied 31. Mär 2011 13:48

AW: Größe von TStrings in Byte ermitteln
 
AnsiChar anstatt Char, habe ich schon geändert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr.
Seite 2 von 3     12 3      

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 by Thomas Breitkreuz