home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / progm / franz.zip / BASIC.DOC < prev    next >
Text File  |  1990-07-12  |  7KB  |  261 lines

  1.  
  2. FranzBasic
  3.  
  4. implemented functions (november 1989)
  5.  
  6. Data-Definitions
  7.  
  8. DIM       define dimensioned array
  9.       Dim Price(10), y%(20)
  10. RECORD    define variable of type record
  11.       RECORD RtypeA Arecord
  12. RECTYPE   define record-type
  13.       RECTYPE RtypeA
  14.         RECVAR A$ 20, i%, Preis
  15.       ENDREC
  16. STATIC    declare local variable static
  17.       STATIC i%
  18. LOCAL     declares a variable as local to a subroutine
  19.       LOCAL i%, Price
  20.  
  21.  
  22. Programm-Control
  23.  
  24. PAUSE     show test and wait for key-press
  25.       PAUSE "press key to continue"
  26. GOTO      jump to label
  27.       GOTO End
  28. AND       logical operator in IF-statments
  29.       If i% > 0 AND len% > 0 THEN ....
  30. NOT       logical operator in IF-statments
  31.       If NOT (i% > 0 AND len% > 0) THEN ....
  32. OR        logical operator in IF-statments
  33.       If i% > 0 OR len% > 0 THEN ....
  34. IF        IF-statement
  35.  
  36.       IF Price < 100.0 Then Print "OK"  (single-line form)
  37.  
  38.       IF Price < 100.0 Then             (multi-line form)
  39.          ...
  40.       ELSE
  41.          ...
  42.       ENDIF
  43.  
  44.       IF Price < 100.0 Then
  45.          ...
  46.       ELSIF Price < 150.0 Then
  47.          ...
  48.       ELSE
  49.          ...
  50.       ENDIF
  51.  
  52. BREAK     leaves WHILE-, REPEAT- or FOR-loop
  53.  
  54. FOR       FOR-loop
  55.       FOR I% = 1 To 20 [Step 1]
  56.          ...
  57.          IF .... THEN BREAK
  58.          ...
  59.       ENDFOR
  60. NEXT      synonym for ENDFOR
  61.  
  62. REPEAT    REPEAT-loop
  63.       REPEAT
  64.         ...
  65.         If ... Then Break
  66.         ...
  67.       UNTIL x < 0
  68.  
  69. SUBROUTINE begin subroutine
  70.  
  71.       SUBROUTINE Add%(a%,b%)
  72.         Print "Sum = ";a%+b%
  73.         Return a%+b%
  74.       ENDSUB
  75.  
  76.       GOSUB Add%(100,45)                Called as procedure
  77.       Sum% = Add%(100,45)               Called as function
  78.  
  79. VAR       formal parameter by reference
  80.       Subroutine C1$(VAR S$)
  81.         S$ = "ABC"    'without VAR assignment irrelevant in main
  82.       Endsub
  83. RETURN    --> subroutine
  84. GOSUB     call subroutine
  85.       GOSUB Printall()
  86.  
  87. WHILE     WHILE-loop
  88.       i% = 20
  89.       WHILE i%
  90.         ...
  91.         If ... Then Break
  92.         ...
  93.         i% = i%-1
  94.       WEND
  95. STOP      stop programm-execution
  96.       STOP
  97.  
  98.  
  99. mathematical functions
  100.  
  101. SIN       sine
  102.       X = SIN(Y)
  103. COS       cosine
  104.       X = COS(Y)
  105. TAN       tangens
  106.       x = TAN(y)
  107. ATN       arcustangens
  108.       x = ATN(Y)
  109. EXP       exponential
  110.       X = EXP(y)
  111. LOG       natural logarithm
  112.       x = LOG(y)
  113. SQR       squareroot
  114.       X = SQR(Y)
  115.  
  116. String-Statements and Functions
  117.  
  118. SET$      overwrite part of string
  119.       A$ = "ABcd" : part$ = "xx" : SET$ A$,2,part$ --> A$ = "Axxd"
  120. DELETE$   delete part of string
  121.       DELETE$   A$,3,4 --> delete 4 char in string A$ beginning at char 3
  122. INSERT$   insert string in another
  123.       A$ = "Ad" : part$ = "Bc" : INSERT$ A$,2,part$ --> A$ = "ABcd"
  124. INSTR%    checks whether a string is contained in another string and
  125.       returns position of 1. character, 0 when not contained
  126.       i% = INSTR%(S$,part$) --> i% = 3, when S$="123ABC", part$="3A"
  127. LEFT$     return left part of a string
  128.       L$ = LEFT$("ABcd",2) --> L$ = "AB"
  129. MID$      construct partstring mid of a string
  130.       part$ = MID$("ABcdZ",2,3) --> part$ = "BcD"
  131. RIGHT$    return right part of a string
  132.       R$ = RIGHT$("ABcd",2) --> R$ = "cd"
  133. LTRIM$    cut leading blanks
  134.       S$ = "    123" : S$=LTRIM$(S$) --> s$="123"
  135. TRIM$     cut trailing blanks
  136.       S$ = "123   2" : S$=Trim(S$) --> S$ = "123"
  137. LCASE$    convert string to lowercase
  138.       l$ = LCASE$("ABcd") --> l$ = "abcd"
  139. UCASE$    convert string to uppercase
  140.       U$ = UCASE$("ABcd") --> U$ = "ABCD"
  141. LEN%      return length of a string
  142.       l% = LEN%("ABcd") --> l% = 4
  143. ASC%      returns ASC-value of 1. character in string
  144.       i% = ASC%("ABC") --> i% = 65
  145. CHR$      converts integer-value to string-character
  146.       A$ = CHR$(66) --> A$ = "B"
  147. STR$      convert number to string
  148.       A$ = STR$(100.0) --> A$ = "100.0"
  149. VAL       convert string to real number
  150.       a = VAL("123.9") --> a = 123.9
  151. VAL%      convert string to integer number
  152.       a% = VAL%("123.9") --> a% = 123
  153.  
  154. Database-Statements
  155.  
  156. DBCREATE  create database with record
  157.       DBCREATE "Article",Artrecordtype
  158. DBOPEN    open database
  159.       DBOPEN #1,"Article"
  160. DBCLOSE   close database
  161.       DBCLOSE #1
  162. DBGET     read record with key
  163.       DBGET #1,artnr$,Artrecord
  164. DBPUT     write record
  165.       DBPUT #2, Artikelsatz
  166. DBDELETE  delete last accessed record
  167.       DBDELETE #1
  168. DBBROWSE  browse through a database on screen
  169.       starting-record and format can be defined
  170.       DBBROWSE #1[,start$,format$]
  171.  
  172. screen-management
  173.  
  174. CLS       erases screen
  175. COLOUR    switch colours
  176.       COLOUR 7,0 --> white on black
  177. LOCATE    position cursor
  178.       LOCATE x%,y%
  179.  
  180. IO-Statements (files, keyboard, printer)
  181.  
  182. OPEN      open file
  183.       OPEN "I", #1,"Fakt.txt"                 open for input
  184.       OPEN "O", #1,"Fakt.txt"                 open for output
  185.       OPEN "R", #1,"Fakt.txt",Artrecord       open for random-access
  186. CLOSE     close file
  187.       Close #3
  188. INPUT     input data
  189.       INPUT [Prompt$,]a%      (from keyboard)
  190.       INPUT #4, a%            (from file)
  191. LINE      input to end of line
  192.       LINE INPUT #1,A$
  193. PRINT     output to file / screen
  194.       PRINT "Total Sum=";TS
  195.       PRINT #4,"Total Sum=";TS
  196. LPRINT    output to printer
  197.       LPRINT "Total Sum=";TS
  198. USING     define print-mask
  199.       r$ = 4.9 : PRINT USING "##,###.##",r$,"",r$ -->  4.90  4.9
  200. WRITE     output to file
  201.       WRITE #3, a%,s$
  202. GET       read record from random-datei
  203.       GET #3, number%, arec
  204. PUT       write record to random-datei
  205.       PUT #3, number%, arec
  206. ERASE     erase file
  207.       Erase "abc.txt"
  208. RENAME    rename file
  209.       RENAME oldname$, newname$
  210. INKEY$    check last pressed key
  211.       INKEY$ a$
  212. LASTKEY%  get last read char
  213.       If LASTKEY%() = 27 Then Return   (27 = ESC)
  214.  
  215. Miscellaneous
  216.  
  217. REM       comment
  218.       REM  this is a comment
  219.       ' this too                      (' identical to REM on linebeginn)
  220.       i% = 0 'reset i%                ( but can follow after statement)
  221.  
  222. ERROR%    check for runtime-error
  223.       err% = error%()
  224. EXEC      start external programm
  225.       EXEC "format.com"
  226.       EXEC SHELL
  227. INTERRUPT generate interrupt
  228.       INTERRUPT inr%,Regs
  229. TIMEDATE$ return time and date
  230.       Time$ = TimeDate$(1) --> Zeit$ = "12:00:00"
  231.       Date$ = TimeDate$(2) --> Date$ = "26.9.1988"
  232.       Date$ = TimeDate$(3) --> Date$ = "9/26/1988"
  233.  
  234.  
  235. FranzBasic special
  236.  
  237. DIALOG    input data
  238.       Dialog "Artikel#: ",Artnr$[,x%,y%]
  239. FILES     display files and let user choose one
  240.       FILES "\Basic","bas",file$
  241. FORM      data entry for a record
  242.       FORM Artrecord$,[x%,y%]
  243.  
  244. MENU      generate menu
  245.       Dim Mstring$(5)
  246.       MString$(1) = " Choice1 Choice2 Choice3 "
  247.       MString$(2) = " Helptext1 "
  248.       MString$(3) = " Helptext2 "
  249.       MString$(4) = " Helptext3 "
  250.       MString$(5) = ""
  251.       Menu MString$[,x%,y%]
  252.  
  253. MESSAGE   generate messagebox
  254.       MESSAGE "Erase File|   Yes  No"
  255.  
  256. MOUSE ON  switch mouse on
  257. MOUSE OFF switch mouse off
  258. MOUSE     read mouse-data (button pressed, x-/y-position)
  259.       Mouse Button%, x%, y%
  260.  
  261.