home *** CD-ROM | disk | FTP | other *** search
-
- Rectype Artrec
- Recvar Artnummer$ 16
- Recvar Bez1$ 30, Bez2$ 30
- Recvar Lieferant$ 20
- Recvar Preis 8:2
- Recvar Bestand%
- Endrec
-
- Rectype WEinrec
- Recvar Artnummer$ 16
- Recvar Bez$ 30
- Recvar Zugang%
- Endrec
-
- Rectype Kunden
- Recvar Kundennr$ 4
- Recvar Vorname$ 20, Name$ 20
- Recvar Strasse$ 20, Ort$ 20
- Recvar Rabatt%
- Endrec
-
- Dim HMenu$(5)
- Dim anz$(20), arti$(20), Epreis(20)
- Record Artrec Artikelsatz
- Record WEinrec WEsatz
- Record Kunden Kusatz, kuinit
-
- Subroutine Info(s$)
- Colour 7,0
- Leer$ = " "
- Locate 1,25 : Print Leer$;Leer$;
- Locate 40-len%(s$)/2,25
- Colour 7,1 : Print s$;
- Colour 7,0
- Locate 1,1
- Endsub
-
- Subroutine Hauptmenu%
- HMenu$(1) = " Fakturieren Lagerverwaltung Kundenverwaltung "
- HMenu$(2) = " Rechnungen erstellen "
- HMenu$(3) = " Artikelstamm, Wareneingang, Warenausgang "
- HMenu$(4) = " Kundendaten bearbeiten"
- HMenu$(5) = ""
- Colour 7,0 : cls 176
- Menu HMenu$,15,3 'Menu anzeigen
- cls
- Return lastkey%() 'und gedrueckte Taste zurueckgeben
- Endsub
-
- Subroutine Gesamtpreis()
- Local i%, G
- G = 0.0
- For i% = 1 To 20
- G = G + Epreis(i%)
- Endfor
- Return G
- Endsub
-
- Subroutine Ersetze(var z$, alt$, neu$)
- Local i%, G
- i% = Instr%(z$,alt$)
- if i% Then
- Delete$ z$,i%,len%(alt$)
- Insert$ z$,i%,neu$
- Endif
- Endsub
-
- Subroutine Faktdrucken
- Local i%
- Line Input #1,Zeile$
- While Left$(zeile$,1) <> "#"
- Gosub Ersetze(Zeile$,"&Date&",TimeDate$(3))
- Gosub Ersetze(Zeile$,"&Name&",Kusatz.name$)
- Gosub Ersetze(Zeile$,"&Vorname&",Kusatz.vorname$)
- Gosub Ersetze(Zeile$,"&Strasse&",Kusatz.strasse$)
- Gosub Ersetze(Zeile$,"&Ort&",Kusatz.ort$)
- LPrint Zeile$
- Line Input #1,Zeile$
- Wend
-
- For i% = 1 To 20
- If anz$(i%) = "" Then Break
- Dbget #1,arti$(i%),Artikelsatz
- LPrint anz$(i%);" ";arti$(i%),Artikelsatz.bez1$;
- LPrint Using " ##,###.##";Artikelsatz.Preis;Epreis(i%)
- Endfor
- G = Gesamtpreis()
- LPrint
- LPrint "Gesamtpreis ";Using "##,###.##";G
- LPrint "Ihr Rabatt ",Kusatz.Rabatt%;"%"
- G = G * (100-Kusatz.Rabatt%) / 100
- LPrint "Zu zahlen ";Using"##,###.##";G
-
- Line Input #1,Zeile$
- While Left$(zeile$,1) <> "#"
- LPrint Zeile$
- Line Input #1,Zeile$
- Wend
- LPrint Chr$(12)
- Endsub
-
- Subroutine Fakturierung()
- Local i%, y%, ext$, file$
- i% = 1 : y% = 1
- Gosub Info("Formular auswählen")
- ext$ = "txt" : file$="fakt"
- Files "",ext$,file$
- If lastkey%() = 27 Then Return 0.0
- Open "I",#1,file$+"."+ext$
- Dbopen #2, "kunden"
- A:
- while 1
- Gosub Info("? Übersicht")
- Dialog "Kundennummer ",kunr$,4
- If lastkey%() = 27 Then Goto End
- If Left$(kunr$,1) <> "?" Then Break
- Gosub Info("ESC=Ende PgUp PgDn")
- Dbbrowse #2,"","4,16,16,16"
- wend
-
- Dbget #2,kunr$,kusatz
- If error%() Then
- Gosub Info(" Kunden-Nr. unbekannt [Taste]") : Input taste%
- Goto a
- Endif
-
- Colour 3,0
- Print "KUNDE: ";Kusatz.Kundennr$;" ";Kusatz.vorname$;" ";Kusatz.name$
- Print : Print "Anz. Artikel"
- Colour 7,0
-
- Gosub Info("ESC=Ende TAB")
- Dbopen #1, "artikel"
-
- While 1
- If i% = 1 Then
- Dialog "",anz$(y%),3,1,y%+3
- Locate 1,y%+3 : Print anz$(y%)
- Else
- Dialog "",arti$(y%),16,5,y%+3
- Locate 5,y%+3 : Print arti$(y%)
- Dbget #1,arti$(y%),Artikelsatz
- If error%() = 0 Then
- EPreis(y%) = Artikelsatz.Preis * Val%(anz$(y%))
- Locate 25,y%+3
- Print Artikelsatz.bez1$;
- Print Using " ##,###.##";Artikelsatz.Preis;Epreis(y%)
- Else
- Epreis(y%) = 0.0
- Endif
- Endif
- c% = lastkey%()
- If c% = 27 Then Break
-
- If c% = 13 Then
- If i% = 2 Then y% = y%+1
- i% = 3-i%
- Elseif c% = 200 Then
- y% = y%-1
- Elseif c% = 208 Then
- y% = y%+1
- Elseif c% = 9 Then
- i% = 3-i%
- Endif
-
- If i% < 1 Then i% = 1
- If i% > 2 Then i% = 2
- If y% < 1 Then y% = 1
- If y% > 20 Then y% = 20
- Wend
- Gosub Faktdrucken()
- Goto A
- End:
- Close #1
- Dbclose #1
- Dbclose #2
- Endsub
-
- Subroutine WEin()
- s$ = "Wareneingang;(Artikelnummer);(Bezeichnung);Zugang;"
- Dbopen #1,"artikel"
- art$ = " "
- while 1
- Dialog "Artikelnummer: ",art$,16,24,2
- If (lastkey%()) = 27 Or (art$ = "") Then Break
- Dbget #1,Art$,Artikelsatz
- If error%() <> 0 Then
- Message "Datensatz existiert nicht| OK"
- Else
- WEsatz.artnummer$ = Artikelsatz.artnummer$
- WEsatz.bez$ = Artikelsatz.bez1$
- WEsatz.zugang% = 0
- Form WEsatz, s$
- Artikelsatz.bestand% = Artikelsatz.bestand% + WEsatz.zugang%
- Dbput #1, Artikelsatz
- Endif
- Wend
- Dbclose #1
- Endsub
-
- Subroutine Astamm()
- s$ = "Artikelstamm;(Artikelnummer) ;Bezeichnung;;Lieferant;Preis;Bestand;"
- Dbopen #1,"artikel"
- Repeat
- Locate 34,5 : Print "(+ - ESC)"
- Dialog "Artikelnummer: ",art$,16,24,2
- If lastkey%() = 27 Then Break
- Dbget #1,Art$,Artikelsatz
- Form Artikelsatz, s$
- Dbput #1,Artikelsatz
- Until art$ = ""
- Dbclose #1
- Endsub
-
- Subroutine Lager
- HMenu$(1) = " Artikelstamm Wareneingang "
- HMenu$(2) = ""
- cls 176
- Menu HMenu$,20,3 'Menu anzeigen
- cls 176
- if lastkey%() = 1 Then Gosub Astamm()
- if lastkey%() = 2 Then Gosub WEin()
- Endsub
-
- Subroutine Kunden()
- s$ = "Kundenstamm;(Kundennummer) ;Name;;Strasse;Ort;Rabatt %;"
- Dbopen #1,"kunden"
- Repeat
- Locate 30,5 : Print "(+ - nn* nn? ESC)"
- While 1
- Dialog "Kundennr.: ",key$,4,30,2
- If lastkey%() = 27 Then Goto End
- If Right$(key$,1) <> "?" Then Break
- Locate 35,2
- Print "Kundenstamm"
- Dbbrowse #1,Left$(key$,len%(key$)-1),"4,16,16,16"
- Cls
- Wend
- Dbget #1,key$,kusatz
- err% = error%()
- If Right$(key$,1) = "*" Then err% = 0
- If err% = 0 Then
- Form kusatz, s$
- Dbput #1,kusatz
- Else
- Kusatz = NIL
- Kusatz.kundennr$ = key$
- Form kusatz, s$
- mess$ = "Neuen Datensatz anlegen| Ja Nein"
- Message Mess$
- If lastkey%() = 1 Then Dbput #1,kusatz
- Endif
- Until key$ = ""
- End:
- Dbclose #1
- Endsub
-
- ' *** Hauptprogramm ***
- Anfang:
- Auswahl% = Hauptmenu%() 'Subroutine als Funktionsaufruf
- 'gibt ausgew. Menupunkt zurueck
-
- If Auswahl% = 0 Then
- colour 7,0 : cls : Stop
- Elseif auswahl% = 1 Then
- Gosub Fakturierung()
- Elseif auswahl% = 2 Then
- Gosub Lager()
- Elseif auswahl% = 3 Then
- Gosub Kunden()
- Endif
- Goto anfang
-