Gå til innhold

Prosjekt: VBTorrent skrevet i VB6


Anbefalte innlegg

En Bit Torrent Client skreve i VB6, nogen intereserte?

 

her e en link øve Protocllen etc:

BitTorrent Protokoll

 

det første problemet eg komm øve, va ganske enkelt og lesa inn .torrent filå,eg kn lesa en del av filå, mes så e det en del av filå som består av "binary" kode, dvs, der e et EOF tegn midt i filå,som eg ikkje greie og lesa videre itte

 

dessuten, någen som har en god "algorithme" for og lasta inn alle "settingsene"?

 

PS, den første testen min va og bruke split() på fileå, men det går ikkje, fordi der e tall inni bildet som IKKJE blir "delima" av :, og dessuten URL'er som alltid inneholder :

 

ok, eg har begynt men eg har ingen ide om neste steg...:(

clsTorrentLoad.cls

Endret av Richard87
Lenke til kommentar
Videoannonse
Annonse

For å overkomme problemet med EOF-karakterer i filen, kan du jo ganske enkelt laste inn filen binarisk. Dette gjøres på følgende måte:

 

Public Function LoadData(sFile As String) As String

   Dim Free As Long
   
   ' Finn et ledig filnummer for åpningsprosessen
   Free = FreeFile
   
   ' Åpne filen i binarisk modus
   Open sFile For Binary As #Free

       ' Alloker variabel stor nok til å romme hele filen
       LoadData = Space(LOF(Free))
       
       ' Last inn data
       Get #Free, , LoadData

   ' Lukk filen
   Close #Free

End Function

 

PS, den første testen min va og bruke split() på fileå, men det går ikkje, fordi der e tall inni bildet som IKKJE blir "delima" av :, og dessuten URL'er som alltid inneholder :

 

Hver streng har sin lengde som prefiks - før kolonet. Benytt denne til å avgjøre hvor lang en URL er.

Lenke til kommentar

ok, eg fatte,eg greie og lesa in heila stringen inn i sBuffer, men text boxen nekte og skriva inn mer itte eof tegnet.. eller e det någe annet eg ikkje har fått me meg her?

 

Private Function LoadData(ByVal FileName As String) As String
Dim sBuffer As String
Dim lFree As Long
lFree = FreeFile
sBuffer = Space(FileLen(FileName))
'Load the torrent into memory...
Open FileName For Binary As #lFree: Get #lFree, , sBuffer: Close #lFree
'ok, we have the torrent in sBuffer(hopefully)
LoadData = sBuffer
End Function

Lenke til kommentar

Tekstbokser i VB er simpelthen en innkapsling av Edit-kontrollen i Windows. Denne kontrollen kan ikke vise nullkarakterer, hvilket er årsaken til at teksten deler seg etter "EOF-tegnet".

 

En løsning på problemet er å heller benytte en RichTextBox for å vise teksten, idet denne ikke bærer på de samme begrensningene som tekstboksen.

Lenke til kommentar

koffor får eg "Subscript out of range" i denne koden?

 

Public Function GetAnnounce(ByRef sText() As String, ByRef sReturn As String) As Boolean
If IsArray(sText) = False Then Exit Function
Dim X As Long
For X = LBound(sText) To UBound(sText) '< på dene linjå..
   If LCase(sText(X)) = "announce" Then
       sReturn = sText(X + 1)
       GetAnnounce = True
       Exit For
   End If
Next X
End Function

og kossen kan eg fiksa det?

Endret av Richard87
Lenke til kommentar
  • 6 måneder senere...

Laste opp? Mener du å avlese torrent-filen?

 

Jeg må for øvrig tillate meg selv å bemerke at det er litt av en prestasjon å ha så lite progresjon på et halv år. Neida, jeg vet hvordan det er. Ofte blir en distrahert slik at andre prosjekter kommer i fokus istedenfor.

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...