Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Preisregister

Uploader:AdministratorSebastian
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