![]() |
Delphi unit (dcu) per quelltext durchsuchen
Hallo,
ich möchte zur laufzeit eine delphi Unit (dcu) nach einem bestimmten string durchsuchen. Aber das ganze erst in einen String zu laden und dann mit "Pos" nach dem gewünschten zu suchen geht nicht, da die gesamte Datei nicht in den String geladen wird. An irgendeiner Position in der Datei hört das immer auf zu laden. Gibts eine andere möglichkeit die Datei zu durchsuchen? :?: Mfg Matthias |
Moin Matthias,
wie lädst Du denn die Datei? Wenn Du z.B. die Stringvariable als Buffer für TFileStream nimmst (in der Länge der Datei initialisiert, dürfte es beim Einlesen schon mal keine Probleme geben. Ich hab' allerdings noch nicht ausprobiert wie Pos auf binäre Nullen in einem String reagiert. |
Hallo,
Zitat:
Der code ist der folgende: AssignFile(f, sFilename); Reset(f); iFileSize := FileSize(f); CloseFile(f); myFile := TFileStream.Create(sFilename, fmOpenRead); SetLength(sReadText, iFileSize); hier dewr fehler -> myFile.Read(sReadText, iFileSize); Gibts noch ne andere möglichkeit? Mfg Matthias |
Hallo,
das Problem für die Fehlermeldung war das FileSize eine falsche grösse angibt. Ich habe dann für eine Datei die grösse fest eingestellt, da gabs keine Fehlermeldung mehr aber der String war leer. :( Mfg Matthias |
Moin Matthias,
wenn Du einen String als Buffer nimmst, musst Du auch angeben ab welcher Stelle des Strings der Buffer gefüllt werden soll
Delphi-Quellcode:
BTW:
myFile := TFileStream.Create(sFilename, fmOpenRead);
try SetLength(sReadText, myFile.Size); myFile.Read(sReadText[1], myFile.Size); finally FreeAndNil(myFile); end; Wie Du sehen kannst brauchst Du auch nicht mehr zusätzlich die Dateigrösse zu ermitteln. |
Hallo,
genau da lag mein Fehler, jetzt funzt das aber wirklich :D , danke Mfg Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 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-2025 by Thomas Breitkreuz