**************************************** * flexibles bestellsystem * 25.11.91 hado hein * alle urheberrechte bleiben beim autor * keine unerlaubte vervielf€ltigung des Programmcodes **************************************** * * Globale einstellungen f€r das programm * **************************************** * * external * ************************************************************************** parameter egal !echo off * rest from system additive rest from print additive rest from display additive * * sv_lna = lizenzname * sv_lad = lizenzadresse * sv_path = programmpfad * sv_drive= programmdrive * sv_datacheck = netzwerk oder nicht * sv_shliz = lizenz (.t.) oder share (.f.) * sv_drucker = printerport * update=getenv("HH_SERVICE") warn_sound = I2BIN(800) +I2BIN( 20); && zur Entspannung ... + I2BIN(300) +I2BIN( 15); && Tonh€he in Hertz, err_sound = I2BIN(300) +I2BIN( 5); && zur Entspannung ... + I2BIN(400) +I2BIN( 5); && Tonh€he in Hertz, + I2BIN(500) +I2BIN( 5); && Tondauer in 1/100 Sekunden + I2BIN(600) +I2BIN( 5); + I2BIN(700) +I2BIN( 5); + I2BIN(800) +I2BIN( 5); + I2BIN(900) +I2BIN( 5) lizenz=.t. &&iif(sv_shliz,.t.,.f.) setcancel(.t.) &&(pcount()<>0) readexit(.t.) &&(pcount()<>0) masterbed=.t. && (pcount()<>0) bedienername="SYSOP" &&iif(masterbed,left(egal,5),space(5)) &&altd=0 set path to &sv_path set echo off set alternate off set bell on set confirm off set console on set cursor on set century off set date german set decimals to 2 set default to &sv_drive set deleted on set delimiters to"|" set delimiters off set device to screen set escape on set printer to &sv_drucker set intensity on set softseek off set typeahead to 20 set wrap on set scoreboard off set procedure to fbe_proc *************************************** * Bevor eine Ausgabe kommt, testen wir mal * den Display-Modus * zum umschalten gibts dann die proc's * hell,inv,blink und norm * if iscolor() set color to &c_n,&c_ge,&c_r,,&c_ng else set color to &c_n,&c_ge,&c_r,,&c_ng endif if sv_kldisp ega43() endif SHOWTIME(maxrow()-1,2) SHOWKEY("N",maxrow()-1,11,"NUM LOCK"," NO NUM ",c_i,c_n) SHOWKEY("C",maxrow()-1,20,"CAPS LOCK"," NO CAPS ",c_i,c_n) SETCURSOR(14,16,.f.) SETCURSOR(2,14,.t.) *************************************** * jetzt geht der ernst des lebens los *************************************** * DECLARE mp[9] &&* menu-punkt afill(mp,space(10)) DECLARE mz[9] &&* menu-zulassung afill(mz,.t.) *********************************************************** * * arrays f€r dbedit's *********************************************************** * * jetzt kommt der gro€e trick warum das Ding * FLEXible_DatenBank hei€t. * * in AE ist die berechtigung zum editieren im normalmodus * nur der masterbed kann felder editieren die hier auf * .f. gesetzt sind (artikel) * * DECLARE ae[10] afill(ae,.t.) ae[1]=.f. * 1 art_nr, 2 name1, 3 name2, 4 vk, 5 lagerbest * 6, lief1, 7 lief2, 8 lief3, 9 lief4, 10lief5 *********************************************************** progteil="Beginn" &&* F€r die Hilfetexte &&* Wenn Sie denn kommen * wahl = 0 &&* nummer d. gew. men€punktes * public progteil,lizenz * private wahl * * uses * if !syscheck() quit && *******************Autorestore programmieren endif *********************************************************** if !empty(update) do upda_check && progteil zum umstellen der vars endif if !sv_datacheck .or. masterbed set exclusive on use artikel index art_1 EXCLUSIVE * select 2 use preise index preise EXCLUSIVE * select 3 use pg index pg EXCLUSIVE * select 4 use liefera index lief_1 EXCLUSIVE * select 5 use help index help EXCLUSIVE * select artikel * else set exclusive off use artikel index art_1 select 2 use preise index preise select 3 use pg index pg select 4 use liefera index lief_1 select 5 use help index help select artikel endif **************************************************** do hello **************************************************** * * jetzt gehts aber los hier * **************************************************** * do while lizenz = .t. progteil="Hauptauswahl" do frame * do nachricht with "Ausw€hlen mit Return und den Pfeiltasten." set cursor on AFILL (mz,.t.) mp[1] = " ABFRAGE " mp[2] = "Artikel €NDERN / NEU / L€SCHEN" mp[3] = "Preise €NDERN / NEU / L€SCHEN" mp[4] = "Lieferanten / Preisgr. €/N/L " mp[5] = "Bestellungen (& R€cksetzen) " mp[6] = "Drucken " mp[7] = "Systemprogramme " mp[8] = "--- " mp[9] = "Programmende " if masterbed mz[7]=.t. else mz[7]=.f. endif clear typeahead do kalender with date(),08,05 wahl=achoice(09,40,17,70,mp,mz) do case case wahl = 1 && do ab_art && find funktion case wahl = 2 && do art_pro && dbedit artikel -> NEU APP DEL case wahl = 3 && do ed_pr && dbedit preise case wahl = 4 && do edits && dbedit liefara, pg -> NEU APP DEL * case wahl = 5 && * do && bestellungen usw... case wahl = 6 && do druck && druck prgs case wahl = 7 && do service && reindex, backup, restore, kosmetik * case wahl = 8 && * do && case wahl = 9 && lizenz=.f. && f€r haupt-do while-schleife loop && fuck you endcase enddo * * * BACKUP-ERINNERUNG !!!!!!!!!!!!!!!!!! * close all quit €