home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 4 / AACD04.ISO / AACD / Programming / CanDo / Decks1 / EZ-UU / VORTEX.B.deck.ctx < prev    next >
Encoding:
Text File  |  1998-08-22  |  68.1 KB  |  2,789 lines

  1. *************
  2. * Deck "VORTEX.B.deck"
  3. *************
  4.  
  5. *************
  6. * Card(s) in deck.
  7. *  Card "EZ-UU"
  8. *************
  9. * 1 Card(s), 1 were printed.
  10. *************
  11.  
  12. *************
  13. * Natural order of Cards
  14. *  Card "EZ-UU"
  15. *************
  16.  
  17. *************
  18. * Global Routine(s) in deck.
  19. *  Routine "ACTION"
  20. *  Routine "CFG"
  21. *  Routine "DECODE"
  22. *  Routine "DOSdoc"
  23. *  Routine "DOSit"
  24. *  Routine "DOSset"
  25. *  Routine "DROP"
  26. *  Routine "ENCODE"
  27. *  Routine "ENCsubs"
  28. *  Routine "GetDirs"
  29. *  Routine "GetDisks"
  30. *  Routine "GetEXT"
  31. *  Routine "GetRoot"
  32. *  Routine "GETsplitz"
  33. *  Routine "INSTaction"
  34. *  Routine "JOIN"
  35. *  Routine "LOADlog"
  36. *  Routine "SAVElog"
  37. *  Routine "SCREEN"
  38. *  Routine "Selective"
  39. *  Routine "SPLIT"
  40. *  Routine "STATUS"
  41. *  Routine "TEMPlist"
  42. *************
  43. * 23 Global routines(s), 23 were printed.
  44. *************
  45.  
  46. *************
  47. * Card "EZ-UU"
  48.     BeforeAttachment
  49.         If EXISTS(TheOriginDirectory||"Vortex.cfg")
  50.             Let CFG = LoadVariable(TheOriginDirectory||"Vortex.cfg")
  51.         ElseIf NOT Exists(TheOriginDirectory||"Vortex.cfg")
  52.             Do "CFG"
  53.         EndIf
  54.     EndScript
  55.     AfterAttachment
  56.         Let NUM = 0
  57.         Let MODE = 1
  58.         Let TEMP = CFG[12].TEMP
  59.         Do "SCREEN",MODE
  60.         SetAutoFileRequester FALSE
  61.         Let TITLE = "VORTEX v1.0 ©1997 Joey McDonald"
  62.     EndScript
  63.     MessageFromSubDeck
  64.         If ARG1 = "PATH&FILE"
  65.             Let INFILE = ARG2
  66.             Let LASTDIR2 = ARG3
  67.             If ARG4 <> ""
  68.                 Let WhichField = ARG4
  69.                 SetText WhichField,INFILE
  70.             EndIf
  71.             If ARG5 <> ""
  72.                 Do ARG5
  73.             EndIf
  74.             ExitScript
  75.         EndIf
  76.         If ARG1 = "PATH"
  77.             Let INFILE = ARG2
  78.             Let LASTDIR1 = ARG3
  79.             If ARG4 <> ""
  80.                 Let WhichField = ARG4
  81.                 SetText Whichfield,INFILE
  82.             EndIf
  83.             If ARG5 <> ""
  84.                 Do ARG5
  85.             EndIf
  86.             ExitScript
  87.         EndIf
  88.         If ARG1 = "BATCH"
  89.             Let INFILE = ARG2
  90.             Let LASTDIR3 = ARG3
  91.             WorkWithDocument "listdoc"
  92.             PositionOnLine 1
  93.             If THELINE <> ""
  94.                 MoveCursorTo ENDOF DOCUMENT 
  95.             EndIf
  96.             Type INFILE,NEWLINE 
  97.             ExitScript
  98.         EndIf
  99.         If ARG1 = "BATCH-ALL"
  100.             Let INFILE = ARG2
  101.             Let LASTDIR3 = ARG3
  102.             WorkWithDocument "listdoc"
  103.             PositionOnLine 1
  104.             If THELINE <> ""
  105.                 MoveCursorTo ENDOF DOCUMENT 
  106.             EndIf
  107.             Type INFILE,NEWLINE 
  108.             MoveCursor UP ,1
  109.             If THELINE = ""
  110.                 Delete LINE 
  111.             EndIf
  112.             ExitScript
  113.         EndIf
  114.         If Arg1 = "QUIT"
  115.             FlushAll
  116.             Quit
  117.             ExitScript
  118.         EndIf
  119.         If ARG1 = "YES-NO"
  120.             SendToSubDeck "FLOP","QUIT"
  121.             If ARG2 = "SPLIT3"
  122.                 Do "SPLIT","SPLIT4"
  123.                 ExitScript
  124.             ElseIf ARG2 = "STOP"
  125.                 Do "STATUS","STOP"
  126.                 ExitScript
  127.             EndIf
  128.         EndIf
  129.         If ARG1 = "DROPTIONS"
  130.             Let CFG[VAR] = ARG2
  131.             If ARG3 = "SAVE"
  132.                 SaveVariable CFG,TheOriginDirectory||"Vortex.cfg"
  133.             EndIf
  134.             ExitScript
  135.         EndIf
  136.         If ARG1 = "OPS"
  137.             Let CFG[MODE] = ARG2
  138.             If ARG3 = "SAVE"
  139.                 SaveVariable CFG,TheOriginDirectory||"Vortex.cfg"
  140.             EndIf
  141.             ExitScript
  142.         EndIf
  143.         If ARG1 = "IACT"
  144.             Let CFG[11] = ARG2
  145.             If ARG3 = "SAVE"
  146.                 SaveVariable CFG,TheOriginDirectory||"Vortex.cfg"
  147.             EndIf
  148.             ExitScript
  149.         EndIf
  150.         If ARG1 = "INSTANT"
  151.             Do "STATUS","START"
  152.             Do "INSTaction",ARG2,ARG3,ARG4,ARG5
  153.             Do "STATUS","STOP"
  154.             ExitScript
  155.         EndIf
  156.         If ARG1 = "TEMP"
  157.             Let CFG[12].TEMP = ARG2
  158.             Let TEMP = CFG[12].TEMP
  159.             If ARG3 = "SAVE"
  160.                 SaveVariable CFG,TheOriginDirectory||"Vortex.cfg"
  161.             EndIf
  162.         EndIf
  163.     EndScript
  164.     Window "UserWindow"
  165.         Definition
  166.             Origin 125,16
  167.             Size 320,115
  168.             Title "VORTEX v1.0 ©1997 Joey McDonald"
  169.             NumberOfColors 4
  170.             DefaultColors 0,1,0
  171.             WindowObjects CLOSEBUTTON DEPTHBUTTONS DRAGBAR 
  172.             WindowFlags ACTIVATE TOFRONT WORKBENCH 
  173.             VisualEffects NONE ,WAIT 
  174.         EndScript
  175.         OnCloseButton
  176.             LoadSubDeck "DTP:EZ-UU/FREQ.sub","FREQ"
  177.             OpenRequester "FREQ","QUIT","        V O R T E X         "
  178.         EndScript
  179.         OnAppEvent
  180.             Let DROPPED = ARG1
  181.             Let VAR = MODE + 1
  182.             If Objectstate("QUICKview") = TRUE
  183.                 SetObjectState "QUICKview",FALSE
  184.                 MakeDocument "Listdoc"
  185.                 Type FULLTEXT
  186.                 PositionOnLine 1
  187.             EndIf
  188.             SetWindowTitle "Busy.... scanning files"
  189.             Do "DROP",DROPPED
  190.             SetWindowTitle TITLE
  191.             If CFG[VAR].DROPgo <> TRUE
  192.                 ExitScript
  193.             ElseIf CFG[VAR].DROPgo = TRUE
  194.                 WorkWithDocument "listdoc"
  195.                 PositionOnLine 1
  196.                 If ThelIne = ""
  197.                     ExitScript
  198.                 EndIf
  199.             EndIf
  200.             Do "STATUS","START"
  201.             If MODE = 1
  202.                 Do "ENCODE","PRE"
  203.             ElseIf MODE = 3
  204.                 Do "DECODE","PRE"
  205.             ElseIf MODE = 5
  206.                 Do "SPLIT","PRE"
  207.             ElseIf MODE = 7
  208.                 Do "JOIN","PRE"
  209.             ElseIf MODE = 9
  210.                 Do "ACTION","PRE"
  211.             EndIf
  212.             Do "STATUS","STOP"
  213.         EndScript
  214.     EndObject
  215.     Memo "List"
  216.         Definition
  217.             Origin 10,14
  218.             Size 301,67
  219.             Font "topaz",8 ; FontName, PointSize
  220.             Style PLAIN ,2,3
  221.             TextColors 1,0,JAM2  ; PenA, PenB, DrawMode
  222.             Border DOUBLEBEVEL ,1,2 ; BorderStyle, MainPen, ExtraPen
  223.             MemoDocument "Listdoc" ; where the text comes from
  224.             ScrollBars RIGHT 
  225.             InputStyle NORMAL 
  226.         EndScript
  227.         OnDoubleClick
  228.             If Objectstate("QuickView") = TRUE
  229.                 WorkWithDocument "Listdoc"
  230.                 If TheLIne <> ""
  231.                     Let LineNUM = TheLineNumber
  232.                     Delete LINE 
  233.                     WorkWithDocument "TEMPlistdoc"
  234.                     PositionOnLine LineNUM
  235.                     Delete LINE 
  236.                 EndIf
  237.             EndIf
  238.             If Objectstate("QuickView") = FALSE
  239.                 WorkWithDocument "listdoc"
  240.                 If Theline <> ""
  241.                     Delete LINE 
  242.                 Else
  243.                 EndIf
  244.             EndIf
  245.         EndScript
  246.     EndObject
  247.     AreaButton "MODE"
  248.         Definition
  249.             Origin 7,84
  250.             Size 86,13
  251.             Border ROLLO ,2,1 ; BorderStyle, MainPen, ExtraPen
  252.             Highlight COMPLEMENT 
  253.             ButtonFlags NONE 
  254.         EndScript
  255.         OnRelease
  256.             If Objectstate("FIELD") = FALSE
  257.                 Let CFG[0,MODE] = Textfrom("DESTfield")
  258.             EndIf
  259.             Nop;
  260.             Let MODE = MODE + 2
  261.             Do "SCREEN",MODE
  262.             Nop;
  263.             If Objectstate("FIELD") = TRUE
  264.                 ExitScript
  265.             EndIf
  266.             If VarType(CFG[0,MODE]) <> "Nothing"
  267.                 SetText "DESTfield",CFG[0,MODE]
  268.             Else
  269.                 SetText "DESTfield","Destination_Field"
  270.             EndIf
  271.         EndScript
  272.     EndObject
  273.     TextField "DESTfield"
  274.         Definition
  275.             Origin 36,101
  276.             Size 222,8
  277.             Justification LEFT 
  278.             MaxFieldLength 256
  279.             InitialText "Destination_Field"
  280.             Border DOUBLEBEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  281.         EndScript
  282.     EndObject
  283.     TextButton "destFREQ"
  284.         Definition
  285.             Origin 7,99
  286.             Font "topaz",8 ; FontName, PointSize
  287.             Style OUTLINE ,1,3
  288.             TextColors 2,0,JAM1  ; PenA, PenB, DrawMode
  289.             Text "?>"
  290.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  291.             Highlight COMPLEMENT 
  292.             ButtonFlags NONE 
  293.         EndScript
  294.         OnRelease
  295.             LoadSubDeck "DTP:EZ-UU/FREQ.sub","FREQ"
  296.             OpenRequester "FREQ","REQ","PATH",LASTDIR1,">? PATH...","DESTfield"
  297.         EndScript
  298.     EndObject
  299.     TextButton "CLR"
  300.         Definition
  301.             Origin 233,86
  302.             Font "topaz",8 ; FontName, PointSize
  303.             Style PLAIN ,2,3
  304.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  305.             Text "CLR"
  306.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  307.             Highlight COMPLEMENT 
  308.             ButtonFlags NONE 
  309.         EndScript
  310.         OnRelease
  311.             WorkWithDocument "listdoc"
  312.             Clear DOCUMENT 
  313.             If ObjectState("QuickView") = TRUE
  314.                 WorkWithDocument "TEMPlistdoc"
  315.                 Clear DOCUMENT 
  316.             EndIf
  317.         EndScript
  318.     EndObject
  319.     TextButton "LOG"
  320.         Definition
  321.             Origin 186,86
  322.             Font "topaz",8 ; FontName, PointSize
  323.             Style PLAIN ,2,3
  324.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  325.             Text "LOG"
  326.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  327.             Highlight COMPLEMENT 
  328.             ButtonFlags NONE 
  329.         EndScript
  330.         OnClick
  331.             LoadSubDeck "DTP:EZ-UU/FREQ.sub","FREQ"
  332.             OpenRequester "FREQ","LOG"
  333.         EndScript
  334.     EndObject
  335.     TextButton "OPS"
  336.         Definition
  337.             Origin 96,86
  338.             Font "topaz",8 ; FontName, PointSize
  339.             Style PLAIN ,2,3
  340.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  341.             Text "OPS"
  342.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  343.             Highlight COMPLEMENT 
  344.             ButtonFlags NONE 
  345.         EndScript
  346.         OnRelease
  347.             LoadSubDeck "DTP:EZ-UU/OPS.sub","OPS"
  348.             If MODE = 1
  349.                 OpenRequester "OPS","ENCODEops",CFG[1]
  350.             ElseIf MODE = 3
  351.                 OpenRequester "OPS","DECODEops",CFG[3]
  352.             ElseIf MODE = 5
  353.                 OpenRequester "OPS","SPLITops",CFG[5]
  354.             ElseIf MODE = 7
  355.                 OpenRequester "OPS","JOIN",CFG[7]
  356.             ElseIf MODE = 9
  357.                 OpenRequester "OPS","ACTION",CFG[9]
  358.             EndIf
  359.         EndScript
  360.     EndObject
  361.     TextButton "listFREQ"
  362.         Definition
  363.             Origin 291,85
  364.             Font "topaz",8 ; FontName, PointSize
  365.             Style OUTLINE ,1,3
  366.             TextColors 2,0,JAM1  ; PenA, PenB, DrawMode
  367.             Text "^?"
  368.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  369.             Highlight COMPLEMENT 
  370.             ButtonFlags NONE 
  371.         EndScript
  372.         OnRelease
  373.             LoadSubDeck "DTP:EZ-UU/FREQ.sub","FREQ"
  374.             OpenRequester "FREQ","REQ","BATCH",LASTDIR3,"Select file(s)..."
  375.         EndScript
  376.     EndObject
  377.     TextButton "GO"
  378.         Definition
  379.             Origin 283,99
  380.             Font "topaz",8 ; FontName, PointSize
  381.             Style OUTLINE ,1,3
  382.             TextColors 2,0,JAM1  ; PenA, PenB, DrawMode
  383.             Text "GO!"
  384.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  385.             Highlight COMPLEMENT 
  386.             ButtonFlags NONE 
  387.         EndScript
  388.         OnRelease
  389.             If Objectstate("QUICKview") = TRUE
  390.                 SetObjectState "QUICKview",FALSE
  391.                 MakeDocument "Listdoc"
  392.                 Type FULLTEXT
  393.                 If LNUM = ""
  394.                     Let LNUM = 1
  395.                 EndIf
  396.                 PositionOnLine LNUM
  397.             EndIf
  398.             WorkWithDocument "listdoc"
  399.             PositionOnLine 1
  400.             If ThelIne = ""
  401.                 ExitScript
  402.             EndIf
  403.             Do "STATUS","START"
  404.             If MODE = 1
  405.                 Do "ENCODE","PRE"
  406.             ElseIf MODE = 3
  407.                 Do "DECODE","PRE"
  408.             ElseIf MODE = 5
  409.                 Do "SPLIT","PRE"
  410.             ElseIf MODE = 7
  411.                 Do "JOIN","PRE"
  412.             ElseIf MODE = 9
  413.                 Do "ACTION","PRE"
  414.             EndIf
  415.             Do "STATUS","STOP"
  416.         EndScript
  417.     EndObject
  418.     TextButton "DRP"
  419.         Definition
  420.             Origin 126,86
  421.             Font "topaz",8 ; FontName, PointSize
  422.             Style PLAIN ,2,3
  423.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  424.             Text "DRP"
  425.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  426.             Highlight COMPLEMENT 
  427.             ButtonFlags NONE 
  428.         EndScript
  429.         OnRelease
  430.             Let VAR = MODE + 1
  431.             LoadSubDeck "DTP:EZ-UU/OPS.sub","OPS"
  432.             OpenRequester "OPS","CFG",CFG[VAR],VAR
  433.         EndScript
  434.     EndObject
  435.     TextButton "ABOUT"
  436.         Definition
  437.             Origin 217,86
  438.             Font "topaz",8 ; FontName, PointSize
  439.             Style PLAIN ,2,3
  440.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  441.             Text "?"
  442.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  443.             Highlight COMPLEMENT 
  444.             ButtonFlags NONE 
  445.         EndScript
  446.         OnClick
  447.             LoadSubDeck "DTP:EZ-UU/FREQ.sub","FREQ"
  448.             OpenRequester "FREQ","ABOUT"
  449.         EndScript
  450.     EndObject
  451.     TextButton "QuickView"
  452.         Definition
  453.             Origin 266,86
  454.             Font "topaz",8 ; FontName, PointSize
  455.             Style PLAIN ,2,3
  456.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  457.             Text "QV"
  458.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  459.             Highlight COMPLEMENT 
  460.             ButtonFlags BUTTONTOGGLES 
  461.         EndScript
  462.         OnClick
  463.             WorkWithDocument "listdoc"
  464.             If Objectstate("QUICKview") = TRUE
  465.                 Let LNUM = TheLineNumber
  466.                 MakeDocument "smallLIST"
  467.                 Let FULLTEXT = textfromdocument("LISTDOC")
  468.                 WorkWithDocument "smallLIST"
  469.                 Type FULLTEXT
  470.                 PositionOnLine 1
  471.                 If Theline <> ""
  472.                     Loop
  473.                         Let GetFile = FileOf(TheLine)
  474.                         Delete LINE 
  475.                         Type GetFile
  476.                         SplitLine
  477.                         MoveCursor UP ,1
  478.                         MoveCursor DOWN ,1
  479.                     Until Theline = "" OR TheLineNumber = LinesinDocument
  480.                 EndIf
  481.                 MakeDocument "TEMPlistdoc"
  482.                 Type FULLTEXT
  483.                 MakeDocument "listdoc"
  484.                 Let SMALLTEXT = textfromdocument("smallLIST")
  485.                 Type SMALLTEXT
  486.                 PositionOnLine LNUM
  487.             EndIf
  488.             If Objectstate("QUICKview") = FALSE
  489.                 MakeDocument "Listdoc"
  490.                 InsertDocument "TEMPlistdoc"
  491.                 PositionOnLine LNUM
  492.             EndIf
  493.         EndScript
  494.     EndObject
  495.     AKey "HELP"
  496.         Definition
  497.             QualifiersPressed SHIFT 
  498.             KeyPressed HELP 
  499.         EndScript
  500.         OnDown
  501.             LoadSubDeck "DTP:EZ-UU/FREQ.sub","FREQ"
  502.             OpenRequester "FREQ","HELP",">>MAIN<<"
  503.         EndScript
  504.     EndObject
  505.     TextButton "DOS"
  506.         Definition
  507.             Origin 156,86
  508.             Font "topaz",8 ; FontName, PointSize
  509.             Style PLAIN ,2,3
  510.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  511.             Text "DOS"
  512.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  513.             Highlight COMPLEMENT 
  514.             ButtonFlags NONE 
  515.         EndScript
  516.         OnClick
  517.             LoadSubDeck "DTP:EZ-UU/OPS.sub","OPS"
  518.             OpenRequester "OPS","INST",CFG[11]
  519.         EndScript
  520.     EndObject
  521.     AKey "ESCAPE"
  522.         Definition
  523.             QualifiersPressed NONE 
  524.             KeyPressed ESCAPE 
  525.         EndScript
  526.         OnDown
  527.             StopScript
  528.         EndScript
  529.     EndObject
  530.     TextButton "Field"
  531.         Definition
  532.             Origin 264,100
  533.             Font "topaz",8 ; FontName, PointSize
  534.             Style PLAIN ,2,3
  535.             TextColors 1,0,JAM1  ; PenA, PenB, DrawMode
  536.             Text "<"
  537.             Border BEVEL ,2,1 ; BorderStyle, MainPen, ExtraPen
  538.             Highlight COMPLEMENT 
  539.             ButtonFlags BUTTONTOGGLES 
  540.         EndScript
  541.         OnRelease
  542.             If Objectstate("FIELD") = FALSE AND VarType(CFG[0,MODE]) <> "Nothing"
  543.                 SetText "DESTfield",CFG[0,MODE]
  544.             EndIf
  545.         EndScript
  546.     EndObject
  547.     RightMouseButton "UserRMB_1"
  548.         OnClick
  549.             Nop;
  550.         EndScript
  551.     EndObject
  552.     AKey "F1"
  553.         Definition
  554.             QualifiersPressed NONE 
  555.             KeyPressed F1 
  556.         EndScript
  557.         OnUp
  558.             LoadSubDeck "DTP:EZ-UU/FLOPPY.sub","FLOP"
  559.             OpenRequester "FLOP","TEMP",TEMP
  560.         EndScript
  561.     EndObject
  562. * End of Card "EZ-UU"
  563. *************
  564.  
  565. *************
  566. * Global routine "ACTION"
  567.     If ARG1 = "PRE"
  568.         WorkWithDocument "listdoc"
  569.         Let ACTION = "TRUE"
  570.         Let FOUND = 0
  571.         Let ANUM = 1
  572.         Let WNUM = 1
  573.         Do "ACTION","STARThere"
  574.         ExitScript
  575.     EndIf
  576.     If ARG1 = "STARThere"
  577.         MakeDocument "MATCHdoc"
  578.         WorkWithDocument "MATCHdoc"
  579.         Clear DOCUMENT 
  580.         WorkWithDocument "listdoc"
  581.         If VarType(CFG[9,ANUM].EXT1) = "Nothing"
  582.             Let ACTION = "FALSE"
  583.             Do "STATUS","STOP"
  584.             ExitScript
  585.         EndIf
  586.         If CFG[9,ANUM].ON = TRUE
  587.             Do "ACTION","SEEK",ANUM
  588.             ExitScript
  589.         EndIf
  590.     EndIf
  591.     If ARG1 = "SEEK"
  592.         Loop
  593.             Let EXT = GetWord(CFG[9,ANUM].EXT1,WNUM)
  594.             If EXT <> ""
  595.                 Do "DOSdoc",EXT
  596.                 Let WNUM = WNUM + 1
  597.             EndIf
  598.         Until EXT = ""
  599.     EndIf
  600.     If FOUND <> 0
  601.         Do "DOSit",ANUM
  602.     EndIf
  603.     Let ANUM = ANUM + 1
  604.     Let WNUM = 1
  605.     Let FOUND = 0
  606.     Do "ACTION","STARThere"
  607.     ExitScript
  608. * End of routine "ACTION"
  609. *************
  610.  
  611. *************
  612. * Global routine "CFG"
  613.     Let CFG[12].TEMP = "t:"
  614.     Loop
  615.         Let NUM = NUM + 2
  616.         Let CFG[NUM].DROPgo = FALSE
  617.         Let CFG[NUM].DROPinfo = FALSE
  618.         Let CFG[NUM].DROPlist = "ADD"
  619.         Let CFG[NUM].DSKfscan = "ROOT"
  620.         Let CFG[NUM].DSKflist = "ALL"
  621.         Let CFG[NUM].DIRfscan = "ROOT"
  622.         Let CFG[NUM].DIRflist = "ALL"
  623.         Let CFG[NUM].DSK.FILES = TRUE
  624.         Let CFG[NUM].DIR.FILES = TRUE
  625.         Let CFG[NUM].DSK.CASE = FALSE
  626.         Let CFG[NUM].DIR.CASE = FALSE
  627.         Let CFG[NUM].DB.DIREXCLfield = ""
  628.         Let CFG[NUM].DB.DIRMATCHfield = ""
  629.         Let CFG[NUM].DB.DIREXCL = FALSE
  630.         Let CFG[NUM].DB.DIRMATCH = FALSE
  631.         Let CFG[NUM].DB.DSKEXCLfield = ""
  632.         Let CFG[NUM].DB.DSKMATCHfield = ""
  633.         Let CFG[NUM].DB.DSKEXCL = FALSE
  634.         Let CFG[NUM].DB.DSKMATCH = FALSE
  635.     Until NUM = 10
  636.     Let CFG[1].ENCall = FALSE
  637.     Let CFG[1].ENCallField = ""
  638.     Let CFG[1].ENCeach = TRUE
  639.     Let CFG[1].ARCall = FALSE
  640.     Let CFG[1].ARCallfield = ""
  641.     Let CFG[1].ARCeach = FALSE
  642.     Let CFG[1].ARCinfo = FALSE
  643.     Let CFG[1].Bytes = FALSE
  644.     Let CFG[1].BytesField = 0
  645.     Let CFG[1].Lines = FALSE
  646.     Let CFG[1].LinesField = 0
  647.     Let CFG[1].add = FALSE
  648.     Let CFG[1].addfield = ""
  649.     Let CFG[1].CUT = FALSE
  650.     Let CFG[1].PAD = FALSE
  651.     Let CFG[1].RNM = FALSE
  652.     Let CFG[1].BUF = FALSE
  653.     Let CFG[1].BUFfield = 32
  654.     Let CFG[1].ARCfield = "LHA"
  655.     Let CFG[1].ENCfield = "UUXT"
  656.     Let CFG[3].UNARC = TRUE
  657.     Let CFG[3].DELARC = FALSE
  658.     Let CFG[3].ACT = FALSE
  659.     Let CFG[3].ACTmatch = FALSE
  660.     Let CFG[3].ACTfield = ""
  661.     Let CFG[3].CONTENTS = FALSE
  662.     Let CFG[3].SIZE = FALSE
  663.     Let CFG[3].BUF = FALSE
  664.     Let CFG[3].BUFfield = 32
  665.     Let CFG[3].DECfield = "UUXT"
  666.     Let CFG[3].FILES = FALSE
  667.     Let CFG[5].NUMBER = TRUE
  668.     Let CFG[5].NUMBERfield = 2
  669.     Let CFG[5].BYTES = FALSE
  670.     Let CFG[5].BYTESfield = 0
  671.     Let CFG[5].NBYTES = FALSE
  672.     Let CFG[5].NBYTESfield = 0
  673.     Let CFG[5].OFFSET = FALSE
  674.     Let CFG[5].OFFSETfield = 0
  675.     Let CFG[5].REST = FALSE
  676.     Let CFG[5].RESTfield = ""
  677.     Let CFG[5].FLOPPY = FALSE
  678.     Let CFG[5].DRIVE = ""
  679.     Let CFG[5].FBYTESfield = 0
  680.     Let CFG[5].LOG = FALSE
  681.     Let CFG[5].RNM = FALSE
  682.     Let CFG[5].TXTLines = FALSE
  683.     Let CFG[5].TXTbytes = FALSE
  684.     Let CFG[5].TXTfirst = FALSE
  685.     Let CFG[5].TXTlinesfield = 0
  686.     Let CFG[5].TXTbytesfield = 0
  687.     Let CFG[5].TXTFirstfield = ""
  688.     Let CFG[7].JOIN = TRUE
  689.     Let CFG[7].JOINfield = ""
  690.     Let CFG[7].RebuildDest = FALSE
  691.     Let CFG[7].RebuildOwn = FALSE
  692.     Let CFG[9] = Nothing
  693.     Let CFG[11] = ""
  694.     If ARG1 = "NEVER"
  695.         LoadBrush "DTP:EZ-UU/ABOUT5.brush","ABOUT5.brush"
  696.         LoadBrush "DTP:EZ-UU/copyto.brush","copyto.brush"
  697.         LoadBrush "DTP:EZ-UU/Moveto.brush","Moveto.brush"
  698.     EndIf
  699. * End of routine "CFG"
  700. *************
  701.  
  702. *************
  703. * Global routine "DECODE"
  704.     If ARG1 = "PRE"
  705.         MakeDocument "TEMPdoc"
  706.         WorkWithDocument "listdoc"
  707.         PositionOnLine 1
  708.         If CFG[3].CONTENTS = TRUE
  709.             Do "DECODE","CONTENTS"
  710.             ExitScript
  711.         EndIf
  712.         If CFG[3].UNARC = TRUE OR CFG[3].ACT = TRUE OR CFG[3].ACTmatch = TRUE
  713.             Do "DECODE","DESTdoc","BEFORE"
  714.         EndIf
  715.         Do "DECODE","ALL"
  716.         ExitScript
  717.     EndIf
  718.     If ARG1 = "ALL"
  719.         Loop
  720.             Do "GETsplitz","GEText"
  721.             If EXT = "uue" OR EXT = "UUE"
  722.                 Let SOURCE = """"||FULLNAME||""""
  723.                 Do "DECODE",CFG[3].DECfield
  724.             ElseIf EXT = "1" OR EXT = "01" OR EXT = "001"
  725.                 If Findchars(FileOf(FULLNAME),".uue",1) <> 0 OR Findchars(FileOf(FULLNAME),".UUE",1) <> 0
  726.                     Let CHECKFILE = FULLNAME
  727.                     Do "GETsplitz","DOC"
  728.                     Let NUM = 1
  729.                     SendToSubDeck "FREQ","Trying to rebuild: "||CHECKFILE,"..."
  730.                     Do "GETsplitz","SEEK"
  731.                     WorkWithDocument "TEMPdoc"
  732.                     If LinesInDocument > 1
  733.                         SaveDocument "TEMPdoc","t:Vtemp"
  734.                         Let DEST = """"||TEMP||FileOnly||""""
  735.                         SendToSubDeck "FREQ","REBUILDING "||FileOnly||" to "||Textfrom("DESTfield"),"..."
  736.                         Dos "sploin "||DEST||" -it:Vtemp"
  737.                         Let SOURCE = DEST
  738.                         Let DEST = Textfrom("DESTfield")
  739.                         Do "DECODE",CFG[3].DECfield
  740.                         Dos "delete "||TEMP||"#? ALL"
  741.                     EndIf
  742.                 EndIf
  743.             EndIf
  744.             MakeDocument "TEMPdoc"
  745.             WorkWithDocument "listdoc"
  746.             MoveCursor DOWN ,1
  747.         Until TheLine = "" Or THeLineNUmber = LinesInDocument
  748.         If CFG[3].UNARC = TRUE
  749.             Do "DECODE","UNARC"
  750.             Flush "DESTdoc"
  751.             Flush "DEST2doc"
  752.         EndIf
  753.         If CFG[3].ACT = TRUE OR CFG[3].ACTmatch = TRUE
  754.             Do "DECODE","ACTION"
  755.             Flush "DESTdoc"
  756.             Flush "DEST2doc"
  757.             ExitScript
  758.         EndIf
  759.         Flush "TEMPdoc"
  760.     EndIf
  761.     If ARG1 = "ACTION"
  762.         Do "DECODE","DESTdoc","NEWFILES"
  763.         Do "DECODE","DESTnew"
  764.         If CFG[3].ACTmatch = TRUE
  765.             MakeDocument "TEMPdoc"
  766.             WorkWithDocument "DEST2doc"
  767.             PositionOnLine 1
  768.             Let NUM = 1
  769.             Loop
  770.                 Let MTCH = GetWord(CFG[3].ACTfield,NUM," ")
  771.                 If MTCH <> ""
  772.                     Loop
  773.                         SearchFor MTCH,NOCASE 
  774.                         If searchfound
  775.                             Let FILE = THELINE
  776.                             WorkWithDocument "TEMPdoc"
  777.                             MoveCursorTo ENDOF DOCUMENT 
  778.                             Type FILE,NEWLINE 
  779.                             WorkWithDocument "DEST2doc"
  780.                             MoveCursor DOWN ,1
  781.                             MoveCursorTo STARTOF LINE 
  782.                         EndIf
  783.                     Until NOT Searchfound
  784.                 EndIf
  785.                 Let NUM = NUM + 1
  786.                 PositionOnLine 1
  787.             Until MTCH = ""
  788.             MakeDocument "DEST2doc"
  789.             InsertDocument "TEMPdoc"
  790.         EndIf
  791.         MakeDocument "TEMPdoc"
  792.         InsertDocument "listdoc"
  793.         MakeDocument "listdoc"
  794.         InsertDocument "DEST2doc"
  795.         PositionOnLine 1
  796.         Do "ACTION","PRE"
  797.         MakeDocument "listdoc"
  798.         InsertDocument "TEMPdoc"
  799.         PositionOnLine 1
  800.         ExitScript
  801.     EndIf
  802.     If ARG1 = "UNARC"
  803.         Do "DECODE","DESTdoc","NEWFILES"
  804.         Do "DECODE","DESTnew"
  805.         WorkWithDocument "DEST2doc"
  806.         PositionOnLine 1
  807.         Let DEST = """"||textfrom("DESTfield")||""""
  808.         Let TYPES = ".lha .zip .lzx"
  809.         Let NUM = 1
  810.         Loop
  811.             Let MTCH = GetWord(TYPES,NUM," ")
  812.             If MTCH <> ""
  813.                 Loop
  814.                     SearchFor MTCH,NOCASE 
  815.                     If searchfound
  816.                         SendToSubDeck "FREQ","Extracting "||THELINE||" to "||DEST,"..."
  817.                         If MTCH = ".lha"
  818.                             Dos "lha x """||THELINE||""" "||DEST
  819.                         ElseIf MTCH = ".zip"
  820.                             Dos "UNZIP """||THELINE||""" -d "||DEST
  821.                         ElseIf MTCH = ".lzx"
  822.                             Dos "lzx x """||THELINE||""" "||DEST
  823.                         EndIf
  824.                         If CFG[3].DELARC = TRUE
  825.                             Dos "delete """||THELINE||""""
  826.                         EndIf
  827.                         MoveCursor DOWN ,1
  828.                         MoveCursorTo STARTOF LINE 
  829.                     EndIf
  830.                 Until NOT Searchfound
  831.             EndIf
  832.             Let NUM = NUM + 1
  833.             PositionOnLine 1
  834.         Until MTCH = ""
  835.         ExitScript
  836.     EndIf
  837.     If ARG1 = "DESTdoc"
  838.         If ARG2 = "BEFORE"
  839.             MakeDocument "DESTdoc"
  840.             Let DDOC = "DESTdoc"
  841.         EndIf
  842.         If ARG2 = "NEWFILES"
  843.             MakeDocument "DEST2doc"
  844.             Let DDOC = "DEST2doc"
  845.         EndIf
  846.         WorkWithDocument DDOC
  847.         SetCurrentDirectory Textfrom("DESTfield")
  848.         InsertDirectoryList FILESONLY 
  849.         ExitScript
  850.     EndIf
  851.     If ARG1 = "DESTnew"
  852.         WorkWithDocument "DESTdoc"
  853.         PositionOnLine 1
  854.         If THELINE = ""
  855.             ExitScript
  856.         Else
  857.             Loop
  858.                 Let FILE = THELINE
  859.                 WorkWithDocument "DEST2doc"
  860.                 PositionOnLine 1
  861.                 If THELINE = FILE
  862.                     Delete LINE 
  863.                 EndIf
  864.                 SearchFor FILE
  865.                 If SEARCHFOUND
  866.                     Delete LINE 
  867.                 EndIf
  868.                 WorkWithDocument "DESTdoc"
  869.                 MoveCursor DOWN ,1
  870.             Until TheLine = "" OR TheLIneNumber = LInesInDocument
  871.         EndIf
  872.     EndIf
  873.     If ARG1 = "CONTENTS"
  874.         Let DOC = ""
  875.         Let FOUND = ""
  876.         SendToSubDeck "FREQ","Scanning for UUE Contents.....","..."
  877.         Loop
  878.             If Findchars(THELINE,".UUE",1) <> 0 OR FindChars(THELINE,".uue",1) <> 0
  879.                 Let FILE = THELINE
  880.                 MakeDocument "TEMPdoc"
  881.                 LoadDocument FILE,"TEMPdoc"
  882.                 WorkWithDocument "TEMPdoc"
  883.                 PositionOnLine 1
  884.                 SendToSubDeck "FREQ","","SCANNING FILE:"||FILE
  885.                 Loop
  886.                     SearchFor "BEGIN",NOCASE 
  887.                     If Searchfound
  888.                         If FOUND <> TRUE AND CFG[3].SIZE = TRUE
  889.                             Let LNUM = TheLineNumber
  890.                             MoveCursor UP ,4
  891.                             SearchFor "SIZE",NOCASE 
  892.                             If Searchfound AND TheLineNumber < LNUM
  893.                                 Let DOC = DOC||" "||TheLIne
  894.                             EndIf
  895.                             PositionOnLine LNUM
  896.                         ElseIf FOUND = TRUE
  897.                             Let FOUND = ""
  898.                         EndIf
  899.                         If DOC <> ""
  900.                             Let DOC = DOC||char(10)
  901.                         EndIf
  902.                         Let FILE2 = GetWord(THELINE,1)||" "||GetWord(THELINE,3)
  903.                         If CFG[3].SIZE = TRUE
  904.                             Let LNUM = TheLineNumber
  905.                             SearchFor "SIZE",NOCASE 
  906.                             If Searchfound
  907.                                 Let FILE2 = FILE2||" "||THELINE
  908.                                 Let FOUND = TRUE
  909.                             EndIf
  910.                             PositionOnLine LNUM
  911.                         EndIf
  912.                         Let DOC = DOC||" "||FILE||"> "||FILE2
  913.                     EndIf
  914.                     MoveCursor DOWN ,1
  915.                 Until NOT searchfound OR TheLineNumber = LinesInDocument
  916.             EndIf
  917.             WorkWithDocument "listdoc"
  918.             MoveCursor DOWN ,1
  919.         Until TheLIne = "" OR TheLineNumber = LinesInDocument
  920.         Flush "TEMPdoc"
  921.         If DOC <> ""
  922.             LoadSubDeck "DTP:EZ-UU/FLOPPY.sub","FLOP"
  923.             OpenWindow "FLOP","CONTENTS",DOC
  924.         EndIf
  925.     EndIf
  926.     If ARG1 = "UUXT"
  927.         SendToSubDeck "FREQ","DECODING "||SOURCE||" to "||Textfrom("DESTfield"),"UUXT"
  928.         Dos "Uuxt x "||SOURCE||" ""dest="||Textfrom("DESTfield")||""""
  929.     EndIf
  930.     If ARG1 = "UUout"
  931.         Let BUF = ""
  932.         Let FLS = ""
  933.         If CFG[3].BUF = TRUE
  934.             Let BUF = "BUFSIZE="||CFG[3].BUFfield
  935.         EndIf
  936.         If CFG[3].FILES = TRUE
  937.             Let FLS = "USEBASENAME"
  938.         EndIf
  939.         SendToSubDeck "FREQ","DECODING "||SOURCE||" to "||Textfrom("DESTfield"),"UUout"
  940.         Dos "UUout "||SOURCE||" """||textfrom("DESTfield")||""" "||BUF||" "||FLS
  941.     EndIf
  942. * End of routine "DECODE"
  943. *************
  944.  
  945. *************
  946. * Global routine "DOSdoc"
  947.     WorkWithDocument "listdoc"
  948.     PositionOnLine 1
  949.     Loop
  950.         SearchFor ARG1,NOCASE 
  951.         If searchfound = TRUE
  952.             Let FOUND = 1
  953.             Let CLIP = THELINE
  954.             WorkWithDocument "MATCHdoc"
  955.             PositionOnLine 1
  956.             If TheLine <> ""
  957.                 MoveCursorTo ENDOF DOCUMENT 
  958.             EndIf
  959.             Type CLIP,NEWLINE 
  960.             WorkWithDocument "Listdoc"
  961.             MoveCursor DOWN ,1
  962.             MoveCursorTo STARTOF LINE 
  963.         EndIf
  964.     Until Searchfound = FALSE OR TheLine = "" OR ThelineNumber = LinesInDocument
  965. * End of routine "DOSdoc"
  966. *************
  967.  
  968. *************
  969. * Global routine "DOSit"
  970.     WorkWithDocument "MATCHdoc"
  971.     PositionOnLine 1
  972.     If CFG[9,ARG1].VORTEX = TRUE
  973.         WorkWithDocument "listdoc"
  974.         Let SWAP = textfromdocument("listdoc")
  975.         Clear DOCUMENT 
  976.         InsertDocument "MATCHdoc"
  977.         Do CFG[9,ARG1].VORTEXfield,"PRE"
  978.         WorkWithDocument "listdoc"
  979.         Clear DOCUMENT 
  980.         Type SWAP
  981.         PositionOnLine 1
  982.         Dispose SWAP
  983.     EndIf
  984.     WorkWithDocument "MATCHdoc"
  985.     PositionOnLine 1
  986.     If CFG[9,ARG1].DOS1 = TRUE AND CFG[9,ARG1].DOS1field <> "" AND CFG[9,ARG1].ONCE1 = FALSE
  987.         Loop
  988.             Let COM = CFG[9,ARG1].DOS1field
  989.             Do "DOSset"
  990.             SendToSubDeck "FREQ",COM
  991.             Dos "stack "||CFG[9,ARG1].STACK1||Char(10)||COM
  992.             WorkWithDocument "MATCHdoc"
  993.             MoveCursor DOWN ,1
  994.         Until TheLine = "" OR TheLineNumber = LinesInDocument
  995.     EndIf
  996.     If CFG[9,ARG1].DOS1 = TRUE AND CFG[9,ARG1].DOS1field <> "" AND CFG[9,ARG1].ONCE1 = TRUE
  997.         Let COM = CFG[9,ARG1].DOS1field
  998.         Do "DOSset"
  999.         SendToSubDeck "FREQ",COM
  1000.         Dos "stack "||CFG[9,ARG1].STACK1||Char(10)||COM
  1001.     EndIf
  1002.     WorkWithDocument "MATCHdoc"
  1003.     PositionOnLine 1
  1004.     If CFG[9,ARG1].DOS2 = TRUE AND CFG[9,ARG1].DOS2field <> "" AND CFG[9,ARG1].ONCE2 = FALSE
  1005.         Loop
  1006.             Let COM = CFG[9,ARG1].DOS2field
  1007.             Do "DOSset"
  1008.             SendToSubDeck "FREQ",COM
  1009.             Dos "stack "||CFG[9,ARG1].STACK2||Char(10)||COM
  1010.             WorkWithDocument "MATCHdoc"
  1011.             MoveCursor DOWN ,1
  1012.         Until TheLine = "" OR TheLineNumber = LinesInDocument
  1013.     EndIf
  1014.     If CFG[9,ARG1].DOS2 = TRUE AND CFG[9,ARG1].DOS2field <> "" AND CFG[9,ARG1].ONCE2 = TRUE
  1015.         Let COM = CFG[9,ARG1].DOS2field
  1016.         Do "DOSset"
  1017.         SendToSubDeck "FREQ",COM
  1018.         Dos "stack "||CFG[9,ARG1].STACK2||Char(10)||COM
  1019.     EndIf
  1020.     Flush "MATCHdoc"
  1021. * End of routine "DOSit"
  1022. *************
  1023.  
  1024. *************
  1025. * Global routine "DOSset"
  1026.     Let FileRep = THELINE
  1027.     Let DestRep = Textfrom("DESTfield")
  1028.     Let BaseRep = FileOf(FileRep)
  1029.     Let Snum = FindChars(BaseRep,".",1)
  1030.     If Snum <> 0
  1031.         Let Rnum = NumberofChars(BaseRep) - REM
  1032.         Let ExtRep = RemoveChars(BaseRep,Snum,Rnum)
  1033.     EndIf
  1034.     Loop
  1035.         Let GETIT = Findchars(COM,"FILE",1)
  1036.         If GETIT <> 0
  1037.             Let COM = RemoveChars(COM,GETIT,4)
  1038.             Let COM = InsertChars(FileRep,COM,GETIT - 1)
  1039.         EndIf
  1040.     Until GETIT = 0
  1041.     Loop
  1042.         Let GETIT = Findchars(COM,"BASENAME",1)
  1043.         If GETIT <> 0
  1044.             Let COM = RemoveChars(COM,GETIT,8)
  1045.             Let COM = InsertChars(BaseRep,COM,GETIT - 1)
  1046.         EndIf
  1047.     Until GETIT = 0
  1048.     Loop
  1049.         Let GETIT = Findchars(COM,"DEST",1)
  1050.         If GETIT <> 0
  1051.             Let COM = RemoveChars(COM,GETIT,4)
  1052.             Let COM = InsertChars(DestRep,COM,GETIT - 1)
  1053.         EndIf
  1054.     Until GETIT = 0
  1055.     Loop
  1056.         Let GETIT = Findchars(COM,"BASEX",1)
  1057.         If GETIT <> 0
  1058.             Let COM = RemoveChars(COM,GETIT,5)
  1059.             Let COM = InsertChars(ExtRep,COM,GETIT - 1)
  1060.         EndIf
  1061.     Until GETIT = 0
  1062.     Let FIELD = COM
  1063. * End of routine "DOSset"
  1064. *************
  1065.  
  1066. *************
  1067. * Global routine "DROP"
  1068.     Let DISK = FALSE
  1069.     Let DIR = FALSE
  1070.     Let FLS = FALSE
  1071.     MakeDocument "DISKS"
  1072.     MakeDocument "DIRS"
  1073.     If CFG[VAR].DROPlist = "ADD"
  1074.         WorkWithDocument "LISTdoc"
  1075.         PositionOnLine 1
  1076.         If THELINE <> ""
  1077.             MoveCursorTo ENDOF DOCUMENT 
  1078.         EndIf
  1079.         Let WHERE = TheLineNumber
  1080.         Type ARG1
  1081.         PositionOnLine WHERE
  1082.     EndIf
  1083.     If CFG[VAR].DROPlist = "NEW"
  1084.         MakeDocument "LISTdoc"
  1085.         Clear DOCUMENT 
  1086.         Type ARG1
  1087.         PositionOnLine 1
  1088.     EndIf
  1089.     Loop
  1090.         Let NUM = NumberOfChars(THELINE)
  1091.         If GetChars(THELINE,NUM,1) = "/"
  1092.             Let DIRNAME = THELINE
  1093.             Let DIR = TRUE
  1094.             WorkWithDocument "DIRS"
  1095.             PositionOnLine 1
  1096.             If TheLine <> ""
  1097.                 MoveCursorTo ENDOF DOCUMENT 
  1098.             EndIf
  1099.             Type DIRNAME,NEWLINE 
  1100.             WorkWithDocument "Listdoc"
  1101.             Delete LINE 
  1102.         ElseIf GetChars(THELINE,NUM,1) = ":"
  1103.             Let DISKNAME = THELINE
  1104.             Let DISK = TRUE
  1105.             WorkWithDocument "DISKS"
  1106.             PositionOnLine 1
  1107.             If TheLine <> ""
  1108.                 MoveCursorTo ENDOF DOCUMENT 
  1109.             EndIf
  1110.             Type DISKNAME,NEWLINE 
  1111.             WorkWithDocument "Listdoc"
  1112.             Delete LINE 
  1113.         Else
  1114.             WorkWithDocument "listdoc"
  1115.             Let FLS = TRUE
  1116.             MoveCursor DOWN ,1
  1117.         EndIf
  1118.     Until TheLine = ""
  1119.     If CFG[VAR].DROPinfo = TRUE
  1120.         PositionOnLine WHERE
  1121.         If TheLine <> ""
  1122.             Loop
  1123.                 Let FILE = THELINE
  1124.                 If EXISTS(FILE||".info")
  1125.                     NewLine
  1126.                     Type FILE||".info"
  1127.                 EndIf
  1128.                 MoveCursor DOWN ,1
  1129.             Until THELINE = ""
  1130.         EndIf
  1131.         If DIR = TRUE
  1132.             WorkWithDocument "DIRS"
  1133.             PositionOnLine 1
  1134.             If TheLine <> ""
  1135.                 Loop
  1136.                     Let FILE = THELINE
  1137.                     If EXISTS(FILE||".info")
  1138.                         Let FILE = RemoveChars(FILE,NumberofChars(FILE),1)
  1139.                         WorkWithDocument "listdoc"
  1140.                         NewLine
  1141.                         Type FILE||".info"
  1142.                         WorkWithDocument "DIRS"
  1143.                     EndIf
  1144.                     MoveCursor DOWN ,1
  1145.                 Until THELINE = ""
  1146.             EndIf
  1147.         EndIf
  1148.     EndIf
  1149.     WorkWithDocument "listdoc"
  1150.     PositionOnLine 1
  1151.     If DISK = TRUE AND CFG[VAR].DSKfscan = "RECURSIVE"
  1152.         Let DIRDOC = "DSKDirs"
  1153.         Let Rtype = "DSK"
  1154.         Do "GetDisks","RECURSIVE"
  1155.     EndIf
  1156.     If DISK = TRUE AND CFG[VAR].DSKfscan = "ROOT"
  1157.         Let DIRDOC = "Disks"
  1158.         Let Rtype = "DSK"
  1159.         Do "GetRoot"
  1160.     EndIf
  1161.     If DIR = TRUE AND CFG[VAR].DIRfscan = "ROOT"
  1162.         Let DIRDOC = "Dirs"
  1163.         Let Rtype = "DIR"
  1164.         Do "GetRoot"
  1165.     EndIf
  1166.     If DIR = TRUE  AND CFG[VAR].DIRfscan = "RECURSIVE"
  1167.         Let DIRDOC = "Dirs"
  1168.         Let Rtype = "DIR"
  1169.         Do "GetDirs","RECURSIVE"
  1170.     EndIf
  1171.     WorkWithDocument "listdoc"
  1172.     SortDocument
  1173.     PositionOnLine 1
  1174.     If theline = "" AND TheLineNumber <> LinesInDocument
  1175.         Loop
  1176.             Delete LINE 
  1177.         Until TheLine <> "" OR TheLineNumber = LinesInDocument
  1178.     EndIf
  1179.     MoveCursorTo ENDOF DOCUMENT 
  1180.     NewLine
  1181.     PositionOnLine 1
  1182. * End of routine "DROP"
  1183. *************
  1184.  
  1185. *************
  1186. * Global routine "ENCODE"
  1187.     If ARG1 = "PRE"
  1188.         WorkWithDocument "listdoc"
  1189.         PositionOnLine 1
  1190.         If CFG[1].ENCall = TRUE AND CFG[1].ARCall = FALSE
  1191.             Do "ENCODE","ENCone"
  1192.             ExitScript
  1193.         EndIf
  1194.         If CFG[1].ENCall = TRUE AND CFG[1].ARCall = TRUE
  1195.             Do "ENCODE","ARCone"
  1196.             ExitScript
  1197.         EndIf
  1198.         If CFG[1].ENCeach = TRUE AND CFG[1].ENCfield = "UUIN"
  1199.             Do "ENCODE","eachUUIN"
  1200.             ExitScript
  1201.         EndIf
  1202.         If CFG[1].ENCeach = TRUE AND CFG[1].ENCfield = "UUXT"
  1203.             Do "ENCODE","eachUUXT"
  1204.         EndIf
  1205.     EndIf
  1206.     If ARG1 = "ENCone"
  1207.         Let TMP = TEMP||"Vtemp"
  1208.         Let PASS = 0
  1209.         Do "ENCsubs",CFG[1].ENCfield,"OPS"
  1210.         Let DEST = textfrom("DESTfield")||CFG[1].ENCallField||".uue"
  1211.         Loop
  1212.             Let FILE = TheLine
  1213.             If CFG[1].ARCeach = TRUE
  1214.                 Do "ENCsubs",CFG[1].ARCfield,"EACH"
  1215.                 Do "ENCsubs",CFG[1].ENCfield,"ONE",PASS
  1216.                 SendToSubDeck "FREQ","DONE","Cleaning Up....."
  1217.                 Dos "delete """||ARC||""""
  1218.             ElseIf CFG[1].ARCeach = FALSE
  1219.                 Do "ENCsubs",CFG[1].ENCfield,"ONE",PASS
  1220.             EndIf
  1221.             MoveCursor DOWN ,1
  1222.             If PASS = 0
  1223.                 Let PASS = 1
  1224.             EndIf
  1225.         Until THELINE = "" OR THELINENUMBER = LINESINDOCUMENT
  1226.         Let FILE = DEST
  1227.         If CFG[1].Bytes = TRUE OR CFG[1].Lines = TRUE
  1228.             Do "ENCsubs","UUSPLIT"
  1229.         EndIf
  1230.         If CFG[1].Bytes = FALSE AND CFG[1].Lines = FALSE AND CFG[1].ADD = TRUE
  1231.             Do "ENCsubs","ADDLINE"
  1232.         EndIf
  1233.         SendToSubDeck "FREQ","","ENCODE....... COMPLETED"
  1234.         Delay 0,2,0
  1235.         ExitScript
  1236.     EndIf
  1237.     If ARG1 = "ARCone"
  1238.         Do "ENCsubs",CFG[1].ENCfield,"OPS"
  1239.         Let DEST = textfrom("DESTfield")||CFG[1].ENCallField||".uue"
  1240.         Do "ENCsubs",CFG[1].ARCfield,"ALL"
  1241.         Do "ENCsubs",CFG[1].ENCfield,"EACH"
  1242.         SendToSubDeck "FREQ","cleaning up...","..."
  1243.         Dos "delete """||ARC||""""
  1244.         Let FILE = DEST
  1245.         If CFG[1].ENCfield = "UUXT" AND CFG[1].Lines = TRUE XOR CFG[1].Bytes = TRUE
  1246.             Do "ENCsubs","UUSPLIT"
  1247.         EndIf
  1248.         If CFG[1].ENCfield = "UUIN" AND CFG[1].Lines = TRUE XOR CFG[1].Bytes = TRUE
  1249.             If CFG[1].ADD = TRUE OR CFG[1].CUT = TRUE
  1250.                 Do "ENCsubs","UUINadd"
  1251.             EndIf
  1252.         EndIf
  1253.         If CFG[1].Bytes = FALSE AND CFG[1].Lines = FALSE AND CFG[1].ADD = TRUE
  1254.             Do "ENCsubs","ADDLINE"
  1255.         EndIf
  1256.         SendToSubDeck "FREQ","","ENCODE....... COMPLETED"
  1257.         Delay 0,2,0
  1258.         ExitScript
  1259.     EndIf
  1260.     If ARG1 = "eachUUXT"
  1261.         Do "ENCsubs","UUXT","OPS"
  1262.         Loop
  1263.             Let FILE = THELINE
  1264.             Let DEST = Textfrom("DESTfield")||Fileof(FILE)||".uue"
  1265.             If CFG[1].ARCeach = TRUE
  1266.                 Do "ENCsubs",CFG[1].ARCfield,"EACH"
  1267.                 Do "ENCsubs","UUXT","EACH"
  1268.                 Dos "delete """||ARC||""""
  1269.             Else
  1270.                 Do "ENCsubs","UUXT","EACH"
  1271.             EndIf
  1272.             Let FILE = DEST
  1273.             If CFG[1].Lines = TRUE OR CFG[1].Bytes = TRUE
  1274.                 Do "ENCsubs","UUSPLIT"
  1275.             EndIf
  1276.             If CFG[1].Bytes = FALSE AND CFG[1].Lines = FALSE AND CFG[1].ADD = TRUE
  1277.                 Do "ENCsubs","ADDLINE"
  1278.             EndIf
  1279.             WorkWithDocument "listdoc"
  1280.             MoveCursor DOWN ,1
  1281.         Until TheLine = "" OR TheLineNumber = LinesInDocument
  1282.         SendToSubDeck "FREQ","","ENCODE....... COMPLETED"
  1283.         Delay 0,2,0
  1284.     EndIf
  1285.     If ARG1 = "eachUUIN"
  1286.         Do "ENCsubs","UUIN","OPS"
  1287.         Loop
  1288.             Let FILE = THELINE
  1289.             Let DEST = Textfrom("DESTfield")||Fileof(FILE)||".uue"
  1290.             If CFG[1].ARCeach = TRUE
  1291.                 Do "ENCsubs",CFG[1].ARCfield,"EACH"
  1292.                 Do "ENCsubs","UUIN","EACH"
  1293.                 Dos "delete """||ARC||""""
  1294.             Else
  1295.                 Do "ENCsubs","UUIN","EACH"
  1296.             EndIf
  1297.             Let FILE = DEST
  1298.             If CFG[1].ADD = TRUE OR CFG[1].CUT = TRUE
  1299.                 Do "ENCsubs","UUINadd"
  1300.             EndIf
  1301.             If CFG[1].Bytes = FALSE AND CFG[1].Lines = FALSE AND CFG[1].ADD = TRUE
  1302.                 Do "ENCsubs","ADDLINE"
  1303.             EndIf
  1304.             WorkWithDocument "listdoc"
  1305.             MoveCursor DOWN ,1
  1306.         Until TheLine = "" OR TheLineNumber = LinesInDocument
  1307.         SendToSubDeck "FREQ","","ENCODE....... COMPLETED"
  1308.         Delay 0,2,0
  1309.     EndIf
  1310. * End of routine "ENCODE"
  1311. *************
  1312.  
  1313. *************
  1314. * Global routine "ENCsubs"
  1315.     If ARG1 = "UUSPLIT"
  1316.         If CFG[1].Bytes = TRUE
  1317.             GetFileInfo FILE,FSIZE
  1318.             IfError
  1319.                 Let FSIZE = 0
  1320.             EndIf
  1321.             Let SZ = Integer (CFG[1].BytesField||"000")
  1322.             If CFG[1].Bytes = TRUE AND FSIZE > SZ
  1323.                 SendToSubDeck "FREQ","Splitting "||FileOf(FILE)||" - MAX "||CFG[1].BytesField||"k PER file","..."
  1324.                 Dos "UUsplit """||FILE||""" "||CFG[1].BytesField
  1325.                 Dos "delete """||FILE||""""
  1326.             EndIf
  1327.         EndIf
  1328.         If CFG[1].Lines = TRUE
  1329.             SendToSubDeck "FREQ","Splitting "||FileOf(FILE)||" - MAX "||CFG[1].LinesField||" LINES per file","..."
  1330.             Dos "UUsplit """||FILE||""" "||CFG[1].linesField||"l"
  1331.             Dos "delete """||FILE||""""
  1332.         EndIf
  1333.         If CFG[1].ADD = TRUE OR CFG[1].CUT = FALSE
  1334.             Do "ENCsubs","UUXTadd"
  1335.         EndIf
  1336.     EndIf
  1337.     Nop;------
  1338.     If ARG1 = "UUXTadd"
  1339.         Let NUM = 1
  1340.         Let PAD = "00"
  1341.         While Exists(FILE||"."||PAD||NUM)
  1342.             MakeDocument "Ldoc"
  1343.             LoadDocument FILE||"."||PAD||NUM,"Ldoc"
  1344.             IfError
  1345.                 ExitScript
  1346.             Else
  1347.                 Dos "Delete """||FILE||"."||PAD||NUM||""""
  1348.             EndIf
  1349.             WorkWithDocument "Ldoc"
  1350.             If CFG[1].ADD = TRUE
  1351.                 PositionOnLine 1
  1352.                 MoveCursorTo STARTOF LINE 
  1353.                 Type CFG[1].ADDfield
  1354.                 SplitLine
  1355.                 Type "",NEWLINE 
  1356.             EndIf
  1357.             If CFG[1].CUT = FALSE
  1358.                 PositionOnLine 1
  1359.                 Loop
  1360.                     SearchFor "CUT HERE",NOCASE 
  1361.                     If Searchfound
  1362.                         Delete LINE ,2
  1363.                     EndIf
  1364.                 Until NOT Searchfound
  1365.                 PositionOnLine 1
  1366.                 Loop
  1367.                     SearchFor "UUXT",NOCASE 
  1368.                     If Searchfound
  1369.                         Delete LINE 
  1370.                     EndIf
  1371.                 Until NOT searchfound
  1372.             EndIf
  1373.             SaveDocument "Ldoc",FILE||"."||PAD||NUM
  1374.             Let NUM = NUM + 1
  1375.             Do "GETEXT","THREE"
  1376.         EndLoop
  1377.         ExitScript
  1378.     EndIf
  1379.     If ARG1 = "UUINadd"
  1380.         Let NUM = 1
  1381.         Let PAD = ""
  1382.         Let LOOPS = 1
  1383.         Let FOUND = 0
  1384.         Loop
  1385.             If Exists(FILE||PAD||NUM)
  1386.                 Let FOUND = 1
  1387.             ElseIf NOT Exists(FILE||PAD||NUM)
  1388.                 Let PAD = PAD||"0"
  1389.                 Let LOOPS = LOOPS + 1
  1390.             EndIf
  1391.         Until FOUND = 1 OR LOOPS = 3
  1392.         If FOUND = 1 AND PAD = ""
  1393.             Let PADtype = "NONE"
  1394.         ElseIf FOUND = 1 AND PAD = "0"
  1395.             Let PADtype = "TWO"
  1396.         ElseIf FOUND = 1 AND PAD = "00"
  1397.             Let PADtype = "THREE"
  1398.         EndIf
  1399.         If FOUND = 0
  1400.             ExitScript
  1401.         EndIf
  1402.         While Exists(FILE||PAD||NUM)
  1403.             MakeDocument "Ldoc"
  1404.             LoadDocument FILE||PAD||NUM,"Ldoc"
  1405.             IfError
  1406.                 ExitScript
  1407.             Else
  1408.                 Dos "Delete """||FILE||PAD||NUM||""""
  1409.             EndIf
  1410.             WorkWithDocument "Ldoc"
  1411.             If CFG[1].CUT = TRUE
  1412.                 PositionOnLine 1
  1413.                 MoveCursorTo STARTOF LINE 
  1414.                 Type FileOf(FILE)||"#"||PAD||NUM||" <-------- CUT HERE -------->"
  1415.                 SplitLine
  1416.                 Type "",NEWLINE 
  1417.                 MoveCursorTo ENDOF DOCUMENT 
  1418.                 If TheLine <> ""
  1419.                     MoveCursorTo ENDOF LINE 
  1420.                     SplitLine
  1421.                     Type "",NEWLINE 
  1422.                 EndIf
  1423.                 Type "",NEWLINE 
  1424.                 Type Fileof(FILE)||"#"||PAD||NUM||" <-------- CUT HERE -------->",NEWLINE 
  1425.             EndIf
  1426.             If CFG[1].ADD = TRUE
  1427.                 PositionOnLine 1
  1428.                 MoveCursorTo STARTOF LINE 
  1429.                 Type CFG[1].ADDfield
  1430.                 SplitLine
  1431.                 Type "",NEWLINE 
  1432.             EndIf
  1433.             SaveDocument "Ldoc",FILE||PAD||NUM
  1434.             Let NUM = NUM + 1
  1435.             Do "GETEXT",PADtype
  1436.         EndLoop
  1437.         Flush "Ldoc"
  1438.         ExitScript
  1439.     EndIf
  1440.     If ARG1 = "ADDLINE"
  1441.         SendToSubDeck "FREQ","Adding first line...","..."
  1442.         MakeDocument "Ldoc"
  1443.         LoadDocument FILE,"Ldoc"
  1444.         IfError
  1445.             ExitScript
  1446.         Else
  1447.             Dos "Delete """||FILE||""""
  1448.         EndIf
  1449.         WorkWithDocument "Ldoc"
  1450.         PositionOnLine 1
  1451.         MoveCursorTo STARTOF LINE 
  1452.         Type CFG[1].ADDfield
  1453.         SplitLine
  1454.         Type "",NEWLINE 
  1455.         PositionOnLine 1
  1456.         Loop
  1457.             SearchFor "UUXT",NOCASE 
  1458.             If Searchfound
  1459.                 Delete LINE 
  1460.             EndIf
  1461.         Until NOT Searchfound
  1462.         SaveDocument "Ldoc",FILE
  1463.         Flush "Ldoc"
  1464.         ExitScript
  1465.     EndIf
  1466.     If ARG1 = "LHA" AND ARG2 = "ALL"
  1467.         Let ARC = TEMP||CFG[1].ARCallField||".lha"
  1468.         MakeDocument "TEMPdoc"
  1469.         InsertDocument "listdoc"
  1470.         Do "TEMPlist","TEMP"
  1471.         SendToSubDeck "FREQ","Archiving ALL files to ("||ARC||") with LHA compression","..."
  1472.         Dos "lha a >CON:0/100/640/100/VORTEX<->LHA "||ARC||" -it:Vtemp"
  1473.         Let FILE = ARC
  1474.         Flush "TEMPdoc"
  1475.     EndIf
  1476.     If ARG1 = "LHA" AND ARG2 = "EACH"
  1477.         Let ARC = TEMP||FileOf(THELINE)||".lha"
  1478.         SendToSubDeck "FREQ","Archiving "||FILE||" with LHA compression","..."
  1479.         If CFG[1].ARCinfo <> TRUE OR CFG[1].ARCinfo = TRUE AND NOT EXISTS(FILE||".info")
  1480.             Dos "lha a """||ARC||""" """||FILE||""""
  1481.         ElseIf CFG[1].ARCinfo = TRUE AND EXISTS(FILE||".info")
  1482.             Let FILE = """"||FILE||""" """||FILE||".info"""
  1483.             Dos "lha a """||ARC||""" "||FILE
  1484.         EndIf
  1485.         Let FILE = ARC
  1486.     EndIf
  1487.     If ARG1 = "ZIP" AND ARG2 = "ALL"
  1488.         Let ARC = TEMP||CFG[1].ARCallField||".zip"
  1489.         SendToSubDeck "FREQ","ZIP adding all files to "||ARC,"..."
  1490.         Loop
  1491.             SendToSubDeck "FREQ","","Adding: "||THELINE
  1492.             Dos "ZIP "||ARC||" """||THELINE||""""
  1493.             MoveCursor DOWN ,1
  1494.         Until TheLine = "" OR TheLIneNumber = LinesInDocument OR "UserRMB#1" = TRUE
  1495.         Let FILE = ARC
  1496.     EndIf
  1497.     If ARG1 = "ZIP" AND ARG2 = "EACH"
  1498.         Let ARC = TEMP||FileOf(THELINE)||".zip"
  1499.         SendToSubDeck "FREQ","Archiving "||FILE||" with ZIP compression","..."
  1500.         If CFG[1].ARCinfo <> TRUE OR CFG[1].ARCinfo = TRUE AND NOT EXISTS(FILE||".info")
  1501.             Dos "zip """||ARC||""" """||FILE||""""
  1502.         ElseIf CFG[1].ARCinfo = TRUE AND EXISTS(FILE||".info")
  1503.             Let FILE = """"||FILE||""" """||FILE||".info"""
  1504.             Dos "zip """||ARC||""" "||FILE
  1505.         EndIf
  1506.         Let FILE = ARC
  1507.     EndIf
  1508.     If ARG1 = "LZX" AND ARG2 = "ALL"
  1509.         Let ARC = TEMP||CFG[1].ARCallField||".lzx"
  1510.         SendToSubDeck "FREQ","LZX adding all files to "||ARC,"..."
  1511.         Loop
  1512.             SendToSubDeck "FREQ","","Adding: "||THELINE
  1513.             Dos "lzx a """||ARC||""" """||THELINE||""""
  1514.             MoveCursor DOWN ,1
  1515.         Until TheLine = "" OR TheLIneNumber = LinesInDocument OR "UserRMB#1" = TRUE
  1516.         Let FILE = ARC
  1517.     EndIf
  1518.     If ARG1 = "LZX" AND ARG2 = "EACH"
  1519.         Let ARC = TEMP||FileOf(THELINE)||".lzx"
  1520.         SendToSubDeck "FREQ","Archiving "||FILE||" with LZX compression","..."
  1521.         If CFG[1].ARCinfo <> TRUE OR CFG[1].ARCinfo = TRUE AND NOT EXISTS(FILE||".info")
  1522.             Dos "lzx a """||ARC||""" """||FILE||""""
  1523.         ElseIf CFG[1].ARCinfo = TRUE AND EXISTS(FILE||".info")
  1524.             Let FILE = """"||FILE||""" """||FILE||".info"""
  1525.             Dos "lzx a """||ARC||""" "||FILE
  1526.         EndIf
  1527.         Let FILE = ARC
  1528.     EndIf
  1529.     If ARG1 = "UUIN" AND ARG2 = "OPS"
  1530.         Let RNM = ""
  1531.         Let BUF = ""
  1532.         Let SPLIT = ""
  1533.         If CFG[1].RNM = TRUE
  1534.             Let RNM = "NORENAME"
  1535.         EndIf
  1536.         If CFG[1].BUF = TRUE
  1537.             Let BUF = "BUFSIZE="||CFG[1].BUFfield
  1538.         EndIf
  1539.     EndIf
  1540.     If ARG1 = "UUIN" AND ARG2 = "ONE"
  1541.         SendToSubDeck "FREQ","Encoding "||FILE||" with UUIN","..."
  1542.         Dos "Uuin """||FILE||""" >>"""||DEST||""" "||BUF
  1543.     EndIf
  1544.     If ARG1 = "UUIN" AND ARG2 = "EACH"
  1545.         SendToSubDeck "FREQ","Encoding "||FILE||" with UUIN","..."
  1546.         Let SZ = Integer (CFG[1].BytesField||"000")
  1547.         If CFG[1].Bytes = TRUE
  1548.             GetFileInfo FILE,FSIZE
  1549.             If FSIZE < SZ
  1550.                 Let SPLIT = ""
  1551.             EndIf
  1552.             If FSIZE > SZ
  1553.                 Let DEST = DEST||"."
  1554.                 Let SPLIT = "MAXBYTES "||CFG[1].BytesField||"000"
  1555.             EndIf
  1556.         EndIf
  1557.         If CFG[1].Lines = TRUE
  1558.             Let DEST = DEST||"."
  1559.             Let SPLIT = "MAXLINES "||CFG[1].LinesField
  1560.         EndIf
  1561.         Dos "Uuin """||FILE||""" """||DEST||""" "||SPLIT||" "||BUF||" "||RNM
  1562.     EndIf
  1563.     If ARG1 = "UUXT" AND ARG2 = "OPS"
  1564.         If CFG[1].PAD = TRUE
  1565.             Let CMD = "-p a"
  1566.         Else
  1567.             Let CMD = "a"
  1568.         EndIf
  1569.     EndIf
  1570.     If ARG1 = "UUXT" AND ARG2 = "ONE" AND ARG3 = 0
  1571.         SendToSubDeck "FREQ","Encoding "||FILE||" with UUxt","..."
  1572.         Dos "UUxt "||CMD||" """||DEST||""" """||FILE||""""
  1573.     EndIf
  1574.     If ARG1 = "UUXT" AND ARG2 = "ONE" AND ARG3 = 1
  1575.         SendToSubDeck "FREQ","Encoding "||FILE||" with UUxt","..."
  1576.         Dos "UUxt "||CMD||" """||TMP||""" """||FILE||""""
  1577.         SendToSubDeck "FREQ","","Appending data...."
  1578.         GetFileInfo TMP,SIZE
  1579.         IfError
  1580.             Let SIZE = 0
  1581.         EndIf
  1582.         If SIZE > 0 AND Exists(TMP)
  1583.             OpenFile TMP,"VT",READONLY ,OLDFILE 
  1584.             FileReadChars "VT",UUE,SIZE
  1585.             Close "VT"
  1586.             Dos "delete """||TMP||""""
  1587.             If Exists(DEST)
  1588.                 OpenFile DEST,"WHOLE",WRITEONLY ,APPEND 
  1589.                 FileWriteChars "WHOLE",UUE
  1590.                 Close "WHOLE"
  1591.             EndIf
  1592.         EndIf
  1593.     EndIf
  1594.     If ARG1 = "UUXT" AND ARG2 = "EACH"
  1595.         SendToSubDeck "FREQ","Encoding "||FILE||" with UUxt","..."
  1596.         Dos "UUxt "||CMD||" """||DEST||""" """||FILE||""""
  1597.     EndIf
  1598. * End of routine "ENCsubs"
  1599. *************
  1600.  
  1601. *************
  1602. * Global routine "GetDirs"
  1603.     If ARG1 = "RECURSIVE"
  1604.         MakeDocument "files"
  1605.         WorkWithDocument DIRDOC
  1606.         PositionOnLine 1
  1607.         Let LINENUM = 1
  1608.         Loop
  1609.             If TheLine = ""
  1610.                 ExitScript
  1611.             EndIf
  1612.             SetCurrentDirectory THELINE
  1613.             MakeDocument "DIRS2"
  1614.             WorkWithDocument "DIRS2"
  1615.             InsertDirectoryList DIRECTORIESONLY 
  1616.             PositionOnLine 1
  1617.             If TheLine <> ""
  1618.                 Loop
  1619.                     Let NEWDIR = TheCurrentDirectory||THELINE||"/"
  1620.                     Type NEWDIR
  1621.                     SplitLine
  1622.                     Delete LINE 
  1623.                 Until THELINE = "" OR THELINENUMBER = LINESINDOCUMENT
  1624.             EndIf
  1625.             MakeDocument "FILES"
  1626.             WorkWithDocument "FILES"
  1627.             PositionOnLine 1
  1628.             InsertDirectoryList FILESONLY 
  1629.             PositionOnLine 1
  1630.             If TheLine <> ""
  1631.                 Loop
  1632.                     Let NEWFILE = TheCurrentDirectory||THELINE
  1633.                     Type NEWFILE
  1634.                     SplitLine
  1635.                     Delete LINE 
  1636.                 Until THELINE = "" OR THELINENUMBER = LINESINDOCUMENT
  1637.             EndIf
  1638.             Let NEWDIRS = textfromdocument("dirs2")
  1639.             WorkWithDocument DIRDOC
  1640.             MoveCursorTo ENDOF DOCUMENT 
  1641.             If TheLine <> ""
  1642.                 NewLine
  1643.             EndIf
  1644.             Type NEWDIRS
  1645.             PositionOnLine LINENUM
  1646.             MoveCursor DOWN ,1
  1647.             Let LINENUM = LINENUM + 1
  1648.             Do "SELECTIVE","PRE"
  1649.             WorkWithDocument "FILES"
  1650.             PositionOnLine 1
  1651.             If TheLine <> ""
  1652.                 Let FILES = textfromdocument("FILES")
  1653.                 WorkWithDocument "listdoc"
  1654.                 MoveCursorTo ENDOF DOCUMENT 
  1655.                 If TheLIne <> ""
  1656.                     NewLine
  1657.                 EndIf
  1658.                 Type FILES
  1659.             EndIf
  1660.             WorkWithDocument DIRDOC
  1661.         Until TheLine = "" OR TheLineNumber = LinesIndocument
  1662.     EndIf
  1663. * End of routine "GetDirs"
  1664. *************
  1665.  
  1666. *************
  1667. * Global routine "GetDisks"
  1668.     If ARG1 = "RECURSIVE"
  1669.         MakeDocument "files"
  1670.         MakeDocument DIRDOC
  1671.         WorkWithDocument "DISKS"
  1672.         PositionOnLine 1
  1673.         Loop
  1674.             If TheLine = ""
  1675.                 ExitScript
  1676.             EndIf
  1677.             SetCurrentDirectory THELINE
  1678.             MakeDocument DIRDOC
  1679.             WorkWithDocument DIRDOC
  1680.             InsertDirectoryList DIRECTORIESONLY 
  1681.             PositionOnLine 1
  1682.             If TheLine <> ""
  1683.                 Loop
  1684.                     Let NEWDIR = TheCurrentDirectory||THELINE||"/"
  1685.                     Type NEWDIR
  1686.                     SplitLine
  1687.                     Delete LINE 
  1688.                 Until THELINE = "" OR THELINENUMBER = LINESINDOCUMENT
  1689.             EndIf
  1690.             MakeDocument "FILES"
  1691.             WorkWithDocument "FILES"
  1692.             PositionOnLine 1
  1693.             InsertDirectoryList FILESONLY 
  1694.             PositionOnLine 1
  1695.             If TheLine <> ""
  1696.                 Loop
  1697.                     Let NEWFILE = TheCurrentDirectory||THELINE
  1698.                     Type NEWFILE
  1699.                     SplitLine
  1700.                     Delete LINE 
  1701.                 Until THELINE = "" OR THELINENUMBER = LINESINDOCUMENT
  1702.             EndIf
  1703.             If CFG[VAR].DSKflist = "SELECTIVE"
  1704.                 Do "SELECTIVE","DISK"
  1705.             EndIf
  1706.             WorkWithDocument "FILES"
  1707.             PositionOnLine 1
  1708.             If TheLine <> ""
  1709.                 Let FILES = textfromdocument("FILES")
  1710.                 WorkWithDocument "listdoc"
  1711.                 MoveCursorTo ENDOF DOCUMENT 
  1712.                 If TheLIne <> ""
  1713.                     NewLine
  1714.                 EndIf
  1715.                 Type FILES
  1716.             EndIf
  1717.             Do "getdirs","RECURSIVE"
  1718.             WorkWithDocument "DISKS"
  1719.             MoveCursor DOWN ,1
  1720.         Until TheLine = "" OR TheLineNumber = LinesIndocument
  1721.     EndIf
  1722. * End of routine "GetDisks"
  1723. *************
  1724.  
  1725. *************
  1726. * Global routine "GetEXT"
  1727.     If ARG1 = "THREE"
  1728.         If NUM < 10
  1729.             Let PAD = "00"
  1730.         ElseIf NUM > 9 AND NUM < 100
  1731.             Let PAD = "0"
  1732.         ElseIf NUM > 99
  1733.             Let PAD = ""
  1734.         EndIf
  1735.         ExitScript
  1736.     EndIf
  1737.     If ARG1 = "TWO"
  1738.         If NUM < 10
  1739.             Let PAD = "0"
  1740.         ElseIf NUM > 9 AND NUM < 100
  1741.             Let PAD = ""
  1742.         EndIf
  1743.         ExitScript
  1744.     EndIf
  1745.     If ARG1 = "NONE"
  1746.         ExitScript
  1747.     EndIf
  1748. * End of routine "GetEXT"
  1749. *************
  1750.  
  1751. *************
  1752. * Global routine "GetRoot"
  1753.     MakeDocument "files"
  1754.     WorkWithDocument DIRDOC
  1755.     PositionOnLine 1
  1756.     If TheLine = ""
  1757.         ExitScript
  1758.     EndIf
  1759.     Loop
  1760.         If TheLine = ""
  1761.             ExitScript
  1762.         EndIf
  1763.         SetCurrentDirectory THELINE
  1764.         MakeDocument "FILES"
  1765.         WorkWithDocument "FILES"
  1766.         PositionOnLine 1
  1767.         InsertDirectoryList FILESONLY 
  1768.         PositionOnLine 1
  1769.         If TheLine <> ""
  1770.             Loop
  1771.                 Let NEWFILE = TheCurrentDirectory||THELINE
  1772.                 Delete LINE 
  1773.                 Type NEWFILE
  1774.                 SplitLine
  1775.             Until THELINE = "" OR THELINENUMBER = LINESINDOCUMENT
  1776.             Do "SELECTIVE","PRE"
  1777.             Let FILES = textfromdocument("FILES")
  1778.             WorkWithDocument "listdoc"
  1779.             MoveCursorTo ENDOF DOCUMENT 
  1780.             If TheLIne <> ""
  1781.                 NewLine
  1782.             EndIf
  1783.             Type FILES
  1784.         EndIf
  1785.         WorkWithDocument DIRDOC
  1786.         MoveCursor DOWN ,1
  1787.     Until TheLine = "" OR TheLineNumber = LinesIndocument
  1788. * End of routine "GetRoot"
  1789. *************
  1790.  
  1791. *************
  1792. * Global routine "GETsplitz"
  1793.     If ARG1 = "DOC"
  1794.         WorkWithDocument "TEMPdoc"
  1795.         PositionOnLine 1
  1796.         Type CHECKFILE,NEWLINE 
  1797.         WorkWithDocument "listdoc"
  1798.         ExitScript
  1799.     EndIf
  1800.     If ARG1 = "SEEK"
  1801.         Loop
  1802.             Let NUM = NUM + 1
  1803.             Do "GetEXT",PADtype
  1804.             Let CHECKFILE = PATHandNAME||SPACE||PAD||NUM
  1805.             If Exists(CHECKFILE)
  1806.                 WorkWithDocument "TEMPdoc"
  1807.                 MoveCursorTo ENDOF DOCUMENT 
  1808.                 Type CHECKFILE,NEWLINE 
  1809.                 SendToSubDeck "FREQ","","Found Section:"||CHECKFILE
  1810.             EndIf
  1811.         Until Not Exists(CHECKFILE)
  1812.         ExitScript
  1813.     EndIf
  1814.     If ARG1 = "GEText"
  1815.         WorkWithDocument "listdoc"
  1816.         MoveCursorTo ENDOF LINE 
  1817.         Loop
  1818.             MoveCursor LEFT ,1
  1819.         Until TheCharacter = "." OR TheCharacter = "_" OR TheColumnNumber = 1
  1820.         If TheColumnNumber = 1  ; we didn't find an extension
  1821.             Let EXT = ""
  1822.             ExitScript
  1823.         EndIf
  1824.         Let SPACE = TheCharacter
  1825.         Let FULLNAME = TheLine
  1826.         Let PATHandNAME = CharsToBegofLine
  1827.         Let Fileonly = FileOf(PATHandNAME)
  1828.         Let PATHonly = Pathof(THELINE)
  1829.         MoveCursor RIGHT ,1
  1830.         Let EXT = CharsToEndOfLine
  1831.         If NumberOfChars(EXT) = 3
  1832.             Let PAD = "00"
  1833.             Let PADtype = "THREE"
  1834.         ElseIf NumberofChars(EXT) = 2
  1835.             Let PAD = "0"
  1836.             Let PADtype = "TWO"
  1837.         ElseIf NumberOfChars(EXT) = 1
  1838.             Let PAD = ""
  1839.             Let PADtype = "NONE"
  1840.         EndIf
  1841.     EndIf
  1842. * End of routine "GETsplitz"
  1843. *************
  1844.  
  1845. *************
  1846. * Global routine "INSTaction"
  1847.     WorkWithDocument "listdoc"
  1848.     PositionOnLine 1
  1849.     Let DEST = """"||textfrom("DESTfield")||""""
  1850.     If TheLine = ""
  1851.         ExitScript
  1852.     EndIf
  1853.     If ARG1 = "COPY" AND ARG2 = FALSE
  1854.         Loop
  1855.             SendToSubDeck "FREQ","COPYING "||THELINE||" to "||DEST,"..."
  1856.             Dos "copy """||THELINE||""" "||DEST
  1857.             MoveCursor DOWN ,1
  1858.         Until TheLine = "" Or TheLineNumber = LinesInDocment
  1859.         PositionOnLine 1
  1860.         ExitScript
  1861.     EndIf
  1862.     If ARG1 = "COPY" AND ARG2 = TRUE AND ARG3 <> ""
  1863.         Let TYPES = ARG3
  1864.         Let NUM = 1
  1865.         Loop
  1866.             Let MTCH = GetWord(TYPES,NUM," ")
  1867.             If MTCH <> ""
  1868.                 Loop
  1869.                     SearchFor MTCH,NOCASE 
  1870.                     If searchfound AND Findchars(THELINE,FileOf(THELINE),1) <> 0
  1871.                         SendToSubDeck "FREQ","COPYING "||THELINE||" to "||DEST,"..."
  1872.                         Dos "copy """||THELINE||""" "||DEST
  1873.                         MoveCursor DOWN ,1
  1874.                         MoveCursorTo STARTOF LINE 
  1875.                     EndIf
  1876.                 Until NOT Searchfound
  1877.             EndIf
  1878.             Let NUM = NUM + 1
  1879.             PositionOnLine 1
  1880.         Until MTCH = ""
  1881.     EndIf
  1882.     If ARG1 = "MOVE" AND ARG2 = FALSE
  1883.         Loop
  1884.             SendToSubDeck "FREQ","COPYING "||THELINE||" to "||DEST,"..."
  1885.             Dos "copy """||THELINE||""" "||DEST
  1886.             If Exists(textfrom("DESTfield")||fileof(THELINE))
  1887.                 SendToSubDeck "FREQ","","DELETING "||THELINE
  1888.                 Dos "delete """||THELINE||""""
  1889.             EndIf
  1890.             MoveCursor DOWN ,1
  1891.         Until TheLine = "" Or TheLineNumber = LinesInDocment
  1892.         PositionOnLine 1
  1893.         ExitScript
  1894.     EndIf
  1895.     If ARG1 = "MOVE" AND ARG2 = TRUE AND ARG3 <> ""
  1896.         Let TYPES = ARG3
  1897.         Let NUM = 1
  1898.         Loop
  1899.             Let MTCH = GetWord(TYPES,NUM," ")
  1900.             If MTCH <> ""
  1901.                 Loop
  1902.                     SearchFor MTCH,NOCASE 
  1903.                     If searchfound AND Findchars(THELINE,FileOf(THELINE),1) <> 0
  1904.                         SendToSubDeck "FREQ","COPYING "||THELINE||" to "||DEST,"..."
  1905.                         Dos "copy """||THELINE||""" "||DEST
  1906.                         If Exists(textfrom("DESTfield")||fileOf(THELINE))
  1907.                             SendToSubDeck "FREQ","","DELETING "||THELINE
  1908.                             Dos "delete """||THELINE||"""
  1909.                         EndIf
  1910.                         MoveCursor DOWN ,1
  1911.                         MoveCursorTo STARTOF LINE 
  1912.                     EndIf
  1913.                 Until NOT Searchfound
  1914.             EndIf
  1915.             Let NUM = NUM + 1
  1916.             PositionOnLine 1
  1917.         Until MTCH = ""
  1918.     EndIf
  1919.     If ARG1 = "DELETE" AND ARG2 = FALSE
  1920.         Loop
  1921.             SendToSubDeck "FREQ","DELETING "||THELINE,"..."
  1922.             Dos "delete """||THELINE||""" "||DEST
  1923.             MoveCursor DOWN ,1
  1924.         Until TheLine = "" Or TheLineNumber = LinesInDocment
  1925.         PositionOnLine 1
  1926.         ExitScript
  1927.     EndIf
  1928.     If ARG1 = "DELETE" AND ARG2 = TRUE AND ARG3 <> ""
  1929.         Let TYPES = ARG3
  1930.         Let NUM = 1
  1931.         Loop
  1932.             Let MTCH = GetWord(TYPES,NUM," ")
  1933.             If MTCH <> ""
  1934.                 Loop
  1935.                     SearchFor MTCH,NOCASE 
  1936.                     If searchfound AND Findchars(THELINE,FileOf(THELINE),1) <> 0
  1937.                         SendToSubDeck "FREQ","DELETING "||THELINE,"..."
  1938.                         Dos "delete """||THELINE||""""
  1939.                         MoveCursor DOWN ,1
  1940.                         MoveCursorTo STARTOF LINE 
  1941.                     EndIf
  1942.                 Until NOT Searchfound
  1943.             EndIf
  1944.             Let NUM = NUM + 1
  1945.             PositionOnLine 1
  1946.         Until MTCH = ""
  1947.     EndIf
  1948.     If ARG1 = "LHAeach" AND ARG2 = FALSE
  1949.         Loop
  1950.             Let LHTO = """"||Textfrom("DESTfield")||FileOf(THELINE)||".lha"""
  1951.             SendToSubDeck "FREQ","LHA adding "||THELINE||" to "||LHTO,"..."
  1952.             Dos "lha a "||LHTO||" """||THELINE||""""
  1953.             MoveCursor DOWN ,1
  1954.         Until TheLine = "" Or TheLineNumber = LinesInDocment
  1955.         PositionOnLine 1
  1956.         ExitScript
  1957.     EndIf
  1958.     If ARG1 = "LHAeach" AND ARG2 = TRUE AND ARG3 <> ""
  1959.         Let TYPES = ARG3
  1960.         Let NUM = 1
  1961.         Loop
  1962.             Let MTCH = GetWord(TYPES,NUM," ")
  1963.             If MTCH <> ""
  1964.                 Loop
  1965.                     SearchFor MTCH,NOCASE 
  1966.                     If searchfound AND Findchars(THELINE,FileOf(THELINE),1) <> 0
  1967.                         Let LHTO = """"||Textfrom("DESTfield")||FileOf(THELINE)||".lha"""
  1968.                         SendToSubDeck "FREQ","LHA adding "||THELINE||" to "||LHTO,"..."
  1969.                         Dos "lha a "||LHTO||" """||THELINE||""""
  1970.                         MoveCursor DOWN ,1
  1971.                         MoveCursorTo STARTOF LINE 
  1972.                     EndIf
  1973.                 Until NOT Searchfound
  1974.             EndIf
  1975.             Let NUM = NUM + 1
  1976.             PositionOnLine 1
  1977.         Until MTCH = ""
  1978.     EndIf
  1979.     If ARG1 = "ZIPeach" AND ARG2 = FALSE
  1980.         Loop
  1981.             Let ZIPTO = """"||Textfrom("DESTfield")||FileOf(THELINE)||".zip"""
  1982.             SendToSubDeck "FREQ","ZIPing "||THELINE||" to "||ZIPTO,"..."
  1983.             Dos "zip "||ZIPTO||" """||THELINE||""""
  1984.             MoveCursor DOWN ,1
  1985.         Until TheLine = "" Or TheLineNumber = LinesInDocment
  1986.         PositionOnLine 1
  1987.         ExitScript
  1988.     EndIf
  1989.     If ARG1 = "ZIPeach" AND ARG2 = TRUE AND ARG3 <> ""
  1990.         Let TYPES = ARG3
  1991.         Let NUM = 1
  1992.         Loop
  1993.             Let MTCH = GetWord(TYPES,NUM," ")
  1994.             If MTCH <> ""
  1995.                 Loop
  1996.                     SearchFor MTCH,NOCASE 
  1997.                     If searchfound AND Findchars(THELINE,FileOf(THELINE),1) <> 0
  1998.                         Let ZIPTO = """"||Textfrom("DESTfield")||FileOf(THELINE)||".zip"""
  1999.                         SendToSubDeck "FREQ","ZIPing "||THELINE||" to "||ZIPTO,"..."
  2000.                         Dos "zip "||ZIPTO||" """||THELINE||""""
  2001.                         MoveCursor DOWN ,1
  2002.                         MoveCursorTo STARTOF LINE 
  2003.                     EndIf
  2004.                 Until NOT Searchfound
  2005.             EndIf
  2006.             Let NUM = NUM + 1
  2007.             PositionOnLine 1
  2008.         Until MTCH = ""
  2009.     EndIf
  2010.     If ARG1 = "LHAone" AND ARG2 = FALSE AND ARG3 <> ""
  2011.         Let LHTO = """"||textfrom("DESTfield")||ARG3||".lha"""
  2012.         MakeDocument "TEMPdoc"
  2013.         InsertDocument "listdoc"
  2014.         Do "TEMPlist","TEMP"
  2015.         Dos "lha a >CON:0/100/640/100/VORTEX<->LHA "||LHTO||" -it:Vtemp"
  2016.         SendToSubDeck "FREQ","LHA adding all files to "||LHTO,"..."
  2017.         ExitScript
  2018.     EndIf
  2019.     If ARG1 = "LHAone" AND ARG2 = TRUE AND ARG3 <> "" AND ARG4 <> ""
  2020.         Let LHTO = """"||Textfrom("DESTfield")||ARG3||".lha"""
  2021.         Let TYPES = ARG4
  2022.         Let NUM = 1
  2023.         MakeDocument "TEMPdoc"
  2024.         WorkWithDocument "listdoc"
  2025.         Loop
  2026.             Let MTCH = GetWord(TYPES,NUM," ")
  2027.             If MTCH <> ""
  2028.                 Loop
  2029.                     SearchFor MTCH,NOCASE 
  2030.                     If searchfound AND Findchars(THELINE,FileOf(THELINE),1) <> 0
  2031.                         Let FILE = """"||THELINE||""""
  2032.                         WorkWithDocument "TEMPdoc"
  2033.                         MoveCursorTo ENDOF DOCUMENT 
  2034.                         Type FILE,NEWLINE 
  2035.                         WorkWithDocument "listdoc"
  2036.                         MoveCursor DOWN ,1
  2037.                         MoveCursorTo STARTOF LINE 
  2038.                     EndIf
  2039.                 Until NOT Searchfound
  2040.             EndIf
  2041.             Let NUM = NUM + 1
  2042.             PositionOnLine 1
  2043.         Until MTCH = ""
  2044.         WorkWithDocument "TEMPdoc"
  2045.         If LinesInDocument > 0
  2046.             SaveDocument "TEMPdoc","t:Vtemp"
  2047.             SendToSubDeck "FREQ","LHA adding all files to "||LHTO,"..."
  2048.             Dos "lha a >CON:0/100/640/100/VORTEX<->LHA "||LHTO||" -it:Vtemp"
  2049.             WorkWithDocument "listdoc"
  2050.             PositionOnLine 1
  2051.             ExitScript
  2052.         EndIf
  2053.     EndIf
  2054.     If ARG1 = "ZIPone" AND ARG2 = FALSE AND ARG3 <> ""
  2055.         Let ZIPTO = """"||textfrom("DESTfield")||ARG3||".zip"""
  2056.         SendToSubDeck "FREQ","ZIP adding all files to "||ZIPTO,"..."
  2057.         Loop
  2058.             SendToSubDeck "FREQ","","Packing  > "||THELINE||" to "||ZIPTO
  2059.             Dos "ZIP "||ZIPTO||" """||THELINE||""""
  2060.             MoveCursor DOWN ,1
  2061.         Until TheLine = "" OR TheLIneNumber = LinesInDocument OR "UserRMB#1" = TRUE
  2062.         ExitScript
  2063.     EndIf
  2064.     If ARG1 = "ZIPone" AND ARG2 = TRUE AND ARG3 <> "" AND ARG4 <> ""
  2065.         Let ZIPTO = """"||Textfrom("DESTfield")||ARG3||".zip"""
  2066.         Let TYPES = ARG4
  2067.         Let NUM = 1
  2068.         Loop
  2069.             Let MTCH = GetWord(TYPES,NUM," ")
  2070.             If MTCH <> ""
  2071.                 SendToSubDeck "FREQ","ZIP adding all files MATCHING "||MTCH||" to "||ZIPTO,"..."
  2072.                 Loop
  2073.                     SearchFor MTCH,NOCASE 
  2074.                     If searchfound AND Findchars(THELINE,FileOf(THELINE),1) <> 0
  2075.                         SendToSubDeck "FREQ","","Packing  > "||THELINE||" to "||ZIPTO
  2076.                         Dos "ZIP "||ZIPTO||" """||THELINE||""""
  2077.                         MoveCursor DOWN ,1
  2078.                         MoveCursorTo STARTOF LINE 
  2079.                     EndIf
  2080.                 Until NOT Searchfound
  2081.             EndIf
  2082.             Let NUM = NUM + 1
  2083.             PositionOnLine 1
  2084.         Until MTCH = ""
  2085.         ExitScript
  2086.     EndIf
  2087.     If ARG1 = "LHAx"
  2088.         Loop
  2089.             SearchFor ".LHA",NOCASE 
  2090.             If Searchfound
  2091.                 SendToSubDeck "FREQ","Extracting "||THELINE||" to "||DEST,"..."
  2092.                 Dos "lha x """||THELINE||""" "||DEST
  2093.                 MoveCursor DOWN ,1
  2094.                 MoveCursorTo STARTOF LINE 
  2095.             EndIf
  2096.         Until NOT searchfound OR TheLine = "" OR TheLineNumber = LinesInDocument
  2097.         ExitScript
  2098.     EndIf
  2099.     If ARG1 = "ZIPx"
  2100.         Loop
  2101.             SearchFor ".zip",NOCASE 
  2102.             If Searchfound
  2103.                 SendToSubDeck "FREQ","Extracting "||THELINE||" to "||DEST,"..."
  2104.                 Dos "UNZIP """||THELINE||""" -d "||DEST
  2105.                 MoveCursor DOWN ,1
  2106.                 MoveCursorTo STARTOF LINE 
  2107.             EndIf
  2108.         Until NOT searchfound OR TheLine = "" OR TheLineNumber = LinesInDocument
  2109.         ExitScript
  2110.     EndIf
  2111.     If ARG1 = "LZXx"
  2112.         Loop
  2113.             SearchFor ".LZX",NOCASE 
  2114.             If Searchfound
  2115.                 SendToSubDeck "FREQ","Extracting "||THELINE||" to "||DEST,"..."
  2116.                 Dos "lzx x """||THELINE||""" "||DEST
  2117.                 MoveCursor DOWN ,1
  2118.                 MoveCursorTo STARTOF LINE 
  2119.             EndIf
  2120.         Until NOT searchfound OR TheLine = "" OR TheLineNumber = LinesInDocument
  2121.         ExitScript
  2122.     EndIf
  2123.     If ARG1 = "ADDLINE" AND ARG2 <> ""
  2124.         Let LINE = ARG2
  2125.         Loop
  2126.             Let FILE = THELINE
  2127.             MakeDocument "Ldoc"
  2128.             WorkWithDocument "listdoc"
  2129.             LoadDocument FILE,"Ldoc"
  2130.             IfError
  2131.             EndIf
  2132.             WorkWithDocument "Ldoc"
  2133.             If LinesInDocument < 4
  2134.             Else
  2135.                 PositionOnLine 1
  2136.                 MoveCursorTo STARTOF LINE 
  2137.                 Type LINE
  2138.                 SplitLine
  2139.                 Type "",NEWLINE 
  2140.                 SendToSubDeck "FREQ","Adding Line to:"||FILE,"..."
  2141.                 SaveDocument "Ldoc",FILE
  2142.             EndIf
  2143.             WorkWithDocument "listdoc"
  2144.             MoveCursor DOWN ,1
  2145.         Until TheLine = "" OR TheLineNumber = LinesInDocument
  2146.     EndIf
  2147. * End of routine "INSTaction"
  2148. *************
  2149.  
  2150. *************
  2151. * Global routine "JOIN"
  2152.     If ARG1 = "PRE"
  2153.         MakeDocument "TEMPdoc"
  2154.         WorkWithDocument "listdoc"
  2155.         PositionOnLine 1
  2156.         If CFG[7].RebuildDest = TRUE OR CFG[7].RebuildOwn = TRUE
  2157.             Do "STATUS"
  2158.             Let NUM = 1
  2159.             Do "JOIN","Rebuild"
  2160.             ExitScript
  2161.         EndIf
  2162.         If CFG[7].JOIN = TRUE
  2163.             Do "STATUS"
  2164.             Do "JOIN","ALL"
  2165.             ExitScript
  2166.         EndIf
  2167.     EndIf
  2168.     If ARG1 = "Rebuild"
  2169.         Loop
  2170.             Do "GETsplitz","GEText"
  2171.             If EXT = "1" OR EXT = "01" OR EXT = "001"
  2172.                 Let CHECKFILE = THELINE
  2173.                 Do "GETsplitz","DOC"
  2174.                 Let NUM = 1
  2175.                 SendToSubDeck "FREQ","Trying to rebuild: "||CHECKFILE,"..."
  2176.                 Do "GETsplitz","SEEK"
  2177.                 WorkWithDocument "TEMPdoc"
  2178.                 If LinesInDocument > 1
  2179.                     SaveDocument "TEMPdoc","t:LIST"
  2180.                     If CFG[7].RebuildDest = TRUE
  2181.                         Let SAVEFILE = Textfrom("DESTfield")||FileOnly
  2182.                     ElseIf CFG[7].RebuildOwn = TRUE
  2183.                         Let SAVEFILE = PATHandNAME
  2184.                     EndIf
  2185.                     Dos "sploin """||SAVEFILE||""" -it:list"
  2186.                 EndIf
  2187.             EndIf
  2188.             MakeDocument "TEMPdoc"
  2189.             WorkWithDocument "listdoc"
  2190.             MoveCursor DOWN ,1
  2191.         Until TheLine = "" Or THeLineNUmber = LinesInDocument
  2192.         ExitScript
  2193.     EndIf
  2194.     If ARG1 = "ALL"
  2195.         If CFG[7].Joinfield = ""
  2196.             ExitScript
  2197.         Else
  2198.             Let SAVEFILE = Textfrom("DESTfield")||CFG[7].Joinfield
  2199.         EndIf
  2200.         If TheLine <> "" And LinesInDocument > 1
  2201.             SendToSubDeck "FREQ","Joining ALL file to:"||SAVEFILE,""
  2202.             SaveDocument "listdoc","t:list"
  2203.             If Exists(SAVEFILE)
  2204.                 Dos "Delete "||SAVEFILE
  2205.             EndIf
  2206.             Dos "sploin """||SAVEFILE||""" -it:list"
  2207.             If Exists(SAVEFILE)
  2208.                 SendToSubDeck "FREQ","","Joined ALL to:"||SAVEFILE
  2209.             ElseIf NOT Exists(SAVEFILE)
  2210.                 SendToSubDeck "FREQ","","Uh oh.. had a problem restoring:"||SAVFILE
  2211.             EndIf
  2212.         EndIf
  2213.     EndIf
  2214. * End of routine "JOIN"
  2215. *************
  2216.  
  2217. *************
  2218. * Global routine "LOADlog"
  2219.     WorkWithDocument "listdoc"
  2220.     Clear DOCUMENT 
  2221.     LoadDocument INFILE,"listdoc"
  2222.     IfError
  2223.     EndIf
  2224.     PositionOnLine 1
  2225. * End of routine "LOADlog"
  2226. *************
  2227.  
  2228. *************
  2229. * Global routine "SAVElog"
  2230.     SaveDocument "listdoc",INFILE||".log"
  2231. * End of routine "SAVElog"
  2232. *************
  2233.  
  2234. *************
  2235. * Global routine "SCREEN"
  2236.     SetPrintFont "topaz",8
  2237.     SetPrintStyle SHADOW ,3,3
  2238.     SetPen 2,0
  2239.     SetDrawMode JAM2 
  2240.     If ARG1 = 1
  2241.         PrintText "ENCODE",35,86
  2242.         ExitScript
  2243.     EndIf
  2244.     If ARG1 = 3
  2245.         PrintText "DECODE",35,86
  2246.         ExitScript
  2247.     EndIf
  2248.     If ARG1 = 5
  2249.         PrintText "SPLIT ",35,86
  2250.         ExitScript
  2251.     EndIf
  2252.     If ARG1 = 7
  2253.         PrintText "JOIN  ",35,86
  2254.         ExitScript
  2255.     EndIf
  2256.     If ARG1 = 9
  2257.         PrintText "ACTION",35,86
  2258.         ExitScript
  2259.     EndIf
  2260.     If ARG1 = 11
  2261.         Let MODE = 1
  2262.         PrintText "ENCODE",35,86
  2263.         ExitScript
  2264.     EndIf
  2265. * End of routine "SCREEN"
  2266. *************
  2267.  
  2268. *************
  2269. * Global routine "Selective"
  2270.     SetWordDelimiters " : / "
  2271.     If ARG1 = "PRE"
  2272.         If CFG[VAR].DIRflist = "SELECTIVE" AND RType = "DIR"
  2273.             Do "SELECTIVE","DIR"
  2274.         EndIf
  2275.         If CFG[VAR].DSKflist = "SELECTIVE" AND Rtype = "DSK"
  2276.             Do "SELECTIVE","DISK"
  2277.         EndIf
  2278.         ExitScript
  2279.     EndIf
  2280.     If ARG1 = "DIR"
  2281.         Let NUM = 1
  2282.         WorkWithDocument "files"
  2283.         PositionOnLine 1
  2284.         If CFG[VAR].DB.DIRexcl = TRUE
  2285.             Loop
  2286.                 Let EXCL = GetWord(CFG[VAR].DB.DIRexclfield,NUM," ")
  2287.                 If EXCL <> ""
  2288.                     Loop
  2289.                         If CFG[VAR].DIR.CASE = TRUE
  2290.                             SearchFor EXCL
  2291.                         Else
  2292.                             SearchFor EXCL,NOCASE 
  2293.                         EndIf
  2294.                         If searchfound AND CFG[VAR].DIR.FILES = TRUE
  2295.                             Let THIS = THEWORD
  2296.                             Let THAT = FileOf(THELINE)
  2297.                             If THIS = THAT
  2298.                                 Delete LINE 
  2299.                                 MoveCursorTo STARTOF LINE 
  2300.                             EndIf
  2301.                         ElseIf Searchfound AND CFG[VAR].DIR.FILES = FALSE
  2302.                             Delete LINE 
  2303.                             MoveCursorTo STARTOF LINE 
  2304.                         EndIf
  2305.                     Until NOT Searchfound OR TheLine = "" OR TheLineNumber = LinesInDocment
  2306.                 EndIf
  2307.                 Let NUM = NUM + 1
  2308.                 PositionOnLine 1
  2309.             Until EXCL = ""
  2310.             Let NUM = 1
  2311.         EndIf
  2312.         If CFG[VAR].DB.DIRmatch = TRUE
  2313.             MakeDocument "Sel"
  2314.             WorkWithDocument "Sel"
  2315.             Clear DOCUMENT 
  2316.             WorkWithDocument "files"
  2317.             PositionOnLine 1
  2318.             Loop
  2319.                 Let MTCH = GetWord(CFG[VAR].DB.DIRmatchfield,NUM," ")
  2320.                 If MTCH <> ""
  2321.                     Loop
  2322.                         If CFG[VAR].DIR.CASE = TRUE
  2323.                             SearchFor MTCH
  2324.                         Else
  2325.                             SearchFor MTCH,NOCASE 
  2326.                         EndIf
  2327.                         If searchfound AND CFG[VAR].DIR.FILES = TRUE
  2328.                             Let THIS = THEWORD
  2329.                             Let THAT = FileOf(THELINE)
  2330.                             If THIS = THAT
  2331.                                 Do "Selective","FOUND"
  2332.                             EndIf
  2333.                         ElseIf Searchfound AND CFG[VAR].DIR.FILES = FALSE
  2334.                             Do "Selective","FOUND"
  2335.                         EndIf
  2336.                     Until NOT Searchfound
  2337.                 EndIf
  2338.                 Let NUM = NUM + 1
  2339.                 PositionOnLine 1
  2340.             Until MTCH = ""
  2341.             WorkWithDocument "Files"
  2342.             Clear DOCUMENT 
  2343.             PositionOnLine 1
  2344.             InsertDocument "Sel"
  2345.             PositionOnLine 1
  2346.         EndIf
  2347.     EndIf
  2348.     If ARG1 = "DISK"
  2349.         Let NUM = 1
  2350.         WorkWithDocument "files"
  2351.         PositionOnLine 1
  2352.         If CFG[VAR].DB.DSKexcl = TRUE
  2353.             Loop
  2354.                 Let EXCL = GetWord(CFG[VAR].DB.DSKexclfield,NUM," ")
  2355.                 If EXCL <> ""
  2356.                     Loop
  2357.                         If CFG[VAR].DSK.CASE = TRUE
  2358.                             SearchFor EXCL
  2359.                         Else
  2360.                             SearchFor EXCL,NOCASE 
  2361.                         EndIf
  2362.                         If searchfound AND CFG[VAR].DSK.FILES = TRUE
  2363.                             Let THIS = THEWORD
  2364.                             Let THAT = FileOf(THELINE)
  2365.                             If THIS = THAT
  2366.                                 Delete LINE 
  2367.                                 MoveCursorTo STARTOF LINE 
  2368.                             EndIf
  2369.                         ElseIf Searchfound AND CFG[VAR].DSK.FILES = FALSE
  2370.                             Delete LINE 
  2371.                             MoveCursorTo STARTOF LINE 
  2372.                         EndIf
  2373.                     Until NOT Searchfound OR TheLine = "" OR TheLineNumber = LinesInDocment
  2374.                 EndIf
  2375.                 Let NUM = NUM + 1
  2376.                 PositionOnLine 1
  2377.             Until EXCL = ""
  2378.             Let NUM = 1
  2379.         EndIf
  2380.         If CFG[VAR].DB.DSKmatch = TRUE
  2381.             MakeDocument "Sel"
  2382.             WorkWithDocument "Sel"
  2383.             Clear DOCUMENT 
  2384.             WorkWithDocument "files"
  2385.             PositionOnLine 1
  2386.             Loop
  2387.                 Let MTCH = GetWord(CFG[VAR].DB.DSKmatchfield,NUM," ")
  2388.                 If MTCH <> ""
  2389.                     Loop
  2390.                         If CFG[VAR].DSK.CASE = TRUE
  2391.                             SearchFor MTCH
  2392.                         Else
  2393.                             SearchFor MTCH,NOCASE 
  2394.                         EndIf
  2395.                         If searchfound AND CFG[VAR].DSK.FILES = TRUE
  2396.                             Let THIS = THEWORD
  2397.                             Let THAT = FileOf(THELINE)
  2398.                             If THIS = THAT
  2399.                                 Do "Selective","FOUND"
  2400.                             EndIf
  2401.                         ElseIf Searchfound AND CFG[VAR].DSK.FILES = FALSE
  2402.                             Do "Selective","FOUND"
  2403.                         EndIf
  2404.                     Until NOT Searchfound
  2405.                 EndIf
  2406.                 Let NUM = NUM + 1
  2407.                 PositionOnLine 1
  2408.             Until MTCH = ""
  2409.             WorkWithDocument "Files"
  2410.             Clear DOCUMENT 
  2411.             PositionOnLine 1
  2412.             InsertDocument "Sel"
  2413.             PositionOnLine 1
  2414.         EndIf
  2415.     EndIf
  2416.     If ARG1 = "FOUND"
  2417.         Let CLIP = THELINE
  2418.         WorkWithDocument "Sel"
  2419.         PositionOnLine 1
  2420.         If Theline <> ""
  2421.             MoveCursorTo ENDOF DOCUMENT 
  2422.         EndIf
  2423.         Type CLIP,NEWLINE 
  2424.         WorkWithDocument "Files"
  2425.         MoveCursor DOWN ,1
  2426.         MoveCursorTo STARTOF LINE 
  2427.     EndIf
  2428. * End of routine "Selective"
  2429. *************
  2430.  
  2431. *************
  2432. * Global routine "SPLIT"
  2433.     If ARG1 = "PRE"
  2434.         WorkWithDocument "listdoc"
  2435.         PositionOnLine 1
  2436.         If CFG[5].NUMBER = TRUE
  2437.             Let SWITCH = "-s"||CFG[5].NUMBERfield
  2438.             Let DEST = """-d"||TextFrom("DESTfield")||""""
  2439.             Let STAT = CFG[5].NUMBERfield||" files"
  2440.             Do "SPLIT","NUMBER"
  2441.             ExitScript
  2442.         EndIf
  2443.         If CFG[5].BYTES = TRUE
  2444.             Let SWITCH = "-s="||CFG[5].Bytesfield
  2445.             Let DEST = """-d"||TextFrom("DESTfield")||""""
  2446.             Let STAT = CFG[5].Bytesfield||" byte sections"
  2447.             Do "SPLIT","BYTES"
  2448.             ExitScript
  2449.         EndIf
  2450.         If CFG[5].NBYTES = TRUE
  2451.             Do "SPLIT","NBYTES"
  2452.             ExitScript
  2453.         EndIf
  2454.         If CFG[5].TXTlines = TRUE
  2455.             Do "SPLIT","txtLINES"
  2456.             ExitScript
  2457.         EndIf
  2458.         If CFG[5].TXTbytes = TRUE
  2459.             Do "SPLIT","txtBYTES"
  2460.             ExitScript
  2461.         EndIf
  2462.         If CFG[5].FLOPPY = TRUE
  2463.             Let PASS = 0
  2464.             Let ENDFILE = ""
  2465.             Let FILENUMBER = 1
  2466.             Do "SPLIT","SPLIT3"
  2467.             ExitScript
  2468.         EndIf
  2469.         ExitScript
  2470.     EndIf
  2471.     If ARG1 = "NUMBER"
  2472.         Loop
  2473.             SendToSubDeck "FREQ","Splitting "||THELINE||" > "||STAT,"Destination:"||textfrom("DESTfield"),"...."
  2474.             Dos "sploin """||THELINE||""" "||SWITCH||" "||DEST
  2475.             SendToSubDeck "FREQ","","* DONE *"
  2476.             MoveCursor DOWN ,1
  2477.         Until THELINE = "" OR TheLineNumber = LinesInDocument
  2478.         ExitScript
  2479.     EndIf
  2480.     If ARG1 = "BYTES"
  2481.         Loop
  2482.             GetFileInfo THELINE,SIZE
  2483.             IfError
  2484.                 Let SIZE = 0
  2485.             EndIf
  2486.             If SIZE > CFG[5].Bytesfield
  2487.                 SendToSubDeck "FREQ","Splitting "||THELINE||" > "||STAT,"Destination:"||textfrom("DESTfield"),"...."
  2488.                 Dos "sploin """||THELINE||""" "||SWITCH||" "||DEST
  2489.                 SendToSubDeck "FREQ","","* DONE *"
  2490.             EndIf
  2491.             MoveCursor DOWN ,1
  2492.         Until THELINE = "" OR TheLineNumber = LinesInDocument
  2493.         ExitScript
  2494.     EndIf
  2495.     If ARG1 = "NBYTES"
  2496.         If CFG[5].Nbytes = TRUE
  2497.             Let Nbyte = "-n"||CFG[5].Nbytesfield
  2498.             Let SWITCH1 = Nbyte
  2499.         Else
  2500.             Let SWITCH1 = ""
  2501.         EndIf
  2502.         If CFG[5].Offset = TRUE
  2503.             Let OFFSET = "-o"||CFG[5].Offsetfield
  2504.             Let SWITCH2 = OFFSET
  2505.             Let OSET = CFG[5].Offsetfield
  2506.         Else
  2507.             Let OSET = 0
  2508.             Let SWITCH2 = ""
  2509.         EndIf
  2510.         Loop
  2511.             If CFG[5].REST = TRUE
  2512.                 Let SWITCH3 = "-r """||CFG[5].RESTfield||Fileof(THELINE)||"_RST"""
  2513.                 SendToSubDeck "FREQ","",CFG[5].RESTfield||Fileof(THELINE)||"_RST"
  2514.             Else
  2515.                 Let SWITCH3 = ""
  2516.             EndIf
  2517.             Let DEST = """"||TextFrom("DESTfield")||Fileof(THELINE)||"_BYT"""
  2518.             GetFileInfo THELINE,SIZE
  2519.             IfError
  2520.                 Let SIZE = 0
  2521.             EndIf
  2522.             If SIZE > CFG[5].Nbytesfield + OSET
  2523.                 SendToSubDeck "FREQ","Splitting: "||THELINE||" Bytes: "||CFG[5].Nbytesfield||" Offset: "||CFG[5].Offsetfield
  2524.                 SendToSubDeck "FREQ","",Textfrom("DESTfield")||Fileof(THELINE)||"_BYT"
  2525.                 Dos "sploin -s """||THELINE||""" "||DEST||" "||SWITCH1||" "||SWITCH2||" "||SWITCH3
  2526.                 SendToSubDeck "FREQ",""," * DONE *"
  2527.             EndIf
  2528.             MoveCursor DOWN ,1
  2529.         Until THELINE = "" OR THELINENUMBER = LINESINDOCUMENT
  2530.         ExitScript
  2531.     EndIf
  2532.     If ARG1 = "YESNO"
  2533.         LoadSubDeck "DTP:EZ-UU/FLOPPY.sub","FLOP"
  2534.         OpenWindow "FLOP","YES-NO",PASS,HOWMANYDISKS,FILENAME||" "||FSIZE,BYTES,LEFTOVER,CFG[5].RNM,CFG[5].LOG
  2535.         StopScript
  2536.     EndIf
  2537.     If ARG1 = "SPLIT3"
  2538.         WorkWithDocument "listdoc"
  2539.         GetFileInfo THELINE,FSIZE
  2540.         Let BYTES = CFG[5].FBYTESfield
  2541.         If FSIZE < BYTES
  2542.             SendToSubDeck "FREQ","Skipping "||THELINE||" too small to split by BYTES"
  2543.             MoveCursor DOWN ,1
  2544.             If THELINE = "" OR TheLineNumber = LinesInDocument
  2545.                 SendToSubDeck "FREQ","","No More Files...."
  2546.                 Delay 0,3,0
  2547.                 Do "STATUS","STOP"
  2548.                 ExitScript
  2549.             Else
  2550.                 Do "SPLIT","SPLIT3"
  2551.                 ExitScript
  2552.             EndIf
  2553.         EndIf
  2554.         Let HOWMANYTIMES = FSIZE % BYTES  ; Howmany times BYTES fit.
  2555.         Let TOTALBYTES = Bytes * HOWMANYTIMES
  2556.         If FSIZE > BYTES * HOWMANYTIMES  ; if file is larger.
  2557.             Let END = BYTES * HOWMANYTIMES  ; SetUp FINAL start
  2558.             Let LEFTOVER = FSIZE - END ; SetUp FINAL portion
  2559.             Let HOWMANYDISKS = HOWMANYTIMES + 1
  2560.         ElseIf FSIZE < BYTES * HOWMANYTIMES OR IF FSIZE = BYTES * HOWMANYTIMES
  2561.             Let END = BYTES * HOWMANYTIMES  ; SetUp FINAL start
  2562.             Let LEFTOVER = FSIZE - END ; SetUp FINAL portion
  2563.             Let HOWMANYDISKS = HOWMANYTIMES
  2564.         EndIf
  2565.         If CFG[5].LOG = TRUE
  2566.             MakeDocument "FLOG"
  2567.             WorkWithDocument "LISTDOC"
  2568.         EndIf
  2569.         Let START = 0
  2570.         Let PASS = 1
  2571.         Let ENDFILE = ""
  2572.         Let FILENAME = Fileof(THELINE)
  2573.         Do "SPLIT","YESNO"
  2574.         StopScript
  2575.     EndIf
  2576.     If ARG1 = "SPLIT4"
  2577.         Let DRIVE = """"||CFG[5].DRIVE||fileof(THELINE)||"_"||PASS||""""
  2578.         SetCurrentDirectory CFG[5].DRIVE
  2579.         IfError
  2580.             Do "STATUS","STOP"
  2581.             ExitScript
  2582.         EndIf
  2583.         Let DISKNAME = TheCurrentDirectory
  2584.         SetCurrentDirectory "ram:"
  2585.         If CFG[5].RNM = TRUE
  2586.             SendToSubDeck "FREQ","Renaming disk in "||CFG[5].DRIVE||" to "||Fileof(ThelIne)||"_"||PASS,"..."
  2587.             Dos "relabel DRIVE "||CFG[5].DRIVE||" NAME "||Fileof(theline)||"_"||PASS
  2588.             Let FLOPNAME = Fileof(theline)||"_"||PASS||":"||Fileof(theline)||"_"||PASS
  2589.         Else
  2590.             Let FLOPNAME = DISKNAME||Fileof(theline)||"_"||PASS
  2591.         EndIf
  2592.         Let OFFSET = "-o"||START       ; Setup command for START OFFSET
  2593.         Let Nbyte = "-n"||BYTES    ; Setup command for BYTES
  2594.         SendToSubDeck "FREQ","Splitting section # "||PASS||" of "||THELINE||" to "||DRIVE,"..."
  2595.         Dos "sploin -s """||THELINE||""" "||DRIVE||" "||Nbyte||" "||OFFSET
  2596.         If NOT Exists(CFG[5].DRIVE||Fileof(THELINE)||"_"||PASS)
  2597.             SendToSubDeck "FREQ","","Something went wrong!"
  2598.         Else
  2599.             SendToSubDeck "FREQ","","SUCCESSFUL!"
  2600.         EndIf
  2601.         If CFG[5].LOG = TRUE
  2602.             WorkWithDocument "FLOG"
  2603.             MoveCursorTo ENDOF DOCUMENT 
  2604.             Type FLOPname,NEWLINE 
  2605.             WorkWithDocument "LISTDOC"
  2606.         EndIf
  2607.         If ENDFILE = "YES"
  2608.             If CFG[5].LOG = TRUE
  2609.                 SaveDocument "FLOG","ram:"||FileOf(THELINE)||".FLOG_"||FILENUMBER
  2610.             EndIf
  2611.             WorkWithDocument "LISTDOC"
  2612.             MoveCursor DOWN ,1
  2613.             If TheLine = ""
  2614.                 Do "STATUS","STOP"
  2615.                 ExitScript
  2616.             Else
  2617.                 Let ENDFILE = ""
  2618.                 Let FILENUMBER = FILENUMBER + 1
  2619.                 Do "SPLIT","SPLIT3"
  2620.                 ExitScript
  2621.             EndIf
  2622.         EndIf
  2623.         If PASS = HOWMANYTIMES
  2624.             Let BYTES = LEFTOVER
  2625.             Let START = END
  2626.             Let ENDFILE = "YES"
  2627.             Let PASS = PASS + 1
  2628.             Do "SPLIT","YESNO"
  2629.         ElseIf PASS < HOWMANYTIMES
  2630.             Let START = BYTES * PASS  ; DOUBLE the START
  2631.             Let PASS = PASS + 1   ; -THEN- DOUBLE the PASS
  2632.             Do "SPLIT","YESNO"
  2633.             ExitScript
  2634.         EndIf
  2635.     EndIf
  2636.     If ARG1 = "txtLINES"
  2637.         Loop
  2638.             Let FILE = TheLine
  2639.             Let BASEname = Fileof(THELINE)
  2640.             MakeDocument "Ldoc"
  2641.             LoadDocument FILE,"Ldoc"
  2642.             IfError
  2643.                 Nop;
  2644.             ElseIf LinesInDocument > CFG[5].TXTlinesfield
  2645.                 Do "SPLIT","LNS"
  2646.                 SendToSubDeck "FREQ","","* DONE *"
  2647.             EndIf
  2648.             MakeDocument "Sdoc"
  2649.             WorkWithDocument "listdoc"
  2650.             MoveCursor DOWN ,1
  2651.         Until TheLIne = "" OR TheLineNumber = Linesindocument
  2652.     EndIf
  2653.     If ARG1 = "txtBYTES"
  2654.         Loop
  2655.             Let FILE = TheLine
  2656.             Let BASEname = Fileof(THELINE)
  2657.             MakeDocument "Ldoc"
  2658.             LoadDocument FILE,"Ldoc"
  2659.             IfError
  2660.                 Nop;
  2661.             ElseIf SizeOfDocument > CFG[5].TXTbytesfield
  2662.                 Do "SPLIT","BTS"
  2663.                 SendToSubDeck "FREQ","","* DONE *"
  2664.             EndIf
  2665.             MakeDocument "Sdoc"
  2666.             WorkWithDocument "listdoc"
  2667.             MoveCursor DOWN ,1
  2668.         Until TheLIne = "" OR TheLineNumber = Linesindocument
  2669.     EndIf
  2670.     If ARG1 = "LNS"
  2671.         WorkWithDocument "Ldoc"
  2672.         MoveCursorTo ENDOF DOCUMENT 
  2673.         If TheLIne <> ""
  2674.             MoveCursorTo ENDOF LINE 
  2675.             SplitLine
  2676.         EndIf
  2677.         Type "VORTEX-END"
  2678.         PositionOnLine 1
  2679.         Let Times = LinesInDocument % CFG[5].TXTlinesfield
  2680.         If CFG[5].TXTlinesfield * Times < LinesIndocument
  2681.             Let Times = Times + 1
  2682.         EndIf
  2683.         SendToSubDeck "FREQ","Splitting "||FILE||" - "||CFG[5].TXTLinesfield||" Lines - Aprox: "||TIMES||" files","..."
  2684.         Let NUM = 1
  2685.         Loop
  2686.             Let TAKE = TheLine
  2687.             Delete LINE 
  2688.             WorkWithDocument "Sdoc"
  2689.             PositionOnLine 1
  2690.             If TheLine <> ""
  2691.                 MoveCursorTo ENDOF DOCUMENT 
  2692.             EndIf
  2693.             If TAKE <> "VORTEX-END"
  2694.                 Type TAKE,NEWLINE 
  2695.             EndIf
  2696.             If TheLineNumber = CFG[5].TXTlinesfield + 1 OR TAKE = "VORTEX-END"
  2697.                 If CFG[5].TXTfirst = TRUE
  2698.                     PositionOnLine 1
  2699.                     MoveCursorTo STARTOF LINE 
  2700.                     Type CFG[5].TXTfirstfield
  2701.                     SplitLine
  2702.                     Type "",NEWLINE 
  2703.                 EndIf
  2704.                 SaveDocument "Sdoc",Textfrom("DESTfield")||BASEname||"."||NUM
  2705.                 SendToSubDeck "FREQ","",NUM
  2706.                 Let NUM = NUM + 1
  2707.                 MakeDocument "Sdoc"
  2708.             EndIf
  2709.             WorkWithDocument "Ldoc"
  2710.         Until TAKE = "VORTEX-END"
  2711.     EndIf
  2712.     If ARG1 = "BTS"
  2713.         WorkWithDocument "Ldoc"
  2714.         MoveCursorTo ENDOF DOCUMENT 
  2715.         If TheLIne <> ""
  2716.             MoveCursorTo ENDOF LINE 
  2717.             SplitLine
  2718.         EndIf
  2719.         Type "VORTEX-END"
  2720.         PositionOnLine 1
  2721.         Let Times = SizeOfDocument % CFG[5].TXTbytesfield
  2722.         If CFG[5].TXTbytesfield * Times < SizeOfdocument
  2723.             Let Times = Times + 1
  2724.         EndIf
  2725.         SendToSubDeck "FREQ","Splitting "||FILE||" - "||CFG[5].TXTbytesfield||" Bytes - Aprox: "||TIMES||" files","..."
  2726.         Let NUM = 1
  2727.         Loop
  2728.             Let TAKE = TheLine
  2729.             Delete LINE 
  2730.             WorkWithDocument "Sdoc"
  2731.             PositionOnLine 1
  2732.             If THELINE <> ""
  2733.                 MoveCursorTo ENDOF DOCUMENT 
  2734.             EndIf
  2735.             If TAKE <> "VORTEX-END"
  2736.                 Type TAKE,NEWLINE 
  2737.             EndIf
  2738.             If SizeOfDocument > CFG[5].TXTbytesfield OR TAKE = "VORTEX-END"
  2739.                 If CFG[5].TXTfirst = TRUE
  2740.                     PositionOnLine 1
  2741.                     MoveCursorTo STARTOF LINE 
  2742.                     Type CFG[5].TXTfirstfield
  2743.                     SplitLine
  2744.                     Type "",NEWLINE 
  2745.                 EndIf
  2746.                 SaveDocument "Sdoc",Textfrom("DESTfield")||BASEname||"."||NUM
  2747.                 SendToSubDeck "FREQ","",NUM
  2748.                 Let NUM = NUM + 1
  2749.                 MakeDocument "Sdoc"
  2750.             EndIf
  2751.             WorkWithDocument "Ldoc"
  2752.         Until TAKE = "VORTEX-END"
  2753.     EndIf
  2754. * End of routine "SPLIT"
  2755. *************
  2756.  
  2757. *************
  2758. * Global routine "STATUS"
  2759.     If ARG1 = "START"
  2760.         LoadSubDeck "DTP:EZ-UU/FREQ.sub","FREQ"
  2761.         OpenRequester "FREQ","STATUS"
  2762.         ExitScript
  2763.     EndIf
  2764.     If ARG1 = "STOP"
  2765.         SendToSubDeck "FREQ","QUIT"
  2766.         IfError
  2767.         EndIf
  2768.     EndIf
  2769. * End of routine "STATUS"
  2770. *************
  2771.  
  2772. *************
  2773. * Global routine "TEMPlist"
  2774.     If ARG1 = "TEMP"
  2775.         WorkWithDocument "TEMPdoc"
  2776.         PositionOnLine 1
  2777.         Loop
  2778.             MoveCursorTo STARTOF LINE 
  2779.             Type """"
  2780.             MoveCursorTo ENDOF LINE 
  2781.             Type """"
  2782.             MoveCursor DOWN ,1
  2783.         Until TheLine = "" OR TheLIneNumber = LinesInDocument
  2784.         SaveDocument "TEMPdoc","t:Vtemp"
  2785.     EndIf
  2786. * End of routine "TEMPlist"
  2787. *************
  2788.  
  2789.