08. januar 2001 - 03:20Der er
6 kommentarer og 1 løsning
Open 500 byte og send (Winsock)
Hvordan kan jeg ungåe at min Function sender mere en hvad filen fylder.
hvis filen er på 900 byte vil den sende 1000 byte og det må den ikke. HJÆLP MIG.
Function SendFile() Dim Temp As String Dim BlockSize As Long
Open \"Filenavn.xxx\" For Binary Access Read As #1 Do While Not EOF(1) BlockSize = 500 Temp = Space$(BlockSize) Get 1, , Temp Winsock1.SendData Temp DoEvents Loop Close #1 End Function
Function SendFile() Dim Temp As String Dim BlockSize As Long
Open \"Filenavn.xxx\" For Binary Access Read As #1 Do BlockSize = 500 If (LOF(1) - Loc(1)) < BlockSize Then BlockSize = (LOF(1) - Loc(1)) Temp = Space$(BlockSize) Get 1, , Temp Winsock1.SendData Temp DoEvents Loop Until EOF(1) Close #1 End Function
Loc() returnere den nuværende position i filen du læser..
Forresten kan der godt være et problem med at Eof() aldrig bliver True, selvom filen faktisk er læst helt. Her er et lille \"bugfix\"
Function SendFile() Dim Temp As String Dim BlockSize As Long
Open \"Filenavn.xxx\" For Binary Access Read As #1 Do BlockSize = 500 If (LOF(1) - Loc(1)) < BlockSize Then BlockSize = (LOF(1) - Loc(1)) Temp = Space$(BlockSize) Get 1, , Temp Winsock1.SendData Temp DoEvents Loop Until EOF(1) Or (LOF(1) - Loc(1)) = 0 Close #1 End Function
chris2k:> fuck hvor er du bare for dum! lad være med at kommentere noget du ikke aner noget om!!! Jeg gider ikke forklare hvorfor jeg vil bruger Integer istedet, for hvis du ikke kan læse det ud fra koden er det fordi du er for dum!
sjh:> forresten kan du godt sætte BlockSize = 500 uden for Loop\'et
Function SendFile() Dim Temp As String Dim BlockSize As Long
Open \"Filenavn.xxx\" For Binary Access Read As #1 BlockSize = 500
Do If (LOF(1) - Loc(1)) < BlockSize Then BlockSize = (LOF(1) - Loc(1)) Temp = Space$(BlockSize) Get 1, , Temp Winsock1.SendData Temp DoEvents Loop Until EOF(1) Or (LOF(1) - Loc(1)) = 0 Close #1 End Function
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.