home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 636.lha / AppliGen_v1.0 / AppliGen.sbp < prev    next >
Encoding:
Text File  |  1992-04-26  |  16.4 KB  |  563 lines

  1. SBP
  2.  ÿ½ Superbase III.02 Appligen v1.0
  3.  ÿ½ Author: Ivo Kroone
  4.  ÿ½ Date  : March 12th, 1992
  5.  
  6.  ÿÊÿŸ"Initializing, please wait ..."
  7.  
  8.  ÿŠ"AddREMs",2,"AddHeads",2,"AddLabel",2,"t2",0
  9.  ÿŠ"SBuffers",1,"SBreak",2,"SDebug",1,"SEdit",2,"SPaging",2,"SPanel",2
  10.  ÿŠ"t2",ÿ1
  11.  
  12.  ÿØt%ÿÿ1
  13. ÿ¼t$,t%:ÿ–t$ÿ"%="ÿÿ(t%,"9.")
  14.  ÿÙ
  15.  
  16.  ÿâÿ³:ÿÊÿW99
  17.    
  18.  SBuffers2%ÿ99:ÿ×ar%(256)
  19.  ÿ´ÿ™"UserMenus":ÿ‹"DD MMM YYYY"
  20.  ÿ´ÿœ"AppliGen":ÿÿœ:ÿÎ:Name ÿ"Nameless"
  21.  ÿ¡ÿA("")ÿ0ÿpavail%ÿ1
  22.  
  23. MenuMainMenu: ÿ¬ÿ…:ÿ¡Name ÿ"Nameless"ÿpb%ÿ0ÿ^b%ÿ1
  24.  ÿ¬1,0,1,"Project"
  25.  ÿ¬1,1,1,"New application  ","N"
  26.  ÿ¬1,2,0,"-----------------"
  27.  ÿ¬1,3,avail%,"User menus open  ","O"
  28.  ÿ¬1,4,b%,"           write ","W"
  29.  ÿ¬1,5,avail%,"           delete","D"
  30.  ÿ¬1,6,b%,"           info  ","I"
  31.  ÿ¬1,7,0,"-----------------"
  32.  ÿ¬1,8,b%,"Save appli SBpro3","3"
  33.  ÿ¬1,9,0ÿb%,"           SBpro4","4"
  34.  ÿ¬1,10,0,"-----------------"
  35.  ÿ¬1,11,1,"About ...        ","?"
  36.  ÿ¬1,12,1,"Quit             ","Q"
  37.  
  38.  ÿ¬2,0,b%,"Application"
  39.  ÿ¬2,1,1,"Show application ASCII","S"
  40.  ÿ¬2,2,0,"----------------------"
  41.  ÿ¬2,3,1,"Clear all user menus  ","!"
  42.  ÿ¬2,4,1,"Show Inituition menus "
  43.  ÿ¬2,5,1,"Capitalize menu-items "
  44.  ÿ¬2,6,1,"Check application     "
  45.  
  46.  ÿ¬3,0,b%,"DML"
  47.  ÿ¬3,1,1,"Open SBpro 3.02 file"
  48.  ÿ¬3,2,0,"     dBase III+ file"
  49.  ÿ¬3,3,1,"     SBpro form     "
  50.  ÿ¬3,4,1,"     function keys  "
  51.  ÿ¬3,5,1,"     query          "
  52.  ÿ¬3,6,0,"--------------------"
  53.  ÿ¬3,7,1,"Add menu-reader     ","M"
  54.  ÿ¬3,8,1,"    credits         ","C"
  55.  ÿ¬3,9,1,"    error-handler   ","E"
  56.  ÿ¬3,10,0,"--------------------"
  57.  ÿ¬3,11,1,"Subroutines add     ","+"
  58.  ÿ¬3,12,1,"            delete  ","-"
  59.  
  60.  ÿ¬4,0,b%,"Preferences"
  61.  ÿ¬4,1,AddREMs%,"  Add REM statements"
  62.  ÿ¬4,2,AddHeads%,"  Add SET HEADINGs  "
  63.  ÿ¬4,3,AddLabel%,"  Add labels        "
  64.  ÿ¬4,4,0,"--------------------"
  65.  ÿ¬4,5,SBuffers%,"  Set BUFFERS         "
  66.  ÿ¬4,6,SBreak%,"      BREAK           "
  67.  ÿ¬4,7,SDebug%,"      DEBUG           "
  68.  ÿ¬4,8,SEdit%,"      EDIT            "
  69.  ÿ¬4,9,SPaging%,"      PAGING          "
  70.  ÿ¬4,10,SPanel%,"      PANEL           "
  71.  
  72. MainMenu: ÿÊÿŸ"AppliGen v1.0 - Main Menu - Project: "ÿÿ+(Name,32)
  73.  ÿ³ÿ_ÿwErrorHandler
  74.  ÿœ1:ÿÎ
  75.  err%ÿ0:t$ÿ"":ÿ¬ÿ³a%,b%
  76.  ÿ¡Menu01 ÿ""ÿpÿÏÿ¬ÿÿß
  77.  ÿ¡Menu01 ÿ""ÿpÿÏÿ¬
  78.  ÿ¡a%ÿ1ÿpÿ³b%ÿwProject1,,Project2,Project3,Project4,Project5,,Project6,Project7,,Project8,Project9
  79.  ÿ¡a%ÿ2ÿpÿ³b%ÿwApplication1,,Application2,Application3,Application4,Application5
  80.  ÿ¡a%ÿ3ÿpÿ³b%ÿwDML1,DML2,DML3,DML4,DML5,,DML6,DML7,DML8,,DML9,DML10
  81.  ÿ¡a%ÿ4ÿpÿwPreferences
  82.  ÿ”:ÿwMainMenu
  83.  
  84. Project1: 
  85.  ÿÊÿŸ"Enter menu-information, new project"
  86. ÿ¡Menu01 ÿ""ÿpÿÂ"Quit current project?","",1,b%:ÿ¡b%ÿ0ÿpÿwMainMenu
  87.  ÿ:ÿÎ:ÿÂ"Enter project name:","",4,b%,Name,35
  88. ÿ¡b%ÿ0ÿpÿwMainMenu
  89.  Author ÿ"Unknown":date ÿÿQ:Version ÿ1
  90.  ÿÂ"Pre-enter a standard-menu?","",1,b%
  91. ÿ¡b%ÿ1ÿp
  92. menu01ÿ"Project"
  93. item0101 ÿ"New":xtra0101ÿ"N"
  94. item0102 ÿ"Open":xtra0102ÿ"O"
  95. item0103 ÿ"Save":xtra0103ÿ"S"
  96. item0104ÿ"Save as"
  97. item0105 ÿ"Print"
  98. item0106ÿ"Print as"
  99. item0107 ÿ"Quit":xtra0107ÿ"Q"
  100.  
  101. menu02 ÿ"Edit"
  102. item0201 ÿ"Undo":xtra0201ÿ"U"
  103. item0202 ÿ"Cut":xtra0202ÿ"X"
  104. item0203 ÿ"Copy":xtra0203ÿ"C"
  105. item0204 ÿ"Paste":xtra0204ÿ"P"
  106. item0205 ÿ"Erase":xtra0205ÿ"E"
  107. ÿÎ
  108.  ÿ’ÿ¡
  109.  ÿ”:b%ÿ1:ÿwMenuMainMenu
  110. 
  111. Project2: 
  112.  ÿÊÿŸ"Open user-menus from user-menu file"
  113.  ÿ¡ÿA("")ÿ1ÿpÿÉÿ`:ÿÎ:ÿwMenuMainMenu
  114.  ÿÂ"Open a menu-structure ("ÿÿH(ÿ(ÿA(""),"99999."))ÿ" available):","            Project name            Rev    Date",20,b%,t$,51,Name,Version,Date
  115. ÿ¡b%ÿ0ÿpÿwMainMenu
  116.  ÿÉÿ¥t$:ÿÎ:ÿwMenuMainMenu
  117.  
  118. Project3: 
  119.  ÿÊÿŸ"Save user-menus in user-menu file"
  120.  ÿ¡Name ÿ"Nameless"ÿNameÿ""ÿpÿÂ"Please enter project name:","",4,b%,Name,35:ÿ¡b%ÿ0ÿpÿwMainMenu
  121.  DateÿÿQ:Version ÿVersion ÿ1:ÿÌ:ÿwMainMenu
  122.  
  123. Project4: 
  124.  ÿÊÿŸ"Remove user-menus in user-menu file"
  125.  ÿÂ"Open a menu-structure ("ÿÿH(ÿ(ÿA(""),"99999."))ÿ" available):","            Project name            Rev    Date",20,b%,t$,51,Name,Version,Date
  126. ÿ¡b%ÿ0ÿpÿwMainMenu
  127.  ÿÂ"Remove: "ÿt$ÿ"?","",1,b%
  128. ÿ¡b%ÿ1ÿpÿÉÿ¥t$:ÿÉÿ¾
  129.  ÿwMainMenu
  130.  
  131. Project5: 
  132.  ÿÊÿŸ"Show statistics for "ÿName 
  133.  ÿ‡
  134.  ÿ{"Project : "ÿF(Name)", version "ÿH(ÿ(version,"99."))
  135.  ÿ{"Date    : "ÿ(Date)
  136.  ÿ{"Autohor : "Author
  137.  
  138.  ÿ{
  139.  ÿ¡Osbv ÿ""ÿpÿ{"Form  : "Osbv 
  140.  ÿ¡Osbk ÿ""ÿpÿ{"Keys  : "Osbk
  141.  ÿ¡Osbq ÿ""ÿpÿ{"Query : "Osbq
  142.  ÿ{
  143.  
  144.  ÿ¡AddMenuReadÿ""ÿpÿ{"No menu-reader will be added"ÿ^ÿ{"Menu-reader will be added"
  145.  ÿ¡AddCredits ÿ""ÿpÿ{"Credits will not be added"ÿ^ÿ{"Credits will be added"
  146.  ÿ¡AddErrorHandlerÿ""ÿpÿ{"No error-handler will be added"ÿ^ÿ{"Error-handler will be added"
  147.  ÿ{
  148.  
  149.  ÿ{"Files and indexes to be opened:";:z%ÿ1:y%ÿ0:ÿ²"9."
  150.  ÿ›x%ÿ0ÿq9
  151. ÿ¡Osbf(x%)ÿ""ÿpÿ{ÿ'(z%);ÿ(y%)ÿ". ";:z%ÿ32:ÿ{"FILE: "ÿF(Osbf(x%))", INDEX: "ÿF(Osbi(x%)):y%ÿy%ÿ1
  152.  ÿ±x%
  153.   
  154.  ÿ{:ÿ{"Subroutines to be included:";:z%ÿ1:y%ÿ0
  155.  ÿ›x%ÿ0ÿq9
  156. ÿ¡AddSubs(x%)ÿ""ÿpÿ{ÿ'(z%);ÿ(y%)ÿ". ";:z%ÿ28:ÿ{AddSubs(x%):y%ÿy%ÿ1
  157.  ÿ±x%
  158.  ÿÏÿ¥ÿÿß:ÿwMainMenu
  159.  
  160. Project6: 
  161.  ÿÊÿŸ"Create application for Superbase Professional III"
  162.  ÿvCheckAppli:ÿ¡err%ÿ0ÿpÿÂ"Error in application.","Cannot create.",0:ÿwMainMenu
  163.  ÿÂ"Enter filename for application:","",4,b%,d$,30
  164. ÿ¡b%ÿ0ÿpÿwMainMenu 
  165.  ÿ¡ÿ-(d$,4)ÿ".sbp"ÿpd$ÿd$ÿ".sbp"
  166.  ÿ¡ÿJ(d$)ÿpÿÂÿ(34)ÿd$ÿÿ(34)ÿ" exists, overwrite?","",1,b%:ÿ¡b%ÿ0ÿpÿwMainMenu
  167.  ÿ"Creating "d$
  168.  ÿ´d$ÿ›ÿ¶:ÿvBuildAppli:ÿ†ÿ¶
  169.  ÿÂ"Run application and leave AppliGen?","",1,b%
  170. ÿ¡b%ÿ0ÿpÿwMainMenu 
  171.  ÿ†ÿt:ÿÊÿŸ"":ÿÄÿ+(d$,ÿ/(d$)ÿ4)
  172. 
  173. Project8: 
  174.  ÿÊÿŸ"About the Superbase Amiga application-generator v1.0"
  175.  ÿÂ"Written by: Ivo Kroone","E-mail: bin1009@triton.heao.hsa.nl",0:ÿwMainMenu 
  176.  
  177. Project9: 
  178.  ÿÊÿŸ"Leave application-generator, back to AmigaDOS"
  179.  ÿÂ"Back to AmigaDOS?","",1,b%:ÿ¡b%ÿ0ÿpÿwMainMenu
  180.  ÿ»
  181.  
  182. Application1: 
  183.  ÿÊÿŸ"Show application as Superbase DML program"
  184.  ÿÂ"Your application has to be stored.","Continue and have your work stored?",1,b%:ÿ¡b%ÿ0ÿpÿwMainMenu
  185.  ÿvCheckAppli:ÿ¡err%ÿ0ÿpÿÂ"Error in application, cannot create","",0:ÿœ1:ÿwMainMenu
  186.  ÿ‡:ÿvBuildAppli:ÿ{:ÿ{ÿÔÿ³ÿ'(6)"» Press any key (or left mouse button) to return to mainmenu «"
  187.  ÿÏÿ¥ÿÿß:ÿœ1:ÿÎ:ÿwMainMenu
  188. 
  189. Application2: 
  190.  ÿÊÿŸ"Clear user menus"
  191.  ÿÂ"Are you sure?","(clear user menus)",1,b%
  192. ÿ¡b%ÿ1ÿpt$ÿAuthor:t2$ÿName:ÿ:Author ÿt$:Name ÿt2$:ÿÎ
  193.  ÿwMainMenu
  194.    
  195. Application3: 
  196.  h$ÿ"Show user menus as Intuition menus - ":ÿÊÿŸh$ÿ"Rendering menus"
  197.  ÿ¬ÿ…:ÿ²"00.":t$ÿÿ(34)
  198.  ÿ›y%ÿ1ÿq5
  199. ÿ–"If Menu"ÿÿ(y%)ÿ"="ÿt$ÿt$ÿ"then y%=5:goto NY0:"
  200. ÿ–"MENU "ÿÿ(y%)ÿ",0,1, Menu"ÿÿ(y%)
  201.  
  202. t%ÿ0
  203. ÿ›x%ÿ1ÿq12
  204. ÿ–"if len(Item"ÿÿ(y%)ÿÿ(x%)ÿ")>t% then t%=len(Item"ÿÿ(y%)ÿÿ(x%)ÿ")"
  205. ÿ±x%
  206.  
  207. ÿ›x%ÿ1ÿq12
  208. ÿ–"t2%=len(Item"ÿÿ(y%)ÿÿ(x%)ÿ")"
  209. t3%ÿt%ÿt2%
  210. ÿ–"IF Item"ÿÿ(y%)ÿÿ(x%)ÿ"="ÿt$ÿt$ÿ" then x%=12:goto NX0:"
  211. t4%ÿ1
  212. ÿ–"IF left$(Item"ÿÿ(y%)ÿÿ(x%)ÿ",3)="ÿt$ÿ"---"ÿt$ÿ" then t4%=0"
  213. ÿ–"Menu "ÿÿ(y%)ÿ","ÿÿ(x%)ÿ","ÿÿ(t4%,"9.")ÿ","ÿ"Item"ÿÿ(y%)ÿÿ(x%)ÿ"+space$(t3%),Xtra"ÿÿ(y%)ÿÿ(x%)
  214. NX0:ÿ±x%
  215. NY0: ÿ±y%
  216.  
  217.  ÿÊÿŸh$ÿ"Showing menus"
  218.  ÿÂ"User menus have been initialized.","Select a menu-item to return to mainmenu",2
  219.  ÿ¬ÿ³a%,b%:ÿÏÿ¬: ÿwMenuMainMenu
  220.  
  221. Application4: 
  222.  ÿÊÿŸ"Capitalize menu-items":ÿ²"00."
  223.  ÿ›y%ÿ1ÿq5
  224. ÿ–"Menu"ÿÿ(y%)ÿ"=fcase$(Menu"ÿÿ(y%)ÿ")"
  225. ÿ›x%ÿ1ÿq12
  226. ÿ–"Item"ÿÿ(y%)ÿÿ(x%)ÿ" = fcase$(Item"ÿÿ(y%)ÿÿ(x%)ÿ")"
  227. ÿ±x%
  228. ÿÎ
  229.  ÿ±y%
  230.  ÿwMainMenu
  231.  
  232. Application5: 
  233.  ÿÊÿŸ"Check application for errors"
  234.  ÿÂ"Your application has to be stored.","Continue and have your work stored?",1,b%:ÿ¡b%ÿ0ÿpÿwMainMenu
  235.  ÿvCheckAppli
  236. ÿ¡err%ÿ0ÿpÿÂ"Application OK","",2ÿ^ÿÂ"Error in application.","",0
  237.  ÿœ1:ÿÎ:ÿwMainMenu 
  238.  
  239. DML1: 
  240.  ÿ²"99.":z%ÿ0
  241.  ÿ›x%ÿ0ÿq9
  242. ÿ¡Osbf(x%)ÿ""ÿpy%ÿx%:z%ÿ1:x%ÿ9
  243.  ÿ±x%
  244.  ÿ¡z%ÿ0ÿpÿÂ"Sorry, reached the limit of ten files.","",0:ÿwMainMenu
  245.   
  246.  ÿÊÿŸ"Include OPEN FILE "ÿÿ(34)ÿ"Superbase file.sbf"ÿÿ(34)
  247.  ÿÂ"Select Superbase file #"ÿÿH(ÿ(y%ÿ1))ÿ":","",11,b%,t$
  248. ÿ¡b%ÿ0ÿpÿwMainMenu
  249.  ÿ¡t$ÿ"UserMenus"ÿpÿÂ"Please don't mess around with my own file!","",2:ÿwMainMenu
  250.  
  251.  z%ÿ0
  252.  ÿ›x%ÿ0ÿq9
  253. ÿ¡Osbf(x%)ÿt$ÿpz%ÿ1:x%ÿ9
  254.  ÿ±x%
  255.  ÿ¡z%ÿ1ÿpÿÂ"File already included!","",0:ÿwMainMenu
  256.  
  257.  ÿ´ÿ™t$
  258.  
  259.  ÿÂ"Select a default index:","",7,b%,t2$
  260. ÿ†ÿ™t$
  261. ÿ¡b%ÿ0ÿpÿwDML1
  262.  Osbf(y%)ÿt$:Osbi(y%)ÿt2$:ÿwMainMenu 
  263.  
  264. DML3: 
  265.  ÿÊÿŸ"Include OPEN FORM "ÿÿ(34)ÿ"Superbase form.sbv"ÿÿ(34)
  266.  ÿÂ"Select a form:","",19,b%,t$
  267. ÿ¡b%ÿ1ÿpOsbv ÿt$
  268.  ÿwMainMenu
  269.  
  270. DML4: 
  271.  ÿÊÿŸ"Include OPEN 
  272.  ÿÂ"Select a keys-file:","",16,b%,t$
  273. ÿ¡b%ÿ1ÿpOsbkÿt$
  274.  ÿwMainMenu 
  275.  
  276. DML5: 
  277.  ÿÊÿŸ"Include  
  278.  ÿÂ"Select a query file:","",14,b%,t$
  279. ÿ¡b%ÿ1ÿpOsbqÿt$
  280.  ÿwMainMenu 
  281.  
  282. DML6: 
  283.  ÿÊÿŸ"Toggle menu-reader"
  284.  ÿ¡AddMenuRead ÿ"Y"ÿpAddMenuRead ÿ"":ÿÂ"Menu-reader removed","",2:ÿwMainMenu
  285.  AddMenuRead ÿ"Y":ÿÂ"Menu-reader will be added","",2:ÿwMainMenu
  286.  
  287. DML7: 
  288.  ÿÊÿŸ"Include credits"
  289.  ÿÂ"Please enter the author's name:","",4,b%,Author,35
  290. ÿ¡b%ÿ0ÿpAddCreditsÿ"":ÿÂ"No credits will be mentioned ...","",2:ÿwMainMenu
  291.  AddCredits ÿ"Y":ÿwMainMenu
  292.  
  293. DML8: 
  294.  ÿÊÿŸ"Include error-handler"
  295.  ÿ¡AddErrorHandlerÿ"Y"ÿpAddErrorHandlerÿ"":ÿÂ"No error-handler will be included.","",2:ÿwMainMenu 
  296.  AddErrorHandlerÿ"Y":ÿÂ"Error-handler will be included.","",2:ÿwMainMenu 
  297.  
  298. DML9: 
  299.  ÿÊÿŸ"Add subroutines":z%ÿ0
  300.  ÿ›x%ÿ0ÿq9
  301. ÿ¡AddSubs(x%)ÿ""ÿpy%ÿx%:x%ÿ10:z%ÿ1
  302.  ÿ±x%
  303.  ÿ¡z%ÿ0ÿpÿÂ"No room for more sub-routines","",0:ÿwMainMenu
  304.  
  305.  ÿÂ"Pick sub-routine #"ÿÿ(y%,"9.")ÿ":","(only use plain ASCII files)",17,b%,t$
  306.  ÿ¡b%ÿ0ÿpÿwMainMenu
  307.  ÿ¡ÿOÿJ(t$)ÿpÿÂ"Can't find"ÿt$,"",0:ÿwMainMenu
  308.  ÿ›x%ÿ0ÿq9
  309. ÿ¡AddSubs(x%)ÿt$ÿpz%ÿ0
  310.  ÿ±x%
  311.  ÿ¡z%ÿ0ÿpÿÂ"Subroutine already included.","Operation canceled.",0:ÿwMainMenu
  312.  AddSubs(y%)ÿt$:ÿwMainMenu
  313.  
  314. DML10: 
  315.  ÿÊÿŸ"Remove subroutines":z%ÿ0:t2$ÿ"DeleteMe"
  316.  ÿ›x%ÿ0ÿq9
  317. ÿ¡AddSubs(x%)ÿ""ÿpz%ÿ1:x%ÿ9
  318.  ÿ±x%
  319.  ÿ¡z%ÿ0ÿpÿÂ"No sub-routines to delete.","",0:ÿwMainMenu
  320.  ÿ¡ÿJ(t2$ÿ".sbf")ÿpÿ´ÿ™t2$:ÿ¾ÿ™t2$
  321.  ÿ‰t2$:ÿ|"temp;TXT IXD;30":ÿªt2$
  322.  ÿ›x%ÿ0ÿq9
  323. ÿ¡AddSubs(x%)ÿ""ÿpÿ:temp ÿAddSubs(x%):ÿÌ
  324.  ÿ±x%
  325.   
  326.  ÿÂ"Pick a sub-routine:","",20,b%,t$,30,temp
  327.  ÿ¾ÿ™t2$:ÿ¡b%ÿ0ÿpÿwMainMenu 
  328.  ÿ›x%ÿ0ÿq9
  329. ÿ¡AddSubs(x%)ÿt$ÿpAddSubs(x%)ÿ""
  330.  ÿ±x%
  331.  ÿwMainMenu 
  332.  
  333. Preferences: 
  334.  ÿx
  335.  ÿ›x%ÿ1ÿqb%:ÿ¼t$:ÿ¼t%:ÿ±x%
  336.  ÿ¡t$ÿ"SBuffers"ÿp
  337. EnterBufs: ÿÂ"Enter number of cache buffers to use:","",4,b%,SBuffers2%,2
  338. ÿ¡SBuffers2%ÿ
  339. 1ÿSBuffers2%ÿ99ÿpÿÂ"Please use a number between 1 and 99","",0:ÿwEnterBufs
  340.  ÿ^
  341. t$ÿt$ÿ"%"
  342. ÿ–"if "ÿt$ÿ"=2 then "ÿt$ÿ"=1 else "ÿt$ÿ" = 2"
  343.  ÿ’ÿ¡
  344.  ÿwMenuMainMenu
  345.  
  346.  ÿ½ ***************************************************************** 
  347.  ÿ½ ***                      THE SUBROUTINES                      *** 
  348.  ÿ½ *****************************************************************
  349.  
  350. ErrorHandler: 
  351.  ÿ¡ÿ&ÿ11ÿpÿwMenuMainMenu
  352.  ÿ‡:ÿÿÔÿ³"An error has occurred:"
  353.  ÿ:ÿ"Error #"ÿH(ÿ(ÿ&,"999."))" (that is: "ÿ((ÿ&)ÿ")"
  354.  ÿÏÿ¥ÿÿß:ÿwMenuMainMenu 
  355.   
  356. BuildAppli: 
  357.  ÿÌ
  358.  ÿ¡AddREMs%ÿ2ÿp
  359. ÿ{" REM "Name ÿ", version 0."ÿÿH(ÿ(Version,"99."))
  360. ÿ{" REM Date  : "Date 
  361. ÿ¡AddCredits ÿ"Y"ÿpÿ{" REM Author: "Author
  362. ÿ{
  363.  ÿ’ÿ¡
  364.  
  365.  ÿ¡AddErrorHandler ÿ"Y"ÿpÿ{" ON ERROR GOTO ErrorHandler":ÿ{
  366.  ÿ¡AddLabel%ÿ2ÿpÿ{"Start:";
  367.  ÿ¡AddHeads%ÿ2ÿpÿ{" SET HEADING "ÿÿ(34)ÿ"Initializing, please wait ..."ÿÿ(34)
  368.  
  369.  ÿ{
  370.  ÿ{" SET BUFFERS "ÿH(ÿ(SBuffers2%,"99."))
  371.  ÿ{" BREAK ";:ÿ¡SBreak%ÿ2ÿpÿ{"ON"ÿ^ÿ{"OFF"
  372.  ÿ{" DEBUG ";:ÿ¡SDebug%ÿ2ÿpÿ{"ON"ÿ^ÿ{"OFF"
  373.  ÿ{" SET EDIT ";:ÿ¡SEdit%ÿ2ÿpÿ{"ON"ÿ^ÿ{"OFF"
  374.  ÿ{" SET PAGING ";:ÿ¡SPaging%ÿ2ÿpÿ{"ON"ÿ^ÿ{"OFF"
  375.  ÿ{" PANEL ";:ÿ¡SPanel%ÿ2ÿpÿ{"ON"ÿ^ÿ{"OFF"
  376.  ÿ{
  377.  
  378.  ÿ›x%ÿ0ÿq9
  379. ÿ¡Osbf(x%)ÿ""ÿpÿ{" OPEN FILE "ÿÿ(34)ÿOsbf(x%)ÿÿ(34)ÿ":INDEX "ÿÿ(34)ÿOsbi(x%)ÿÿ(34)
  380.  ÿ±x%
  381.   
  382.  ÿ¡Osbv ÿ""ÿpÿ{" OPEN FORM "ÿÿ(34)ÿOsbv ÿÿ(34)
  383.  ÿ¡Osbk ÿ""ÿpÿ{" LOAD KEY "ÿÿ(34)ÿOsbk ÿÿ(34)
  384.  ÿ¡Osbq ÿ""ÿpÿ{" LOAD QUERY "ÿÿ(34)ÿOsbq ÿÿ(34)
  385.  
  386.  ÿ{
  387.  ÿ{" MENU CLEAR"
  388.  ÿ{
  389.  
  390.  ÿ½ *** Build menus using SBpro DML ***
  391.  ÿ²"00.":t$ÿÿ(34):t2$ÿ" "
  392.  ÿ›y%ÿ1ÿq5
  393. ÿ–"If Menu"ÿÿ(y%)ÿ"="ÿt$ÿt$ÿ"then y%=5:goto NY"
  394. ÿ–"?"ÿt$ÿ" MENU "ÿÿH(ÿ(y%,"99."))ÿ",0,1,"ÿt$ÿ";"
  395. ÿ{t$;
  396. ÿ–"? trim$(Menu"ÿÿ(y%)ÿ");"
  397. ÿ{t$
  398.  
  399. t%ÿ0
  400. ÿ›x%ÿ1ÿq12
  401. ÿ–"if len(Item"ÿÿ(y%)ÿÿ(x%)ÿ")>t% then t%=len(Item"ÿÿ(y%)ÿÿ(x%)ÿ")"
  402. ÿ±x%
  403.  
  404. ÿ›x%ÿ1ÿq12
  405. ÿ–"t2%=len(Item"ÿÿ(y%)ÿÿ(x%)ÿ")"
  406. t3%ÿt%ÿt2%
  407. ÿ–"if Item"ÿÿ(y%)ÿÿ(x%)ÿ"="ÿt$ÿt$ÿ"then x%=12:goto NX"
  408. ÿ–"?"ÿt$ÿ" MENU "ÿÿH(ÿ(y%,"99."))ÿ","ÿÿH(ÿ(x%,"99."))ÿt$ÿ";"
  409. ÿ–"if left$(Item"ÿÿ(y%)ÿÿ(x%)ÿ",3)="ÿt$ÿ"---"ÿt$ÿ" then ?"ÿt$ÿ",0,"ÿt$ÿ";"
  410. ÿ–"if left$(Item"ÿÿ(y%)ÿÿ(x%)ÿ",3)<>"ÿt$ÿ"---"ÿt$ÿ" then ?"ÿt$ÿ",1,"ÿt$ÿ";"
  411. ÿ{t$;
  412. ÿ–"? Item"ÿÿ(y%)ÿÿ(x%)ÿ";"
  413. ÿ–"if Xtra"ÿÿ(y%)ÿÿ(x%)ÿ"<>"ÿt$ÿt$ÿ"then"
  414. ÿ{t$ÿ","ÿt$;
  415. ÿ–"? Xtra"ÿÿ(y%)ÿÿ(x%)ÿ";"
  416. ÿ{t$
  417. ÿ^
  418. ÿ{t$
  419. ÿ’ÿ¡
  420. NX: ÿ±x%
  421.  ÿ{
  422. NY: ÿ±y%
  423.  
  424.  ÿ¡AddHeads%ÿ2ÿp
  425. ÿ{" SET HEADING "ÿÿ(34)ÿName;
  426. ÿ¡AddCredits ÿ"Y"ÿpÿ{" © "ÿ(ÿ6(ÿQ),"9999.")" by "ÿF(Author)ÿ(34)ÿ^ÿ{ÿ(34)
  427.  ÿ’ÿ¡
  428.  
  429.  ÿ½ *** Add menu-reader ***
  430.  ÿ¡AddMenuRead ÿ"Y"ÿp
  431. ÿ¡AddREMs%ÿ2ÿpÿ{:ÿ{" REM Menu reader (uses a% for menu, b% for item)"
  432. ÿvStuff:ÿ²"00.":ÿ{
  433. ÿ¡AddLabel%ÿ2ÿpÿ{"MainMenu: ";
  434. ÿ{"MENU ON a%,b%:WAIT MENU"
  435. ÿ›y%ÿ1ÿq5
  436. ÿ–"If menu"ÿÿ(y%)ÿ"="ÿÿ(34)ÿÿ(34)ÿ" then y%=5:goto NY2"
  437. ÿ{" IF a%="ÿ(y%,"9.")" THEN ON b% GOTO ";
  438. w%ÿ1
  439. ÿ›x%ÿ1ÿq12
  440. z%ÿ0
  441. ÿ–"If item"ÿÿ(y%)ÿÿ(x%)ÿ"="ÿÿ(34)ÿÿ(34)ÿ" then x%=12:goto NX2"
  442. ÿ–"If left$(item"ÿÿ(y%)ÿÿ(x%)ÿ",3)="ÿÿ(34)ÿ"---"ÿÿ(34)ÿ" then ? chr$(44);:z%=1"
  443. ÿ¡z%ÿ0ÿp
  444. w%ÿw%ÿ1
  445. ÿ–"? trim$(Menu"ÿÿ(y%)ÿ");"
  446. ÿ{ÿH(ÿ(w%ÿ1,"99."))",";
  447. ÿ’ÿ¡
  448. NX2: ÿ±x%
  449. ÿ{
  450. NY2: ÿ±y%
  451.  ÿ’ÿ¡
  452.  
  453.  ÿ½ *** Add labels and/or REMs and/or headings ***
  454.  ÿ¡AddLabel%ÿ2ÿp
  455. ÿ{:ÿvStuff
  456. ÿ›y%ÿ1ÿq5
  457. z%ÿ1
  458. ÿ–"if Menu"ÿÿ(y%)ÿ"="ÿÿ(34)ÿÿ(34)ÿ" then goto NY5"
  459. ÿ›x%ÿ1ÿq12
  460. ÿ–"if Item"ÿÿ(y%)ÿÿ(x%)ÿ"="ÿÿ(34)ÿÿ(34)ÿ" then goto NX5"
  461. ÿ–"t$=Item"ÿÿ(y%)ÿÿ(x%)
  462. ÿ¡ÿ+(t$,3)ÿ"---"ÿp
  463. ÿ–"t2$=Menu"ÿÿ(y%)
  464. ÿ{t2$ÿÿH(ÿ(z%,"99."))":";
  465. ÿ¡AddREMs%ÿ2ÿpÿ{" REM *** "t$" ***"ÿ^ÿ{
  466. ÿ¡AddHeads%ÿ2ÿpÿ{" SET HEADING "ÿ(34)t$ÿ(34)
  467. z%ÿz%ÿ1
  468. ÿ{:ÿ{:ÿ{
  469. ÿ’ÿ¡
  470. NX5: ÿ±x%
  471. NY5: ÿ±y%
  472.  ÿ’ÿ¡
  473.  
  474.  ÿ½ *** Add sub-routines ***
  475.  ÿ¡AddErrorHandler ÿ"Y"ÿp
  476. ÿ{"ErrorHandler:";
  477. ÿ¡AddREMs%ÿ2ÿpÿ{:ÿ{" REM Error handler"
  478. ÿ{" IF ERRNO = 11 THEN GOTO MainMenu"
  479. ÿ{" CLS :DISPLAY BF ON "ÿÿ(34)ÿ"An error has occurred:"ÿÿ(34)
  480. ÿ{" DISPLAY :DISPLAY "ÿ(34)"Error #"ÿ(34);
  481. ÿ{"LTRIM$ ( STR$ ( ERRNO ,"ÿ(34)"999."ÿ(34)"))"ÿ(34);
  482. ÿ{"(that is:"ÿ(34)"ERR$ ( ERRNO )"ÿ(34)")"
  483. ÿ{" WAIT KEY OR MOUSE :RUN"
  484.  ÿ’ÿ¡
  485.  
  486.  z%ÿ0
  487.  ÿ›x%ÿ0ÿq9
  488. ÿ¡AddSubs(x%)ÿ""ÿpz%ÿ1:x%ÿ9
  489.  ÿ±x%
  490.  ÿ¡z%ÿ1ÿp
  491. ÿ{
  492. ÿ¡AddREMs%ÿ2ÿp
  493. ÿ{" REM ***************************************************************** 
  494. ÿ{" REM ***                      THE SUBROUTINES                      *** 
  495. ÿ{" REM *****************************************************************
  496. ÿ{
  497. ÿ’ÿ¡
  498.  
  499. ÿ›x%ÿ0ÿq9
  500. ÿ¡AddSubs(x%)ÿ""ÿpÿwNX3
  501. ÿ´AddSubs(x%)ÿ›ÿ¤
  502. ÿØÿOÿB("*")
  503. ÿ¤ÿct$:ÿ{ÿ'(1)t$
  504. ÿÙ
  505. ÿ†ÿ¤
  506. ÿ{
  507. NX3: ÿ±x%
  508.  ÿ’ÿ¡
  509.  
  510.  ÿÉÿY:ÿÃ
  511.  
  512. Stuff: ÿ½ Stuff spaces from menu-name (SBpro can't handle labels with spaces)
  513. ÿ›y%ÿ1ÿq5
  514. ÿ–"t$=ltrim$(trim$(Menu"ÿÿ(y%)ÿ"))"
  515. ÿ›x%ÿ1ÿqÿ/(t$)
  516. ÿ¡ÿ,(t$,x%,1)ÿ" "ÿpt$ÿÿ+(t$,x%ÿ1)ÿÿ-(t$,ÿ/(t$)ÿx%)
  517. ÿ±x%
  518. ÿ–"Menu"ÿÿ(y%)ÿ"=t$"
  519. ÿ±y%
  520. ÿÃ
  521.  
  522. CheckAppli: ÿ½ *** Check syntax of application ***
  523.  ÿÌ
  524.  ÿ¡Menu01 ÿ""ÿItem0101 ÿ""ÿpÿÂ"Menu appears to be empty","",0:err%ÿ1:ÿÃ
  525.  
  526.  ÿÊÿfÿe:ÿ²"00.":ÿ‡:ÿ{ÿÔÿ³"Checking Amiga-key short cuts ...":ÿ{
  527.  ÿ›i%ÿ0ÿq255:ar%(i%)ÿ0:ÿ±i%
  528.  
  529.  ÿ›y%ÿ1ÿq5
  530. ÿ–"if Menu"ÿÿ(y%)ÿ"="ÿÿ(34)ÿÿ(34)ÿ" then goto NY4"
  531. ÿ›x%ÿ1ÿq12
  532. ÿ–"t2$=Xtra"ÿÿ(y%)ÿÿ(x%)
  533. ÿ–"t3$=Item"ÿÿ(y%)ÿÿ(x%)
  534. ÿ¡ÿ+(t3$,3)ÿ"---"ÿ t2$ÿ""ÿpÿ{"Not a "ÿÓÿ³"real"ÿÓÿe" error, but why a short cut for a line?"
  535. ÿ¡t2$ÿ""ÿpÿwNX4
  536. i%ÿÿ.(t2$)
  537. ÿ¡ar%(i%)ÿ0ÿp
  538. y2%ÿÿ(ar%(i%)ÿ20)
  539. x2%ÿar%(i%)ÿ(y2%ÿ20)
  540.  
  541. ÿ{"Amiga-key "ÿ(34);t2$;ÿ(34)" is used twice, in:"
  542. ÿ–"? trim$(Menu"ÿÿ(y%)ÿ") space$(1) chr$(47) space$(1) Item"ÿÿ(y%)ÿÿ(x%)
  543. ÿ–"? trim$(Menu"ÿÿ(y2%)ÿ") space$(1) chr$(47) space$(1) Item"ÿÿ(y2%)ÿÿ(x2%)
  544. ÿ{:err%ÿ2
  545. ÿ’ÿ¡
  546.  
  547. ar%(i%)ÿy%ÿ20ÿx%
  548. NX4: ÿ±x%
  549. NY4: ÿ±y%
  550.  
  551.  ÿ{ÿÔÿ³"Checking presence of sub-routines ...":ÿ{
  552.  ÿ›x%ÿ0ÿq9
  553. ÿ¡ÿOÿJ(AddSubs(x%))ÿ AddSubs(x%)ÿ""ÿpÿ{"Can't find "ÿ(34)ÿF(AddSubs(x%))ÿ(34):ÿ{:err%ÿ1
  554.  ÿ±x%
  555.  
  556.  ÿ{ÿÔÿ³"Checking presence of SBpro files ...":ÿ{
  557.  ÿ›x%ÿ0ÿq9
  558. ÿ¡Osbf(x%)ÿ""ÿ ÿOÿJ(Osbf(x%)ÿ".sbf")ÿpÿ{"Can't find "ÿOsbf(x%)ÿ".sbf (data file)":err%ÿ1
  559. ÿ¡Osbf(x%)ÿ""ÿ ÿOÿJ(Osbf(x%)ÿ".sbd")ÿpÿ{"Can't find "ÿOsbf(x%)ÿ".sbd (structure file)":err%ÿ1
  560.  ÿ±x%
  561.  ÿÃ
  562.  
  563.