AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Delphi unit (dcu) per quelltext durchsuchen
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi unit (dcu) per quelltext durchsuchen

Ein Thema von MatthiasW · begonnen am 21. Jun 2003 · letzter Beitrag vom 21. Jun 2003
Antwort Antwort
MatthiasW

Registriert seit: 29. Jan 2003
Ort: Reichenbach
253 Beiträge
 
Delphi 2009 Professional
 
#1

Delphi unit (dcu) per quelltext durchsuchen

  Alt 21. Jun 2003, 15:33
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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 21. Jun 2003, 15:41
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
MatthiasW

Registriert seit: 29. Jan 2003
Ort: Reichenbach
253 Beiträge
 
Delphi 2009 Professional
 
#3
  Alt 21. Jun 2003, 16:36
Hallo,

Zitat von Christian Seehase:
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.
das mit dem laden funktioniert leider nicht, das gibt ne Fehlermeldung genau in dem Moment wo er die Daten lesen soll .

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
  Mit Zitat antworten Zitat
MatthiasW

Registriert seit: 29. Jan 2003
Ort: Reichenbach
253 Beiträge
 
Delphi 2009 Professional
 
#4
  Alt 21. Jun 2003, 16:49
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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 21. Jun 2003, 17:09
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:
myFile := TFileStream.Create(sFilename, fmOpenRead);
try
  SetLength(sReadText, myFile.Size);
  myFile.Read(sReadText[1], myFile.Size);
finally
  FreeAndNil(myFile);
end;
BTW:
Wie Du sehen kannst brauchst Du auch nicht mehr zusätzlich die Dateigrösse zu ermitteln.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
MatthiasW

Registriert seit: 29. Jan 2003
Ort: Reichenbach
253 Beiträge
 
Delphi 2009 Professional
 
#6
  Alt 21. Jun 2003, 19:11
Hallo,

genau da lag mein Fehler, jetzt funzt das aber wirklich ,
danke

Mfg Matthias
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
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