home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 April / Chip_2003-04_cd1.bin / ctenari / Balikova / prikl.bas < prev    next >
BASIC Source File  |  2003-01-29  |  6KB  |  288 lines

  1. $APPTYPE GUI
  2. $TYPECHECK ON
  3. $OPTIMIZE ON
  4. $ESCAPECHARS ON  
  5.  
  6. 'º!Incl
  7. $INCLUDE "RAPIDQ.INC"
  8.  
  9. 'º!Res
  10. ' V tomto programu nejsou ₧ßdnΘ grafickΘ soubory
  11.  
  12. 'º!Const
  13. CONST WM_SYSCOMMAND = &H0112 
  14.  
  15. 'º!DimVar
  16. DIM FileName AS STRING
  17.     FileName = "UNTITLED"
  18. DIM CountFiles AS BYTE
  19.     CountFiles = 0
  20.  
  21. 'º!DecF    
  22. DECLARE FUNCTION Setfocus Lib "user32" Alias "SetFocus"(hwnd As Long) As Long
  23.  
  24. 'º!DecSub    
  25. DECLARE SUB ExitEditorClick
  26. DECLARE SUB NewClick 
  27. DECLARE SUB OpenClick
  28. DECLARE SUB SaveAsClick
  29. DECLARE SUB SaveClick
  30. DECLARE SUB CopyClick
  31. DECLARE SUB CutClick
  32. DECLARE SUB PasteClick
  33. DECLARE SUB SelectAllClick
  34. DECLARE SUB Reopen1Click
  35. DECLARE SUB Reopen2Click
  36. DECLARE SUB Reopen3Click
  37. DECLARE SUB FindText
  38. DECLARE SUB FindClick
  39. DECLARE SUB FormResize
  40. DECLARE SUB RichShowXY
  41.  
  42. 'º!CreateObj
  43. CREATE DialogBox AS QForm
  44.   BorderStyle = bsDialog
  45.   Caption = "Search..."
  46.   Width = 300
  47.   Height = 80
  48.   Center
  49. END CREATE
  50.  
  51. CREATE EditBox AS QEdit
  52.   Parent = DialogBox
  53.   Top = 15
  54.   Left = 20
  55.   Width = 170
  56. END CREATE
  57.  
  58. CREATE Button AS QButton
  59.   Parent = DialogBox
  60.   Caption = "&OK"
  61.   Top = 13
  62.   Left = 210
  63.   Width = 70 
  64. END CREATE
  65.  
  66. CREATE MainForm AS QForm
  67.   Caption = "RQ Notepad"
  68.   Width = 500
  69.   Height = 400
  70.   Center
  71. END CREATE
  72.  
  73. CREATE RichEdit AS QRichEdit
  74.   Parent = MainForm
  75.   Align = alClient
  76.   ScrollBars = ssBoth
  77.   PlainText = True
  78.   WordWrap = False
  79.   OnKeyUp = RichShowXY
  80.   OnMouseMove = RichShowXY
  81. END CREATE
  82.  
  83. CREATE MainMenu AS QMainMenu
  84.   Parent = MainForm
  85. CREATE File AS QMenuItem
  86.   Caption = "&File"
  87. CREATE New AS QMenuItem
  88.   Caption = "&New"
  89.   OnClick = NewClick
  90. END CREATE
  91. CREATE Open AS QMenuItem
  92.   Caption = "&Open"
  93.   OnClick = OpenClick
  94. END CREATE
  95. CREATE ReOpen AS QMenuItem
  96.   Caption = "&ReOpen"
  97.   Enabled = False
  98. END CREATE
  99. CREATE Save AS QMenuItem
  100.   Caption = "&Save"
  101.   OnClick = SaveClick
  102. END CREATE
  103. CREATE SaveAs AS QmenuItem
  104.   Caption = "Save &As..."
  105.   OnClick = SaveAsClick
  106. END CREATE
  107. CREATE Break1 AS QMenuItem
  108.   Caption ="-"
  109. END CREATE
  110. CREATE ExitEditor AS QMenuItem
  111.   Caption = "E&xit"
  112.   OnClick = ExitEditorClick  
  113. END CREATE
  114. END CREATE
  115. CREATE Edit AS QMenuItem
  116.   Caption = "&Edit"
  117. CREATE Copy AS QMenuItem
  118.   Caption = "&Copy"
  119.   OnClick = CopyClick
  120.   ShortCut = "CTRL+C"
  121. END CREATE
  122. CREATE Cut AS QMenuItem
  123.   Caption  = "Cu&t"
  124.   OnClick = CutClick
  125.   ShortCut = "CTRL+X"
  126. END CREATE
  127. CREATE Paste AS QMenuItem
  128.   Caption = "&Paste"
  129.   OnClick = PasteClick
  130.   ShortCut = "CTRL+V"
  131. END CREATE
  132. CREATE SelectAll AS QMenuItem
  133.   Caption = "&Select All"
  134.   OnClick = SelectAllClick
  135.   ShortCut = "CTRL+A"
  136. END CREATE
  137. END CREATE
  138. CREATE Search AS QMenuItem
  139.   Caption = "&Search"
  140. CREATE Find AS QMenuItem
  141.   Caption = "&Find"
  142.   OnClick = FindClick
  143. END CREATE
  144. END CREATE
  145. END CREATE
  146.  
  147. DIM ReOpen1 AS QMenuItem
  148.   ReOpen1.Caption = "" 
  149.   ReOpen1.OnClick = Reopen1Click
  150. DIM ReOpen2 AS QMenuItem
  151.   ReOpen2.Caption = ""
  152.   ReOpen2.OnClick = Reopen2Click 
  153. DIM ReOpen3 AS QMenuItem
  154.   ReOpen3.Caption = "" 
  155.   ReOpen3.OnClick = Reopen3Click
  156.  
  157. CREATE StatusBar AS QStatusBar
  158.   Parent = MainForm
  159.   AddPanels "",""
  160.   Panel(0).Width = 100
  161.   Panel(0).Alignment = taCenter
  162. END CREATE
  163.  
  164. 'º!Func
  165. ' V tomto programu nejsou ₧ßdnΘ vlastnφ funkce
  166.  
  167. 'º!Sub
  168. SUB ExitEditorClick 
  169.   MainForm.Close
  170. END SUB
  171.  
  172. SUB NewClick         
  173.   RichEdit.Clear
  174.   FileName = "UNTITLED"
  175. END SUB
  176.  
  177. SUB OpenClick  
  178.   DIM OpenDialog AS QOpenDialog
  179.  
  180.   IF OpenDialog.Execute THEN
  181.     FileName = OpenDialog.FileName
  182.     RichEdit.LoadFromFile FileName
  183.     IF CountFiles = 0 THEN
  184.       ReOpen.Enabled = True
  185.       ReOpen1.Caption = "&1. "+FileName
  186.       ReOpen.Insert 0, ReOpen1
  187.     ELSEIF CountFiles = 1 THEN
  188.       ReOpen2.Caption = "&2. "+FileName
  189.       ReOpen.Insert 1, ReOpen2
  190.     ELSEIF CountFiles = 2 THEN
  191.       ReOpen3.Caption = "&3. "+FileName
  192.       ReOpen.Insert 2, ReOpen3
  193.     ELSE
  194.       CountFiles = CountFiles - 1
  195.       ReOpen1.Caption = "&1. "+RIGHT$(ReOpen2.Caption, LEN(ReOpen2.Caption)-4)
  196.       ReOpen2.Caption = "&2. "+RIGHT$(ReOpen3.Caption, LEN(ReOpen3.Caption)-4)
  197.       ReOpen3.Caption = "&3. "+FileName
  198.     END IF
  199.     CountFiles = CountFiles + 1
  200.     RichEdit.Modified = False
  201.   END IF
  202. END SUB
  203.  
  204. SUB SaveAsClick 
  205.   DIM SaveDialog AS QSaveDialog
  206.  
  207.   IF SaveDialog.Execute THEN
  208.     RichEdit.SaveToFile SaveDialog.FileName
  209.   END IF
  210. END SUB
  211.  
  212. SUB SaveClick
  213.   IF FileName = "UNTITLED" THEN
  214.     SaveAsClick
  215.   ELSE
  216.     RichEdit.SaveToFile FileName
  217.   END IF
  218. END SUB
  219.  
  220. SUB CopyClick
  221.  RichEdit.CopyToClipBoard
  222. END SUB 
  223.  
  224. SUB CutClick
  225.  RichEdit.CutToClipBoard
  226. END SUB
  227.  
  228. SUB PasteClick
  229.  RichEdit.PasteFromClipBoard
  230. END SUB
  231.  
  232. SUB SelectAllClick
  233.  RichEdit.SelectAll
  234. END SUB
  235.  
  236. SUB Reopen1Click
  237.   IF RichEdit.Modified THEN
  238.     SHOWMESSAGE "Abandoning changes"
  239.   END IF
  240.   RichEdit.LoadFromFile RIGHT$(ReOpen1.Caption, LEN(ReOpen1.Caption)-4)
  241.   RichEdit.Modified = False
  242. END SUB
  243.  
  244. SUB Reopen2Click
  245.   IF RichEdit.Modified THEN
  246.     SHOWMESSAGE "Abandoning changes"
  247.   END IF
  248.   RichEdit.LoadFromFile RIGHT$(ReOpen2.Caption, LEN(ReOpen2.Caption)-4)
  249.   RichEdit.Modified = False
  250. END SUB
  251.  
  252. SUB Reopen3Click
  253.   IF RichEdit.Modified THEN
  254.     SHOWMESSAGE "Abandoning changes"
  255.   END IF
  256.   RichEdit.LoadFromFile RIGHT$(ReOpen3.Caption, LEN(ReOpen3.Caption)-4)
  257.   RichEdit.Modified = False
  258. END SUB
  259.  
  260. SUB FindText
  261.   RichEdit.SelStart = INSTR(UCASE$(RichEdit.Text), UCASE$(EditBox.Text))-1
  262.   IF RichEdit.SelStart > 0 THEN
  263.     DIM Font AS QFont
  264.         Font.AddStyles(fsBold, fsItalic)
  265.  
  266.     RichEdit.SelLength = LEN(EditBox.Text)
  267.     RichEdit.SelAttributes = Font
  268.     DialogBox.Close
  269.   ELSE
  270.     SHOWMESSAGE EditBox.Text+" not found."
  271.   END IF
  272. END SUB
  273.  
  274. SUB FindClick
  275.   DialogBox.ShowModal
  276. END SUB
  277.  
  278. SUB FormResize
  279.   RichEdit.Width = MainForm.ClientWidth
  280.   RichEdit.Height = MainForm.ClientHeight
  281. END SUB
  282.  
  283. SUB RichShowXY
  284.   StatusBar.Panel(0).Caption = STR$(RichEdit.WhereY+1)+" : "+STR$(RichEdit.WhereX+1)
  285. END SUB
  286.  
  287. 'º!Execute
  288. MainForm.ShowModal