62 lines
2.1 KiB
Plaintext
62 lines
2.1 KiB
Plaintext
BOOL = 1
|
|
NAME = 2
|
|
ARRAY = 3
|
|
|
|
optfile$ = "options.cfg"
|
|
|
|
fullname$ = FNoption(optfile$, "FULLNAME", NAME)
|
|
favouritefruit$ = FNoption(optfile$, "FAVOURITEFRUIT", NAME)
|
|
needspeeling% = FNoption(optfile$, "NEEDSPEELING", BOOL)
|
|
seedsremoved% = FNoption(optfile$, "SEEDSREMOVED", BOOL)
|
|
!^otherfamily$() = FNoption(optfile$, "OTHERFAMILY", ARRAY)
|
|
|
|
PRINT "fullname = " fullname$
|
|
PRINT "favouritefruit = " favouritefruit$
|
|
PRINT "needspeeling = "; : IF needspeeling% PRINT "true" ELSE PRINT "false"
|
|
PRINT "seedsremoved = "; : IF seedsremoved% PRINT "true" ELSE PRINT "false"
|
|
PRINT "otherfamily(1) = " otherfamily$(1)
|
|
PRINT "otherfamily(2) = " otherfamily$(2)
|
|
END
|
|
|
|
DEF FNoption(file$, key$, type%)
|
|
LOCAL file%, opt$, comma%, bool%, name$, size%, !^array$()
|
|
file% = OPENIN(file$)
|
|
IF file% = 0 THEN = 0
|
|
WHILE NOT EOF#file%
|
|
opt$ = GET$#file%
|
|
WHILE RIGHT$(opt$) = " " opt$ = LEFT$(opt$) : ENDWHILE
|
|
IF opt$ = key$ OR LEFT$(opt$, LEN(key$)+1) = key$ + " " THEN
|
|
opt$ = MID$(opt$, LEN(key$) + 1)
|
|
WHILE LEFT$(opt$,1) = " " opt$ = MID$(opt$,2) : ENDWHILE
|
|
CASE type% OF
|
|
WHEN BOOL: bool% = TRUE : EXIT WHILE
|
|
WHEN NAME: name$ = opt$ : EXIT WHILE
|
|
WHEN ARRAY:
|
|
REPEAT
|
|
comma% = INSTR(opt$, ",", comma%+1)
|
|
IF comma% size% += 1
|
|
UNTIL comma% = 0
|
|
DIM array$(size% + 1)
|
|
size% = 0
|
|
REPEAT
|
|
comma% = INSTR(opt$, ",")
|
|
IF comma% THEN
|
|
size% += 1
|
|
array$(size%) = LEFT$(opt$, comma%-1)
|
|
opt$ = MID$(opt$, comma%+1)
|
|
WHILE LEFT$(opt$,1) = " " opt$ = MID$(opt$,2) : ENDWHILE
|
|
ENDIF
|
|
UNTIL comma% = 0
|
|
array$(size% + 1) = opt$
|
|
EXIT WHILE
|
|
ENDCASE
|
|
ENDIF
|
|
ENDWHILE
|
|
CLOSE #file%
|
|
CASE type% OF
|
|
WHEN BOOL: = bool%
|
|
WHEN NAME: = name$
|
|
WHEN ARRAY: = !^array$()
|
|
ENDCASE
|
|
= 0
|