home *** CD-ROM | disk | FTP | other *** search
/ Pegasus 5 / Pegasus_Vol_5_CD2.iso / lotus / lotus014.dsk / HPGALATM.LSS next >
Text File  |  1995-06-30  |  4KB  |  141 lines

  1. '**********************************************************************
  2. '
  3. ' HPGALATM.LSS
  4. '
  5. ' This script automates the import of a series of HP Gallery files
  6. ' into Freelance.
  7. '
  8. ' The script prompts the user for the name of an ascii text file
  9. ' containing a list of the file names to be imported.  This text 
  10. ' file must have been created before the script is run, and should
  11. ' contain one file name per line, including the full path where each
  12. ' file is located.
  13. '
  14. ' Example input file:
  15. '
  16. ' c:\lotus\work\flw\myfile.gal
  17. ' c:\lotus\work\flw\myfile2.gal
  18. ' ...etc.
  19. '
  20. ' A new page is created for each file imported, and the page name is
  21. ' set to the name of the file imported to that page.
  22. '
  23. '**********************************************************************
  24.  
  25.  
  26. %INCLUDE "LSERR.LSS"    'constants for error condition trapping
  27.  
  28. ' Declares...
  29.  
  30. DIM TextFile AS STRING
  31. DIM Length AS INTEGER
  32. DIM DlgText(12) AS STRING
  33. DIM Nameray(1 to 100) AS STRING * 1
  34. DIM Count AS INTEGER
  35. DIM OneLine AS STRING
  36. DIM PageName AS STRING
  37. DIM FileNmbr AS INTEGER
  38. DIM DlgNum AS INTEGER
  39. DIM PathCmp AS INTEGER
  40.  
  41.  
  42. ' Defines...
  43. ' the following strings are used in dialog box(es)
  44.  
  45. DlgText(1) = "Please Type in the name of the textfile containing the names" _
  46.             + " of the Gallery files to be imported into Freelance."
  47. DlgText(2) = "TEXT FILE NAME"
  48. DlgText(3) = "*.txt, *.hpg"
  49. DlgText(4) = "That file name and/or path was not found. " + DlgText(1)
  50. DlgText(8) = "ERROR - PATH AND/OR FILENAME NOT FOUND"
  51. DlgText(12) = DlgText(3)
  52. DlgNum = 1
  53.  
  54.  
  55. '*
  56. '* SUB AskUser (FileName AS STRING, FNumber AS INTEGER)
  57. '*
  58. '* The following subprogram prompts the user for the name of a text file
  59. '* containing the names of all the GALLERY files that will be
  60. '* imported. If the text file entered cannot be opened, the user is
  61. '* prompted for the file name again.
  62. '*
  63.  
  64. SUB AskUser (FileName AS STRING, FNumber AS INTEGER)
  65.    GetFname:
  66.  
  67.    ' This is the actual command line for the dialogbox. Instead of plain
  68.    ' strings, variable arguments were used so that the dialog would be
  69.    ' different depending on the stage of the program.
  70.  
  71.    TextFile = INPUTBOX$(DlgText(DlgNum), DlgText(DlgNum*2), DlgText(DlgNum*3))
  72.    IF TextFile = "" THEN    ' user pressed cancel
  73.       EXIT SUB
  74.    ELSE
  75.       ON ERROR ErrOpenFailed GOTO ErrorDialog
  76.       OPEN FileName FOR INPUT AS FNumber LEN = 512
  77.       EXIT SUB
  78.    END IF
  79.  
  80.    ErrorDialog:
  81.       DlgNum = 4
  82.       RESUME GetFname
  83. END SUB
  84.  
  85.  
  86. '*
  87. '*
  88. '* Main program...
  89. '*
  90. '*
  91.  
  92.  
  93. FileNmbr = FREEFILE()        'get an unused file number
  94. AskUser TextFile, FileNmbr    'prompt for input file name
  95.  
  96. IF TextFile <> "" THEN        'if user didn't press cancel...
  97.  
  98.    'Process the file....
  99.  
  100.    WHILE Not EOF (FileNmbr)  'while not at end of file
  101.  
  102.       LINE INPUT #FileNmbr, OneLine  'get next line from file
  103.       Length = LEN(OneLine)
  104.  
  105.       IF Length > 0 THEN  'if the line isn't blank
  106.  
  107.          'Move the string to an array...
  108.          FOR Count = 1 to Length
  109.             Nameray(Count) = MID$ (OneLine, Count, 1)
  110.          NEXT
  111.    
  112.  
  113.          ' Then get just the file name from the full path\name
  114.          ' for use as the page name...
  115.    
  116.          PageName = ""    'init pagename to empty
  117.          PathCmp = 1    'init PathCmp to be non-zero
  118.          WHILE (Length > 0) And (PathCmp <> 0)
  119.             PathCmp = STRCOMPARE(Nameray(Length), "\", 1)
  120.             IF PathCmp <> 0 THEN
  121.                PageName = Nameray(Length) + PageName
  122.             END IF
  123.             Length = Length -1
  124.          WEND
  125.  
  126.  
  127.          ' create a new page...
  128.          set NewPg = [CurrentDocument].CreatePage( PageName , 0 )
  129.  
  130.          ' and import the file...
  131.          [CurrentDocument].Import( OneLine )
  132.  
  133.       END IF
  134.  
  135.    WEND
  136.  
  137. END IF
  138.  
  139. CLOSE #FileNmbr    'release the file number
  140.  
  141.