Gå til innhold

Anbefalte innlegg

Kopierer bare det samme som jeg postet på freakforum.

 

 

Hei. Holder på med en liten batch downloader for å laste ned bilder fra en URL. Ble rett og slett lei av å manuelt endre URL'en for hvert bilde så jeg kan laste dem ned, men har et par spørsmål. Det enkleste for å illustrere hvordan jeg har gjort det vil vel være å laste opp et bilde av programmet.

 

batchdownloader.png

 

Jeg er ikke veldig godt kjent med strings, så det jeg gjorde var å dele opp URL'en i 3 deler. filendelsen, nummeret på bildet, og alt som kommer før. Konverterer nummeret til en integer som jeg øker med 1 for hvert bilde jeg laster ned, og konverterer tilbake til en streng, før jeg setter alle 3 sammen å laster ned bildet.

 

 

Jeg ser selv at dette ikke er noen god måte å gjøre dette på, og jeg har det problemet med at når jeg kommer til bilde 99, så kræsjer programmet. I eksempelet går bildene fra 0078 til 0110. Og jeg konverterer bare de to siste sifrene til en integer, da å konvertere 0078 til int fører til at de to nullene forsvinner.

 

Noen som kan dytte meg i riktig retning når det gjelder å håndtere strings slik jeg ønsker? Altså å øke tallet med 1 etter å ha lastet ned bildet. Koden er heller ikke spesielt fleksibel om URL'en er formatert på en annen måte.

Lenke til kommentar
Videoannonse
Annonse

Takk for svar så langt. Bruker nå denne biten kode for å gjøre det jeg ønsker.

 

int charactersInFileName = CountChars(imageNumber);
string tmpNumber = "{0:" + string.Empty.PadLeft(charactersInFileName, '0') + "}";
imageNumber = string.Format(tmpNumber, currentImage);

 

Det optimale hadde såklart vært om alt en trengte gjøre var å skrive inn URL'en til det første bildet, og hvor mange bilder man trenger og la programmet fikse resten, men jeg vet ikke hvor jeg skal begynne. Må i såfall prøve å lese kun tallene ut av URL'en, men da vet jeg ikke hva som skjer om det er tall andre steder i URL'en, som f.eks www.foo23.foo/image001.jpg

Endret av Hello Kitty
Lenke til kommentar
  • 3 uker senere...

Takk for svar så langt. Bruker nå denne biten kode for å gjøre det jeg ønsker.

 

int charactersInFileName = CountChars(imageNumber);
string tmpNumber = "{0:" + string.Empty.PadLeft(charactersInFileName, '0') + "}";
imageNumber = string.Format(tmpNumber, currentImage);

 

Det optimale hadde såklart vært om alt en trengte gjøre var å skrive inn URL'en til det første bildet, og hvor mange bilder man trenger og la programmet fikse resten, men jeg vet ikke hvor jeg skal begynne. Må i såfall prøve å lese kun tallene ut av URL'en, men da vet jeg ikke hva som skjer om det er tall andre steder i URL'en, som f.eks www.foo23.foo/image001.jpg

 

Start og let fra slutten og ikke starten?

 

LastIndexOf ??

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...