AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

.txt Datei aus .zip öffnen zum auslesen

Ein Thema von dumper · begonnen am 28. Apr 2010 · letzter Beitrag vom 25. Jun 2013
Antwort Antwort
Seite 1 von 2  1 2      
dumper

Registriert seit: 21. Apr 2010
10 Beiträge
 
#1

.txt Datei aus .zip öffnen zum auslesen

  Alt 28. Apr 2010, 13:41
Hallo nochmal

Ich will den Inhalt einer .txt Datei, die mit den Buchstaben LOG_ beginnt aus einem .zip-Archiv auslesen.

Meine Kenntnisse sind noch Recht beschränkt deshalb suche ich hier Hilfe. Ich habe mir Delphizip besorgt..

die Methode ExtractFileToStream(Filename) hilft mir nicht weiter, weil ich ja nicht den ganzen Namen weiss..

wäre dankebar für hilfe
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: .txt Datei aus .zip öffnen zum auslesen

  Alt 28. Apr 2010, 14:05
Hallo,

die Liste der Dateien in der Zip sollte sich mit deiner Komponente
auch auslesen können.

Schau dir mal

1

an.

Delphi-Quellcode:
for I:=1 to ZipMaster1.Count do
begin
  with ZipDirEntry(ZipMaster1.ZipContents[I-1]^) do
  begin
     SortGrid1.Cells[0,I] := FileName; //Dateiname
  end;
end;

Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: .txt Datei aus .zip öffnen zum auslesen

  Alt 28. Apr 2010, 14:32
Und zum Dateinamen: Du könntest die Liste durchgehen und mit Delphi-Referenz durchsuchenAnsiStartsText prüfen, ob der aktuelle Dateiname mit "LOG_" beginnt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
dumper

Registriert seit: 21. Apr 2010
10 Beiträge
 
#4

Re: .txt Datei aus .zip öffnen zum auslesen

  Alt 28. Apr 2010, 15:09
Delphi-Quellcode:
 
...
try
   begin
   ZipMaster1 := TZipMaster.Create(nil);
   Zipmaster1.ZipFilename:=FileStr;
   for I:=1 to ZipMaster1.Count do
    begin
      with ZipDirEntry(ZipMaster1.ZipContents[I-1]^) do
      begin
        TempStr := copy(Filename,1,4);
        if TempStr = 'LOG_then
        begin
          ZipFileStr := Filename;
        end;
      end;
    end;
    ZipData := ZipMaster1.ExtractFileToStream(ZipFileStr);
    ZipData.Position := 0;
    ZipData.SaveToFile(ExtractFilePath(ParamStr(0))+'temp.txt');
    memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0))+'temp.txt');
    DeleteFile(ExtractFilePath(ParamStr(0))+'temp.txt');
    TempStr := memo1.Text;
    AnfangInt := pos('Link: ',TempStr);
    AnfangInt := AnfangInt + 6;
    TempStr := copy(TempStr,AnfangInt,length(TempStr));
    EndeInt := pos ('#$D#$A',TempStr); // #$D#$A Zeilenumbruch ..... EndeInt ergibt immer 0 .. #$D#$A wird iwie ignoriert
    Edit1.Text := copy(TempStr,1,EndeInt);
   end;
   finally
     ZipMaster1.Free;
   end;
end;

1. aktuellste Datei in einem Ornder suchen (nur .zips)
2. LOG_*unbekannt*.txt im XXX.zip ermitteln
3. Abspeichern und in ein Memo laden
4. Einem String übergeben
5. Substring Anfang mit Hilfe von pos finden
6. Ende bis zum Zeilenumbruch it Hilfe von pos finden... aber es wird einfach ingoriert.. weiss einer Rat?


neuen topic wär jetzt dafür etwas übertrieben
thx 4 answer
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

Re: .txt Datei aus .zip öffnen zum auslesen

  Alt 28. Apr 2010, 15:26
Dann müsste ja "#$D#$A" in der Datei stehen, das wird es aber bestimmt nicht. Versuch es mal so:EndeInt := pos (sLineBreak,TempStr);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
dumper

Registriert seit: 21. Apr 2010
10 Beiträge
 
#6

Re: .txt Datei aus .zip öffnen zum auslesen

  Alt 28. Apr 2010, 15:28
jop genau steht halt nicht drin..

hab jetzt ne andere lösung..
hab #$D#$A durch 'test123' ersetzt.. das hat pos dann wieder gefunden

*edit
deine lösung geht auch! thx
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

Re: .txt Datei aus .zip öffnen zum auslesen

  Alt 28. Apr 2010, 15:41
Zitat von dumper:
hab #$D#$A durch 'test123' ersetzt.. das hat pos dann wieder gefunden
Das geht?
Wo es doch angeblich nicht drin steht.

PS:
'#$D#$A' <> #$D#$A
und
#$D#$A = sLineBreak
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Andreas Schilling

Registriert seit: 6. Sep 2006
106 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: .txt Datei aus .zip öffnen zum auslesen

  Alt 20. Jun 2013, 16:30
Da ich jetzt auch einmal mit Zipdateien arbeiten wollte und auch erfolgreich die Komponenten installiert habe konnte ich schon einfache Sachen wie entzippen machen. Wenn ich aber eine bestimmte Datei aus der Zipdatei rausfischen will wie hier im Beispiel wird ZipDirEntry angemeckert das Delphi nicht kennt. Woran kann das liegen?

Gruß Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#9

AW: .txt Datei aus .zip öffnen zum auslesen

  Alt 20. Jun 2013, 16:34
Dann ist ZipDirEntry anscheinend in einer Unit deklariert, die nicht in Deiner uses-Klausel enthalten ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Andreas Schilling

Registriert seit: 6. Sep 2006
106 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: .txt Datei aus .zip öffnen zum auslesen

  Alt 21. Jun 2013, 09:12
Das war mir in etwa schon klar. Stelle ich die Frage mal anders: als ich das Wort "ZipDirEntry" über den Explorer im Quelltext der Komponente gesucht habe wurde mir kein Ergebnis geliefert. Scheint es bei dieser Komponente also nicht zu geben. Stellt sich eine neue Frage: Gibt es mehrere Komponenten die Zipmaster heißen aber von unterschiedlichen Quellen kommen? Oder hat die aktuelle Version 1.9.1.19 von DelphiZip das einfach nur nicht mehr drinnen? Vieleicht arbeitet ja jemand mit den Komponenten und kann Hinweise geben. Oder jemand kennt eine andere Komponente mit der man folgendes machen kann:
Dateien zippen und mit Passwort verschlüsseln
Nach Auswahl der Zipdatei Inhalt auslesen können ohne extra Passwortabfrage - das mit dem Passwort wäre schön wenn es ginge muß aber nicht sein
einzelne Dateien aus der Zipdatei nacheinander in unterschiedliche Ordner entzippen können

Gruß Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:27 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