MainApp.cls
上传用户:guantou168
上传日期:2015-06-25
资源大小:74k
文件大小:3k
源码类别:

Ftp服务器

开发平台:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "MainApp"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = False
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = True
  14. Option Explicit
  15. Public Enum eState
  16.   Log_In_Out = 0
  17.   Transfer_Parameters = 1
  18.   Service_Commands = 2
  19.   Busy = 3
  20. End Enum
  21. Public Type Privtyp
  22.   Path As String
  23.   Accs As String '[R]ead,[W]rite,[D]elete,e[X]ecute > Files
  24.                  '[L]ist,[M]ake,[K]ill,[S]ubs       > Dirs
  25. End Type
  26. Public Type UserInfo
  27.   Name As String 'list of the users which can access to server file-system
  28.   Pass As String 'list of passwords of each user which can access to server file-system
  29.   Pcnt As Integer
  30.   Priv(20) As Privtyp
  31.   Home As String 'default directory of each user
  32. End Type
  33.  
  34. Public Type User
  35.   'indexes user name and password inside
  36.   '<usernames_list> and <passwords_list> arrays
  37.   list_index As Integer
  38.   control_slot As Long 'slot number used by client to send commands to server. On this slot also travel the replies of server.
  39.   data_slot As Long    'slot number used by server to send data to client
  40.   IP_Address As String 'client IP address
  41.   Port As Integer      'number of client data port
  42.   'representation type to use for data
  43.   'encoding (ex. ASCII o EBCDIC), default type is A (= ASCII)
  44.   data_representation As String
  45.   'type of vertical format control
  46.   '(ie. line-feed, form-feed), default
  47.   'value is N (No print = no command)
  48.   data_format_ctrls As String
  49.   'file structure (ex. File-structure, Record-structure),
  50.   'default value is F (File-structure = no internal
  51.   'structure)
  52.   data_structure As String
  53.   'indicates if the data are processing before
  54.   'transmission (ex. Stream-mode, Block-mode),
  55.   'default value is S (Stream-mode = no
  56.   'processing)
  57.   data_tx_mode As String
  58.   'current working directory
  59.   cur_dir As String
  60.   'user state:
  61.   'in state 0 the user sends access control commands;
  62.   'in state 1 the user sends transfer parameter commands;
  63.   'in state 2 the user sends FTP service commands.
  64.   State As eState
  65.   full As Integer  'if true the record is already in use
  66.   temp_data As String  'contains temporary data
  67.   Jenny As Balk
  68. End Type
  69. Private frmFTP As New frmFTP
  70. Private Sub Class_Initialize()
  71.    Set frmFTP.MainApp = Me
  72.    frmFTP.Caption = frmFTP.Caption
  73.    frmFTP.Show
  74.    FTP_Init Me
  75. End Sub
  76. Friend Sub Closing()
  77.    Unload frmFTP
  78.    Set frmFTP = Nothing
  79.    Call FreeProcessWindow
  80. End Sub
  81. Public Sub SvrLogToScreen(ByVal str As String)
  82.   frmFTP.LogWnd.AddItem str
  83.   frmFTP.LogWnd.Selected(frmFTP.LogWnd.ListCount - 1) = True
  84. End Sub
  85. Public Sub UsrCnt(ByVal users As Integer)
  86.   frmFTP.UsrCnt.Text = users
  87. End Sub