home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR3 / LANG20.ZIP / FORM1.FRM < prev    next >
Text File  |  1993-11-08  |  10KB  |  487 lines

  1. Version 1.00
  2. BEGIN Form Form1
  3.     AutoRedraw   = 0
  4.     BackColor    = QBColor(7)
  5.     BorderStyle  = 1
  6.     Caption      = "Language 2.00"
  7.     ControlBox   = 0
  8.     Enabled      = -1
  9.     ForeColor    = QBColor(0)
  10.     Height       = Char(25)
  11.     Left         = Char(0)
  12.     MaxButton    = 0
  13.     MinButton    = 0
  14.     MousePointer = 0
  15.     Tag          = ""
  16.     Top          = Char(0)
  17.     Visible      = -1
  18.     Width        = Char(80)
  19.     WindowState  = 0
  20.     BEGIN Label Lbl
  21.         Alignment    = 0
  22.         AutoSize     = 0
  23.         BackColor    = QBColor(7)
  24.         BorderStyle  = 0
  25.         Caption      = "0 Kb."
  26.         DragMode     = 0
  27.         Enabled      = -1
  28.         ForeColor    = QBColor(0)
  29.         Height       = Char(1)
  30.         Index        = 1
  31.         Left         = Char(63)
  32.         MousePointer = 0
  33.         TabIndex     = 4
  34.         Tag          = ""
  35.         Top          = Char(1)
  36.         Visible      = -1
  37.         Width        = Char(10)
  38.     END
  39.     BEGIN Label Lbl
  40.         Alignment    = 0
  41.         AutoSize     = 0
  42.         BackColor    = QBColor(7)
  43.         BorderStyle  = 0
  44.         Caption      = ""
  45.         DragMode     = 0
  46.         Enabled      = -1
  47.         ForeColor    = QBColor(0)
  48.         Height       = Char(1)
  49.         Index        = 2
  50.         Left         = Char(15)
  51.         MousePointer = 0
  52.         TabIndex     = 5
  53.         Tag          = ""
  54.         Top          = Char(3)
  55.         Visible      = -1
  56.         Width        = Char(60)
  57.     END
  58.     BEGIN Label Lbl
  59.         Alignment    = 0
  60.         AutoSize     = 0
  61.         BackColor    = QBColor(7)
  62.         BorderStyle  = 0
  63.         Caption      = "File Size:"
  64.         DragMode     = 0
  65.         Enabled      = -1
  66.         ForeColor    = QBColor(0)
  67.         Height       = Char(1)
  68.         Index        = 0
  69.         Left         = Char(52)
  70.         MousePointer = 0
  71.         TabIndex     = 3
  72.         Tag          = ""
  73.         Top          = Char(1)
  74.         Visible      = -1
  75.         Width        = Char(10)
  76.     END
  77.     BEGIN TextBox Txt
  78.         BackColor    = QBColor(7)
  79.         BorderStyle  = 1
  80.         DragMode     = 0
  81.         Enabled      = -1
  82.         ForeColor    = QBColor(0)
  83.         Height       = Char(3)
  84.         Index        = 1
  85.         Left         = Char(2)
  86.         MousePointer = 0
  87.         MultiLine    = 0
  88.         ScrollBars   = 0
  89.         TabIndex     = 2
  90.         TabStop      = 0
  91.         Tag          = ""
  92.         Text         = ""
  93.         Top          = Char(4)
  94.         Visible      = -1
  95.         Width        = Char(12)
  96.     END
  97.     BEGIN TextBox Txt
  98.         BackColor    = QBColor(7)
  99.         BorderStyle  = 1
  100.         DragMode     = 0
  101.         Enabled      = -1
  102.         ForeColor    = QBColor(0)
  103.         Height       = Char(3)
  104.         Index        = 0
  105.         Left         = Char(15)
  106.         MousePointer = 0
  107.         MultiLine    = 0
  108.         ScrollBars   = 0
  109.         TabIndex     = 1
  110.         TabStop      = -1
  111.         Tag          = ""
  112.         Text         = ""
  113.         Top          = Char(4)
  114.         Visible      = -1
  115.         Width        = Char(60)
  116.     END
  117.     BEGIN ListBox Lst
  118.         BackColor    = QBColor(7)
  119.         DragMode     = 0
  120.         Enabled      = -1
  121.         ForeColor    = QBColor(0)
  122.         Height       = Char(15)
  123.         Left         = Char(2)
  124.         MousePointer = 0
  125.         Sorted       = 0
  126.         TabIndex     = 0
  127.         TabStop      = -1
  128.         Tag          = ""
  129.         Top          = Char(7)
  130.         Visible      = -1
  131.         Width        = Char(73)
  132.     END
  133.     BEGIN Menu File
  134.         Caption      = "&File"
  135.         Checked      = 0
  136.         Enabled      = -1
  137.         Separator    = 0
  138.         Tag          = ""
  139.         Visible      = -1
  140.         BEGIN Menu OpenFile
  141.             Caption      = "&Open File"
  142.             Checked      = 0
  143.             Enabled      = -1
  144.             Separator    = 0
  145.             Tag          = ""
  146.             Visible      = -1
  147.         END
  148.         BEGIN Menu OptimizeFile
  149.             Caption      = "&Crunch File"
  150.             Checked      = 0
  151.             Enabled      = -1
  152.             Separator    = 0
  153.             Tag          = ""
  154.             Visible      = -1
  155.         END
  156.         BEGIN Menu s1
  157.             Caption      = ""
  158.             Checked      = 0
  159.             Enabled      = -1
  160.             Separator    = -1
  161.             Tag          = ""
  162.             Visible      = -1
  163.         END
  164.         BEGIN Menu Quit
  165.             Caption      = "&Quit"
  166.             Checked      = 0
  167.             Enabled      = -1
  168.             Separator    = 0
  169.             Tag          = ""
  170.             Visible      = -1
  171.         END
  172.     END
  173.     BEGIN Menu Statement
  174.         Caption      = "&Statement"
  175.         Checked      = 0
  176.         Enabled      = -1
  177.         Separator    = 0
  178.         Tag          = ""
  179.         Visible      = -1
  180.         BEGIN Menu AddStatement
  181.             Caption      = "&Add"
  182.             Checked      = 0
  183.             Enabled      = -1
  184.             Separator    = 0
  185.             Shortcut     = {F1}
  186.             Tag          = ""
  187.             Visible      = -1
  188.         END
  189.         BEGIN Menu ChangeStatement
  190.             Caption      = "&Change"
  191.             Checked      = 0
  192.             Enabled      = -1
  193.             Separator    = 0
  194.             Shortcut     = {F2}
  195.             Tag          = ""
  196.             Visible      = -1
  197.         END
  198.         BEGIN Menu InsertStatement
  199.             Caption      = "&Insert"
  200.             Checked      = 0
  201.             Enabled      = -1
  202.             Separator    = 0
  203.             Shortcut     = {F3}
  204.             Tag          = ""
  205.             Visible      = -1
  206.         END
  207.         BEGIN Menu DeleteStatement
  208.             Caption      = "&Delete"
  209.             Checked      = 0
  210.             Enabled      = -1
  211.             Separator    = 0
  212.             Shortcut     = {F4}
  213.             Tag          = ""
  214.             Visible      = -1
  215.         END
  216.         BEGIN Menu s2
  217.             Caption      = ""
  218.             Checked      = 0
  219.             Enabled      = -1
  220.             Separator    = -1
  221.             Tag          = ""
  222.             Visible      = -1
  223.         END
  224.         BEGIN Menu List2File
  225.             Caption      = "&Write List to LANGOUT.TXT"
  226.             Checked      = 0
  227.             Enabled      = -1
  228.             Separator    = 0
  229.             Tag          = ""
  230.             Visible      = -1
  231.         END
  232.     END
  233. END
  234.  
  235. DEFINT A-Z
  236. '$INCLUDE: 'lang.bi'
  237. '$DYNAMIC
  238.  
  239. DECLARE FUNCTION Coded$ (h$)
  240. DECLARE FUNCTION Readstr$ (index&, fil%)
  241.  
  242. DECLARE SUB Lst_Dblclick ()
  243. DECLARE SUB AddStr (s$, index&, fil%, Beginstr&)
  244. DECLARE SUB FileSave (FileName AS STRING, PathName AS STRING, DefaultExt AS STRING, DialogTitle AS STRING, ForeColor AS INTEGER, BackColor AS INTEGER, Flags AS INTEGER, Cancel AS INTEGER)
  245. DECLARE SUB RebuildLst ()
  246.  
  247. REM $STATIC
  248. SUB AddStatement_click ()
  249.  
  250.         a$ = form1.Txt(0).Text
  251.  
  252.         IF a$ = "" THEN
  253.             form1.Txt(0).SETFOCUS
  254.             EXIT SUB
  255.         ELSE
  256.             g& = 0
  257.             AddStr RTRIM$(a$), g&, (f%), 0
  258.             RebuildLst
  259.  
  260.             form1.Txt(0).Text = ""
  261.             form1.Txt(1).Text = ""
  262.  
  263.             ON LOCAL ERROR RESUME NEXT
  264.             form1.Lst.Listindex = g& - 1
  265.             ON LOCAL ERROR GOTO 0
  266.             form1.Lst.SETFOCUS
  267.         END IF
  268.  
  269. END SUB
  270.  
  271. SUB ChangeStatement_click ()
  272.  
  273.         a$ = form1.Txt(0).Text
  274.  
  275.         IF a$ = "" THEN
  276.             Lst_Dblclick
  277.             EXIT SUB
  278.         ELSE
  279.             g& = VAL(form1.Txt(1).Text)
  280.             AddStr RTRIM$(a$), g&, (f%), 0
  281.             RebuildLst
  282.  
  283.             form1.Txt(0).Text = ""
  284.             form1.Txt(1).Text = ""
  285.  
  286.             ON LOCAL ERROR RESUME NEXT
  287.             form1.Lst.Listindex = g& - 1
  288.             ON LOCAL ERROR GOTO 0
  289.  
  290.             form1.Lst.SETFOCUS
  291.         END IF
  292.  
  293. END SUB
  294.  
  295. SUB DeleteStatement_Click ()
  296.  
  297.     a$ = form1.Lst.List(form1.Lst.Listindex)
  298.     a& = VAL(LTRIM$(a$))
  299.     a$ = MID$(a$, 10)
  300.  
  301.     GET f%, 401, numstr&
  302.     
  303.     FOR i& = a& TO numstr& - 1
  304.         AddStr Readstr$(i& + 1, (f%)), i&, (f%), 0
  305.     NEXT i&
  306.  
  307.     AddStr "", numstr&, (f%), 0
  308.     numstr& = numstr& - 1
  309.     PUT f%, 401, numstr&
  310.  
  311.     RebuildLst
  312.     form1.Lst.SETFOCUS
  313.  
  314. END SUB
  315.  
  316. SUB Form_Load ()
  317.  
  318.     RebuildLst
  319.     form1.Lst.Listindex = 0
  320.     
  321. END SUB
  322.  
  323. SUB InsertStatement_Click ()
  324.  
  325.     a$ = form1.Lst.List(form1.Lst.Listindex)
  326.     a& = VAL(LTRIM$(a$))
  327.     a$ = MID$(a$, 10)
  328.  
  329.     GET f%, 401, numstr&
  330.     AddStr Readstr$(numstr&, (f%)), 0, (f%), 0
  331.     
  332.     FOR i& = numstr& TO a& STEP -1
  333.         AddStr Readstr$(i& - 1, (f%)), i&, (f%), 0
  334.     NEXT i&
  335.  
  336.     AddStr "", a&, (f%), 0
  337.     RebuildLst
  338.  
  339.     form1.Txt(0).Text = ""
  340.     form1.Txt(1).Text = STR$(a&)
  341.     form1.Txt(0).SETFOCUS
  342.  
  343. END SUB
  344.  
  345. SUB List2File_Click ()
  346.  
  347.     b$ = "LANGOUT.TXT"
  348.     t = FREEFILE
  349.     OPEN b$ FOR OUTPUT AS #t
  350.  
  351.     GET f%, 401, numstr&
  352.  
  353.     FOR i& = 1 TO numstr&
  354.         a$ = Readstr$(i&, (f%))
  355.         IF a$ <> "" THEN
  356.             a$ = STR$(i&) + "   " + a$
  357.             a$ = LEFT$(a$, 78)
  358.             PRINT #t, a$
  359.         END IF
  360.     NEXT
  361.     CLOSE #t
  362.  
  363. END SUB
  364.  
  365. SUB Lst_Dblclick ()
  366.  
  367.         a$ = form1.Lst.List(form1.Lst.Listindex)
  368.  
  369.         a2$ = LTRIM$(a$)
  370.         a1$ = LEFT$(a2$, INSTR(a2$, " "))
  371.  
  372.         a& = VAL(LTRIM$(a1$))
  373.  
  374.         a$ = RTRIM$(MID$(a$, 6))
  375.  
  376.         form1.Txt(0).Text = a$
  377.         form1.Txt(1).Text = STR$(a&)
  378.         form1.Txt(0).SETFOCUS
  379.  
  380. END SUB
  381.  
  382. SUB Lst_KeyPress (KeyAscii AS INTEGER)
  383.  
  384.     IF KeyAscii = 13 THEN
  385.         Lst_Dblclick
  386.     END IF
  387.  
  388. END SUB
  389.  
  390. SUB OpenFile_Click ()
  391.  
  392.     FileSave FilNam$, Pad$, "*.LNO", "FileName", 0, 7, 0, Cancel
  393.         IF Cancel <> 0 THEN EXIT SUB
  394.  
  395.     Lang_Bestand$ = Pad$ + "\" + FilNam$
  396.  
  397.     CLOSE f%
  398.     f% = FREEFILE
  399.     OPEN Lang_Bestand$ FOR BINARY AS f%
  400.     RebuildLst
  401.  
  402. END SUB
  403.  
  404. SUB OptimizeFile_Click ()
  405.  
  406.     b$ = Lang_BestandLeft$ + ".LNG"
  407.  
  408.     IF DIR$(b$) <> "" THEN
  409.         KILL b$
  410.     END IF
  411.  
  412.     g% = FREEFILE
  413.     OPEN b$ FOR BINARY AS g%
  414.  
  415.     ' write first 5 lines at beginning of file
  416.     ' these first lines won't be encrypted and can be used as a description
  417.     ' and copyright-message of the file
  418.     
  419.     FOR lns% = 1 TO 5
  420.         u$ = Readstr$((lns%), (f%))
  421.         u1$ = RTRIM$(u$)
  422.         IF LEN(u1$) < 80 THEN
  423.             u1$ = u1$ + SPACE$(80 - LEN(u1$))
  424.         END IF
  425.         u1$ = LEFT$(u1$, 78) + CHR$(13) + CHR$(10)
  426.         posn& = (1 + ((lns% - 1) * 80))
  427.  
  428.         PUT g%, posn&, u1$
  429.     NEXT
  430.  
  431.     GET f%, 401, numstr&
  432.  
  433.     FOR i& = 6 TO numstr& STEP 1
  434.         u$ = Readstr$((i&), (f%))
  435.         u1$ = LTRIM$(RTRIM$(u$))
  436.  
  437.         ' ┼┼┼
  438.         ' here you can encrypt u1$
  439.         ' don't forget to de-encrypt it in PROGRAM.BAS:Message$
  440.  
  441.         AddStr u1$, 0, (g%), ((numstr& * 4) + 420)
  442.  
  443.         form1.Lbl(1).Caption = FORMAT$((LOF(g%) / 1024), "#####.0") + " Kb."
  444.     NEXT
  445.  
  446.     CLOSE g%
  447.  
  448.     f% = FREEFILE
  449.     OPEN Lang_Bestand$ FOR BINARY AS f%
  450.  
  451. END SUB
  452.  
  453. SUB Quit_Click ()
  454.  
  455.     CLOSE
  456.     screen.HIDE
  457.     END
  458.  
  459. END SUB
  460.  
  461. SUB RebuildLst ()
  462.  
  463.     FOR i = 1 TO form1.Lst.Listcount
  464.         form1.Lst.REMOVEITEM 0
  465.     NEXT
  466.  
  467.     GET f%, 401, numstr&
  468.     IF numstr& = 0 THEN
  469.         AddStr "---", 0, (f%), 0
  470.         numstr& = numstr& + 1
  471.     END IF
  472.  
  473.     FOR i& = 1 TO numstr&
  474.         a$ = Readstr$(i&, (f%))
  475.         IF a$ <> "" THEN
  476.             b$ = STR$(i&)
  477.             b$ = b$ + SPACE$(5 - LEN(b$))
  478.             form1.Lst.ADDITEM b$ + a$
  479.         END IF
  480.     NEXT
  481.  
  482.     form1.Lbl(1).Caption = FORMAT$((LOF(f%) / 1024), "#####.0") + " Kb."
  483.     form1.Lbl(2).Caption = Lang_Bestand$
  484.  
  485. END SUB
  486.  
  487.