home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 April / PCWorld_2000-04_cd.bin / Software / TemaCD / winedit / winedit.mn_ < prev    next >
Text File  |  2000-02-20  |  48KB  |  1,692 lines

  1. ;WINEDIT.MNU file.  
  2. ;  
  3. ;Modifications courtesy of Don Lekei, Richard Merit, Morrie Wilson  
  4. ; and many many others.  Thank you very much.  
  5. ;  
  6. ; Some functions, like version control and alternate grep commands,   
  7. ; are presented here but commented out.  If you have the corresponding  
  8. ; utility, just delete the semicolons from column 1 and the function  
  9. ; will be enabled.  
  10. ;  
  11. ;  
  12. ;  
  13. ; AutoExec Section is on top here.  
  14. ;  
  15.         TAB=@TAB  
  16.         CR=@CRLF  
  17.         EOL=@CR  
  18.         Home=DirHome()  
  19.         IntControl(29,@tab,0,0,0)  ;Standardize on tabs as delimiters for FileItemize, etc  
  20.   
  21. Key Word Help      \ +{F1}         ; Load help topic for word at cursor  
  22.         call(strcat(DirHome(),"System\wwwedit.dll"),"KEYWORDHELP")  
  23.   
  24. Load Help File                    ; Load a help file (no keyword lookup)  
  25.         TheFile=strcat(DirHome(),"System\WEHELP.INI")  
  26.         Keys=IniItemizePvt("HelpAll",TheFile)  
  27.         KeyMax=ItemCount(Keys,@TAB)  
  28.         KeyIndex=0  
  29.         KeyValues=""  
  30.   
  31.         :ieLoop  
  32.         if KeyIndex==KeyMax then goto looped  
  33.         KeyIndex=KeyIndex+1  
  34.         ThisKey=ItemExtract(KeyIndex,Keys,@TAB)  
  35.         if (stricmp(ThisKey,"DEFAULT")==0) then goto ieloop  
  36.         ThisValue=IniReadPvt("HelpAll",ThisKey,"???",TheFile)  
  37.         KeyValues=strcat(KeyValues,ThisValue,"|")  
  38.         goto ieLoop  
  39.           
  40.         :looped  
  41.         a=ItemSelect("Select Help File",strlower(KeyValues),"|")  
  42.         if a=="" then goto DONE  
  43.         b = FileLocate(strcat(DirHome(),"HELP\%a%"))  
  44.         if b=="" then b=FileLocate(a)  
  45.         if b=="" then Message("Helpfile %a% not found","Edit %TheFile%%CR%[HelpAll] section to%CR%point to help file location%CR%or put helpfile on DOS path.")  
  46.                  else WinHelp(b,"CONTENTS","")  
  47.         :DONE  
  48.         Drop(TheFile,Keys,KeyMax,KeyIndex,KeyValues,ThisKey,ThisValue,a,b)  
  49. ;  
  50.   
  51. ;  
  52.    
  53. HTML         ;Insert HTML tags into this document
  54.  Anchor - Image
  55.          wImgTag()
  56.  
  57.  Anchor - Text
  58.         ErrorMode(@OFF)
  59.         s=ClipGet()
  60.         ErrorMode(@ON)
  61.         ClipPut("")    ; clear the clipboard
  62.         wCut()
  63.         wInsString('<A HREF="http://?">\^</A>')
  64.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  65.         wPaste()
  66.         ClipPut(s)  ; restore the clipboard
  67.  
  68.  Applet
  69.         ErrorMode(@OFF)
  70.         s=ClipGet()
  71.         ErrorMode(@ON)
  72.         ClipPut("")    ; clear the clipboard
  73.         wCut()
  74.         wInsLine('<APPLET CODE="?.class" LANGUAGE=JAVASCRIPT>')
  75.         wInsLine('\^')
  76.         wInsLine('</APPLET>')
  77.         wNewLine()
  78.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  79.         wPaste()
  80.         ClipPut(s)  ; restore the clipboard
  81.  
  82.  Colors
  83.   Black
  84.         wInsString('color="#000000"')
  85.  
  86.   Silver
  87.         wInsString('color="#C0C0C0"')
  88.  
  89.   Gray
  90.         wInsString('color="#808080"')
  91.  
  92.   White
  93.         wInsString('color="#FFFFFF"')
  94.  
  95.   Maroon
  96.         wInsString('color="#800000"')
  97.  
  98.   Red
  99.         wInsString('color="#FF0000"')
  100.  
  101.   Purple
  102.         wInsString('color="#800080"')
  103.  
  104.   Fuchsia
  105.         wInsString('color="#FF00FF"')
  106.  
  107.   Green
  108.         wInsString('color="#008000"')
  109.  
  110.   Lime
  111.         wInsString('color="#00FF00"')
  112.  
  113.   Olive
  114.         wInsString('color="#808000"')
  115.  
  116.   Yellow
  117.         wInsString('color="#FFFF00"')
  118.  
  119.   Blue
  120.         wInsString('color="#0000FF"')
  121.  
  122.   Navy
  123.         wInsString('color="#000080"')
  124.  
  125.   Teal
  126.         wInsString('color="#008080"')
  127.  
  128.   Aqua
  129.         wInsString('color="#00FFFF"')
  130.  
  131.  Comment
  132.         ErrorMode(@OFF)
  133.         s=ClipGet()
  134.         ErrorMode(@ON)
  135.         ClipPut("")    ; clear the clipboard
  136.         wCut()
  137.         wInsString('<!-- \^ -->')
  138.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  139.         wPaste()
  140.         ClipPut(s)
  141.  
  142.  Font Template
  143.         ErrorMode(@OFF)
  144.         s=ClipGet()
  145.         ErrorMode(@ON)
  146.         ClipPut("")    ; clear the clipboard
  147.         wCut()
  148.         wInsString('<FONT FACE="?" SIZE="?">\^</FONT>') 
  149.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  150.         wPaste()
  151.         ClipPut(s)
  152.  
  153.  Font Size
  154.   Font 1
  155.         ErrorMode(@OFF)
  156.         s=ClipGet()
  157.         ErrorMode(@ON)
  158.         ClipPut("")    ; clear the clipboard
  159.         wCut()
  160.         wInsString('<FONT SIZE="1">\^</FONT>')
  161.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  162.         wPaste()
  163.         ClipPut(s)
  164.  
  165.   Font 2
  166.         ErrorMode(@OFF)
  167.         s=ClipGet()
  168.         ErrorMode(@ON)
  169.         ClipPut("")    ; clear the clipboard
  170.         wCut()
  171.         wInsString('<FONT SIZE="2">\^</FONT>')
  172.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  173.         wPaste()
  174.         ClipPut(s)
  175.  
  176.   Font 3
  177.         ErrorMode(@OFF)
  178.         s=ClipGet()
  179.         ErrorMode(@ON)
  180.         ClipPut("")    ; clear the clipboard
  181.         wCut()
  182.         wInsString('<FONT SIZE="3">\^</FONT>')
  183.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  184.         wPaste()
  185.         ClipPut(s)
  186.  
  187.   Font 4
  188.         ErrorMode(@OFF)
  189.         s=ClipGet()
  190.         ErrorMode(@ON)
  191.         ClipPut("")    ; clear the clipboard
  192.         wCut()
  193.         wInsString('<FONT SIZE="4">\^</FONT>')
  194.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  195.         wPaste()
  196.         ClipPut(s)
  197.  
  198.   Font 5
  199.         ErrorMode(@OFF)
  200.         s=ClipGet()
  201.         ErrorMode(@ON)
  202.         ClipPut("")    ; clear the clipboard
  203.         wCut()
  204.         wInsString('<FONT SIZE="5">\^</FONT>')
  205.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  206.         wPaste()
  207.         ClipPut(s)
  208.  
  209.   Font 6
  210.         ErrorMode(@OFF)
  211.         s=ClipGet()
  212.         ErrorMode(@ON)
  213.         ClipPut("")    ; clear the clipboard
  214.         wCut()
  215.         wInsString('<FONT SIZE="6">\^</FONT>')
  216.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  217.         wPaste()
  218.         ClipPut(s)
  219.  
  220.   Font 7
  221.         ErrorMode(@OFF)
  222.         s=ClipGet()
  223.         ErrorMode(@ON)
  224.         ClipPut("")    ; clear the clipboard
  225.         wCut()
  226.         wInsString('<FONT SIZE="7">\^</FONT>')
  227.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  228.         wPaste()
  229.         ClipPut(s)
  230.  
  231.   Big
  232.         ErrorMode(@OFF)
  233.         s=ClipGet()
  234.         ErrorMode(@ON)
  235.         ClipPut("")    ; clear the clipboard
  236.         wCut()
  237.         wInsString('<BIG>\^</BIG>')
  238.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  239.         wPaste()
  240.         ClipPut(s)
  241.  
  242.   Small
  243.         ErrorMode(@OFF)
  244.         s=ClipGet()
  245.         ErrorMode(@ON)
  246.         ClipPut("")    ; clear the clipboard
  247.         wCut()
  248.         wInsString('<SMALL>\^</SMALL>')
  249.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  250.         wPaste()
  251.         ClipPut(s)
  252.  
  253.  
  254.   Superscript
  255.         ErrorMode(@OFF)
  256.         s=ClipGet()
  257.         ErrorMode(@ON)
  258.         ClipPut("")    ; clear the clipboard
  259.         wCut()
  260.         wInsString('<SUP>\^</SUP>')
  261.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  262.         wPaste()
  263.         ClipPut(s)
  264.  
  265.   Subscript
  266.         ErrorMode(@OFF)
  267.         s=ClipGet()
  268.         ErrorMode(@ON)
  269.         ClipPut("")    ; clear the clipboard
  270.         wCut()
  271.         wInsString('<SUB>\^</SUB>')
  272.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  273.         wPaste()
  274.         ClipPut(s)
  275.  
  276.  Formatting
  277.   Horizontal Rule
  278.         wInsLine('<HR ALIGN="center" WIDTH="100%%">')
  279.  
  280.   Bold                         \^B
  281.         ErrorMode(@OFF)
  282.         s=ClipGet()
  283.         ErrorMode(@ON)
  284.         ClipPut("")    ; clear the clipboard
  285.         wCut()
  286.         wInsString('<B>\^</B>')
  287.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  288.         wPaste()
  289.         ClipPut(s)
  290.  
  291.   Italic
  292.         ErrorMode(@OFF)
  293.         s=ClipGet()
  294.         ErrorMode(@ON)
  295.         ClipPut("")    ; clear the clipboard
  296.         wCut()
  297.         wInsString('<I>\^</I>')
  298.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  299.         wPaste()
  300.         ClipPut(s)
  301.  
  302.   Underline
  303.         ErrorMode(@OFF)
  304.         s=ClipGet()
  305.         ErrorMode(@ON)
  306.         ClipPut("")    ; clear the clipboard
  307.         wCut()
  308.         wInsString('<U>\^</U>')
  309.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  310.         wPaste()
  311.         ClipPut(s)
  312.  
  313.   Emphasis
  314.         ErrorMode(@OFF)
  315.         s=ClipGet()
  316.         ErrorMode(@ON)
  317.         ClipPut("")    ; clear the clipboard
  318.         wCut()
  319.         wInsString('<EM>\^</EM>')
  320.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  321.         wPaste()
  322.         ClipPut(s)
  323.  
  324.  
  325.   Strong Emphasis
  326.         ErrorMode(@OFF)
  327.         s=ClipGet()
  328.         ErrorMode(@ON)
  329.         ClipPut("")    ; clear the clipboard
  330.         wCut()
  331.         wInsString('<STRONG>\^</STRONG>')
  332.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  333.         wPaste()
  334.         ClipPut(s)
  335.  
  336.  Headings
  337.   <H1> Heading
  338.         ErrorMode(@OFF)
  339.         s=ClipGet()
  340.         ErrorMode(@ON)
  341.         ClipPut("")    ; clear the clipboard
  342.         wCut()
  343.         wInsString('<H1>\^</H1>')
  344.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  345.         wPaste()
  346.         ClipPut(s)
  347.   <H2> Heading
  348.         ErrorMode(@OFF)
  349.         s=ClipGet()
  350.         ErrorMode(@ON)
  351.         ClipPut("")    ; clear the clipboard
  352.         wCut()
  353.         wInsString('<H2>\^</H2>')
  354.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  355.         wPaste()
  356.         ClipPut(s)
  357.   <H3> Heading
  358.         ErrorMode(@OFF)
  359.         s=ClipGet()
  360.         ErrorMode(@ON)
  361.         ClipPut("")    ; clear the clipboard
  362.         wCut()
  363.         wInsString('<H3>\^</H3>')
  364.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  365.         wPaste()
  366.         ClipPut(s)
  367.   <H4> Heading
  368.         ErrorMode(@OFF)
  369.         s=ClipGet()
  370.         ErrorMode(@ON)
  371.         ClipPut("")    ; clear the clipboard
  372.         wCut()
  373.         wInsString('<H4>\^</H4>')
  374.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  375.         wPaste()
  376.         ClipPut(s)
  377.   <H5> Heading
  378.         ErrorMode(@OFF)
  379.         s=ClipGet()
  380.         ErrorMode(@ON)
  381.         ClipPut("")    ; clear the clipboard
  382.         wCut()
  383.         wInsString('<H5>\^</H5>')
  384.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  385.         wPaste()
  386.         ClipPut(s)
  387.   <H6> Heading
  388.         ErrorMode(@OFF)
  389.         s=ClipGet()
  390.         ErrorMode(@ON)
  391.         ClipPut("")    ; clear the clipboard
  392.         wCut()
  393.         wInsString('<H6>\^</H6>')
  394.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  395.         wPaste()
  396.         ClipPut(s)
  397.  Lists
  398.   Unordered
  399.         wInsLine('<UL>')
  400.         wInsLine('    <LI> ?')
  401.         wInsLine('    <LI> ?')
  402.         wHome()
  403.         wInsLine('</UL>')
  404.  
  405.   Ordered
  406.         wInsLine('<OL>')
  407.         wInsLine('    <LI> ?')
  408.         wHome()
  409.         wInsLine('    <LI> ?')
  410.         wHome()
  411.         wInsLine('    <LI> ?')
  412.         wHome()
  413.         wInsLine('</OL>')
  414.  
  415.   Definition
  416.         ErrorMode(@OFF)
  417.         s=ClipGet()
  418.         ErrorMode(@ON)
  419.         ClipPut("")    ; clear the clipboard
  420.         wCut()
  421.         wInsLine('<DL>')
  422.         wInsLine('    <DT>\^<DD> ?')
  423.         wHome()
  424.         wInsLine('    <DT>?<DD> ?')
  425.         wHome()
  426.         wInsLine('    <DT>?<DD> ?')
  427.         wHome()
  428.         wInsLine('</DL>')
  429.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  430.         wPaste()
  431.         ClipPut(s)
  432.  
  433.  Tables
  434.   Table Template
  435.         ErrorMode(@OFF)
  436.         s=ClipGet()
  437.         ErrorMode(@ON)
  438.         ClipPut("")    ; clear the clipboard
  439.         wCut()
  440.         wInsLine('<TABLE ALIGN="left" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%%">')
  441.         wInsLine('<TR ALIGN="left" VALIGN="middle">')
  442.         wInsLine('    <TH>\^</TH>')
  443.         wHome()
  444.         wInsLine('    <TH>?</TH>')
  445.         wHome()
  446.         wInsLine('<TR ALIGN="left" VALIGN=middle">')
  447.         wInsLine('    <TD> ? </TD>')
  448.         wHome()
  449.         wInsLine('    <TD> ? </TD>')
  450.         wHome()
  451.         wInsLine('</TABLE>')
  452.         wNewLine()
  453.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  454.         wPaste()
  455.         ClipPut(s)  ; restore the clipboard
  456.  
  457.   <TR> Row                 ; Insert this tag template into document
  458.         ErrorMode(@OFF)
  459.         s=ClipGet()
  460.         ErrorMode(@ON)
  461.         ClipPut("")    ; clear the clipboard
  462.         wCut()
  463.         wInsString('<TR>\^</TR>')
  464.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  465.         wPaste()
  466.         ClipPut(s)
  467.  
  468.   <TH> Heading
  469.         ErrorMode(@OFF)
  470.         s=ClipGet()
  471.         ErrorMode(@ON)
  472.         ClipPut("")    ; clear the clipboard
  473.         wCut()
  474.         wInsString('<TH>\^</TH>')
  475.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  476.         wPaste()
  477.         ClipPut(s)
  478.  
  479.   <TD> Data
  480.         ErrorMode(@OFF)
  481.         s=ClipGet()
  482.         ErrorMode(@ON)
  483.         ClipPut("")    ; clear the clipboard
  484.         wCut()
  485.         wInsString('<TD>\^</TD>')
  486.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  487.         wPaste()
  488.         ClipPut(s)
  489.  
  490.  _View in Browser    ; View the current document in a browser window
  491.         wViewHtml()
  492.  
  493.  Blank HTML Document    ; Insert a basic html template into the document
  494.         q = AskYesNo("New HTML Document","Open a new document?")
  495.         if q == @YES
  496.             wFileNew()
  497.         else
  498.             wEnd()
  499.             wNewLine()
  500.             wHome()
  501.         endif
  502.         ErrorMode(@OFF)
  503.         s=ClipGet()
  504.         ErrorMode(@ON)
  505.         ClipPut("")   ; clear the clipboard
  506.         wCut()
  507.         wInsLine('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">') 
  508.         wNewLine()
  509.         wInsLine('<HTML>')
  510.         wNewLine()
  511.         wInsLine('<HEAD>')
  512.         wNewLine()
  513.         wInsLine('<TITLE>\^</TITLE>')
  514.         wNewLine()
  515.         wInsLine('<META NAME="Generator" CONTENT="Winedit 2000">')
  516.         wInsLine('<META NAME="Author" CONTENT="?">')
  517.         wInsLine('<META NAME="Keywords" CONTENT="?">')
  518.         wInsLine('<META NAME="Description" CONTENT="?">')
  519.         wNewLine()
  520.         wInsLine('</HEAD>')
  521.         wNewLine()
  522.         wInsLine('<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?">')
  523.         wNewLine()
  524.         wNewLine()
  525.         wInsLine('</BODY>')
  526.         wNewLine()
  527.         wInsLine('</HTML>')
  528.         wNewLine()
  529.         wFind("\^",@FALSE,@TRUE,@FALSE,@FALSE)
  530.         wPaste()
  531.         ClipPut(s)  ; restore the clipboard
  532.  
  533. Java
  534.  Run Java Applet     ; Run this compiled java class in WinEdit Explorer
  535.     filename = wGetFileName()
  536.     path = FilePath(filename)
  537.     basename = FileRoot(filename)
  538.     olddir = DirGet()
  539.  
  540.     javaname = strcat(path,"%basename%.class")
  541.     if (FileExist(javaname))
  542.  
  543.         DirChange(path)
  544.  
  545.         ; see if there is already an html file in this directory
  546.         ; and offer to run that
  547.         htmllist = FileItemize("*.html")
  548.         if (htmllist != "")
  549.             ifile = AskItemList("Choose an html file", htmllist, @TAB, @unsorted, @single)
  550.             if (ifile != "")
  551.                  htmlname = strcat(FileRoot(ifile),".html")
  552.             else
  553.                 ; make an html wrapper for the class to run in
  554.                 htmlname = strcat(path,"%basename%.html")
  555.  
  556.                 h = FileOpen(htmlname, "WRITE")
  557.                 FileWrite(h, '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">')
  558.                 FileWrite(h, '')
  559.                 FileWrite(h, '<html>')
  560.                 FileWrite(h, '')
  561.                 FileWrite(h, '   <head>')
  562.                 FileWrite(h, '')
  563.                 FileWrite(h, '   <title>%basename% Applet</title>')
  564.                 FileWrite(h, '')
  565.                 FileWrite(h, '   <body>')
  566.                 FileWrite(h, '')
  567.                   FileWrite(h, '      <h1>%basename% Applet</h1>')
  568.                 FileWrite(h, '')
  569.                 FileWrite(h, '      <hr>')
  570.                 FileWrite(h, '')
  571.                 FileWrite(h, '<APPLET CODE="%basename%.class" CODEBASE="." WIDTH=400 HEIGHT=300></APPLET>')
  572.                 FileWrite(h, '')
  573.                   FileWrite(h, '      <hr>')
  574.                 FileWrite(h, '')
  575.                   FileWrite(h, '   </body>')
  576.                 FileWrite(h, '')
  577.                   FileWrite(h, '</html>')
  578.                 FileClose(h)
  579.  
  580.             endif
  581.         endif
  582.         Run("appletviewer","%htmlname%")
  583.         DirChange(olddir)
  584.         wViewOutput()
  585.     else
  586.         Message("Run Java Applet","Couldn't find %javaname%.  Is it compiled?")
  587.     endif
  588.  
  589.  
  590.  Run Java Application (graphical)  ; Run this java class in the java environment
  591.     filename = wGetFileName()
  592.     path = FilePath(filename)
  593.     basename = FileRoot(filename)
  594.     olddir = DirGet()
  595.     DirChange(path)
  596.     Run("java", "%basename%")
  597.     DirChange(olddir)
  598.     drop(filename,path,basename,olddir)
  599.  
  600.  Run Java Application (console)  ; Run this java class from a command window
  601.     filename = wGetFileName()
  602.     path = FilePath(filename)
  603.     basename = FileRoot(filename)
  604.     olddir = DirGet()
  605.     DirChange(path)
  606.     if (WinVersion(4) == 4)
  607.         strRun = "cmd.exe"
  608.     else
  609.         strRun = "command.com"
  610.     endif
  611.     Run("%strRun%", "/k java %basename%")
  612.     DirChange(olddir)
  613.     drop(filename,path,basename,olddir)
  614.  
  615.  Run Java App (prompt for parameters)  ; Run this java class in the java environment
  616.     filename = wGetFileName()
  617.     path = FilePath(filename)
  618.     basename = FileRoot(filename)
  619.     olddir = DirGet()
  620.     parameters = AskLine("Command line parameters","Enter any command line parameters", "")
  621.     DirChange(path)
  622.     Run("java", "%basename% %parameters%")
  623.     DirChange(olddir)
  624.     drop(filename,path,basename,olddir)
  625.  
  626. Perl
  627.  Insert Conditionals
  628.   if
  629.      filext = strupper(FileExtension(wGetFileName()))  
  630.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  631.         a = wGetColNo()
  632.         wInsLine("if ( xx == yy ) {")
  633.         wInsLine("  ;;")
  634.         wGoToCol( a )
  635.         wInsLine("};")
  636.         wNewLine()
  637.      endif
  638.      drop(a,filext)
  639.  
  640.   unless
  641.      filext = strupper(FileExtension(wGetFileName()))  
  642.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  643.         a = wGetColNo()
  644.         wInsLine("unless ( xx == yy ) {")
  645.         wInsLine("  ;;")
  646.         wGoToCol( a )
  647.         wInsLine("};")
  648.      endif
  649.      drop(a,filext)
  650.             
  651.   if-else
  652.      filext = strupper(FileExtension(wGetFileName()))  
  653.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  654.         a = wGetColNo()
  655.         wInsLine("if ( xx == yy ) {")
  656.         wInsLine("  ;;")
  657.         wGoToCol( a )
  658.         wInsLine("}")
  659.         wInsLine("else {")
  660.         wInsLine("  ;;")
  661.         wGoToCol( a )
  662.         wInsLine("};")
  663.      endif
  664.      drop(a,filext)
  665.  
  666.   unless-else
  667.      filext = strupper(FileExtension(wGetFileName()))  
  668.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  669.         a = wGetColNo()
  670.         wInsLine("unless ( xx == yy ) {")
  671.         wInsLine("  ;;")
  672.         wGoToCol( a )
  673.         wInsLine("}")
  674.         wInsLine("else {")
  675.         wInsLine("  ;;")
  676.         wGoToCol( a )
  677.         wInsLine("};")
  678.      endif
  679.      drop(a,filext)
  680.      
  681. ;
  682. ;=====================================================================
  683.  Insert Loops
  684.   for
  685.      filext = strupper(FileExtension(wGetFileName()))  
  686.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  687.         a = wGetColNo()
  688.         wInsLine("for ( $i=1; i <= yy; $i++) {")
  689.         wInsLine("  ;;")
  690.         wGoToCol( a )
  691.         wInsLine("};")
  692.      endif
  693.      drop(a,filext)
  694.  
  695.   foreach
  696.      filext = strupper(FileExtension(wGetFileName()))  
  697.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  698.         a = wGetColNo()
  699.         wInsLine("foreach $var (list) {")
  700.         wInsLine("  ;;")
  701.         wGoToCol( a )
  702.         wInsLine("};")
  703.      endif
  704.      drop(a,filext)
  705.  
  706.   do-while
  707.      filext = strupper(FileExtension(wGetFileName()))  
  708.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  709.         a = wGetColNo()
  710.         wInsLine("do {")
  711.         wInsLine("  ;;")
  712.         wGoToCol( a )
  713.         wInsLine("} while (xx == yy);")
  714.      endif
  715.      drop(a,filext)
  716.  
  717.   while
  718.      filext = strupper(FileExtension(wGetFileName()))  
  719.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  720.         a = wGetColNo()
  721.         wInsLine("while ( xx==yy ) {")
  722.         wInsLine("  ;;")
  723.         wGoToCol( a )
  724.         wInsLine("};")
  725.      endif
  726.      drop(a,filext)
  727.  
  728. ;
  729. ;=====================================================================
  730.  Insert Misc
  731.   cond-op (?:)
  732.      filext = strupper(FileExtension(wGetFileName()))  
  733.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  734.         wInsString("test_expr ? if_true_expr : if_false_expr;")
  735.      endif
  736.      drop(filext)
  737.  
  738.   list-variable (@)
  739.      filext = strupper(FileExtension(wGetFileName()))  
  740.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  741.         wInsString("my(@list) = ( str1, str2 );")
  742.      endif
  743.      drop(filext)
  744.  
  745.   hash-variable (%)
  746.      filext = strupper(FileExtension(wGetFileName()))  
  747.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  748.         a = wGetColNo()
  749.         wInsLine("my(%%hash) =")
  750.         wInsLine("{")
  751.         wGoToCol( a+3 )
  752.         wInsLine( "key1 => val1")
  753.         wInsLine( "key2 => val2")
  754.         wGoToCol( a )
  755.         wInsLine("};")
  756.      endif             
  757.      drop(a,filext)
  758.  
  759.   Subroutine
  760.      filext = strupper(FileExtension(wGetFileName()))  
  761.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  762.         a = wGetColNo()
  763.         wInsLine("sub funcName")
  764.         wInsLine("{")
  765.         wGoToCol( a+3 )
  766.         wInsLine("# sub BODY")
  767.         wGoToCol( a )
  768.         wInsLine("} #end sub funcName")
  769.      endif
  770.      drop(a,filext)
  771.     
  772.   Subroutine w/prototype
  773.      filext = strupper(FileExtension(wGetFileName()))  
  774.      if filext=="PL" || filext=="PM"   ; Check to be sure.
  775.         a = wGetColNo()
  776.         wInsLine("sub funcName($$)")
  777.         wInsLine("{")
  778.         wGoToCol( a+3 )
  779.         wInsLine("# sub BODY")
  780.         wGoToCol( a )
  781.         wInsLine("} #end sub funcName")
  782.      endif
  783.      drop(a,filext)
  784.  
  785.  
  786. Insert Block
  787.  If                C,WIL                                                   
  788.      filext = strupper(FileExtension(wGetFileName()))  
  789.      if filext!="WBT" && filext!="WIL" && filext!="MNU" && filext!="MNW" && filext!="WEB"   ; Assume C
  790.         b = wGetLineNo()
  791.         c = wGetColNo()
  792.         wInsString("if( ")
  793.         a = wGetColNo()
  794.         wNewLine()
  795.         c = wGetColNo()
  796.         wInsString("{")
  797.         wNewLine()
  798.         wInsString("  ;")
  799.         wNewLine()
  800.         wGoToCol( c )
  801.         wInsString("}")
  802.         wNewLine()
  803.         wEnd()
  804.         wInsString(";")
  805.         wHome()
  806.         wStartSel()
  807.         wEnd()
  808.         wEndSel()
  809.         wDelete()
  810.         wGoToLine( b )
  811.         wGoToCol( a )
  812.         wInsString("xx == yy )")
  813.         wLeft()
  814.         wLeft()
  815.         b = wGetColNo()
  816.         wGoToCol( a )
  817.         wStartSel()
  818.         wGoToCol( b )
  819.         wEndSel()
  820.      else
  821.         wInsString("if  xx == yy")  
  822.         wNewLine()  
  823.         wNewLine()  
  824.         wInsString("endif")  
  825.         wNewLine()  
  826.         wUpLine()  
  827.         wUpLine()  
  828.      endif
  829.      drop(s,filext)            
  830.  If-Else           C,WIL  
  831.      wNewLine()  
  832.      wUpLine()  
  833.      ; First determine if it is C or WIL  
  834.      ;debug(1)  
  835.      filext = strupper(FileExtension(wGetFileName()))  
  836.      if filext=="WBT" || filext=="WIL" || filext=="MNU" || filext=="WEB"   ; Its WIL  
  837.         wInsString("if  xx == yy")  
  838.         wNewLine()  
  839.         wNewLine()  
  840.         wInsString("else")  
  841.         wNewLine()  
  842.         wNewLine()  
  843.         wInsString("endif")  
  844.         wNewLine()  
  845.         wUpLine()  
  846.         wUpLine()  
  847.         wUpLine()  
  848.         wUpLine()  
  849.      else  ;assume C  
  850.         b = wGetLineNo()
  851.         c = wGetColNo()
  852.         wInsString("if( ")
  853.         a = wGetColNo()
  854.         wNewLine()
  855.         c = wGetColNo()
  856.         wInsString("{")
  857.         wNewLine()
  858.         wInsString("  ;")
  859.         wNewLine()
  860.         wGoToCol( c )
  861.         wInsString("}")
  862.         wNewLine()
  863.         wInsString("else")
  864.         wNewLine()
  865.         wInsString("{")
  866.         wNewLine()
  867.         wInsString("  ;")
  868.         wNewLine()
  869.         wGoToCol( c )
  870.         wInsString("}")
  871.         wNewLine()
  872.         wEnd()
  873.         wInsString(";")
  874.         wHome()
  875.         wStartSel()
  876.         wEnd()
  877.         wEndSel()
  878.         wDelete()
  879.         wGoToLine( b )
  880.         wGoToCol( a )
  881.         wInsString("xx == yy )")
  882.         wLeft()
  883.         wLeft()
  884.         b = wGetColNo()
  885.         wGoToCol( a )
  886.         wStartSel()
  887.         wGoToCol( b )
  888.         wEndSel()
  889.      endif  
  890.      drop(s,filext)
  891.  Switch            C,WIL  
  892.      filext = strupper(FileExtension(wGetFileName()))  
  893.      if filext=="WBT" || filext=="WIL" || filext=="MNU" || filext=="WEB"   ; Its WIL  
  894.         wNewLine()  
  895.         wUpLine()  
  896.         wNewLine()  
  897.         wUpLine()  
  898.         wInsString("switch switchvar")  
  899.         wNewLine()  
  900.         wInsString("   case 1")  
  901.         wNewLine()  
  902.         wInsString("   break")  
  903.         wNewLine()  
  904.         wNewLine()  
  905.         wLeft()  
  906.         wLeft()  
  907.         wLeft()  
  908.         wInsString("case 2")  
  909.         wNewLine()  
  910.         wInsString("   break")  
  911.         wNewLine()  
  912.         wNewLine()  
  913.         wLeft()  
  914.         wLeft()  
  915.         wLeft()  
  916.         wInsString("case 3")  
  917.         wNewLine()  
  918.         wInsString("   break")  
  919.         wNewLine()  
  920.         wNewLine()  
  921.         wLeft()  
  922.         wLeft()  
  923.         wLeft()  
  924.         wLeft()  
  925.         wLeft()  
  926.         wLeft()  
  927.         wInsString("endswitch")  
  928.         wNewLine()  
  929.         wUpLine()  
  930.         wUpLine()  
  931.         wUpLine()  
  932.         wUpLine()  
  933.         wUpLine()  
  934.         wUpLine()  
  935.         wUpLine()  
  936.         wUpLine()  
  937.         wUpLine()  
  938.      else  ;assume C  
  939.         b = wGetLineNo()
  940.         c = wGetColNo()
  941.         wInsString("switch( ")
  942.         a = wGetColNo()
  943.         wNewLine()
  944.         wGoToCol( c )
  945.         wInsString("{ ")
  946.         wNewLine()
  947.         wGoToCol( c+2 )
  948.         wInsString("case 1:")
  949.         wNewLine()
  950.         wInsString("  ;")
  951.         wNewLine()
  952.         wInsString("break;")
  953.         wNewLine()
  954.         wNewLine()
  955.         wGoToCol( c+2 )
  956.         wInsString("case 2:")
  957.         wNewLine()
  958.         wInsString("  ;")
  959.         wNewLine()
  960.         wInsString("break;")
  961.         wNewLine()
  962.         wNewLine()
  963.         wGoToCol( c+2 )
  964.         wInsString("case 3:")
  965.         wNewLine()
  966.         wInsString("  ;")
  967.         wNewLine()
  968.         wInsString("break;")
  969.         wNewLine()
  970.         wGoToCol( c )
  971.         wInsString("}")
  972.         wNewLine()
  973.         wEnd()
  974.         wInsString(";")
  975.         wHome()
  976.         wStartSel()
  977.         wEnd()
  978.         wEndSel()
  979.         wDelete()
  980.         wGoToCol( a )
  981.         wGoToLine( b )
  982.         wInsString("switchVar )")
  983.         wLeft()
  984.         wLeft()
  985.         b = wGetColNo()
  986.         wGoToCol( a )
  987.         wStartSel()
  988.         wGoToCol( b )
  989.         wEndSel()
  990.      endif  
  991.      drop(s,filext)
  992.  _For               C,WIL
  993.      filext = strupper(FileExtension(wGetFileName()))  
  994.      if filext!="WBT" && filext!="WIL" && filext!="MNU" && filext!="MNW" &&filext!="WEB"   ; Assume C
  995.         b = wGetLineNo()
  996.         c = wGetColNo()
  997.         wInsString("for( ")
  998.         a = wGetColNo()
  999.         wNewLine()
  1000.         wGoToCol( c )
  1001.         wInsString("{")
  1002.         wNewLine()
  1003.         wInsString("  ;")
  1004.         wNewLine()
  1005.         wGoToCol( c )
  1006.         wInsString("}")
  1007.         wNewLine()
  1008.         wEnd()
  1009.         wInsString(";")
  1010.         wHome()
  1011.         wStartSel()
  1012.         wEnd()
  1013.         wEndSel()
  1014.         wDelete()
  1015.         wGoToCol( a )
  1016.         wGoToLine( b )
  1017.         wInsString("aa; bb==cc ;dd )")
  1018.         wLeft()
  1019.         wLeft()
  1020.         b = wGetColNo()
  1021.         wGoToCol( a )
  1022.         wStartSel()
  1023.         wGoToCol( b )
  1024.         wEndSel()
  1025.      else
  1026.         wInsString("for xx = 1 to 10")  
  1027.         wNewLine()  
  1028.         wNewLine()  
  1029.         wInsString("next")  
  1030.         wNewLine()  
  1031.         wUpLine()  
  1032.         wUpLine()  
  1033.      endif
  1034.      drop(s,filext)
  1035.  While             C,WIL
  1036.      filext = strupper(FileExtension(wGetFileName()))  
  1037.      if filext=="WBT" || filext=="WIL" || filext=="MNU"  || filext=="WEB"  ; Its WIL  
  1038.         wNewLine()  
  1039.         wUpLine()  
  1040.         wInsString("while xx == yy")  
  1041.         wNewLine()  
  1042.         wNewLine()  
  1043.         wInsString("endwhile")  
  1044.         wNewLine()  
  1045.         wUpLine()  
  1046.         wUpLine()  
  1047.      else  ;assume C  
  1048.         b = wGetLineNo()
  1049.         c = wGetColNo()
  1050.         wInsString("while( ")
  1051.         a = wGetColNo()
  1052.         wNewLine()
  1053.         wGoToCol( c )
  1054.         wInsString("{")
  1055.         wNewLine()
  1056.         wInsString("  ;")
  1057.         wNewLine()
  1058.         wGoToCol( c )
  1059.         wInsString("}")
  1060.         wNewLine()
  1061.         wEnd()
  1062.         wInsString(";")
  1063.         wHome()
  1064.         wStartSel()
  1065.         wEnd()
  1066.         wEndSel()
  1067.         wDelete()
  1068.         wGoToCol( a )
  1069.         wGoToLine( b )
  1070.         wInsString("xx == yy )")
  1071.         wLeft()
  1072.         wLeft()
  1073.         b = wGetColNo()
  1074.         wGoToCol( a )
  1075.         wStartSel()
  1076.         wGoToCol( b )
  1077.         wEndSel()
  1078.         drop(s,filext)
  1079.      endif  
  1080.      drop(s,filext)
  1081.  Do-While          C,WIL 
  1082.      filext = strupper(FileExtension(wGetFileName()))  
  1083.      if filext!="WBT" && filext!="WIL" && filext!="MNU" && filext!="WEB" && filext!="MNW"   ; Assume C
  1084.         b = wGetLineNo()
  1085.         c = wGetColNo()
  1086.         wInsString("do")
  1087.         wNewLine()
  1088.         wGoToCol( c )
  1089.         wInsString("{")
  1090.         wNewLine()
  1091.         wInsString("  ;")
  1092.         wNewLine()
  1093.         wGoToCol( c )
  1094.         wInsString("} while( ")
  1095.         a = wGetColNo()
  1096.         b = wGetLineNo()
  1097.         wNewLine()
  1098.         wEnd()
  1099.         wInsString(";")
  1100.         wHome()
  1101.         wStartSel()
  1102.         wEnd()
  1103.         wEndSel()
  1104.         wDelete()
  1105.         wGoToCol( a )
  1106.         wGoToLine( b )
  1107.         wInsString("xx == yy )")
  1108.         wLeft()
  1109.         wLeft()
  1110.         b = wGetColNo()
  1111.         wGoToCol( a )
  1112.         wStartSel()
  1113.         wGoToCol( b )
  1114.         wEndSel()
  1115.      else
  1116.         wNewLine()  
  1117.         wUpLine()  
  1118.         wInsString("while @TRUE")  
  1119.         wNewLine()  
  1120.         wNewLine()
  1121.         wInsString("   if xx==yy then break")
  1122.         wNewLine()
  1123.         wInsString("endwhile")  
  1124.         wNewLine()  
  1125.         wUpLine() 
  1126.         wUpLine()
  1127.         wUpLine()  
  1128.      endif
  1129.      drop(s,filext)
  1130.  _ifdef-else        C,ASM
  1131.      filext = strupper(FileExtension(wGetFileName()))  
  1132.      if filext=="C" || filext=="CPP" || filext=="H"  ; Assume C
  1133.         b = wGetLineNo()
  1134.         c = wGetColNo()
  1135.         wInsString("#ifdef ")
  1136.         a = wGetColNo()
  1137.         wNewLine()
  1138.         wNewLine()
  1139.         wGoToCol( c )
  1140.         wInsString("#else")
  1141.         wNewLine()
  1142.         wNewLine()
  1143.         wGoToCol( c )
  1144.         wInsString("#endif")
  1145.         wNewLine()
  1146.         wInsString(";")
  1147.         wStartSel()
  1148.         wHome()
  1149.         wEndSel()
  1150.         wDelete()
  1151.         wNewLine()
  1152.         wGoToCol( a )
  1153.         wGoToLine( b )
  1154.         wInsString("CONDITION")
  1155.         drop(s,filext)
  1156.         b = wGetColNo()
  1157.         wGoToCol( a )
  1158.         wStartSel()
  1159.         wGoToCol( b )
  1160.         wEndSel()
  1161.      endif
  1162.  
  1163.      filext = strupper(FileExtension(wGetFileName()))  
  1164.      if filext=="ASM"
  1165.         wNewLine()  
  1166.         wUpLine()  
  1167.         b = wGetLineNo()
  1168.         c = wGetColNo()
  1169.         wInsString("IFDEF ")
  1170.         a = wGetColNo()
  1171.         wNewLine()
  1172.         wNewLine()
  1173.         wGoToCol( c )
  1174.         wInsString("ELSE")
  1175.         wNewLine()
  1176.         wNewLine()
  1177.         wGoToCol( c )
  1178.         wInsString("ENDIF")
  1179.         wNewLine()
  1180.         wInsString(";")
  1181.         wStartSel()
  1182.         wHome()
  1183.         wEndSel()
  1184.         wDelete()
  1185.         wNewLine()
  1186.         wGoToCol( a )
  1187.         wGoToLine( b )
  1188.         wInsString("CONDITION")
  1189.         b = wGetColNo()
  1190.         wGoToCol( a )
  1191.         wStartSel()
  1192.         wGoToCol( b )
  1193.         wEndSel()
  1194.      endif
  1195.      drop(s,filext)
  1196.  _Comment block       \ +^B  ; Insert a comment block into the document
  1197.         filext = strupper(FileExtension(wGetFileName()))  
  1198.         if filext=="WBT" || filext=="WIL" || filext=="MNU" || filext=="WEB" || filext=="MNW" then cmt=";" ; Its WIL  
  1199.               else cmt="//"  
  1200.         s=""  
  1201.         ;if wGetSelState() then  
  1202.         s=wGetWord()  
  1203.         clipput ("%cmt%***************************************************************************%CR%")  
  1204.         clipappend("%cmt%** %s%%CR%")  
  1205.         clipappend("%cmt%** %CR%")  
  1206.         clipappend("%cmt%** %CR%")  
  1207.         clipappend ("%cmt%***************************************************************************%CR%")  
  1208.         wgotocol(1) ;insert above current line  
  1209.         wstartsel()  
  1210.         wendsel()  
  1211.         wnewline()  
  1212.         wgotocol(1) ;insert above current line  
  1213.         wpaste()  
  1214.         wdownline()  
  1215.         wdownline()  
  1216.         wend()  
  1217.         drop(s,filext,cmt)  
  1218. ;  
  1219. ;Builds a DETAILED comment block from the label under the cursor.  
  1220. ;  
  1221.  Comment SUPER block       \ ^!B  ; Insert a detailed comment block into the document
  1222.         filext = strupper(FileExtension(wGetFileName()))  
  1223.         if filext=="WBT" || filext=="WIL" || filext=="MNU" || filext=="WEB" || filext=="MNW"  then cmt=";" ; Its WIL  
  1224.               else cmt="//"  
  1225.         s=""  
  1226.         ;if wGetSelState() then  
  1227.         s=wGetWord()  
  1228.         clipput ("%cmt%***************************************************************************%CR%")  
  1229.         clipappend("%cmt%** %s%%CR%")  
  1230.         clipappend("%cmt%** %CR%")  
  1231.         clipappend("%cmt%** %CR%")  
  1232.         clipappend("%cmt%** Inputs: %CR%")  
  1233.         clipappend("%cmt%** Outputs: %CR%")  
  1234.         clipappend("%cmt%** Preserves: %CR%")  
  1235.         clipappend("%cmt%** Corrupts: %CR%")  
  1236.         clipappend ("%cmt%***************************************************************************%CR%")  
  1237.         wgotocol(1) ;insert above current line  
  1238.         wstartsel()  
  1239.         wendsel()  
  1240.         wnewline()  
  1241.         wgotocol(1) ;insert above current line  
  1242.         wpaste()  
  1243.         wdownline()  
  1244.         wdownline()  
  1245.         wend()  
  1246.         drop(s,filext,cmt)  
  1247. ;  
  1248. ;Merge File header comment file from disk  
  1249. ;  
  1250. ;Header Block    \ ^!H  
  1251. ;        wgotoline(1)  
  1252. ;        wGotoCol(1)  
  1253. ;        wFileMerge("header")  
  1254.   
  1255. ;  
  1256. ;Shells external process to produce fancy printout of a file  
  1257. ;           
  1258. ;Hardcopy        \ ^H  
  1259. ;        n=wGetfilename()  
  1260. ;        cmd="-o=10 -l,l %n% > lpt1"  
  1261. ;        AskLine("Hardcopy","Enter hardcopy command:",cmd)  
  1262. ;        wRunCommand("DOSPRMPT.PIF /c hcopy %cmd%",@FALSE,@FALSE)  
  1263. ;        drop (n,cmd)  
  1264.   
  1265.  
  1266.  
  1267.   
  1268. Convert Line Endings  
  1269.  DOS to Unix  ; Replace CR/LF line endings with LF only
  1270.         fn = wGetFileName()  
  1271.         fs=Filesize(fn)  
  1272.         errormode(@off)  
  1273.         LastError()  
  1274.         bb=BinaryAlloc(fs)  
  1275.         errormode(@Cancel)  
  1276.         err=LastError()  
  1277.         if err!=0   
  1278.            message("File Too Large  Err %err%","Try a smaller file")  
  1279.            wFileOpen(fn)  
  1280.            exit  
  1281.         endif  
  1282.         BinaryRead(bb,fn)  
  1283.         oldname=strcat(FilePath(fn),FileRoot(fn),".BAK")  
  1284.         wWinClose ()  
  1285.         Mac=BinaryStrCnt(bb,0,fs-1,@LF)  
  1286.         If Mac==0  
  1287.            message ("No Linefeeds","This file can't be safely stripped")  
  1288.            wFileOpen(fn)  
  1289.            binaryfree(bb)  
  1290.            exit  
  1291.         endif  
  1292.         FileMove(fn,oldname,0) ; Make backup     
  1293.         if binarypeek(bb,0)==13 then binarypokestr(bb,0," ")  
  1294.         q=0  
  1295.         while 1  
  1296.             q=BinaryIndexEx(bb,q,@CR,@fwdscan,0)  
  1297.             if q== -1 then break  
  1298.             BinaryPokeStr(bb,q," ")  
  1299.         endwhile  
  1300.         BinaryWrite(bb,fn)  
  1301.         BinaryFree(bb)  
  1302.         wFileOpen(fn)  
  1303.    
  1304.     
  1305.  Unix to DOS  ; Replace LF line endings with CR/LF
  1306.         ;if isdefined(dest)  
  1307.         ;  if dest<>0 then binaryfree(dest)  
  1308.         ;endif  
  1309.         ;if isdefined(source)  
  1310.         ;  if source<>0 then binaryfree(source)  
  1311.         ;endif  
  1312.         fn = wGetFileName()  
  1313.         fs=Filesize(fn)+1  
  1314.         errormode(@off)  
  1315.         LastError()  
  1316.         source=BinaryAlloc(fs)  
  1317.         errormode(@cancel)  
  1318.         err=LastError()  
  1319.         if err!=0  
  1320.            message("File Too Large Err# %err%","Try a smaller file")  
  1321.            wFileOpen(fn)  
  1322.            exit  
  1323.         endif  
  1324.         BinaryRead(source,fn)  
  1325.         BinaryPoke(source,fs-1,10)  
  1326.         DestSize= fs+BinaryStrCnt(source,0,fs-1,@LF)-1  
  1327.         dest=BinaryAlloc(DestSize+1)  
  1328.         oldname=strcat(filepath(fn),FileRoot(fn),".BAK")  
  1329.         wWinClose ()  
  1330.         Smark=0  
  1331.         Dmark=0  
  1332.         while Smark<BinaryEODGet(source)
  1333.            offset=BinaryIndexEx(source,Smark,@LF,@fwdscan,0)  
  1334.            if offset== -1 then break  
  1335.            length=offset-Smark  
  1336.            BinaryCopy(dest,Dmark,source,Smark,length)  
  1337.            Smark=Smark+length+1  
  1338.            if BinaryPeek(source,offset-1)==13  then length=length-1  
  1339.            BinaryPokestr(dest,Dmark+length,@CRLF)  
  1340.            Dmark=Dmark+length+2  
  1341.         endwhile  
  1342.         filemove(fn,oldname,0)  
  1343.         BinaryWrite(dest,fn)  
  1344.         dest=binaryfree(dest)  
  1345.         source=BinaryFree(source)  
  1346.         wFileOpen(fn)  
  1347.    
  1348. ; Open the file under the cursor or marked  
  1349. ;  
  1350. Open highlighted file       ; Open selected file
  1351.         name = wGetWord()
  1352.         if name!=""
  1353.            if FilePath(name)==""
  1354.               usename=strcat(Filepath(wGetFileName()),name)
  1355.               usename=FileLocate(usename)
  1356.            else
  1357.               usename=FileLocate(name)
  1358.            endif
  1359.            if usename==""
  1360.                 Message("Open selected file","Cannot find %name%")  
  1361.            else
  1362.                 wFileOpen(usename)  
  1363.            endif
  1364.         endif  
  1365.         drop(name,usename)  
  1366. ;  
  1367.           
  1368. ;  
  1369. ;Version Control for use with RCS  
  1370. ;  
  1371. ;&Version Control           ; RCS commands  
  1372. ;   
  1373. ;; Lock/get file (co -l)  \ ^!F  
  1374. ;;        opt2="-l"  
  1375. ;;        goto lgf2  
  1376. ; Get file (co)          \ ^!O    
  1377. ;        opt2=""  
  1378. ;        :lgf2  
  1379. ;        Where=StrSub(dirget(),1,strlen(dirget())-1)  
  1380. ;        drv=StrSub(Where,1,2)  
  1381. ;        b=wGetFileName()  
  1382. ;        if b==1 then b=""  
  1383. ;        if wGetSelState() then s=wGetWord()  
  1384. ;           else s=b  
  1385. ;        a = AskLine("RCS Checkout %opt2%", "Drive:  %drv%   Dir:  %Where% %CR% %CR%Enter file you want to lock:", s)  
  1386. ;        ParseData(a)  
  1387. ;        s=fileroot(param%param0%)  
  1388. ;        if s==fileroot(b) then wWinClose()  
  1389. ;           else if b!="" then if AskYesNo("%a% is not the active file.%CR% %CR%Close Files","Close all files before continuing?")==@YES then wWinCloseall()  
  1390. ;  
  1391. ;;OS/2 Version  
  1392. ;;        wRunCommand("%drv% |cd %Where%|wetee co %opt2% %a%",@FALSE,@TRUE)  
  1393. ;;        pause("OS/2 Bug","Tell the stupid OS/2 when the program is done!")  
  1394. ;;DOS/WIN Version  
  1395. ;        wRunCommand("%drv% |cd %Where%|wetee co %opt2% %a%",@TRUE,@TRUE)  
  1396. ;        
  1397. ;         Wfileopen(b)  
  1398. ;        b=FileLocate(a)  
  1399. ;        if b=="" then goto NotFound  
  1400. ;          WFileOpen(b)  
  1401. ;          goto DONE  
  1402. ;        :NotFound  
  1403. ;          Message("Sorry", "%a% not found...")  
  1404. ;          goto Done  
  1405. ;        :DONE  
  1406. ;        Drop(a)  
  1407. ;        Drop(b,Where,drv,s)  
  1408. ;  
  1409. ; Checkin file (ci)     \ ^!I  
  1410. ;        Where=StrSub(dirget(),1,strlen(dirget())-1)  
  1411. ;        drv=StrSub(Where,1,2)  
  1412. ;        b=wGetFileName()  
  1413. ;        if b==1 then b=""  
  1414. ;        if wGetSelState() then s=wGetWord()  
  1415. ;           else s=b  
  1416. ;        a = AskLine("RCS Checkin (unlock)", "Drive:  %drv%   Dir:  %Where% %CR% %CR%Enter file you want to put back:",s )  
  1417. ;        ParseData(a)  
  1418. ;        s=fileroot(param%param0%)  
  1419. ;        if s==fileroot(b) then wWinClose()   
  1420. ;           else if AskYesNo("%a% is not the active file.%CR% %CR%Close Files","Close all files before continuing?")==@YES then wWinCloseall()  
  1421. ;        wRunCommand("%drv% |cd %Where%|wetee ci %a%",@TRUE,@TRUE)  
  1422. ;;(if OS/2)     pause("OS/2 Bug","Tell the stupid OS/2 when the program is done!")  
  1423. ;        wfileopen(b) ; reopen original window  
  1424. ;        Drop(a,Where,drv,b,s)  
  1425. ;  
  1426. ; Enter any command (clean)     \ ^!C  
  1427. ;        Where=StrSub(dirget(),1,strlen(dirget())-1)  
  1428. ;        drv=StrSub(Where,1,2)  
  1429. ;        b=wGetFileName()  
  1430. ;        if b==1 then b=""  
  1431. ;        if wGetSelState() then s=wGetWord()  
  1432. ;           else s=strcat("rcsclean ",b)  
  1433. ;        a = AskLine("Any Command", "Drive:  %drv%   Dir:  %Where% %CR% %CR%Enter command:", s)  
  1434. ;        ParseData(a)  
  1435. ;        s=fileroot(param%param0%)  
  1436. ;        if s==fileroot(b) then wWinClose()  
  1437. ;           else if AskYesNo("Close Files","%S% is not the active file.%CR% %CR%Close all files before continuing?")==@YES then wWinCloseall()  
  1438. ;        wRunCommand("%drv% |cd %Where%|%a%",@TRUE,@TRUE)  
  1439. ;;if OS/2        pause("OS/2 Bug","Tell the stupid OS/2 when the program is done!")  
  1440. ;        wfileopen(b)  
  1441. ;        Drop(a,b,s,Where,drv)  
  1442. ;  
  1443. ;; &Logfile Info (locked)  
  1444. ;;        a = AskLine("PVCS Logfile Command", "Drive:  %drv%   Dir:  %Where% %CR% %CR%Enter file for which you want logfile info:", "")  
  1445. ;;        a=strcat("tee vlog -BL ",a)  
  1446. ;;        wRunCommand(a,@TRUE,@TRUE)  
  1447. ;;        Drop(a,Where,drv)  
  1448. ;  
  1449. ;; &Update all source files  
  1450. ;;        wRunCommand("tee get -u *.??v",@TRUE,@TRUE)  
  1451. ;  
  1452. ;  
  1453. ;&Version Control          ; PVCS commands  
  1454. ; &Get a file (w/lock)  
  1455. ;        a = AskLine("PVCS Get (w/lock) Command", "Enter file you want to lock:", "")  
  1456. ;        b=strcat("tee get -L ",a)  
  1457. ;        wRunCommand(b,@TRUE,@TRUE)  
  1458. ;        Drop(b)  
  1459. ;        b=FileLocate(a)  
  1460. ;        if b=="" then goto NotFound  
  1461. ;          WFileOpen(b)  
  1462. ;          goto DONE  
  1463. ;        :NotFound  
  1464. ;          Message("???", "%a% not found...")  
  1465. ;          goto Done  
  1466. ;        :DONE  
  1467. ;        Drop(a)  
  1468. ;        Drop(b)  
  1469. ;  
  1470. ; &Put a file back (unlock)  
  1471. ;        a = AskLine("PVCS Put (unlock) Command", "Enter file you want to put back:", "")  
  1472. ;        a=strcat("tee put ",a)  
  1473. ;        wRunCommand(a,@TRUE,@TRUE)  
  1474. ;        Drop(a)  
  1475. ;  
  1476. ; &Enter any PVCS command  
  1477. ;        a = AskLine("PVCS Command", "Enter PVCS command:", "")  
  1478. ;        a=strcat("tee ",a)  
  1479. ;        wRunCommand(a,@TRUE,@TRUE)  
  1480. ;        Drop(a)  
  1481. ;  
  1482. ; &Logfile Info (locked)  
  1483. ;        a = AskLine("PVCS Logfile Command", "Enter file for which you want logfile info:", "")  
  1484. ;        a=strcat("tee vlog -BL ",a)  
  1485. ;        wRunCommand(a,@TRUE,@TRUE)  
  1486. ;        Drop(a)  
  1487. ;  
  1488. ; &Update all source files  
  1489. ;        wRunCommand("tee get -u *.??v",@TRUE,@TRUE)  
  1490. ;  
  1491. ;;  
  1492.   
  1493. _Utilities      ;      Select from list of utilities  
  1494.  &Freespace on Local Drives   ; Display free disk space on drives  
  1495.   
  1496.         Drive=DiskScan(2)     ; 2 is the code for local hard drives  
  1497.         Dmax=strlen(Drive)  
  1498.         DIndex=1  
  1499.         TotalSize=0  
  1500.         DriveReport=""  
  1501.   
  1502.         :COUNTSPACE  
  1503.         NextDrive=StrSub(Drive,Dindex,1)  
  1504.         a=DiskFree(NextDrive)/1024  
  1505.         TotalSize=a+TotalSize  
  1506.         DriveReport=strcat(DriveReport,NextDrive," = ",a,"K","@")  
  1507.         DIndex=Dindex+3  ;each entry is 3 bytes long  
  1508.         if DIndex<=Dmax then goto COUNTSPACE  
  1509.         ItemSelect("Total Space Available = %TotalSize%K",DriveReport,"@")  
  1510.         Drop(xxx,TotalSize,DriveReport,NextDrive,LastDrive)  
  1511.    
  1512.  &Wallpaper                   ; Change the desktop wallpaper  
  1513.            DirChange(dirWindows(0))  
  1514.            a=FileItemize("*.BMP")  
  1515.            a=strcat("-None- ",a)  
  1516.            a=ItemSelect("Select New Wallpaper",a,@tab)  
  1517.            terminate(a=="","Wallpaper","No wallpaper selected")  
  1518.            if a=="-None-" then Wallpaper("",0)  
  1519.            if a=="-None-" then exit  
  1520.            tile=@FALSE  
  1521.            if FileSize(a)<40000 then tile=@TRUE    
  1522.            ;if bmp size less than 40K, assume tile, else center  
  1523.            Wallpaper(a,tile)  
  1524.            drop(a,b,tile)  
  1525.         exit  
  1526.   
  1527.  Paste Special Characters             ; Paste high ASCII characters to clipboard or document  
  1528.   Copy &FormFeed to Clipboard  
  1529.        Clipput(Num2char(12))  
  1530.   Copy &Special Characters to Document  
  1531.        a=" í| ó| ú| ñ| Ñ| ª| º| ¿| ⌐| ¬|"       ;161 thru 170  
  1532.        b=" ½| ¼| ¡| «| »| ░| ▒| ▓| │| ┤|"       ;171 thru 180  
  1533.        c=" ╡| ╢| ╖| ╕| ╣| ║| ╗| ╝| ╜| ╛|"       ;181 thru 190  
  1534.        d=" ┐| └| ┴| ┬| ├| ─| ┼| ╞| ╟| ╚|"       ;191 thru 200  
  1535.        e=" ╔| ╩| ╦| ╠| ═| ╬| ╧| ╨| ╤| ╥|"       ;201 thru 210  
  1536.        f=" ╙| ╘| ╒| ╓| ╫| ╪| ┘| ┌| █| ▄|"       ;211 thru 220  
  1537.        g=" ▌| ▐| ▀| α| ß| Γ| π| Σ| σ| µ|"       ;221 thru 230  
  1538.        h=" τ| Φ| Θ| Ω| δ| ∞| φ| ε| ∩| ≡|"       ;231 thru 240  
  1539.        i=" ±| ≥| ≤| ⌠| ⌡| ÷| ≈| °| ∙| ·|"       ;241 thru 250  
  1540.        j=" √| ⁿ| ²| ■|  "                       ;251 thru 255  
  1541.        a=strcat(a,b,c,d,e,f,g,h,i,j)  
  1542.        Drop(b,c,d,e,f,g,h,i,j)  
  1543.        a=ItemSelect("Choose a character",a,"|")  
  1544.        a=strsub(a,2,1)  
  1545.        wInsString(a)  
  1546.        Drop(a)  
  1547.   Copy &Control Characters to Document  
  1548.        a=strcat(Num2Char(10),"|")
  1549.        b=strcat(Num2Char(11),"|")
  1550.        c=strcat(Num2Char(12),"|")
  1551.        d=strcat(Num2Char(13),"|")
  1552.        e=strcat(Num2Char(14),"|")
  1553.        f=strcat(Num2Char(15),"|")
  1554.        g=strcat(Num2Char(16),"|")
  1555.        h=strcat(Num2Char(17),"|")
  1556.        i=strcat(Num2Char(18),"|")
  1557.        j=strcat(Num2Char(19),"|")
  1558.        j=strcat(a,b,c,d,e,f,g,h,i,j)  
  1559.        Drop(b,c,d,e,f,g,h,i,j)  
  1560.        a=ItemSelect("Choose a character",a,"|")  
  1561.        a=strsub(a,2,1)  
  1562.        wInsString(a)  
  1563.        Drop(a)  
  1564.   
  1565.   
  1566. &System Information  
  1567.        wintype="retail"  
  1568.        if WinMetrics(22) then wintype="debug"  
  1569.         wcx=WinMetrics(-3)  
  1570.         math="Math"  
  1571.         switch wcx  
  1572.            case 0   ; Win16  
  1573.                 wc=WinConfig()  
  1574.                 if !(wc&1) then mode="Real"  
  1575.                 if wc&16 then mode="Standard"  
  1576.                 if wc&32 then mode="Enhanced"  
  1577.                   
  1578.                 if wc&64 then cpu=8086  
  1579.                 if wc&128 then cpu=80186  
  1580.                 if wc&2 then cpu=286  
  1581.                 if wc&4 then cpu=386  
  1582.                 if wc&8 then cpu=486  
  1583.                 mode = strcat(mode,' ',wintype,' Windows ')  
  1584.                 if !(wc&1024)  then math="No math"  
  1585.                 break  
  1586.           case 1 ; Win32 Intel  
  1587.                mode="Intel 32-bit %wintype% Windows "  
  1588.                cpu= ItemExtract(6,WinSysInfo(),@tab)  
  1589.                break  
  1590.           case 2 ; Dec Alpha  
  1591.                mode="DEC Alpha %wintype% Windows NT "  
  1592.                cpu= ItemExtract(6,WinSysInfo(),@tab)  
  1593.                break  
  1594.           case 3 ; MIPS  
  1595.                mode="MIPS %wintype% Windows NT "  
  1596.                cpu= ItemExtract(6,WinSysInfo(),@tab)  
  1597.                break  
  1598.           case 4 ; PowerPC   
  1599.                mode="PowerPC %wintype% Windows NT "  
  1600.                cpu= ItemExtract(6,WinSysInfo(),@tab)  
  1601.                break  
  1602.           case wcx  
  1603.                cpu= ItemExtract(6,WinSysInfo(),@tab)  
  1604.                mode="Unknown platform %wintype% Windows  "  
  1605.         endswitch  
  1606.   
  1607.         Sysinfo=strcat(cpu,' ',mode,WinVersion(1),'.',WinVersion(0),@CRLF)  
  1608.   
  1609.         mouse="No Mouse"  
  1610.         if WinMetrics(19) then mouse="Mouse"  
  1611.   
  1612.         Sysinfo=strcat(sysinfo,math," co-processor.   ",mouse,' available.',@CRLF)  
  1613.   
  1614.         sysinfo=strcat(sysinfo,WinMetrics(0),'x',WinMetrics(1)," video resolution.  ",WinMetrics(-1),"  colors.",@CRLF)  
  1615.   
  1616.         ErrorMode(@OFF)  
  1617.         LastError()  
  1618.         PlayMedia("Status WaveForm Ready")  
  1619.         ErrorMode(@CANCEL)  
  1620.         if LastError()!=1193 then sysinfo=strcat(sysinfo,"Windows multimedia extensions present.",@CRLF)  
  1621.         a=NetInfo(0)  
  1622.         if a=="MULTINET"  
  1623.              b=NetInfo(1)  
  1624.              bug=strcat(b,"network(s) installed")  
  1625.              ;Message("Multinet supporting  %count% networks", b)  
  1626.         else  
  1627.              ;Message("Installed Network", a)  
  1628.              bug=strcat(a," network installed")  
  1629.         endif  
  1630.         sysinfo=strcat(sysinfo,bug,@crlf)  
  1631.   
  1632.   
  1633.         switch wcx  
  1634.            case 0  
  1635.                bug=WinResources(0)/1024   ; Compute memory avail  
  1636.                math=strlen(bug)  
  1637.                if math>3 then bug=strcat(strsub(bug,1,math-3),',',strsub(bug,math-2,3))  
  1638.                sysinfo=strcat(sysinfo,CR,bug," KB Free Memory",CR)  
  1639.                sysinfo=strcat(sysinfo,WinResources(2),"%% System Resources Free (",WinResources(3),"%% GDI, ",WinResources(4),"%% User)",CR)  
  1640.               break  
  1641.            case wcx  
  1642.               bug=WinResources(11)/1024   ; Get Physical memory avail  
  1643.               sysinfo=strcat(sysinfo,CR,bug," KB Physical Memory",CR)  
  1644.               bug=(WinResources(14)/1024)+bug   ; Get Virtual memory + Physical avail  
  1645.               sysinfo=strcat(sysinfo,bug," KB Total Memory",CR)  
  1646.         end switch  
  1647.   
  1648.   
  1649.         sysinfo=strcat(sysinfo,"Console ",DosVersion(1),'.',DosVersion(0),"  using ",environment("COMSPEC"),@CRLF)  
  1650.         disks=DiskScan(1)  
  1651.         disks=StrReplace(disks,@tab," ")  
  1652.         if disks!="" then sysinfo=strcat(sysinfo,"Floppies ",disks,@CRLF)  
  1653.         disks=DiskScan(2)  
  1654.         disks=StrReplace(disks,@tab," ")  
  1655.         if disks!="" then sysinfo=strcat(sysinfo,"Hard Disks ",disks,@CRLF)  
  1656.         disks=DiskScan(4)  
  1657.         disks=StrReplace(disks,@tab," ")  
  1658.         if disks!="" then sysinfo=strcat(sysinfo,"Network Disks ",disks,@CRLF)  
  1659.         sysinfo=strcat(sysinfo,"Windows Directory ",DirWindows(0),@CRLF)  
  1660.         sysinfo=strcat(sysinfo,"System  Directory ",DirWindows(1),@CRLF)  
  1661.         sysinfo=strcat(sysinfo,@CRLF,"WIL Interpreter Ver ",VersionDll())  
  1662.   
  1663.         ver=Version()  
  1664.         Message("%Param2% %ver% SysInfo",Sysinfo)  
  1665.         Exit  
  1666.   
  1667. _Interactive Execution  ; Enter and run WIL commands directly
  1668.           if !IsDefined(uyit65) then uyit65="Message( , )"  
  1669.           :NEXT  
  1670.           uyit65=AskLine("Interactive Execution","Enter Command",uyit65)  
  1671.           execute %uyit65%  
  1672.           goto NEXT  
  1673.             
  1674. Run this WIL Script File   ; Runs the current file as a WIL Script  
  1675.          if wGetModified()==@TRUE then wFileSave()  
  1676.          TheFile = WGetFileName()  
  1677.          Call(TheFile,"")  
  1678.  
  1679.   
  1680. _How do I?...        ; Learn about using scripts  
  1681.  Use Menu Scripts          ; Menu file reference  
  1682.     helpfile = strcat(home,"System\Windows Interface Language.hlp")  
  1683.     WinHelp(helpFile, "PartialKey", "Menu Files")  
  1684.  Write WIL Scripts       ; WIL scripting language reference  
  1685.     helpfile = strcat(home,"System\Windows Interface Language.hlp")  
  1686.     WinHelp(helpFile, "PartialKey", "Tutorial")  
  1687. _Customize this menu...   ; Manage WinEdit Macro menu   
  1688.          TheFile=strcat(DirHome(),"System\WINEDIT.MNU")  
  1689.         WFileOpen(TheFile)  
  1690.         Drop(TheFile)  
  1691.           
  1692.