home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / envelop / envelop.1 / upldpkg.eto < prev    next >
Text File  |  1996-07-08  |  67KB  |  2,016 lines

  1. Type PasswordBox From TextBox
  2.   Dim MaskCode As Integer
  3.   Dim PasswordEntry As String
  4.   Event Validate()
  5.   Event Validated(ByVal ok As Boolean)
  6.  
  7.   ' METHODS for object: PasswordBox
  8.   Sub Clear()
  9.     ' Clear the contents
  10.     PasswordEntry = ""
  11.     Text = ""
  12.   End Sub
  13.  
  14.   Sub KeyPress(keyAscii As Integer)
  15.     ' This code prevents the user from entering unwanted characters
  16.     Select Case keyAscii
  17.       Case 1 To 7, 9 To 12, 14 To 26 ' Crtl-A through Ctrl-Z
  18.         keyAscii = 0
  19.       Case 8
  20.         ' Need to remove a character from Password box
  21.         If PasswordEntry = "" Then 
  22.           Exit Sub
  23.         Else 
  24.           If SelLength > 0 Then 
  25.             ' Delete the current selection
  26.             PasswordEntry = Left(PasswordEntry, SelStart) & Mid(PasswordEntry, SelStart + SelLength + 1)
  27.           Else 
  28.             ' Delete the character to the left
  29.             PasswordEntry = Left(PasswordEntry, SelStart - 1) & Mid(PasswordEntry, SelStart + 1)
  30.           End If
  31.         End If
  32.       Case 9 ' Tab
  33.         keyAscii = 0
  34.       Case 10 ' Ctrl-Enter
  35.         keyAscii = 0
  36.       Case 13 ' Enter
  37.         SendEvent Validate
  38.         keyAscii = 0
  39.       Case 127 ' Ctrl-Backspace
  40.         keyAscii = 0
  41.       Case Else
  42.         ' Form the new string by taking the characters up to the insert point, the new character,
  43.         ' and the characters after any current selection (effectively deleting them)
  44.         PasswordEntry = Left(PasswordEntry, SelStart) & Chr(keyAscii) & Mid(PasswordEntry, SelStart + SelLength + 1)
  45.   
  46.         ' Trick TextBox into thinking a '*' was pressed instead of the real character
  47.         ' 88 is the code for X while 42 is the code for an asterisk *
  48.         keyAscii = MaskCode
  49.     End Select
  50.   End Sub
  51.  
  52.   Function TextUnload(ByVal indent As String, cmds As String) As Integer
  53.     cmds = cmds & TextFieldUnload(Me, indent, "MaskCode")
  54.     TextUnload = False
  55.   End Function
  56.  
  57. End Type
  58.  
  59. Type UploadPackageInstaller
  60.   Type UploadWizardInstall From WizardMaster.Wizard
  61.     Type InstChoice From WizardMaster.FrmStep
  62.       Dim optDoInstall As New OptionButton
  63.       Dim optDontInstall As New OptionButton
  64.  
  65.       ' METHODS for object: UploadPackageInstaller.UploadWizardInstall.InstChoice
  66.       Sub BtnFinish_Click()
  67.         Dim ok As Boolean
  68.       
  69.         ' Raise the validatefinish event on the step and its containing
  70.         ' wizard
  71.         ' This invokes: Me.ValidateFinish(ok) and
  72.         ' wizard.StepName_ValidateFinish(ok)
  73.         ' if either exists
  74.         ok = True
  75.         SendEvent ValidateFinish(ok)
  76.       
  77.         ' Also raise finish event on the wizard alone.
  78.         ' This invokes wizard.Finish(ok) if it exists.
  79.         SendEvent wizard.Finish(ok)
  80.       
  81.         ' Hide and return an OK result if ok
  82.       
  83.         If ok Then 
  84.           Hide
  85.           ModalResult(IIf(optDoInstall.Value, IDOK, IDCANCEL))
  86.         End If
  87.       End Sub
  88.  
  89.     End Type
  90.  
  91.     ' METHODS for object: UploadPackageInstaller.UploadWizardInstall
  92.     Sub InstChoice_ValidateDisplay(ok As Boolean)
  93.       InstChoice.optDoInstall.Value = True
  94.     End Sub
  95.  
  96.   End Type
  97.  
  98.   ' METHODS for object: UploadPackageInstaller
  99.   Sub Preload()
  100.     Dim r as Long
  101.     Dim module as ObjectModule
  102.     Dim f As New File
  103.   
  104.     ' If the Tools menu isn't here, bail
  105.     If Not FindObject("EnvelopForm.EnvelopMenus.EnvelopToolsMenu") Then Exit Sub
  106.   
  107.     module = ModuleManager.ModuleContaining(Me)
  108.   
  109.     ' Get the filename of the object module so that we can use its
  110.     ' path to find the upldptch.eto patch module (or bail if it ain't here
  111.     f.FileName = module.FileName
  112.   
  113.     f.FileName = f.Path & "upldptch.eto"
  114.     If Not f.Exists Then 
  115.       InfoBox.Message("Upload Package Install", "Unable to install the upload wizards.  The file, 'upldptch.eto' was not found in the directory: " & f.Path)
  116.       Exit Sub
  117.     End If
  118.   
  119.     ' Let the user refuse us if he wants to (this should be an embedded 1 step wizard that
  120.     ' tells the user what's going to happen and cancel will abort us, finish will do it
  121.     r = UploadWizardInstall.ShowModal
  122.   
  123.     If r <> IDOK Then Exit Sub
  124.   
  125.     If ModuleManager.ModuleContaining(EnvelopForm).ReadOnly Then
  126.        MessageBox.Message("No Write Permission", "Upload Wizard Installation can not proceed.^M^JThe file, " & ModuleManager.ModuleContaining(EnvelopForm).FileName & ", does not have write persmissions set.^M^JTo fix this problem, exit Envelop, change the permissions of the file^M^Jto make it writeable, and restart Envelop.")
  127.        Exit Sub
  128.     End If
  129.  
  130.     ' Back up the envelop.ebo
  131.     ModuleManager.ModuleContaining(EnvelopForm).SaveAs(App.Path & "envelop.bak", False)
  132.   
  133.     ' Add the menu item (unless its already in)
  134.     With EnvelopForm.EnvelopMenus.EnvelopToolsMenu
  135.       If .ItemPosition("UpldPkgUploadItem") <> -1 Then Exit Sub
  136.       .InsertSeparator(-1)
  137.       .InsertItem("UpldPkgUploadItem", "Upload...", -1)
  138.     End With ' EnvelopForm.EnvelopMenus.EnvelopToolsMenu
  139.   
  140.     ' Load the patch that contains the callbacks for our Upload... menu
  141.     ModuleManager.LoadModule(f.FileName, False)
  142.   
  143.     ' Save the envelop.ebo
  144.     ModuleManager.ModuleContaining(EnvelopForm).SaveAs(App.Path & "envelop.ebo", False)
  145.   
  146.     ' Save our ebo to the program directory
  147.     ' Prior to saving we delete installer (and its embedded 1 step wizard)
  148.     DestroyObject Me
  149.     module.SaveAs(App.Path & "upldpkg.ebo", False)
  150.   
  151.   
  152.   End Sub
  153.  
  154.   Sub TextPreLoad()
  155.     RequestObjectPreload UploadPackageInstaller
  156.   End Sub
  157.  
  158. End Type
  159.  
  160. Type FTPtransfer
  161.   Dim Username As String
  162.   Dim Password As String
  163.   Dim RemoteHost As String
  164.   Dim RemoteDir As String
  165.   Property ProgExists Get FTPProgExists As Boolean
  166.   Declare Function SearchPath Lib "kernel32" Alias "SearchPathA" (ByVal path As Long, ByVal target As String, ByVal ext As Long, ByVal cchBuf As Long, ByVal buf As Long, namePartAddr As Long) As Long
  167.  
  168.   ' METHODS for object: FTPtransfer
  169.   Function FTPProgExists As Boolean
  170.   End Function
  171.  
  172.   Function Receive(FileName As String) As String
  173.   
  174.   End Function
  175.  
  176.   Function Send(FileName As String) As String
  177.   
  178.   End Function
  179.  
  180. End Type
  181.  
  182. Type UploadWizardSelect From WizardMaster.Wizard
  183.   Type SelectWiz From WizardMaster.FrmStep
  184.     Dim optUploadFOB As New OptionButton
  185.     Dim optHomepage As New OptionButton
  186.  
  187.     ' METHODS for object: UploadWizardSelect.SelectWiz
  188.     Sub BtnNext_Click()
  189.     
  190.       If optUploadFOB.Value = True Then 
  191.         BtnFinish_Click
  192.         FOBUploadWizard.Show
  193.       ElseIf optHomepage.Value = True Then 
  194.         BtnFinish_Click
  195.         MemPageUploadWizard.Show
  196.       End If
  197.     End Sub
  198.  
  199.     Function Display (curStep As WizardMaster.FrmStep, direction As String, modal As Boolean) As Long
  200.       Dim ok as Boolean
  201.     
  202.       ' Enable Next and Back buttons if they lead somewhere
  203.       BtnBack.Enabled = BackStep
  204.       ' BtnNext.Enabled = NextStep
  205.     
  206.       ' Enable Next button cuz even though this wizard has no more
  207.       ' steps, next will take us to one of our other upload wizards
  208.       BtnNext.Enabled = True
  209.     
  210.       ' Disable the finish button so that only Next & Cancel are enabled
  211.       BtnFinish.Enabled = False
  212.     
  213.       ' Set default button to be the Next button
  214.     
  215.       DefaultButton = BtnNext
  216.     
  217.       DefaultButton.SetFocus
  218.     
  219.       ' Move me to the same position as curStep form
  220.       If curStep Then Move(curStep.Left, curStep.Top, curStep.Width, curStep.Height)
  221.     
  222.       ' Validate the show by rasing the ValidateDisplay Event
  223.       ' ok is passed by reference, so we will see any changes
  224.       ' handlers make to it. Load the form prior to validate to
  225.       ' ensure creation of windows for controls we may be initing
  226.       ok = True
  227.       LoadForm
  228.       SendEvent ValidateDisplay(ok)
  229.     
  230.       ' If Display is not valid, throw
  231.       If Not ok Then Throw InvalidStep
  232.     
  233.       ' Show me
  234.       Show
  235.     
  236.     
  237.       ' If we are coming from somewhare...
  238.       If curStep Then 
  239.         ' Hide the curStep form
  240.         curStep.Hide
  241.     
  242.         ' If we moved forward from this place,
  243.         ' make sure we can get back
  244.         If direction = "Next" Then BackStep = curStep
  245.     
  246.       End If
  247.     
  248.       Display = IIf(modal, ShowModal, -1)
  249.     End Function
  250.  
  251.   End Type
  252.  
  253.   ' METHODS for object: UploadWizardSelect
  254.   Sub SelectWiz_ValidateDisplay(ok As Boolean)
  255.     SelectWiz.optUploadFOB.Value = True
  256.   End Sub
  257.  
  258. End Type
  259.  
  260. Type FTPpassive From FTPtransfer
  261.  
  262.   ' METHODS for object: FTPpassive
  263.   Sub BuildIniFile (title As String)
  264.     Dim s As New TextFile
  265.   
  266.     ' Create the ini file for ws_ftp32
  267.     s.FileName = title
  268.     s.Create -1
  269.     s.Print "[_config_]"
  270.     s.Print "SESSION=envelop"
  271.     s.Print "AUTOSTART=0"
  272.     s.Print "MAILADDR=" & Password
  273.     s.Print " "
  274.     s.Print "[envelop]"
  275.     s.Print "HOST=" & RemoteHost
  276.     s.Print "UID=" & Username
  277.     ' note: the password is some kind of encoded version of
  278.     ' the real password.  this should not matter for anonymous
  279.     ' logins, but it is an issue of you must supply a genuine
  280.     ' password.  Anonymous logins make use of the MAILADDR line.
  281.     s.Print "PWD=" & Password
  282.     s.Print "LOCDIR=\temp"
  283.     s.Print "DIR=" & RemoteDir
  284.     s.Print "PASVMODE=1"
  285.     s.Close
  286.   
  287.   End Sub
  288.  
  289.   Function FTPProgExists As Boolean
  290.     Dim db As New DataBuffer
  291.     Dim r, namePartAddr As Long
  292.     Dim ok As Boolean
  293.     db.Size = 200
  294.     r = SearchPath(0, "ws_ftp32.exe", 0, 260, db.Data, namePartAddr)
  295.     ok = r > 0 && r < db.Size
  296.     FTPProgExists = ok
  297.   End Function
  298.  
  299.   Function Receive(FileName As String) As String
  300.     dim i,s as new TextFile
  301.     dim remdir as string
  302.     dim cmd as string
  303.   
  304.     ' set up a file object for the incoming file
  305.     i.FileName = FileName
  306.   
  307.     ' make sure the remote dir name ends with a slash
  308.     remdir = RemoteDir
  309.     If Right$(remdir, 1) <> "/" Then 
  310.       remdir = remdir & "/"
  311.     End If
  312.   
  313.     ' Create the ini file for ws_ftp32
  314.     BuildIniFile("download.ini")
  315.   
  316.     ' Build the ftp command
  317.     cmd = "ws_ftp32 -i download.ini "
  318.   
  319.     ' For anonymous logins, use the full remote host name in ws_ftp32 command
  320.     ' otherwise use the 'configuration' named envelop in the upload.ini file
  321.     If Username = "anonymous" Then 
  322.       cmd = cmd & RemoteHost & ":" & remdir & i.FileName
  323.     Else 
  324.       cmd = cmd & "envelop:" & remdir & i.FileName
  325.     End If
  326.   
  327.     cmd = cmd & " local:" & i.Path & i.FileName
  328.   
  329.     ' Run the ftp command
  330.     RunProgramRedirect(cmd, -1, 0, -1, -1, -1)
  331.   
  332.     ' Tidy up
  333.     s.FileName = "download.ini"
  334.     s.Delete
  335.   
  336.     ' Base our return value upon the existence of the file
  337.     ' we were downloading
  338.     Receive = IIf(i.Exists, "ok", "File not downloaded")
  339.   
  340.   End Function
  341.  
  342.   Function Send(FileName As String) As String
  343.     dim i,s as new TextFile
  344.     dim remdir as string
  345.     dim cmd as string
  346.   
  347.     ' set up a file object for the outgoing file
  348.     i.FileName = FileName
  349.   
  350.     If (Not i.Exists || i.Size = 0) Then 
  351.       Send = "The File: " & i.FileName & " does not exist or is empty."
  352.       Exit Function
  353.     End If
  354.   
  355.     ' make sure the remote dir name ends with a slash
  356.     remdir = RemoteDir
  357.     If Right$(remdir, 1) <> "/" Then 
  358.       remdir = remdir & "/"
  359.     End If
  360.   
  361.     ' Create the ini file for ws_ftp32
  362.     BuildIniFile("upload.ini")
  363.   
  364.     ' Need to ensure that ws_ftp32 is in the path...
  365.   
  366.     ' Build the ftp command
  367.     cmd = "ws_ftp32 -i upload.ini "
  368.     cmd = cmd & "local:" & i.Path & i.FileName & " "
  369.   
  370.     ' For anonymous logins, use the full remote host name in ws_ftp32 command
  371.     ' otherwise use the 'configuration' named envelop in the upload.ini file
  372.     If Username = "anonymous" Then 
  373.       cmd = cmd & RemoteHost & ":" & remdir & i.FileName
  374.     Else 
  375.       cmd = cmd & "envelop:" & remdir & i.FileName
  376.     End If
  377.   
  378.   
  379.   
  380.     ' Run the ftp command
  381.     RunProgramRedirect(cmd, -1, 0, -1, -1, -1)
  382.   
  383.     ' Tidy up
  384.     s.FileName = "upload.ini"
  385.     s.Delete
  386.   
  387.     Send = "ok"
  388.   End Function
  389.  
  390. End Type
  391.  
  392. Type ZIParchive From File
  393.   Declare Function SearchPath Lib "kernel32" Alias "SearchPathA" (ByVal path As Long, ByVal target As String, ByVal ext As Long, ByVal cchBuf As Long, ByVal buf As Long, namePartAddr As Long) As Long
  394.  
  395.   ' METHODS for object: ZIParchive
  396.   Sub AddFileToArchive (theFile As String, recurseSubdirs As Boolean, delFiles As Boolean)
  397.     Dim cmd As String
  398.     Dim opts As String
  399.     Dim f As New TextFile
  400.     Dim l As New TextFile
  401.   
  402.     ' Ensure the zip program is findable
  403.     If Not ZIPProgExists Then 
  404.       InfoBox.Message("ZIP Alert", "The zip.exe program was not found.  Ensure that the directory which contains it is in your PATH.")
  405.       Exit Sub
  406.     End If
  407.   
  408.     ' Get out if no file name passed to us
  409.     If theFile = "" Then Exit Sub
  410.   
  411.     ' Get out if we don't have a meaningful file
  412.     f.FileName = theFile
  413.     If (Not f.Exists) Then 
  414.       Dim d As New Directory
  415.       d.Path = theFile
  416.       If (Not d.Exists) Then 
  417.         d.Path = d.CurrentDir & "\" & theFile
  418.         If (Not d.Exists) Then 
  419.           Exit Sub
  420.         End If
  421.       End If
  422.       opts = IIf(recurseSubdirs, "-r ", "")
  423.     Else 
  424.       ' suppress path info for files going into archive
  425.       opts = "-j "
  426.     End If
  427.   
  428.     If delFiles Then opts = opts & "-m "
  429.   
  430.     ' add the file(s) to the archive
  431.     cmd = "zip " & opts & FileName & " " & theFile
  432.   
  433.     ' For Some unknown reason, if we don't provide a file for stdout, zip
  434.     ' has problems (internal logic error) adding stuff to existing archives.  ??
  435.     l.FileName = "tmpzip.log"
  436.     l.Create -1
  437.   
  438.     RunProgramRedirect(cmd, -1, -1, -1, l.Handle, -1)
  439.   
  440.     l.Close
  441.     l.Delete
  442.   
  443.   End Sub
  444.  
  445.   Sub  AddTextToArchive (thetext As String, filetitle As String)
  446.     Dim f As New TextFile
  447.   
  448.     If thetext = "" Then Exit Sub
  449.   
  450.     ' Create a temporary file to hold the text, add it to the
  451.     ' archive and then blow it away
  452.     f.FileName = filetitle
  453.     f.Create -1
  454.     f.SetContentsTo thetext
  455.     f.Close
  456.   
  457.     AddFileToArchive(filetitle, False, False)
  458.   
  459.     f.Delete
  460.   
  461.   End Sub
  462.  
  463.   Sub ExtractAllFiles
  464.     Dim cmd As String
  465.   
  466.     ' Ensure existence...
  467.     If Not Exists Then 
  468.       InfoBox.Message("Alert", "Could not find the archive:  " & FileName)
  469.       Exit Sub
  470.     End If
  471.   
  472.     ' Need to ensure that unzip is in the path
  473.     cmd = "unzip " & FileName
  474.     RunProgramRedirect(cmd, -1, -1, -1, -1, -1)
  475.   
  476.   
  477.   End Sub
  478.  
  479.   Sub InitArchive
  480.     ' All we do here is check to see if a file with this name already exists,
  481.     ' and if it does, blow it away to make room for the archive
  482.     If Exists Then Delete
  483.   End Sub
  484.  
  485.   Function ZIPProgExists As Boolean
  486.     Dim db As New DataBuffer
  487.     Dim r, namePartAddr As Long
  488.     Dim ok As Boolean
  489.     db.Size = 200
  490.     r = SearchPath(0, "zip.exe", 0, 260, db.Data, namePartAddr)
  491.     ok = r > 0 && r < db.Size
  492.     ZIPProgExists = ok
  493.   End Function
  494.  
  495. End Type
  496.  
  497. Type FTPactive From FTPtransfer
  498.  
  499.   ' METHODS for object: FTPactive
  500.   Function FTPProgExists As Boolean
  501.     Dim db As New DataBuffer
  502.     Dim r, namePartAddr As Long
  503.     Dim ok As Boolean
  504.     db.Size = 200
  505.     r = SearchPath(0, "ftp.exe", 0, 260, db.Data, namePartAddr)
  506.     ok = r > 0 && r < db.Size
  507.     FTPProgExists = ok
  508.   End Function
  509.  
  510.   Function Receive(FileName As String) As String
  511.     dim s,l as new TextFile
  512.     dim cmd as string
  513.   
  514.     ' Create the script used to retrieve file via ftp
  515.     s.FileName = "ftp.dnl"
  516.     s.Create -1
  517.     s.Print "open " & RemoteHost
  518.     s.Print Username
  519.     s.Print Password
  520.     s.Print "cd " & RemoteDir
  521.     s.Print "binary"
  522.     s.Print "get " & FileName
  523.     s.Print "quit"
  524.     s.Close
  525.   
  526.     ' Build the ftp command
  527.     cmd = "ftp -s:ftp.upl"
  528.   
  529.     ' Create the output file
  530.     l.FileName = "ftp.log"
  531.     l.Create -1
  532.   
  533.     ' Run the ftp command
  534.     RunProgramRedirect(cmd, -1, -1, -1, l.Handle, -1)
  535.   
  536.     ' Set our return value to be the output from the ftp command
  537.     Send = l.ContentsAsString
  538.   
  539.     ' Tidy up
  540.     l.Close
  541.     s.Delete
  542.   End Function
  543.  
  544.   Function Send(FileName As String) As String
  545.     dim s,l as new TextFile
  546.     dim cmd as string
  547.   
  548.     ' Create the script used to ftp out file
  549.     s.FileName = "ftp.upl"
  550.     s.Create -1
  551.     s.Print "open " & RemoteHost
  552.     s.Print Username
  553.     s.Print Password
  554.     s.Print "cd " & RemoteDir
  555.     s.Print "binary"
  556.     s.Print "put " & FileName
  557.     s.Print "quit"
  558.     s.Close
  559.   
  560.     ' Build the ftp command
  561.     cmd = "ftp -s:ftp.upl"
  562.   
  563.     ' Create the output file
  564.     l.FileName = "ftp.log"
  565.     l.Create -1
  566.   
  567.     ' Run the ftp command
  568.     RunProgramRedirect(cmd, -1, -1, -1, l.Handle, -1)
  569.   
  570.     ' Set our return value to be the output from the ftp command
  571.     Send = l.ContentsAsString
  572.   
  573.     ' Tidy up
  574.     l.Close
  575.     s.Delete
  576.   End Function
  577.  
  578. End Type
  579.  
  580. Type FOBUploadWizard From WizardMaster.Wizard
  581.   Type Header From WizardMaster.FrmStep
  582.     Dim TextBox1 As New TextBox
  583.  
  584.     ' METHODS for object: FOBUploadWizard.Header
  585.     Sub ValidateDisplay(ok As Boolean)
  586.       If Not initialized Then 
  587.         TextBox1.Text = ""
  588.         initialized = True
  589.       End If
  590.     End Sub
  591.  
  592.   End Type
  593.   Type Content From WizardMaster.FrmStep
  594.     Dim TextBox1 As New TextBox
  595.  
  596.     ' METHODS for object: FOBUploadWizard.Content
  597.     Sub ValidateDisplay(ok As Boolean)
  598.       If Not initialized Then 
  599.         TextBox1.Text = ""
  600.         initialized = True
  601.       End If
  602.     End Sub
  603.  
  604.   End Type
  605.   Dim Email As New WizardMaster.FrmStep
  606.   Type FtpLog From WizardMaster.FrmStep
  607.     Dim TextBox1 As New TextBox
  608.   End Type
  609.   Type ZipFile From WizardMaster.FrmStep
  610.     Dim TextBox1 As New TextBox
  611.     Dim BTNBrowse As New Button
  612.     Dim BTNAdd As New Button
  613.     Dim BTNRemove As New Button
  614.     Dim ObjList As New ListBox
  615.     Dim fileNav As New OpenDialog
  616.     Dim BTNAddDir As New Button
  617.  
  618.     ' METHODS for object: FOBUploadWizard.ZipFile
  619.     Sub BTNAddDir_Click()
  620.       FOBUploadWizard.AddWholeDir
  621.     End Sub
  622.  
  623.     Sub BTNAdd_Click()
  624.       If ObjList.ItemIndex(TextBox1.Text) = -1 Then ObjList.AddItem(TextBox1.Text)
  625.     End Sub
  626.  
  627.     Sub BTNBrowse_Click()
  628.       dim ok as integer
  629.       dim f as new File
  630.     
  631.       fileNav.Filter = "Envelop Binary (*.ebo)|*.ebo|Envelop Text (*.eto)|*.eto|Envelop Resource (*.ero)|*.ero|Help Files (*.hlp)|*.hlp|Text Files (*.txt)|*.txt|All Types (*.*)|*.*"
  632.       fileNav.FileName = ""
  633.       ok = fileNav.Execute
  634.       If (ok = 1) Then 
  635.         TextBox1.Text = fileNav.FileName
  636.         If ObjList.ItemIndex(TextBox1.Text) = -1 Then ObjList.AddItem(TextBox1.Text)
  637.         f.FileName = fileNav.FileName
  638.         fileNav.InitialDir = f.Path
  639.       Else 
  640.         TextBox1.Text = ""
  641.       End If
  642.     End Sub
  643.  
  644.     Sub BTNRemove_Click()
  645.       ObjList.RemoveItem(ObjList.ListIndex)
  646.     End Sub
  647.  
  648.     Sub ValidateDisplay(ok As Boolean)
  649.       If Not initialized Then 
  650.         TextBox1.Text = ""
  651.         ObjList.Clear
  652.         initialized = True
  653.       End If
  654.     End Sub
  655.  
  656.   End Type
  657.   Type IntroPage From WizardMaster.FrmStep
  658.     Dim Label1 As New Label
  659.     Dim Label2 As New Label
  660.     Dim Label3 As New Label
  661.     Dim Label4 As New Label
  662.     Dim Label5 As New Label
  663.     Dim Label7 As New Label
  664.   End Type
  665.   Type UserInfo From WizardMaster.FrmStep
  666.     Dim Label1 As New Label
  667.     Dim txtUsername As New TextBox
  668.     Dim Label2 As New Label
  669.     Dim Label3 As New Label
  670.     Dim Label4 As New Label
  671.     Dim txtEmail As New TextBox
  672.     Dim txtPassword As New PasswordBox
  673.  
  674.     ' METHODS for object: FOBUploadWizard.UserInfo
  675.     Sub ValidateDisplay(ok As Boolean)
  676.       If Not initialized Then 
  677.         txtEmail.Text = ""
  678.         txtPassword.Text = ""
  679.         txtPassword.PasswordEntry = ""
  680.         txtUsername.Text = ""
  681.         initialized = True
  682.       End If
  683.     End Sub
  684.  
  685.   End Type
  686.   Dim Archive As New ZIParchive
  687.   Dim TransferActive As New FTPactive
  688.   Dim TransferPassive As New FTPpassive
  689.   Dim Active As Boolean
  690.  
  691.   ' METHODS for object: FOBUploadWizard
  692.   Function AddFile (ByVal fullpath As String, ByVal attributes As Long) As Long
  693.     Dim f As New File
  694.     f.FileName = fullpath
  695.     If f.Exists Then 
  696.       If ZipFile.ObjList.ItemIndex(f.FileName) = -1 Then ZipFile.ObjList.AddItem(f.FileName)
  697.     End If
  698.   End Function
  699.  
  700.   Sub AddWholeDir()
  701.     Dim f As New File
  702.     Dim d As New Directory
  703.     ' First try the text in the 'file name' text box to see if the
  704.     ' user has typed in the name of a legit directory
  705.     d.Path = ZipFile.TextBox1.Text
  706.   
  707.     ' If the text did not represent a good dir, try grabbing the
  708.     ' dir off of the filename in the box
  709.     If Not d.Exists Then 
  710.       f.FileName = ZipFile.TextBox1.Text
  711.       d.Path = f.Path
  712.     End If
  713.     If d.Exists Then 
  714.       d.EnumContents(Me, "AddFile", "*.*", 0)
  715.     End If
  716.   
  717.   End Sub
  718.  
  719.   Sub AlertIncompleteFields
  720.     InfoBox.Message("Alert", "You must fill in all fields before proceeding.")
  721.   End Sub
  722.  
  723.   Sub BlowAwayDir(dirPath As String)
  724.     Dim d As New Directory
  725.     d.Path = dirPath
  726.     If d.Exists Then 
  727.       d.Destroy(0)
  728.     End If
  729.   
  730.   End Sub
  731.  
  732.   Sub Content_ValidateNext(ok As Boolean)
  733.     If Content.TextBox1.Text = "" Then 
  734.       ok = False
  735.       AlertIncompleteFields
  736.     Else 
  737.       ok = True
  738.     End If
  739.   End Sub
  740.  
  741.   Function DoUpload(upfile as string) as string
  742.     Dim TransferFile As Object
  743.     TransferFile = IIf(Active, TransferActive, TransferPassive)
  744.     TransferFile.RemoteHost = "ftp.envelop.com"
  745.     TransferFile.Username = "anonymous"
  746.     TransferFile.Password = UserInfo.txtEmail.Text
  747.     TransferFile.RemoteDir = "/incoming/fobs"
  748.   
  749.     DoUpload = TransferFile.Send(upfile)
  750.   End Function
  751.  
  752.   Sub Email_ValidateFinish(ok As Boolean)
  753.     Email_ValidateNext(ok)
  754.   End Sub
  755.  
  756.   Sub Email_ValidateNext(ok As Boolean)
  757.     Dim u As New TextFile
  758.     Dim t As New TextFile
  759.     Dim d As New Directory
  760.     Dim i As Integer
  761.     Dim ds As String
  762.     Dim haveActive As Boolean
  763.     Dim havePassive As Boolean
  764.   
  765.     haveActive = TransferActive.ProgExists
  766.     havePassive = TransferPassive.ProgExists
  767.   
  768.     If Active && havePassive Then Active = False
  769.   
  770.     If Not Active && Not havePassive Then 
  771.       If haveActive Then 
  772.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find the passive mode FTP program, ws_ftp32.exe, in its path.  It will use ftp.exe instead.  If you are behind a firewall, this may not succeed.  If you have ws_ftp32.exe, modify your PATH so that it contains the ws_ftp32 program.  You can download the ws_ftp32 program from:  http://www.csra.net/junodj/")
  773.         Active = True
  774.       Else 
  775.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find neither the passive mode FTP program, ws_ftp32.exe, nor ftp.exe in its path.  The upload can not proceed.  If you have ws_ftp32.exe or ftp.exe, modify your PATH so that it contains their directories. If you are behind a firewall, you may be required to use ws_ftp32.  You can download it from:  http://www.csra.net/junodj/")
  776.         ok = False
  777.         Exit Sub
  778.       End If
  779.     End If
  780.   
  781.     ' Ensure the zip program is findable
  782.     If Not Archive.ZIPProgExists Then 
  783.       InfoBox.Message("ZIP Alert", "The zip.exe program was not found.  Ensure that the directory which contains it is in your PATH.")
  784.       Exit Sub
  785.     End If
  786.   
  787.     InitializeArchive
  788.   
  789.     u.FileName = "userinfo"
  790.     u.Create -1
  791.     With UserInfo
  792.       u.Print .txtUsername.Text & " " & .txtEmail.Text & " " & .txtPassword.PasswordEntry
  793.     End With
  794.   
  795.     u.Close
  796.     Archive.AddFileToArchive(u.FileName, False, False)
  797.     u.Delete
  798.   
  799.     Archive.AddTextToArchive(Header.TextBox1.Text, "header")
  800.     Archive.AddTextToArchive(Content.TextBox1.Text, "body")
  801.   
  802.     ds = d.CurrentDir & "\"
  803.   
  804.     ' Rather than making the user create a zip file, we'll
  805.     ' have asked him for the files of interest, make a subdir,
  806.     ' copy the files there, and zip the subdir.
  807.     ds = d.CurrentDir & "\envlpusr"
  808.     d.Path = ds
  809.     d.Create
  810.     ' CreateDirectoryEx(d.CurrentDir, ds, 0)
  811.   
  812.     ' for each guy in list, CopyFile(t.FileName ,  ds & "\" & t.Name & t.Extension , 0)
  813.     ' zip the directory (zip -m will do cleanup of the dir & files)
  814.     For i = 0 To ZipFile.ObjList.ListCount - 1
  815.       ZipFile.ObjList.ListIndex = i
  816.       t.FileName = ZipFile.ObjList.Text
  817.       CopyFile(t.FileName, ds & "\" & t.Name & t.Extension, 0)
  818.     Next i
  819.   
  820.     Archive.AddFileToArchive("envlpusr", True, True)
  821.   
  822.     ' ZIP is supposed to blow away files & dirs when the 3rd param to
  823.     ' AddFileToArchive is True.  Sometimes it does not do its job.
  824.     ' So we have to.  To compund matters, the Destroy method on a Directory
  825.     ' object currently is not blowing away the dir's files.
  826.     ' So we will do all of the cleanup manually...
  827.     BlowAwayDir(ds)
  828.   
  829.   
  830.     ' Do a LoadForm to ensure that the Form & its TextBox child exist
  831.     ' before we go about setting the text on the textbox
  832.     FtpLog.LoadForm
  833.     FtpLog.TextBox1.Text = "File sent as: " & Archive.FileName & "  Status = " & DoUpload(Archive.FileName)
  834.   
  835.     Archive.Delete
  836.     Archive.FileName = ""
  837.   
  838.     ok = -1
  839.   End Sub
  840.  
  841.   Sub Header_ValidateNext(ok As Boolean)
  842.     If Header.TextBox1.Text = "" Then 
  843.       ok = False
  844.       AlertIncompleteFields
  845.     Else 
  846.       ok = True
  847.     End If
  848.   End Sub
  849.  
  850.   Sub InitializeArchive
  851.     Dim clockstr As String
  852.     Dim datestr As String
  853.     Dim mixer As String
  854.   
  855.     ' do something to get a more random name...
  856.     ' a bit ghastly.  is there a better way?
  857.     clockstr = Left$(Clock.Time, 8)
  858.     datestr = Left$(Clock.Date, 5)
  859.   
  860.     mixer = "_" & Mid(datestr, 1, 2) & Mid(datestr, 4, 2)
  861.     mixer = mixer & Mid(clockstr, 1, 2) & Mid(clockstr, 4, 2) & Mid(clockstr, 7, 2)
  862.   
  863.     Archive.FileName = UserInfo.txtUsername.Text & mixer & ".zip"
  864.     Archive.InitArchive
  865.   End Sub
  866.  
  867.   Sub UserInfo_ValidateNext(ok As Boolean)
  868.     If (UserInfo.txtUsername.Text = "" || UserInfo.txtPassword.Text = "" || UserInfo.txtEmail.Text = "") Then 
  869.       AlertIncompleteFields
  870.       ok = False
  871.     Else 
  872.       ok = True
  873.     End If
  874.   End Sub
  875.  
  876.   Sub ZipFile_ValidateFinish(ok As Boolean)
  877.     Email_ValidateNext(ok)
  878.   End Sub
  879.  
  880.   Sub ZipFile_ValidateNext(ok As Boolean)
  881.     If (ZipFile.ObjList.ListCount = 0) Then 
  882.       InfoBox.Message("Alert", "No files were specified.  ^M^JUse the Browse or Add buttons to add files to the list before proceeding.")
  883.       ok = False
  884.     Else 
  885.       ok = True
  886.     End If
  887.   End Sub
  888.  
  889. End Type
  890.  
  891. Type UploadPackage
  892.  
  893.   ' METHODS for object: UploadPackage
  894.   Sub Run
  895.     UploadWizardSelect.Show
  896.   End Sub
  897.  
  898. End Type
  899.  
  900. Type MemPageUploadWizard From WizardMaster.Wizard
  901.   Dim Email As New WizardMaster.FrmStep
  902.   Type FtpLog From WizardMaster.FrmStep
  903.     Dim TextBox1 As New TextBox
  904.   End Type
  905.   Type TarFiles From WizardMaster.FrmStep
  906.     Dim TextBox1 As New TextBox
  907.     Dim FileList As New ListBox
  908.     Dim AddFile As New Button
  909.     Dim RemoveFile As New Button
  910.     Dim BTNBrowse As New Button
  911.     Dim fileNav As New OpenDialog
  912.     Dim BTNAddDir As New Button
  913.  
  914.     ' METHODS for object: MemPageUploadWizard.TarFiles
  915.     Sub AddFile_Click()
  916.       FileList.AddItem(TextBox1.Text)
  917.     End Sub
  918.  
  919.     Sub BTNAddDir_Click()
  920.       MemPageUploadWizard.AddWholeDir
  921.     End Sub
  922.  
  923.     Sub BTNBrowse_Click()
  924.       dim ok as integer
  925.       dim f as new File
  926.     
  927.       fileNav.Filter = "HTML Files (*.html)|*.html|HTML files (*.htm)|*.htm|GIF files (*.gif)|*.gif|JPEG files (*.jpg)|*.jpg|All Types (*.*)|*.*"
  928.       fileNav.FileName = ""
  929.       ok = fileNav.Execute
  930.       If (ok = 1) Then 
  931.         TextBox1.Text = fileNav.FileName
  932.         If FileList.ItemIndex(TextBox1.Text) = -1 Then FileList.AddItem(TextBox1.Text)
  933.         f.FileName = fileNav.FileName
  934.         fileNav.InitialDir = f.Path
  935.       Else 
  936.         TextBox1.Text = ""
  937.       End If
  938.     End Sub
  939.  
  940.     Sub RemoveFile_Click()
  941.       FileList.RemoveItem(FileList.ListIndex)
  942.     End Sub
  943.  
  944.   End Type
  945.   Type IntroPage From WizardMaster.FrmStep
  946.     Dim Label1 As New Label
  947.     Dim Label2 As New Label
  948.     Dim Label3 As New Label
  949.     Dim Label5 As New Label
  950.   End Type
  951.   Type UserInfo From WizardMaster.FrmStep
  952.     Dim Label1 As New Label
  953.     Dim Label2 As New Label
  954.     Dim Label3 As New Label
  955.     Dim txtUsername As New TextBox
  956.     Dim txtEmail As New TextBox
  957.     Dim txtPassword As New PasswordBox
  958.   End Type
  959.   Dim Archive As New ZIParchive
  960.   Dim TransferActive As New FTPactive
  961.   Dim TransferPassive As New FTPpassive
  962.   Dim Active As Boolean
  963.  
  964.   ' METHODS for object: MemPageUploadWizard
  965.   Function AddFile (ByVal fullpath As String, ByVal attributes As Long) As Long
  966.     Dim f As New File
  967.     f.FileName = fullpath
  968.     If f.Exists Then 
  969.       If TarFiles.FileList.ItemIndex(f.FileName) = -1 Then TarFiles.FileList.AddItem(f.FileName)
  970.     End If
  971.   End Function
  972.  
  973.   Sub AddWholeDir()
  974.     Dim f As New File
  975.     Dim d As New Directory
  976.     ' First try the text in the 'file name' text box to see if the
  977.     ' user has typed in the name of a legit directory
  978.     d.Path = TarFiles.TextBox1.Text
  979.   
  980.     ' If the text did not represent a good dir, try grabbing the
  981.     ' dir off of the filename in the box
  982.     If Not d.Exists Then 
  983.       f.FileName = TarFiles.TextBox1.Text
  984.       d.Path = f.Path
  985.     End If
  986.     If d.Exists Then 
  987.       d.EnumContents(Me, "AddFile", "*.*", 0)
  988.     End If
  989.   
  990.   End Sub
  991.  
  992.   Sub AlertIncompleteFields
  993.     InfoBox.Message("Alert", "You must fill in all fields before proceeding.")
  994.   End Sub
  995.  
  996.   Function DoUpload(upfile as string) as string
  997.     Dim TransferFile As Object
  998.     TransferFile = IIf(Active, TransferActive, TransferPassive)
  999.   
  1000.     TransferFile.RemoteHost = "ftp.envelop.com"
  1001.     TransferFile.Username = "anonymous"
  1002.     TransferFile.Password = UserInfo.txtEmail.Text
  1003.     TransferFile.RemoteDir = "/incoming/hmpgs"
  1004.   
  1005.     DoUpload = TransferFile.Send(upfile)
  1006.   End Function
  1007.  
  1008.   Sub Email_ValidateFinish(ok As Boolean)
  1009.     Email_ValidateNext(ok)
  1010.   End Sub
  1011.  
  1012.   Sub Email_ValidateNext(ok As Boolean)
  1013.     Dim i As Integer
  1014.     Dim u As New TextFile
  1015.     Dim haveActive As Boolean
  1016.     Dim havePassive As Boolean
  1017.   
  1018.     haveActive = TransferActive.ProgExists
  1019.     havePassive = TransferPassive.ProgExists
  1020.   
  1021.     If Active && havePassive Then Active = False
  1022.   
  1023.     If Not Active && Not havePassive Then 
  1024.       If haveActive Then 
  1025.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find the passive mode FTP program, ws_ftp32.exe, in its path.  It will use ftp.exe instead.  If you are behind a firewall, this may not succeed.  If you have ws_ftp32.exe, modify your PATH so that it contains the ws_ftp32 program.  You can download the ws_ftp32 program from:  http://www.csra.net/junodj/")
  1026.         Active = True
  1027.       Else 
  1028.         InfoBox.Message("FTP Alert", "The Upload Wizard was unable to find neither the passive mode FTP program, ws_ftp32.exe, nor ftp.exe in its path.  The upload can not proceed.  If you have ws_ftp32.exe or ftp.exe, modify your PATH so that it contains their directories. If you are behind a firewall, you may be required to use ws_ftp32.  You can download it from:  http://www.csra.net/junodj/")
  1029.         ok = False
  1030.         Exit Sub
  1031.       End If
  1032.     End If
  1033.   
  1034.     ' Ensure the zip program is findable
  1035.     If Not Archive.ZIPProgExists Then 
  1036.       InfoBox.Message("ZIP Alert", "The zip.exe program was not found.  Ensure that the directory which contains it is in your PATH.")
  1037.       Exit Sub
  1038.     End If
  1039.     InitializeArchive
  1040.   
  1041.     u.FileName = "userinfo"
  1042.     u.Create -1
  1043.     With UserInfo
  1044.       u.Print .txtUsername.Text & " " & .txtEmail.Text & " " & .txtPassword.PasswordEntry
  1045.     End With
  1046.     u.Close
  1047.     Archive.AddFileToArchive(u.FileName, False, False)
  1048.     u.Delete
  1049.   
  1050.     For i = 0 To TarFiles.FileList.ListCount - 1
  1051.       TarFiles.FileList.ListIndex = i
  1052.       Archive.AddFileToArchive(TarFiles.FileList.Text, False, False)
  1053.     Next i
  1054.   
  1055.     ' Do a LoadForm to ensure that the Form & its TextBox child exist
  1056.     ' before we go about setting the tex on the textbox
  1057.     FtpLog.LoadForm
  1058.     FtpLog.TextBox1.Text = "File sent as: " & Archive.FileName & "  Status = " & DoUpload(Archive.FileName)
  1059.   
  1060.     Archive.Delete
  1061.     Archive.FileName = ""
  1062.     ok = -1
  1063.   End Sub
  1064.  
  1065.   Sub InitializeArchive
  1066.     Dim clockstr As String
  1067.     Dim datestr As String
  1068.     Dim mixer As String
  1069.   
  1070.     ' do something to get a more random name...
  1071.     ' a bit ghastly.  is there a better way?
  1072.     clockstr = Left$(Clock.Time, 8)
  1073.     datestr = Left$(Clock.Date, 5)
  1074.   
  1075.     mixer = "_" & Mid(datestr, 1, 2) & Mid(datestr, 4, 2)
  1076.     mixer = mixer & Mid(clockstr, 1, 2) & Mid(clockstr, 4, 2) & Mid(clockstr, 7, 2)
  1077.   
  1078.     Archive.FileName = UserInfo.txtUsername.Text & mixer & ".zip"
  1079.     Archive.InitArchive
  1080.   End Sub
  1081.  
  1082.   Sub TarFiles_ValidateFinish(ok As Boolean)
  1083.     Email_ValidateNext(ok)
  1084.   End Sub
  1085.  
  1086.   Sub TarFiles_ValidateNext(ok As Boolean)
  1087.     Dim i As Integer
  1088.     Dim f As New File
  1089.   
  1090.     ok = False
  1091.   
  1092.     ' Ensure that we have a file named index.html
  1093.     For i = 0 To TarFiles.FileList.ListCount - 1
  1094.       TarFiles.FileList.ListIndex = i
  1095.       f.FileName = TarFiles.FileList.Text
  1096.       If f.Name = "index" && f.Extension = ".html" Then 
  1097.         ok = True
  1098.         Exit For
  1099.       End If
  1100.     Next i
  1101.   
  1102.     If Not ok Then InfoBox.Message("Alert", "You must provide a file named index.html when uploading your member homepage")
  1103.   
  1104.   
  1105.   End Sub
  1106.  
  1107.   Sub UserInfo_ValidateNext(ok As Boolean)
  1108.     If (UserInfo.txtUsername.Text = "" || UserInfo.txtPassword.Text = "" || UserInfo.txtEmail.Text = "") Then 
  1109.       AlertIncompleteFields
  1110.       ok = False
  1111.     Else 
  1112.       ok = True
  1113.     End If
  1114.   End Sub
  1115.  
  1116. End Type
  1117.  
  1118. Begin Code
  1119. ' Reconstruction commands for object: PasswordBox
  1120. '
  1121.   With PasswordBox
  1122.     .Move(0, 0, 0, 0)
  1123.     .WordWrap := False
  1124.     .MultiLine := False
  1125.     .MaskCode := 42
  1126.   End With  'PasswordBox
  1127. ' Reconstruction commands for object: UploadPackageInstaller
  1128. '
  1129.   With UploadPackageInstaller
  1130.     .TextPreLoad()
  1131.     With .UploadWizardInstall
  1132.       .title_ := "Upload Wizard"
  1133.       .Title := "Upload Wizard"
  1134.       .GraphicFileName := "upldpkg.ero"
  1135.       .FirstStep := UploadPackageInstaller.UploadWizardInstall.InstChoice
  1136.       .LastStep := UploadPackageInstaller.UploadWizardInstall.InstChoice
  1137.       With .InstChoice
  1138.         .Caption := "Upload Wizard Install"
  1139.         .Move(3840, 3630, 7155, 4815)
  1140.         .DefaultButton := UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnFinish
  1141.         .CancelButton := UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnCancel
  1142.         .wizard := UploadPackageInstaller.UploadWizardInstall
  1143.         With .optDoInstall
  1144.           .Caption := "Yes, Install the upload wizards"
  1145.           .ZOrder := 5
  1146.           .Move(2850, 1200, 4050, 450)
  1147.           .TabStop := True
  1148.           .TabGroup := True
  1149.           .Value := True
  1150.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.optDoInstall
  1151.         With .optDontInstall
  1152.           .Caption := "No, don't install.  "
  1153.           .ZOrder := 6
  1154.           .Move(2850, 1950, 4050, 450)
  1155.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.optDontInstall
  1156.         With .BtnFinish
  1157.           .ZOrder := 2
  1158.           .Move(6225, 4050, 825, 300)
  1159.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnFinish
  1160.         With .BtnNext
  1161.           .Enabled := False
  1162.           .ZOrder := 1
  1163.           .Move(5325, 4050, 825, 300)
  1164.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnNext
  1165.         With .BtnBack
  1166.           .Enabled := False
  1167.           .ZOrder := 3
  1168.           .Move(4500, 4050, 825, 300)
  1169.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnBack
  1170.         With .BtnCancel
  1171.           .ZOrder := 4
  1172.           .Move(3600, 4050, 825, 300)
  1173.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.BtnCancel
  1174.         With .ImgGraphic
  1175.           .ZOrder := 9
  1176.           .Move(225, 225, 2475, 3150)
  1177.           .Picture := UploadPackageInstaller.UploadWizardInstall.Bitmap
  1178.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.ImgGraphic
  1179.         With .LblInstruction
  1180.           .Caption := "Would you like to install the upload wizards permanently?  After the installation is finished, you can access the upload wizards by selecting the 'Upload...' button on the Tools menu."
  1181.           .ZOrder := 8
  1182.           .Move(2850, 225, 4125, 825)
  1183.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.LblInstruction
  1184.         With .Frame1
  1185.           .ZOrder := 7
  1186.           .Move(75, 3825, 6975, 75)
  1187.         End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice.Frame1
  1188.       End With  'UploadPackageInstaller.UploadWizardInstall.InstChoice
  1189.       With .Bitmap
  1190.         .LoadType := "MemoryBased"
  1191.         .FileName := "upldpkg.ero"
  1192.         .ResId := 0
  1193.       End With  'UploadPackageInstaller.UploadWizardInstall.Bitmap
  1194.     End With  'UploadPackageInstaller.UploadWizardInstall
  1195.   End With  'UploadPackageInstaller
  1196. ' Reconstruction commands for object: FTPtransfer
  1197. '
  1198.   With FTPtransfer
  1199.     .Username := ""
  1200.     .Password := ""
  1201.     .RemoteHost := ""
  1202.     .RemoteDir := ""
  1203.   End With  'FTPtransfer
  1204. ' Reconstruction commands for object: UploadWizardSelect
  1205. '
  1206.   With UploadWizardSelect
  1207.     .title_ := "Upload Wizard Select"
  1208.     .Title := "Upload Wizard Select"
  1209.     .GraphicFileName := "upldpkg.ero"
  1210.     .FirstStep := UploadWizardSelect.SelectWiz
  1211.     .LastStep := UploadWizardSelect.SelectWiz
  1212.     With .SelectWiz
  1213.       .Caption := "Upload Wizard Select"
  1214.       .Move(4275, 3300, 7155, 4815)
  1215.       .DefaultButton := UploadWizardSelect.SelectWiz.BtnNext
  1216.       .CancelButton := UploadWizardSelect.SelectWiz.BtnCancel
  1217.       .wizard := UploadWizardSelect
  1218.       With .optUploadFOB
  1219.         .Caption := "A Free Object"
  1220.         .ZOrder := 2
  1221.         .Move(2850, 900, 3000, 450)
  1222.         .TabStop := True
  1223.         .TabGroup := True
  1224.       End With  'UploadWizardSelect.SelectWiz.optUploadFOB
  1225.       With .optHomepage
  1226.         .Caption := "My Homepage"
  1227.         .ZOrder := 3
  1228.         .Move(2850, 1500, 3000, 450)
  1229.       End With  'UploadWizardSelect.SelectWiz.optHomepage
  1230.       With .BtnFinish
  1231.         .Enabled := False
  1232.         .ZOrder := 1
  1233.         .Move(6225, 4050, 825, 300)
  1234.       End With  'UploadWizardSelect.SelectWiz.BtnFinish
  1235.       With .BtnNext
  1236.         .ZOrder := 4
  1237.         .Move(5325, 4050, 825, 300)
  1238.       End With  'UploadWizardSelect.SelectWiz.BtnNext
  1239.       With .BtnBack
  1240.         .Enabled := False
  1241.         .ZOrder := 5
  1242.         .Move(4500, 4050, 825, 300)
  1243.       End With  'UploadWizardSelect.SelectWiz.BtnBack
  1244.       With .BtnCancel
  1245.         .ZOrder := 6
  1246.         .Move(3600, 4050, 825, 300)
  1247.       End With  'UploadWizardSelect.SelectWiz.BtnCancel
  1248.       With .ImgGraphic
  1249.         .ZOrder := 9
  1250.         .Move(225, 225, 2475, 3150)
  1251.         .Picture := UploadWizardSelect.Bitmap
  1252.       End With  'UploadWizardSelect.SelectWiz.ImgGraphic
  1253.       With .LblInstruction
  1254.         .Caption := "What would you like to upload?"
  1255.         .ZOrder := 7
  1256.         .Move(2850, 225, 4125, 375)
  1257.       End With  'UploadWizardSelect.SelectWiz.LblInstruction
  1258.       With .Frame1
  1259.         .ZOrder := 8
  1260.         .Move(75, 3825, 6975, 75)
  1261.       End With  'UploadWizardSelect.SelectWiz.Frame1
  1262.     End With  'UploadWizardSelect.SelectWiz
  1263.     With .Bitmap
  1264.       .LoadType := "MemoryBased"
  1265.       .FileName := "upldpkg.ero"
  1266.       .ResId := 2704
  1267.     End With  'UploadWizardSelect.Bitmap
  1268.   End With  'UploadWizardSelect
  1269. ' Reconstruction commands for object: FTPpassive
  1270. '
  1271.   With FTPpassive
  1272.   End With  'FTPpassive
  1273. ' Reconstruction commands for object: ZIParchive
  1274. '
  1275.   With ZIParchive
  1276.   End With  'ZIParchive
  1277. ' Reconstruction commands for object: FTPactive
  1278. '
  1279.   With FTPactive
  1280.   End With  'FTPactive
  1281. ' Reconstruction commands for object: FOBUploadWizard
  1282. '
  1283.   With FOBUploadWizard
  1284.     .title_ := "Free Objects Upload Wizard"
  1285.     .Title := "Free Objects Upload Wizard"
  1286.     .GraphicFileName := "upldpkg.ero"
  1287.     .FirstStep := FOBUploadWizard.IntroPage
  1288.     .LastStep := FOBUploadWizard.FtpLog
  1289.     .Active := False
  1290.     With .Header
  1291.       .Caption := "Free Objects Upload Wizard"
  1292.       .Move(5280, 4515, 7155, 4815)
  1293.       .DefaultButton := FOBUploadWizard.Header.BtnNext
  1294.       .CancelButton := FOBUploadWizard.Header.BtnCancel
  1295.       .wizard := FOBUploadWizard
  1296.       .NextStep := FOBUploadWizard.Content
  1297.       .BackStep := FOBUploadWizard.UserInfo
  1298.       With .TextBox1
  1299.         .ZOrder := 1
  1300.         .Move(2700, 750, 4350, 300)
  1301.       End With  'FOBUploadWizard.Header.TextBox1
  1302.       With .BtnFinish
  1303.         .Enabled := False
  1304.         .ZOrder := 7
  1305.         .Move(6225, 4050, 825, 300)
  1306.       End With  'FOBUploadWizard.Header.BtnFinish
  1307.       With .BtnNext
  1308.         .ZOrder := 2
  1309.         .Move(5325, 4050, 825, 300)
  1310.       End With  'FOBUploadWizard.Header.BtnNext
  1311.       With .BtnBack
  1312.         .ZOrder := 3
  1313.         .Move(4500, 4050, 825, 300)
  1314.       End With  'FOBUploadWizard.Header.BtnBack
  1315.       With .BtnCancel
  1316.         .ZOrder := 4
  1317.         .Move(3600, 4050, 825, 300)
  1318.       End With  'FOBUploadWizard.Header.BtnCancel
  1319.       With .ImgGraphic
  1320.         .ZOrder := 5
  1321.         .Move(300, 300, 2250, 3150)
  1322.         .Picture := FOBUploadWizard.Bitmap
  1323.       End With  'FOBUploadWizard.Header.ImgGraphic
  1324.       With .LblInstruction
  1325.         .Caption := "Enter a brief one line description of your object."
  1326.         .ZOrder := 8
  1327.         .Move(2700, 225, 4275, 375)
  1328.       End With  'FOBUploadWizard.Header.LblInstruction
  1329.       With .Frame1
  1330.         .ZOrder := 6
  1331.         .Move(75, 3825, 6975, 75)
  1332.       End With  'FOBUploadWizard.Header.Frame1
  1333.     End With  'FOBUploadWizard.Header
  1334.     With .Content
  1335.       .Caption := "Free Objects Upload Wizard"
  1336.       .Move(5280, 4515, 7155, 4815)
  1337.       .DefaultButton := FOBUploadWizard.Content.BtnNext
  1338.       .CancelButton := Nothing
  1339.       .wizard := FOBUploadWizard
  1340.       .NextStep := FOBUploadWizard.ZipFile
  1341.       .BackStep := FOBUploadWizard.Header
  1342.       With .TextBox1
  1343.         .ZOrder := 1
  1344.         .Move(2700, 1050, 4200, 2550)
  1345.         .WordWrap := True
  1346.         .MultiLine := True
  1347.         .ScrollBars := "Vertical"
  1348.       End With  'FOBUploadWizard.Content.TextBox1
  1349.       With .BtnFinish
  1350.         .Enabled := False
  1351.         .ZOrder := 7
  1352.         .Move(6225, 4050, 825, 300)
  1353.       End With  'FOBUploadWizard.Content.BtnFinish
  1354.       With .BtnNext
  1355.         .ZOrder := 2
  1356.         .Move(5325, 4050, 825, 300)
  1357.       End With  'FOBUploadWizard.Content.BtnNext
  1358.       With .BtnBack
  1359.         .ZOrder := 3
  1360.         .Move(4500, 4050, 825, 300)
  1361.       End With  'FOBUploadWizard.Content.BtnBack
  1362.       With .BtnCancel
  1363.         .ZOrder := 4
  1364.         .Move(3600, 4050, 825, 300)
  1365.       End With  'FOBUploadWizard.Content.BtnCancel
  1366.       With .ImgGraphic
  1367.         .ZOrder := 5
  1368.         .Move(300, 300, 2250, 3150)
  1369.         .Picture := FOBUploadWizard.Bitmap
  1370.       End With  'FOBUploadWizard.Content.ImgGraphic
  1371.       With .LblInstruction
  1372.         .Caption := "Enter a complete description of the object you are uploading.  You may also enter HTML to provide links to your homepage or other sites of interest."
  1373.         .ZOrder := 8
  1374.         .Move(2700, 225, 4275, 675)
  1375.       End With  'FOBUploadWizard.Content.LblInstruction
  1376.       With .Frame1
  1377.         .ZOrder := 6
  1378.         .Move(75, 3825, 6975, 75)
  1379.       End With  'FOBUploadWizard.Content.Frame1
  1380.     End With  'FOBUploadWizard.Content
  1381.     With .Email
  1382.       .Caption := "Free Objects Upload Wizard"
  1383.       .Move(5280, 4515, 7155, 4815)
  1384.       .DefaultButton := FOBUploadWizard.Email.BtnNext
  1385.       .CancelButton := Nothing
  1386.       .ControlBox := True
  1387.       .wizard := FOBUploadWizard
  1388.       .NextStep := FOBUploadWizard.FtpLog
  1389.       .BackStep := FOBUploadWizard.ZipFile
  1390.       With .BtnFinish
  1391.         .ZOrder := 5
  1392.         .Move(6225, 4050, 825, 300)
  1393.       End With  'FOBUploadWizard.Email.BtnFinish
  1394.       With .BtnNext
  1395.         .ZOrder := 1
  1396.         .Move(5325, 4050, 825, 300)
  1397.       End With  'FOBUploadWizard.Email.BtnNext
  1398.       With .BtnBack
  1399.         .ZOrder := 6
  1400.         .Move(4500, 4050, 825, 300)
  1401.       End With  'FOBUploadWizard.Email.BtnBack
  1402.       With .BtnCancel
  1403.         .ZOrder := 2
  1404.         .Move(3600, 4050, 825, 300)
  1405.       End With  'FOBUploadWizard.Email.BtnCancel
  1406.       With .ImgGraphic
  1407.         .ZOrder := 3
  1408.         .Move(300, 300, 2250, 3150)
  1409.         .Picture := FOBUploadWizard.Bitmap
  1410.       End With  'FOBUploadWizard.Email.ImgGraphic
  1411.       With .LblInstruction
  1412.         .Caption := "You are now ready to do the upload. Click 'Next' if you are connected to the Internet.  The wizard will package all of the information and send it to the Envelop web server."
  1413.         .ZOrder := 4
  1414.         .Move(2700, 225, 4275, 825)
  1415.       End With  'FOBUploadWizard.Email.LblInstruction
  1416.       With .Frame1
  1417.         .ZOrder := 7
  1418.         .Move(75, 3825, 6975, 75)
  1419.       End With  'FOBUploadWizard.Email.Frame1
  1420.     End With  'FOBUploadWizard.Email
  1421.     With .FtpLog
  1422.       .Caption := "Free Objects Upload Wizard"
  1423.       .Move(5280, 4515, 7155, 4815)
  1424.       .DefaultButton := FOBUploadWizard.FtpLog.BtnFinish
  1425.       .CancelButton := Nothing
  1426.       .wizard := FOBUploadWizard
  1427.       .BackStep := FOBUploadWizard.Email
  1428.       With .TextBox1
  1429.         .ZOrder := 1
  1430.         .Move(2700, 750, 4200, 3000)
  1431.         .WordWrap := True
  1432.         .MultiLine := True
  1433.         .ScrollBars := "Vertical"
  1434.       End With  'FOBUploadWizard.FtpLog.TextBox1
  1435.       With .BtnFinish
  1436.         .ZOrder := 7
  1437.         .Move(6225, 4050, 825, 300)
  1438.       End With  'FOBUploadWizard.FtpLog.BtnFinish
  1439.       With .BtnNext
  1440.         .Enabled := False
  1441.         .ZOrder := 2
  1442.         .Move(5325, 4050, 825, 300)
  1443.       End With  'FOBUploadWizard.FtpLog.BtnNext
  1444.       With .BtnBack
  1445.         .ZOrder := 3
  1446.         .Move(4500, 4050, 825, 300)
  1447.       End With  'FOBUploadWizard.FtpLog.BtnBack
  1448.       With .BtnCancel
  1449.         .Enabled := False
  1450.         .ZOrder := 4
  1451.         .Move(3600, 4050, 825, 300)
  1452.       End With  'FOBUploadWizard.FtpLog.BtnCancel
  1453.       With .ImgGraphic
  1454.         .ZOrder := 5
  1455.         .Move(300, 300, 2250, 3150)
  1456.         .Picture := FOBUploadWizard.Bitmap
  1457.       End With  'FOBUploadWizard.FtpLog.ImgGraphic
  1458.       With .LblInstruction
  1459.         .Caption := "Here is the result log of your ftp submission."
  1460.         .ZOrder := 8
  1461.         .Move(2700, 225, 4275, 375)
  1462.       End With  'FOBUploadWizard.FtpLog.LblInstruction
  1463.       With .Frame1
  1464.         .ZOrder := 6
  1465.         .Move(75, 3825, 6975, 75)
  1466.       End With  'FOBUploadWizard.FtpLog.Frame1
  1467.     End With  'FOBUploadWizard.FtpLog
  1468.     With .ZipFile
  1469.       .Caption := "Free Objects Upload Wizard"
  1470.       .Move(5280, 4515, 7155, 4815)
  1471.       .DefaultButton := FOBUploadWizard.ZipFile.BtnNext
  1472.       .CancelButton := Nothing
  1473.       .wizard := FOBUploadWizard
  1474.       .NextStep := FOBUploadWizard.Email
  1475.       .BackStep := FOBUploadWizard.Content
  1476.       With .TextBox1
  1477.         .ZOrder := 4
  1478.         .Move(2700, 1200, 4200, 300)
  1479.       End With  'FOBUploadWizard.ZipFile.TextBox1
  1480.       With .BTNBrowse
  1481.         .Caption := "Browse..."
  1482.         .ZOrder := 3
  1483.         .Move(6000, 1650, 900, 300)
  1484.       End With  'FOBUploadWizard.ZipFile.BTNBrowse
  1485.       With .BTNAdd
  1486.         .Caption := "Add"
  1487.         .ZOrder := 2
  1488.         .Move(2700, 1650, 600, 300)
  1489.       End With  'FOBUploadWizard.ZipFile.BTNAdd
  1490.       With .BTNRemove
  1491.         .Caption := "Remove"
  1492.         .ZOrder := 1
  1493.         .Move(3450, 1650, 900, 300)
  1494.       End With  'FOBUploadWizard.ZipFile.BTNRemove
  1495.       With .BTNAddDir
  1496.         .Caption := "Add Whole Dir"
  1497.         .ZOrder := 1
  1498.         .Move(4500, 1650, 1350, 300)
  1499.       End With  'FOBUploadWizard.ZipFile.BTNAddDir
  1500.       With .ObjList
  1501.         .Caption := "ObjList"
  1502.         .ZOrder := 10
  1503.         .Move(2715, 2115, 4170, 1590)
  1504.       End With  'FOBUploadWizard.ZipFile.ObjList
  1505.       With .fileNav
  1506.         .Title := ""
  1507.         .DefaultExtension := ""
  1508.         .FileMustExist := True
  1509.         .FileName := ""
  1510.         .Filter := ""
  1511.       End With  'FOBUploadWizard.ZipFile.fileNav
  1512.       With .BtnFinish
  1513.         .ZOrder := 7
  1514.         .Move(6225, 4050, 825, 300)
  1515.       End With  'FOBUploadWizard.ZipFile.BtnFinish
  1516.       With .BtnNext
  1517.         .ZOrder := 6
  1518.         .Move(5325, 4050, 825, 300)
  1519.       End With  'FOBUploadWizard.ZipFile.BtnNext
  1520.       With .BtnBack
  1521.         .ZOrder := 5
  1522.         .Move(4500, 4050, 825, 300)
  1523.       End With  'FOBUploadWizard.ZipFile.BtnBack
  1524.       With .BtnCancel
  1525.         .ZOrder := 11
  1526.         .Move(3600, 4050, 825, 300)
  1527.       End With  'FOBUploadWizard.ZipFile.BtnCancel
  1528.       With .ImgGraphic
  1529.         .ZOrder := 12
  1530.         .Move(300, 300, 2250, 3150)
  1531.         .Picture := FOBUploadWizard.Bitmap
  1532.       End With  'FOBUploadWizard.ZipFile.ImgGraphic
  1533.       With .LblInstruction
  1534.         .Caption := "Enter the names of all the files related to your submission.  (Envelop Object files,  a Help file, a README.TXT file, and any other files your object needs)"
  1535.         .ZOrder := 9
  1536.         .Move(2700, 225, 4275, 825)
  1537.       End With  'FOBUploadWizard.ZipFile.LblInstruction
  1538.       With .Frame1
  1539.         .ZOrder := 8
  1540.         .Move(75, 3825, 6975, 75)
  1541.       End With  'FOBUploadWizard.ZipFile.Frame1
  1542.     End With  'FOBUploadWizard.ZipFile
  1543.     With .IntroPage
  1544.       .Caption := "Free Objects Upload Wizard"
  1545.       .Move(4380, 3150, 7155, 4815)
  1546.       .DefaultButton := FOBUploadWizard.IntroPage.BtnNext
  1547.       .CancelButton := FOBUploadWizard.IntroPage.BtnCancel
  1548.       .wizard := FOBUploadWizard
  1549.       .NextStep := FOBUploadWizard.UserInfo
  1550.       With .Label1
  1551.         .Caption := "You will be prompted for the following information:"
  1552.         .ZOrder := 6
  1553.         .Move(2700, 750, 4350, 300)
  1554.       End With  'FOBUploadWizard.IntroPage.Label1
  1555.       With .Label2
  1556.         .Caption := "1. Your username, password, and email address"
  1557.         .ZOrder := 5
  1558.         .Move(2700, 1200, 4350, 300)
  1559.       End With  'FOBUploadWizard.IntroPage.Label2
  1560.       With .Label3
  1561.         .Caption := "2. A single line brief description of your object"
  1562.         .ZOrder := 4
  1563.         .Move(2700, 1650, 4350, 300)
  1564.       End With  'FOBUploadWizard.IntroPage.Label3
  1565.       With .Label4
  1566.         .Caption := "3. Text that fully describes your object"
  1567.         .ZOrder := 3
  1568.         .Move(2700, 2100, 4350, 300)
  1569.       End With  'FOBUploadWizard.IntroPage.Label4
  1570.       With .Label5
  1571.         .Caption := "4. All files related to your submission"
  1572.         .ZOrder := 2
  1573.         .Move(2700, 2550, 4350, 300)
  1574.       End With  'FOBUploadWizard.IntroPage.Label5
  1575.       With .Label7
  1576.         .Caption := "The wizard will package up all of this information and you will be notified via email after it has been inspected."
  1577.         .ZOrder := 1
  1578.         .Move(2700, 3000, 4275, 600)
  1579.       End With  'FOBUploadWizard.IntroPage.Label7
  1580.       With .BtnFinish
  1581.         .Enabled := False
  1582.         .ZOrder := 13
  1583.         .Move(6225, 4050, 825, 300)
  1584.       End With  'FOBUploadWizard.IntroPage.BtnFinish
  1585.       With .BtnNext
  1586.         .ZOrder := 7
  1587.         .Move(5325, 4050, 825, 300)
  1588.       End With  'FOBUploadWizard.IntroPage.BtnNext
  1589.       With .BtnBack
  1590.         .Enabled := False
  1591.         .ZOrder := 8
  1592.         .Move(4500, 4050, 825, 300)
  1593.       End With  'FOBUploadWizard.IntroPage.BtnBack
  1594.       With .BtnCancel
  1595.         .ZOrder := 9
  1596.         .Move(3600, 4050, 825, 300)
  1597.       End With  'FOBUploadWizard.IntroPage.BtnCancel
  1598.       With .ImgGraphic
  1599.         .ZOrder := 10
  1600.         .Move(300, 300, 2250, 3150)
  1601.         .Picture := FOBUploadWizard.Bitmap
  1602.       End With  'FOBUploadWizard.IntroPage.ImgGraphic
  1603.       With .LblInstruction
  1604.         .Caption := "This is the Upload Wizard for Free Objects"
  1605.         .ZOrder := 11
  1606.         .Move(2700, 225, 4275, 375)
  1607.       End With  'FOBUploadWizard.IntroPage.LblInstruction
  1608.       With .Frame1
  1609.         .ZOrder := 12
  1610.         .Move(75, 3825, 6975, 75)
  1611.       End With  'FOBUploadWizard.IntroPage.Frame1
  1612.     End With  'FOBUploadWizard.IntroPage
  1613.     With .UserInfo
  1614.       .Caption := "Free Objects Upload Wizard"
  1615.       .Move(4380, 3150, 7155, 4815)
  1616.       .DefaultButton := FOBUploadWizard.UserInfo.BtnNext
  1617.       .CancelButton := FOBUploadWizard.UserInfo.BtnCancel
  1618.       .wizard := FOBUploadWizard
  1619.       .NextStep := FOBUploadWizard.Header
  1620.       .BackStep := FOBUploadWizard.IntroPage
  1621.       With .Label1
  1622.         .Caption := "User ID:"
  1623.         .ZOrder := 7
  1624.         .Move(2700, 900, 1050, 300)
  1625.       End With  'FOBUploadWizard.UserInfo.Label1
  1626.       With .txtUsername
  1627.         .ZOrder := 2
  1628.         .Move(3750, 900, 2850, 300)
  1629.       End With  'FOBUploadWizard.UserInfo.txtUsername
  1630.       With .Label2
  1631.         .Caption := "Label2"
  1632.         .ZOrder := 5
  1633.         .Move(2400, 1050, 30, 30)
  1634.       End With  'FOBUploadWizard.UserInfo.Label2
  1635.       With .Label3
  1636.         .Caption := "Password:"
  1637.         .ZOrder := 3
  1638.         .Move(2700, 1350, 1050, 300)
  1639.       End With  'FOBUploadWizard.UserInfo.Label3
  1640.       With .txtPassword
  1641.         .ZOrder := 4
  1642.         .Move(3750, 1350, 2850, 300)
  1643.         .WordWrap := False
  1644.         .MultiLine := False
  1645.       End With  'FOBUploadWizard.UserInfo.txtPassword
  1646.       With .Label4
  1647.         .Caption := "email:"
  1648.         .ZOrder := 1
  1649.         .Move(2700, 1800, 1050, 300)
  1650.       End With  'FOBUploadWizard.UserInfo.Label4
  1651.       With .txtEmail
  1652.         .ZOrder := 6
  1653.         .Move(3750, 1800, 2850, 300)
  1654.       End With  'FOBUploadWizard.UserInfo.txtEmail
  1655.       With .BtnFinish
  1656.         .Enabled := False
  1657.         .ZOrder := 10
  1658.         .Move(6225, 4050, 825, 300)
  1659.       End With  'FOBUploadWizard.UserInfo.BtnFinish
  1660.       With .BtnNext
  1661.         .ZOrder := 8
  1662.         .Move(5325, 4050, 825, 300)
  1663.       End With  'FOBUploadWizard.UserInfo.BtnNext
  1664.       With .BtnBack
  1665.         .ZOrder := 9
  1666.         .Move(4500, 4050, 825, 300)
  1667.       End With  'FOBUploadWizard.UserInfo.BtnBack
  1668.       With .BtnCancel
  1669.         .ZOrder := 11
  1670.         .Move(3600, 4050, 825, 300)
  1671.       End With  'FOBUploadWizard.UserInfo.BtnCancel
  1672.       With .ImgGraphic
  1673.         .ZOrder := 12
  1674.         .Move(300, 300, 2250, 3150)
  1675.         .Picture := FOBUploadWizard.Bitmap
  1676.       End With  'FOBUploadWizard.UserInfo.ImgGraphic
  1677.       With .LblInstruction
  1678.         .Caption := "Enter your Enveloper Corps user ID and password and your email address."
  1679.         .ZOrder := 13
  1680.         .Move(2700, 225, 4275, 525)
  1681.       End With  'FOBUploadWizard.UserInfo.LblInstruction
  1682.       With .Frame1
  1683.         .ZOrder := 14
  1684.         .Move(75, 3825, 6975, 75)
  1685.       End With  'FOBUploadWizard.UserInfo.Frame1
  1686.     End With  'FOBUploadWizard.UserInfo
  1687.     With .Archive
  1688.     End With  'FOBUploadWizard.Archive
  1689.     With .TransferActive
  1690.     End With  'FOBUploadWizard.TransferActive
  1691.     With .TransferPassive
  1692.     End With  'FOBUploadWizard.TransferPassive
  1693.     With .Bitmap
  1694.       .LoadType := "MemoryBased"
  1695.       .FileName := "upldpkg.ero"
  1696.       .ResId := 5408
  1697.     End With  'FOBUploadWizard.Bitmap
  1698.   End With  'FOBUploadWizard
  1699. ' Reconstruction commands for object: UploadPackage
  1700. '
  1701.   With UploadPackage
  1702.   End With  'UploadPackage
  1703. ' Reconstruction commands for object: MemPageUploadWizard
  1704. '
  1705.   With MemPageUploadWizard
  1706.     .title_ := "Member Homepage Upload Wizard"
  1707.     .Title := "Member Homepage Upload Wizard"
  1708.     .GraphicFileName := "upldpkg.ero"
  1709.     .FirstStep := MemPageUploadWizard.IntroPage
  1710.     .LastStep := MemPageUploadWizard.FtpLog
  1711.     .Active := False
  1712.     With .Email
  1713.       .Caption := "Member Homepage Upload Wizard"
  1714.       .Move(2940, 2265, 7155, 4815)
  1715.       .DefaultButton := MemPageUploadWizard.Email.BtnNext
  1716.       .CancelButton := Nothing
  1717.       .wizard := MemPageUploadWizard
  1718.       .NextStep := MemPageUploadWizard.FtpLog
  1719.       .BackStep := MemPageUploadWizard.TarFiles
  1720.       With .BtnFinish
  1721.         .ZOrder := 2
  1722.         .Move(6225, 4050, 825, 300)
  1723.       End With  'MemPageUploadWizard.Email.BtnFinish
  1724.       With .BtnNext
  1725.         .ZOrder := 5
  1726.         .Move(5325, 4050, 825, 300)
  1727.       End With  'MemPageUploadWizard.Email.BtnNext
  1728.       With .BtnBack
  1729.         .ZOrder := 1
  1730.         .Move(4500, 4050, 825, 300)
  1731.       End With  'MemPageUploadWizard.Email.BtnBack
  1732.       With .BtnCancel
  1733.         .ZOrder := 6
  1734.         .Move(3600, 4050, 825, 300)
  1735.       End With  'MemPageUploadWizard.Email.BtnCancel
  1736.       With .ImgGraphic
  1737.         .ZOrder := 1
  1738.         .Move(225, 225, 2250, 3150)
  1739.         .Picture := MemPageUploadWizard.Bitmap
  1740.       End With  'MemPageUploadWizard.Email.ImgGraphic
  1741.       With .LblInstruction
  1742.         .Caption := "You are now ready to do the upload. Click 'Next' if you are connected to the Internet. The wizard will package up all of the information and send it to the Envelop web server."
  1743.         .ZOrder := 4
  1744.         .Move(2700, 225, 4275, 825)
  1745.       End With  'MemPageUploadWizard.Email.LblInstruction
  1746.       With .Frame1
  1747.         .ZOrder := 3
  1748.         .Move(75, 3825, 6975, 75)
  1749.       End With  'MemPageUploadWizard.Email.Frame1
  1750.     End With  'MemPageUploadWizard.Email
  1751.     With .FtpLog
  1752.       .Caption := "Member Homepage Upload Wizard"
  1753.       .Move(2940, 2265, 7155, 4815)
  1754.       .DefaultButton := Nothing
  1755.       .CancelButton := Nothing
  1756.       .wizard := MemPageUploadWizard
  1757.       .BackStep := MemPageUploadWizard.Email
  1758.       With .TextBox1
  1759.         .ZOrder := 8
  1760.         .Move(2700, 750, 4200, 3000)
  1761.         .WordWrap := True
  1762.         .MultiLine := True
  1763.         .ScrollBars := "Vertical"
  1764.       End With  'MemPageUploadWizard.FtpLog.TextBox1
  1765.       With .BtnFinish
  1766.         .ZOrder := 2
  1767.         .Move(6225, 4050, 825, 300)
  1768.       End With  'MemPageUploadWizard.FtpLog.BtnFinish
  1769.       With .BtnNext
  1770.         .Enabled := False
  1771.         .ZOrder := 5
  1772.         .Move(5325, 4050, 825, 300)
  1773.       End With  'MemPageUploadWizard.FtpLog.BtnNext
  1774.       With .BtnBack
  1775.         .ZOrder := 1
  1776.         .Move(4500, 4050, 825, 300)
  1777.       End With  'MemPageUploadWizard.FtpLog.BtnBack
  1778.       With .BtnCancel
  1779.         .Enabled := False
  1780.         .ZOrder := 6
  1781.         .Move(3600, 4050, 825, 300)
  1782.       End With  'MemPageUploadWizard.FtpLog.BtnCancel
  1783.       With .ImgGraphic
  1784.         .ZOrder := 1
  1785.         .Move(225, 225, 2250, 3150)
  1786.         .Picture := MemPageUploadWizard.Bitmap
  1787.       End With  'MemPageUploadWizard.FtpLog.ImgGraphic
  1788.       With .LblInstruction
  1789.         .Caption := "Here is the result log of your ftp submission."
  1790.         .ZOrder := 4
  1791.         .Move(2700, 300, 4275, 375)
  1792.       End With  'MemPageUploadWizard.FtpLog.LblInstruction
  1793.       With .Frame1
  1794.         .ZOrder := 3
  1795.         .Move(75, 3825, 6975, 75)
  1796.       End With  'MemPageUploadWizard.FtpLog.Frame1
  1797.     End With  'MemPageUploadWizard.FtpLog
  1798.     With .TarFiles
  1799.       .Caption := "Member Homepage Upload Wizard"
  1800.       .Move(2940, 2265, 7155, 4815)
  1801.       .DefaultButton := Nothing
  1802.       .CancelButton := Nothing
  1803.       .wizard := MemPageUploadWizard
  1804.       .NextStep := MemPageUploadWizard.Email
  1805.       .BackStep := MemPageUploadWizard.UserInfo
  1806.       With .TextBox1
  1807.         .ZOrder := 5
  1808.         .Move(2700, 975, 4200, 450)
  1809.       End With  'MemPageUploadWizard.TarFiles.TextBox1
  1810.       With .FileList
  1811.         .Caption := "FileList"
  1812.         .ZOrder := 4
  1813.         .Move(2715, 1965, 4170, 1785)
  1814.       End With  'MemPageUploadWizard.TarFiles.FileList
  1815.       With .AddFile
  1816.         .Caption := "Add"
  1817.         .ZOrder := 3
  1818.         .Move(2700, 1500, 600, 300)
  1819.       End With  'MemPageUploadWizard.TarFiles.AddFile
  1820.       With .RemoveFile
  1821.         .Caption := "Remove"
  1822.         .ZOrder := 2
  1823.         .Move(3450, 1500, 900, 300)
  1824.       End With  'MemPageUploadWizard.TarFiles.RemoveFile
  1825.       With .BTNAddDir
  1826.         .Caption := "Add Whole Dir"
  1827.         .ZOrder := 1
  1828.         .Move(4500, 1500, 1350, 300)
  1829.       End With  'MemPageUploadWizard.TarFiles.BTNAddDir
  1830.       With .BTNBrowse
  1831.         .Caption := "Browse..."
  1832.         .ZOrder := 1
  1833.         .Move(6000, 1500, 900, 300)
  1834.       End With  'MemPageUploadWizard.TarFiles.BTNBrowse
  1835.       With .fileNav
  1836.         .Title := ""
  1837.         .DefaultExtension := ""
  1838.         .FileMustExist := True
  1839.         .FileName := ""
  1840.         .Filter := ""
  1841.       End With  'MemPageUploadWizard.TarFiles.fileNav
  1842.       With .BtnFinish
  1843.         .ZOrder := 9
  1844.         .Move(6225, 4050, 825, 300)
  1845.       End With  'MemPageUploadWizard.TarFiles.BtnFinish
  1846.       With .BtnNext
  1847.         .ZOrder := 8
  1848.         .Move(5325, 4050, 825, 300)
  1849.       End With  'MemPageUploadWizard.TarFiles.BtnNext
  1850.       With .BtnBack
  1851.         .ZOrder := 7
  1852.         .Move(4500, 4050, 825, 300)
  1853.       End With  'MemPageUploadWizard.TarFiles.BtnBack
  1854.       With .BtnCancel
  1855.         .ZOrder := 6
  1856.         .Move(3600, 4050, 825, 300)
  1857.       End With  'MemPageUploadWizard.TarFiles.BtnCancel
  1858.       With .ImgGraphic
  1859.         .ZOrder := 12
  1860.         .Move(225, 225, 2250, 3150)
  1861.         .Picture := MemPageUploadWizard.Bitmap
  1862.       End With  'MemPageUploadWizard.TarFiles.ImgGraphic
  1863.       With .LblInstruction
  1864.         .Caption := "Enter the HTML source file for you homepage as well as any support files.  Your homepage must be named index.htm."
  1865.         .ZOrder := 11
  1866.         .Move(2700, 300, 4275, 600)
  1867.       End With  'MemPageUploadWizard.TarFiles.LblInstruction
  1868.       With .Frame1
  1869.         .ZOrder := 10
  1870.         .Move(75, 3825, 6975, 75)
  1871.       End With  'MemPageUploadWizard.TarFiles.Frame1
  1872.     End With  'MemPageUploadWizard.TarFiles
  1873.     With .IntroPage
  1874.       .Caption := "Member Homepage Upload Wizard"
  1875.       .Move(2940, 2265, 7155, 4815)
  1876.       .DefaultButton := MemPageUploadWizard.IntroPage.BtnNext
  1877.       .CancelButton := Nothing
  1878.       .wizard := MemPageUploadWizard
  1879.       .NextStep := MemPageUploadWizard.UserInfo
  1880.       With .Label1
  1881.         .Caption := "You will be prompted for the following information:"
  1882.         .ZOrder := 4
  1883.         .Move(2700, 750, 4200, 450)
  1884.       End With  'MemPageUploadWizard.IntroPage.Label1
  1885.       With .Label2
  1886.         .Caption := "1. Your username, password, and email address"
  1887.         .ZOrder := 3
  1888.         .Move(2700, 1650, 4200, 300)
  1889.       End With  'MemPageUploadWizard.IntroPage.Label2
  1890.       With .Label3
  1891.         .Caption := "2. The HTML source text for your homepage, which must be named index.html,  and any support files that it may need."
  1892.         .ZOrder := 2
  1893.         .Move(2700, 2100, 4050, 600)
  1894.       End With  'MemPageUploadWizard.IntroPage.Label3
  1895.       With .Label5
  1896.         .Caption := "The wizard will then package all of this information and send it to the Envelop web server.  You will be notified via email after it has been inspected."
  1897.         .ZOrder := 1
  1898.         .Move(2700, 3000, 4200, 900)
  1899.       End With  'MemPageUploadWizard.IntroPage.Label5
  1900.       With .BtnFinish
  1901.         .Enabled := False
  1902.         .ZOrder := 5
  1903.         .Move(6225, 4050, 825, 300)
  1904.       End With  'MemPageUploadWizard.IntroPage.BtnFinish
  1905.       With .BtnNext
  1906.         .ZOrder := 10
  1907.         .Move(5325, 4050, 825, 300)
  1908.       End With  'MemPageUploadWizard.IntroPage.BtnNext
  1909.       With .BtnBack
  1910.         .Enabled := False
  1911.         .ZOrder := 6
  1912.         .Move(4500, 4050, 825, 300)
  1913.       End With  'MemPageUploadWizard.IntroPage.BtnBack
  1914.       With .BtnCancel
  1915.         .ZOrder := 7
  1916.         .Move(3600, 4050, 825, 300)
  1917.       End With  'MemPageUploadWizard.IntroPage.BtnCancel
  1918.       With .ImgGraphic
  1919.         .ZOrder := 8
  1920.         .Move(225, 225, 2250, 3150)
  1921.         .Picture := MemPageUploadWizard.Bitmap
  1922.       End With  'MemPageUploadWizard.IntroPage.ImgGraphic
  1923.       With .LblInstruction
  1924.         .Caption := "This is the Upload Wizard for Member Homepages"
  1925.         .ZOrder := 9
  1926.         .Move(2700, 225, 4275, 375)
  1927.         .Alignment := "Center"
  1928.       End With  'MemPageUploadWizard.IntroPage.LblInstruction
  1929.       With .Frame1
  1930.         .ZOrder := 11
  1931.         .Move(75, 3825, 6975, 75)
  1932.       End With  'MemPageUploadWizard.IntroPage.Frame1
  1933.     End With  'MemPageUploadWizard.IntroPage
  1934.     With .UserInfo
  1935.       .Caption := "Member Homepage Upload Wizard"
  1936.       .Move(2940, 2265, 7155, 4815)
  1937.       .DefaultButton := MemPageUploadWizard.UserInfo.BtnNext
  1938.       .CancelButton := Nothing
  1939.       .wizard := MemPageUploadWizard
  1940.       .NextStep := MemPageUploadWizard.TarFiles
  1941.       .BackStep := MemPageUploadWizard.IntroPage
  1942.       With .Label1
  1943.         .Caption := "User ID:"
  1944.         .ZOrder := 9
  1945.         .Move(2700, 900, 1050, 300)
  1946.       End With  'MemPageUploadWizard.UserInfo.Label1
  1947.       With .Label2
  1948.         .Caption := "Password:"
  1949.         .ZOrder := 8
  1950.         .Move(2700, 1350, 1050, 300)
  1951.       End With  'MemPageUploadWizard.UserInfo.Label2
  1952.       With .Label3
  1953.         .Caption := "email:"
  1954.         .ZOrder := 7
  1955.         .Move(2700, 1800, 1050, 300)
  1956.       End With  'MemPageUploadWizard.UserInfo.Label3
  1957.       With .txtUsername
  1958.         .ZOrder := 1
  1959.         .Move(3750, 900, 2700, 300)
  1960.       End With  'MemPageUploadWizard.UserInfo.txtUsername
  1961.       With .txtEmail
  1962.         .ZOrder := 3
  1963.         .Move(3750, 1800, 2700, 300)
  1964.       End With  'MemPageUploadWizard.UserInfo.txtEmail
  1965.       With .txtPassword
  1966.         .ZOrder := 2
  1967.         .Move(3750, 1350, 2700, 300)
  1968.         .WordWrap := False
  1969.         .MultiLine := False
  1970.       End With  'MemPageUploadWizard.UserInfo.txtPassword
  1971.       With .BtnFinish
  1972.         .Enabled := False
  1973.         .ZOrder := 10
  1974.         .Move(6225, 4050, 825, 300)
  1975.       End With  'MemPageUploadWizard.UserInfo.BtnFinish
  1976.       With .BtnNext
  1977.         .ZOrder := 4
  1978.         .Move(5325, 4050, 825, 300)
  1979.       End With  'MemPageUploadWizard.UserInfo.BtnNext
  1980.       With .BtnBack
  1981.         .ZOrder := 5
  1982.         .Move(4500, 4050, 825, 300)
  1983.       End With  'MemPageUploadWizard.UserInfo.BtnBack
  1984.       With .BtnCancel
  1985.         .ZOrder := 6
  1986.         .Move(3600, 4050, 825, 300)
  1987.       End With  'MemPageUploadWizard.UserInfo.BtnCancel
  1988.       With .ImgGraphic
  1989.         .ZOrder := 11
  1990.         .Move(225, 225, 2250, 3150)
  1991.         .Picture := MemPageUploadWizard.Bitmap
  1992.       End With  'MemPageUploadWizard.UserInfo.ImgGraphic
  1993.       With .LblInstruction
  1994.         .Caption := "Enter your Enveloper Corps user ID and password and your email address"
  1995.         .ZOrder := 12
  1996.         .Move(2700, 225, 4275, 525)
  1997.       End With  'MemPageUploadWizard.UserInfo.LblInstruction
  1998.       With .Frame1
  1999.         .ZOrder := 13
  2000.         .Move(75, 3825, 6975, 75)
  2001.       End With  'MemPageUploadWizard.UserInfo.Frame1
  2002.     End With  'MemPageUploadWizard.UserInfo
  2003.     With .Archive
  2004.     End With  'MemPageUploadWizard.Archive
  2005.     With .TransferActive
  2006.     End With  'MemPageUploadWizard.TransferActive
  2007.     With .TransferPassive
  2008.     End With  'MemPageUploadWizard.TransferPassive
  2009.     With .Bitmap
  2010.       .LoadType := "MemoryBased"
  2011.       .FileName := "upldpkg.ero"
  2012.       .ResId := 8112
  2013.     End With  'MemPageUploadWizard.Bitmap
  2014.   End With  'MemPageUploadWizard
  2015. End Code
  2016.