![]() |
Textdatei in einen String
Hallo Leute
ich muß eine Textdatei komplett in einen String packen. Bis jetzt habe ich das über eine stringlist (selber created) und loadfromfile gelöst. Ist natrülich nicht so toll. Jetzt habe ich diesen Code hier konstruiert:
Delphi-Quellcode:
Allerdings bin ich mir nicht sicher, ob der Code ideal ist. Es kommt in meinem Programm auch auf speed an, deshalb die Frage!
function rf(filename:string):string;
var tf:textfile; s,s1:string; begin assignfile(tf,filename); reset(tf); s:=''; repeat readln(tf,s1); s:=s+s1; until eof(tf); result := s; end; Danke TO |
Re: Textdatei in einen String
Zitat:
eine Stringlist kennt Text und Commatext damit hast du den ganzen Text schon in einem string Mfg Frank |
Re: Textdatei in einen String
Hallo!
Hier hab ich mal ein Beispiel:
Delphi-Quellcode:
Du solltest Widestring statt String nehmen, weil im String nur 255 Zeichen Platz haben und die sind sehr schnell voll! Geht aber auch mit String.
function rf(var filename:string):widestring;
var tf:textfile; s,sl:widestring; begin assignfile(tf,filename); if FileExists(filename) then begin reset(tf); s:=''; while not eof(tf) do begin readln(tf,sl); s:=s+sl; end; end else begin showmessage('Datei nicht gefunden'); result:='Datei nicht gefunden'; end; result := s; end; Ist nicht getestet aber dürfte gehen. |
Re: Textdatei in einen String
Moin Zusammen,
Zitat:
Standardmässig hat eine Variable vom Typ string in Delphi eine maximale Länge von 2GB-1. Einlesen würde ich die Datei mit einem FileStream.
Delphi-Quellcode:
var
fsWork : TFileStream; sBuf : string; begin fsWork := TFileStream.Create('<Pfad der Datei>',fmOpenRead); try sBuf := StringOfChar(#00,fsWork.Size); fsWork.Read(sBuf[1],fsWork.Size); finally FreeAndNil(fsWork); end; end; |
Re: Textdatei in einen String
:oops: Dann hat mir mein Lehrer mist erzählt. Naja der war sowieso nicht der hellste. :)
Danke für die Info Christian. |
Re: Textdatei in einen String
Moin The Reaper,
ich war's von Turbo Pascal her auch noch so gewohnt, und hab' mir damals mal ganz schön einen abgebrochen, als ich ein Programm schreiben wollte, wo in einem String mehr als 255 Zeichen sein mussten... ;-) Hat geklappt, aber... :mrgreen: Du kannst Dir in den Optionen aber auch einstellen, dass string als ShortString angesehen werden soll. In diesem Falle würde die Aussage mit den 255 Zeichen stimmen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr. |
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