ed2k link Parser
Verfasst: 04.01.2005 14:50
Hallo erstmal,
Ich wollte TV-Serien runterladen.*böserjunge*
Da hat mich eins tierisch aufgeregt:Die ewige klickerei um die Dateien in eMule einzufügen.Also hab ich kurz (2Tage) ein Progrämmchen geschrieben.Hier ist es.Mich würde es freuen wenn ihr mir ein kleines Feedback geben könntet
alternativ kann man die fertig compilierte Datei + Quellcode + Anleitung auch http://purearea.net/pb/showcase/show.ph ... p=0&sort=1 oder http://www.papillion-noir.de/ed2klpV1B2.rar runterladen[/url]
Ich wollte TV-Serien runterladen.*böserjunge*

alternativ kann man die fertig compilierte Datei + Quellcode + Anleitung auch http://purearea.net/pb/showcase/show.ph ... p=0&sort=1 oder http://www.papillion-noir.de/ed2klpV1B2.rar runterladen
Code: Alles auswählen
;{-_Enumeration
Enumeration
#Window_0
EndEnumeration
Enumeration
#Text_0
#String_input
#Button_dir
#ProgressBar
#output
#Button_1
#Listview
EndEnumeration
;}
;{-_Declare
Declare Open_Window()
Declare messages(txt.s,x)
Declare download_file(adresse.s)
Declare load_file(file.s)
;}
;{-_Procedure
Procedure Open_Window()
If OpenWindow(#Window_0, 240, 154, 370, 330, #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Ed2k Link Parser V1 BUILD 2")
If CreateGadgetList(WindowID())
TextGadget(#Text_0, 10, 10, 100, 20, "input File:", #PB_Text_Right | #PB_Text_Border)
StringGadget(#String_input, 110, 10, 225, 20, "")
ButtonGadget(#Button_dir, 335, 10, 25, 20, "...")
ProgressBarGadget(#ProgressBar, 10, 35, 350, 20, 0, 100)
EditorGadget(#output, 10, 120, 350, 200)
ButtonGadget(#Button_1, 10, 60, 350, 20, "START")
ListViewGadget(#Listview, 10, 85, 350, 30)
EndIf
EndIf
EndProcedure
Procedure messages(txt.s,x)
Select x
Case -1
AddGadgetItem(#Listview,-1,txt.s)
SetGadgetState(#Listview,CountGadgetItems(#Listview)-1)
Case 0
y=CountGadgetItems(#Listview)-1
z.s=GetGadgetItemText(#Listview,y,0)
RemoveGadgetItem(#Listview,y)
AddGadgetItem(#Listview,-1,z.s+txt.s)
SetGadgetState(#Listview,CountGadgetItems(#Listview)-1)
EndSelect
EndProcedure
Procedure download_file(adresse.s)
messages("Downloade File...",-1)
URLDownloadToFile_(0,adresse.s,"download.htm",0,0)
messages("OK!",0)
EndProcedure
Procedure load_file(file.s)
messages("Öffne Datei: "+file+"...",-1)
If ReadFile(1,file)
messages("OK",0)
fs=FileSize(file.s)
messages("Dateigrösse: "+Str(fs)+" bytes",-1)
messages("Reserviere Arbeitsspeicher...",-1)
*mem=AllocateMemory(fs)
messages("OK",0)
messages("Lese Datei ein...",-1)
ReadData(*mem,fs)
messages("OK",0)
messages("Starte Suche",-1)
For i =1 To fs-7
SetGadgetState(#ProgressBar,(i*100)/(fs-7))
string1.s=PeekS(*mem+i,7)
If LCase(string1)="ed2k://"
For j=i To fs-7
string2.s=PeekS(*mem+j,2)
SetGadgetState(#ProgressBar,(j*100)/(fs-2))
If string2="|/"
string3.s=PeekS(*mem+i,j-i+2)
messages("Link gefunden",-1)
count=count+1
For i=1 To count
If GetGadgetItemText(#output,i-1,0)= string3
stop=1
EndIf
Next
If stop=1
stop=0
messages("doppelter Link gefunden",-1)
i=j
Else
AddGadgetItem(#output,-1,string3)
count2=count2+1
i=j
EndIf
Break
EndIf
Next
EndIf
Next
messages("Suche beendet. "+Str(count)+" Links gefunden, "+Str(count2)+ " Links angezeigt",-1)
CloseFile(1)
Else
messages("FEHLER:Datei konnte nicht geöffnet werden",-1)
EndIf
EndProcedure
;}
Open_Window()
Repeat
event=WindowEvent()
gadget=EventGadgetID()
Select event
Case #PB_Event_CloseWindow
quit=1
Case #PB_Event_Gadget
Select gadget
Case #Button_1
ClearGadgetItemList(#output)
file.s=GetGadgetText(#String_input)
If LCase(Left(file,7))="http://"
messages("INTERNET Adresse gefunden",-1)
download_file(file.s)
file="download.htm"
EndIf
load_file(file)
Case #Button_dir
SetGadgetText(#String_input,OpenFileRequester("Datei zum einlesen","","",""))
EndSelect
EndSelect
Delay(10)
Until quit=1