Avatar billede fun22 Nybegynder
24. maj 2003 - 12:14 Der er 21 kommentarer og
2 løsninger

temp fil til download manager

Hej

JEg er igang med en download manager, men hvordan laver jeg en tempfil for hver download, så at jeg kan >>Resume<< hvis computeren går ned eller noget ala det??
Avatar billede abpdk Nybegynder
25. maj 2003 - 19:33 #1
Det er vel noget med at du skal lave en fil som du løbende åbner og gemmer data'en i, dog ikke for hver byte du downloader. Hvis du nu laver en record alla
TByteArray = Array[0..1023] of byte; // 1 KiloByte men det kan altid ændres
hvor du gemmer det du downloader. Hver gang dette array så er fyldt append'er du det til den tilhørende resume fil (file of TByteArray). Dvs. når du starter en ny download opretter du en fil med et vilkårligt filnavn (måske et tilfældigt tal), hvor du i de første par bytearrays skriver hvor filen skal gemmes og hvor denne skal hentes fra. Disse oplysninger finder du selvfølgelig en måde at huske på imens programmet kører. Når du så starter programmet tjekker dette i en bestemt folder efter resume-/temp-filer, læser disse og kan så fortsætte hvor det slap. Hvis noget går galt og/eller programmet lukkes er det kun det aktuelle bytearray (din buffer) der går tabt (dvs. array'et aldrig bliver fyld og skrevet til filen). Når du skal resume'e kan du (hvis vi siger at du kun lagre fil-info i det første array af temp-filen) bare begynde at hente remote-filen fra den position ([antal-bytearray]-1)*1024 bytes.

(Ikke testet i praksis)
Avatar billede fun22 Nybegynder
25. maj 2003 - 20:03 #2
Det har du sikkert helt ret i..... Men jeg tror ikke at jeg fatter det mindste af det der. :s
Avatar billede abpdk Nybegynder
25. maj 2003 - 20:13 #3
Hmm, jeg ved ikke lige hvordan jeg ellers skal formulere det. Er det virkelig det hele eller er der en bestemt del du ikke forstår?
Avatar billede fun22 Nybegynder
25. maj 2003 - 20:32 #4
du kan ikke lave et eksempel for 200 points?
Avatar billede abpdk Nybegynder
25. maj 2003 - 20:48 #5
Tjoo, jeg kan da prøve, men som sagt har jeg ikke prøvet det i praksis og som så meget andet er det lettere sagt end gjortm så det tager lidt tid (og det bliver ikke lige med det samme).
Avatar billede fun22 Nybegynder
26. maj 2003 - 10:42 #6
det må du godt prøve, og så kan du bare sige når du er færdig :)
Avatar billede abpdk Nybegynder
27. maj 2003 - 22:15 #7
Nu har jeg kikket lidt på det og må desværre melde pas i denne omgang. Jeg er rimelig sikker på hvordan fil-delen skal laves, men jeg ved ikke helt hvordan jeg skal lave et eksempel uden download-delen og denne volder mig lidt problemer.

Hvis du nu prøver at forklare hvordan du ordner download-delen kan det være at jeg kan hjælpe dig med at implementere fil-delen.
Avatar billede fun22 Nybegynder
28. maj 2003 - 07:46 #8
Har du en mail, for så kan jeg lige sende dig et eksempel på min download funktion
Avatar billede abpdk Nybegynder
28. maj 2003 - 15:19 #9
abpdk_exp@yahoo.com
Avatar billede abpdk Nybegynder
28. maj 2003 - 17:34 #10
Jeg har modtaget det og kikker på det senere.
Avatar billede abpdk Nybegynder
29. maj 2003 - 18:56 #11
Så, nu skulle mit lille eksempel være sendt.

Det er som sagt et eksempel så det er langt fra den kønneste kode, men du overlever nok. Det er en lille bug jeg ikke lige kunne få øje på (uden at bruge mere tid) der gør at der mangler en byte når man resumer, men jeg håber du kan se idéen i eksemplet og måske selv finde fejlen. Det drejer sig højeste sandsyndlig om noget så simpelt som en plus/minus der gør at den f.eks. "glemmer" en byte.
Avatar billede abpdk Nybegynder
29. maj 2003 - 18:57 #12
Jeg stiftede først bekendskab med Indy forleden, så der er sikkert heller ikke gjort på den mest effektive måde. Hvis der er noget i koden du ikke kan følge så bare sig til.
Avatar billede abpdk Nybegynder
30. maj 2003 - 15:09 #13
Modtog du den email jeg sendte igår?
Avatar billede fun22 Nybegynder
02. juni 2003 - 07:56 #14
ja, men jeg kan ikke resume. Den vil ikke åbne nogen af temp filerne
Avatar billede abpdk Nybegynder
02. juni 2003 - 14:09 #15
Hmm, det virker ellers fint her. Kommer den med en fejl eller vil den bare ikke? (husk nu at ikke alle servere understøtter resume).
Avatar billede Slettet bruger
04. juni 2003 - 15:08 #16
Vil i ikke sende eksemplet til mig :)

Min mail: kasper@pc2u.dk
Avatar billede abpdk Nybegynder
04. juni 2003 - 15:10 #17
hejhej>> Hvilket eksempel tænker du på. Det fun22 sendte mig, eller det jeg lavede (som fun22 hævder ikke virker)?
Avatar billede Slettet bruger
09. juni 2003 - 11:55 #18
abpdk>> Det du sendte ham.
Avatar billede abpdk Nybegynder
09. juni 2003 - 19:05 #19
hejhej>> Så skulle den være sendt.
Avatar billede Slettet bruger
09. juni 2003 - 19:12 #20
Mange tak :D
Avatar billede abpdk Nybegynder
04. juli 2003 - 22:12 #21
hejhej>> Hva' så har du oplevet samme problem som fun22, med at den ikke vil åbne temp-filerne?
Avatar billede fun22 Nybegynder
24. august 2003 - 21:27 #22
lukker. Gir dig dog halvdelen, da det jo "kun" var en "lille" fejl der skilte os :)
Avatar billede abpdk Nybegynder
24. august 2003 - 21:31 #23
Fair nok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester