Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei mittels NZB aus newsgroup downloaden. (https://www.delphipraxis.net/90150-datei-mittels-nzb-aus-newsgroup-downloaden.html)

lucius 12. Apr 2007 13:32


Datei mittels NZB aus newsgroup downloaden.
 
Guten Tag Liebe Delphi User,

eine kurze Erklaerung wie das Program funktionieren sollte.
Ich habe eine NZB Datei die folgenden Tekst beinhaltet:
Zitat:

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE nzb PUBLIC "-//newzBin//DTD NZB 1.0//EN" "http://www.newzbin.com/DTD/nzb/nzb-1.0.dtd">

<nzb xmlns="http://www.newzbin.com/DTD/2003/nzb">
<file poster="***date="1172305570" subject="***@gmail.com&quot;Split Second-front.JPG&quot; [357/570] yEnc (1/19)">
<groups>
<group>alt.binaries.nordic.dvdr</group>
</groups>
<file poster="Yenc@power-post.org (Yenc-PP-A&amp;A)" date="1172254775" subject="Split Second&quot;Split Second - VIDEO_TS.part01.rar&quot; yEnc (1/201)">
<groups>
<group>alt.binaries.dvd</group>
</groups>
Jetzt moechte Ich die Dateien 'Split Second-front.JPG' und 'Split Second - VIDEO_TS.part01.rar' aus der NZB Datei parsen und downloaden.

Koennte mir jemand zumindest einen Ansatzt geben wie Ich das hinkriegen koennte?
Indy Komponenten?
Schonmal Vielen Dank im voraus.

Gruss Lucius.

lucius 12. Apr 2007 14:21

Re: Datei mittels NZB aus newsgroup downloaden.
 
Gibt es Niemanden der mich da helfen kann?

DGL-luke 12. Apr 2007 14:38

Re: Datei mittels NZB aus newsgroup downloaden.
 
"=<file .*? subject=".*?&quot;(.*?)&quot;.*?">="

mit diesem Hier im Forum suchenregex soltlest dus recht einfach rausholen können.

vsti 12. Apr 2007 15:05

Re: Datei mittels NZB aus newsgroup downloaden.
 
Hast du denn einen Provider, der dir den Zugang auf das Usenet bietet?

Weil binärdateien kann man IMHO nur per Provider aus dem Usenet laden. Sprich Usenext, Useflat, u.ä. Und das ist leider mit Kosten verbunden.
Die NZB Datei kann man dann in bestimmte Programme (meißtens vom Provider gestellt) einladen, die sich mit deinen Einwahldaten über den Provider in das Usenet einklinken und dann die binärdateien downloaden.
Daher bezweifel ich auch, dass es entsprechende Komponenten für Delphi gibt.

lucius 12. Apr 2007 15:37

Re: Datei mittels NZB aus newsgroup downloaden.
 
Ja ich habe einen Provider der mir den Zugang zum Usenet bietet.

Daher moechte Ich ein eigenes Program realisieren womit ich verschiedene Daten automatisch downloaden kann mittels einer NZB Datei.
Aber ich weiss nicht so recht wie Ich da anfangen sollte.

Gruss Lucius.

vsti 12. Apr 2007 16:00

Re: Datei mittels NZB aus newsgroup downloaden.
 
Und warum das Rad neu erfinden, wenn es entsprechende Tools gibt? Ich hab damals GrabIt genutzt.

Oder meinst du, dass, wenn eine NZB Datei in einem bestimmten Ordner liegt, dass diese automatisch herangezogen wird ohne, dass man diese erst manuell mit einem Programm öffnen muss? Das hätte ich mir damals nämlich auch gewünscht.

lucius 12. Apr 2007 16:09

Re: Datei mittels NZB aus newsgroup downloaden.
 
Hi VSTI,

so etwa im dem Sinne, wie du dass sagst.
Ich weiss auch dass es schon Programme gibt wie Grabit aber ich moechte so etwas selber machen und nach meiner Hand setzen.
Ich denke mal dass der erste Schritt ist mittels einer TStringListe die Benoetigten Dateien aus der NZB zu parsen und dann die Ergebnisse erstmal in einer TMemo1 ab zu legen, damit die Ladezeit in der TMemo nicht zu lange dauert.
Erstmal muss Ich dass parsen hinkriegen.

Gruss.

shmia 12. Apr 2007 16:27

Re: Datei mittels NZB aus newsgroup downloaden.
 
Zitat:

Zitat von lucius
Erstmal muss Ich dass parsen hinkriegen.

Parsen von XML ist nicht ganz so einfach.
Ich würde die Daten nicht mit Delphi Bordmitteln zerpfücken.
Das wäre ungefähr so, als wenn man versuchen würde mit dem Bordwerkzeug die Lichtmaschine eines PKWs zu wechseln.
Ich kann nur dazu raten, eine bestehende XML-Bibliothek zu verwenden.
Der richtiger XML-Parser setzt dir automatisch die Entitäten "&quot;" in Anführungszeichen um.
Wenn man dann das Attribut subject ausliest, dann erhält man z.B.
Zitat:

Split Second"Split Second - VIDEO_TS.part01.rar" yEnc (1/201)
Jetzt muss man nur noch den Text zwischen den beiden Anführungszeichen rauskopieren, aber das ist ja ganz einfache Stringverarbeitung.

vsti 12. Apr 2007 16:32

Re: Datei mittels NZB aus newsgroup downloaden.
 
Entweder du machst es wie lucius oder du liest die Datei selber ein.

Mittels assignfile etc. kann man die Datei einfach Zeile für Zeile auslesen und dann prüfen wo &quot; beginnt und &quot; endet, der Teil dazwischen ist dann schomal dein Dateiname. Hätte ich jetzt etwas mehr Zeit würde ich mal eben quick and dirty nen Anhaltspunkt geben.

Das größere Problem sollte sich beim Downloaden an sich ergeben.
Denn wenn es keine Komponenten dafür geben sollte, müsstest du dich mit Protokollen und all dem Schnickschnack auseinandersetzen. Und das ist nicht ohne. Grade beim Usenet muss man sich da glaube ich an viele Regeln halten, da z.B. die Datei in zig Teile gesplittet wird, die dann dein Programm downloaden und wieder richtig zusammensetzen müsste.

Wäre aber ne tolle Sache nen eigenes NZB Programm zu haben und verwalten zu können :-D

DP-Maintenance 12. Apr 2007 16:56

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
In die Code-Library gehören nur fertige Code-Snippets.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 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