fb:porticula NoPaste
Preisregister
| Uploader: | Sebastian |
| Datum/Zeit: | 01.07.2008 11:35:28 |
'Einfaches Preisregister als Beispiel für die Verwendung einer
'externen Datei als Datenquelle in FreeBASIC
'01.07.2008, S. Steiner, getestet mit FreeBASIC 0.20.0 SVN
'http://www.freebasic-portal.de
#include "vbcompat.bi"
DECLARE Sub CPRINT (ByVal Text As String)
DIM AS STRING Datenbank = EXEPATH+"\PreisReg.txt" 'Pfadangabe der Datenbankdatei
DIM AS STRING Bezeichnung
DIM AS UINTEGER ArtID, Eingabe
DIM AS SINGLE Preis
DIM AS UBYTE gefunden
'Falls die Datenbankdatei noch nicht existiert, wird eine mit
'Beispieldaten angelegt.
If Not FileExists(Datenbank) Then
Open Datenbank For Output As #1
'Artikel-ID|Artikelbezeichnung|Preis
Write #1, 1000, "Bleistift", 1.00
Write #1, 1001, "Kugelschreiber", 1.50
Write #1, 1002, "Kaffeetasse", 8.00
Close #1
End If
DO
CLS
PRINT
COLOR 10
CPRINT "*** Preisregister ***"
COLOR 7
PRINT
LOCATE 6,3: INPUT "Artikel-ID eingeben (0=Beenden): ", Eingabe
If Eingabe = 0 THEN
END
ELSE
gefunden = 0 'Pessimistisch gehen wir erstmal davon aus, dass es keinen
'Artikel mit der eingegebenen ID gibt.
Open Datenbank For Input As #1
Do Until Eof(1) 'Mach SolangeBis Dateiende [EOF=EndOfFile]
Input #1, ArtID,Bezeichnung,Preis
If ArtID = Eingabe Then
gefunden = 1 'Es wurde doch ein entsprechender Artikel gefunden!
Exit Do
END IF
Loop
Close #1
If gefunden = 0 Then
COLOR 12
LOCATE 8,3: PRINT "ARTIKEL NICHT GEFUNDEN!"
COLOR 7
ELSE
LOCATE 8,3: PRINT "Artikel #" & ArtID & ":"
LOCATE 9,3: PRINT "- Bezeichnung: ";
COLOR 14
PRINT Bezeichnung
COLOR 7
LOCATE 10,3: PRINT "- Preis: ";
COLOR 14
'Für die Bedeutung von FORMAT(...) siehe
' http://www.freebasic-portal.de/index.php?s=reftopic&id=282
PRINT Format(Preis,"####.00") & " EUR"
COLOR 7
END IF
SLEEP 3000
END IF
LOOP
END
'Unterprogramm zum zentrierten Ausgeben von Text.
'Aufruf: CPRINT "Zentriert."
Sub CPRINT (ByVal Text As String)
DIM AS INTEGER p
p = FIX((80-LEN(text))/2)
LOCATE ,p: PRINT Text
END SUB



FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!



