frmreceiving.frm

Package [view]: ICQ.rar
Upload User: lsnwwwyg
Upload Date: 2009-02-27
Package Size: 489k
Code Size: 7k
Category: Other systems
Development Platform: VB
  1. VERSION 5.00
  2. Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "mswinsck.ocx"
  3. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  4. Object = "{FE0065C0-1B7B-11CF-9D53-00AA003C9CB6}#1.1#0"; "COMCT232.OCX"
  5. Begin VB.Form frmReceiving 
  6.    BorderStyle     =   4  'Fixed ToolWindow
  7.    Caption         =   "Receiving file from %FROM%"
  8.    ClientHeight    =   3030
  9.    ClientLeft      =   45
  10.    ClientTop       =   285
  11.    ClientWidth     =   5535
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    ScaleHeight     =   202
  15.    ScaleMode       =   3  'Pixel
  16.    ScaleWidth      =   369
  17.    StartUpPosition =   3  'Windows Default
  18.    Begin VB.Timer tmrSpeed 
  19.       Interval        =   1000
  20.       Left            =   4560
  21.       Top             =   120
  22.    End
  23.    Begin MSWinsockLib.Winsock wsReceive 
  24.       Left            =   5040
  25.       Top             =   120
  26.       _ExtentX        =   741
  27.       _ExtentY        =   741
  28.       _Version        =   393216
  29.    End
  30.    Begin VB.CheckBox chkClose 
  31.       Caption         =   "Close this dialog box when download completes"
  32.       Height          =   255
  33.       Left            =   120
  34.       TabIndex        =   5
  35.       Top             =   2280
  36.       Value           =   1  'Checked
  37.       Width           =   5295
  38.    End
  39.    Begin VB.CommandButton cmdCancelClose 
  40.       Caption         =   "&Cancel"
  41.       Default         =   -1  'True
  42.       Height          =   285
  43.       Left            =   4200
  44.       TabIndex        =   8
  45.       Top             =   2640
  46.       Width           =   1215
  47.    End
  48.    Begin VB.CommandButton cmdFolder 
  49.       Caption         =   "Open &Folder"
  50.       Enabled         =   0   'False
  51.       Height          =   285
  52.       Left            =   2880
  53.       TabIndex        =   7
  54.       Top             =   2640
  55.       Width           =   1215
  56.    End
  57.    Begin VB.CommandButton cmdOpen 
  58.       Caption         =   "&Open"
  59.       Enabled         =   0   'False
  60.       Height          =   285
  61.       Left            =   1560
  62.       TabIndex        =   6
  63.       Top             =   2640
  64.       Width           =   1215
  65.    End
  66.    Begin MSComctlLib.ProgressBar pgPercent 
  67.       Height          =   255
  68.       Left            =   120
  69.       TabIndex        =   3
  70.       Top             =   1560
  71.       Width           =   5295
  72.       _ExtentX        =   9340
  73.       _ExtentY        =   450
  74.       _Version        =   393216
  75.       Appearance      =   1
  76.    End
  77.    Begin ComCtl2.Animation aniTransfer 
  78.       Height          =   615
  79.       Left            =   120
  80.       TabIndex        =   0
  81.       Top             =   120
  82.       Width           =   1215
  83.       _ExtentX        =   2143
  84.       _ExtentY        =   1085
  85.       _Version        =   327681
  86.       AutoPlay        =   -1  'True
  87.       FullWidth       =   81
  88.       FullHeight      =   41
  89.    End
  90.    Begin VB.Label lblDownloaded 
  91.       AutoSize        =   -1  'True
  92.       Caption         =   "Downloaded %PERCENT%k of %SIZE% @ %SPEED%"
  93.       Height          =   195
  94.       Left            =   120
  95.       TabIndex        =   4
  96.       Top             =   1920
  97.       Width           =   3900
  98.    End
  99.    Begin VB.Label lblInfo 
  100.       AutoSize        =   -1  'True
  101.       Caption         =   "%FILENAME% from %FROM%"
  102.       Height          =   195
  103.       Left            =   120
  104.       TabIndex        =   2
  105.       Top             =   1320
  106.       Width           =   2130
  107.    End
  108.    Begin VB.Label lblSaving 
  109.       AutoSize        =   -1  'True
  110.       Caption         =   "Saving:"
  111.       Height          =   195
  112.       Left            =   120
  113.       TabIndex        =   1
  114.       Top             =   1080
  115.       Width           =   540
  116.    End
  117. End
  118. Attribute VB_Name = "frmReceiving"
  119. Attribute VB_GlobalNameSpace = False
  120. Attribute VB_Creatable = False
  121. Attribute VB_PredeclaredId = True
  122. Attribute VB_Exposed = False
  123. Option Explicit
  124. Dim MyID As Long
  125. Dim GotHeader As Boolean
  126. Dim FileNum As Long
  127. Dim Receivedbyt As Long
  128. Dim ByteSec As Long, Speed As Long
  129. Dim Complete As Boolean
  130. Private Sub cmdCancelClose_Click()
  131.   On Error Resume Next
  132.   'Close the connection to stop
  133.   Complete = True
  134.   wsReceive.Close
  135.   Close #FileNum
  136.   Unload Me
  137. End Sub
  138. Private Sub cmdFolder_Click()
  139.   Shell "explorer " & Left(ftRcv(MyID).Destination, Len(ftRcv(MyID).Destination) - Len(ftRcv(MyID).FileName)), vbNormalFocus
  140. End Sub
  141. Private Sub cmdOpen_Click()
  142. Shell "Explorer " & ftRcv(MyID).Destination, vbNormalFocus
  143. End Sub
  144. Private Sub Form_Unload(Cancel As Integer)
  145.   Set ftRcv(MyID).frmReceive = Nothing
  146. End Sub
  147. Private Sub tmrSpeed_Timer()
  148.   Speed = Format(ByteSec / 1024, "0.0")
  149.   ByteSec = 0
  150. End Sub
  151. Private Sub Form_Load()
  152. ReDim ResendChunk(0)
  153. aniTransfer.Open App.Path & "mediafilemove.avi"
  154. End Sub
  155. Public Function Prepare(ByVal ID As Long, ByVal requestID As Long)
  156.   MyID = ID
  157.   wsReceive.Accept requestID
  158. End Function
  159. Private Sub wsReceive_Close()
  160.   On Error Resume Next
  161.   If FileNum = 0 Then
  162.     wsReceive.Close
  163.     Unload Me
  164.     Exit Sub
  165.   End If
  166.   If Not Complete Then
  167.     MsgBox "File Transfer Ended Unexpectedly!", vbCritical + vbOKOnly, "Error"
  168.     Close #FileNum
  169.     Unload Me
  170.   End If
  171. End Sub
  172. Private Sub wsReceive_DataArrival(ByVal bytesTotal As Long)
  173.   If Not GotHeader Then
  174.     Dim Dat As String
  175.     wsReceive.GetData Dat$, vbString
  176.     If Left(Dat$, 4) = "FILE" Then
  177.       Dim FirstPos As Long, SecondPos As Long
  178.       FirstPos = InStr(6, Dat, ":")
  179.       SecondPos = InStr(FirstPos + 1, Dat, ":")
  180.       With ftRcv(MyID)
  181.         .FileName = Mid(Dat, 6, (FirstPos - 6))
  182.         .FileSize = CDbl(Mid(Dat, FirstPos + 1, (SecondPos - FirstPos) - 1))
  183.         .Comment = Right(Dat, 200)
  184.         .From = wsReceive.RemoteHostIP
  185.         .frmRcOpt.Prepare MyID
  186.       End With
  187.       GotHeader = True
  188.     End If
  189.   Else
  190.     If FileNum = 0 Then
  191.       FileNum = FreeFile
  192.       On Error Resume Next
  193.       If FileLen(ftRcv(MyID).Destination) > 0 Then Kill ftRcv(MyID).Destination
  194.       Open ftRcv(MyID).Destination For Binary As #FileNum
  195.     End If
  196.     Dim GotDat() As Byte
  197.     Dim Hash As String
  198.     ByteSec = ByteSec + bytesTotal
  199.     Receivedbyt = Receivedbyt + bytesTotal
  200.     pgPercent.Value = (100 / ftRcv(MyID).FileSize) * Receivedbyt
  201.     lblDownloaded = "Downloaded " & Int(pgPercent.Value) & "% of " & ftSend(MyID).FileSize / 1024 & _
  202.             "Kb @ " & Speed & " KbSec"
  203.     ReDim GotDat(0 To bytesTotal - 1)
  204.     wsReceive.GetData GotDat, vbArray + vbByte
  205.     Put #FileNum, , GotDat
  206.     If Receivedbyt = ftRcv(MyID).FileSize Then
  207.       Close #FileNum
  208.       Complete = True
  209.       cmdOpen.Enabled = True: cmdFolder.Enabled = True: cmdCancelClose.Caption = "&Close"
  210.       If chkClose.Value = Checked Then
  211.         wsReceive.Close
  212.         Unload Me
  213.       End If
  214.     End If
  215.   End If
  216. End Sub