**************************************** * flexible datenverwaltung f€r XXX * 25.11.91 hado hein * alle urheberrechte bleiben beim autor * keine unerlaubte vervielf€ltigung des Programmcodes * das ist keine shareware ! **************************************** * * 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=iif(sv_shliz,.t.,.f.) setcancel(pcount()<>0) readexit(pcount()<>0) masterbed=(pcount()<>0) bedienername=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 fdb_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 SHOWTIME(0,71) SHOWKEY("N",00,52,"NUM LOCK","€€€€€€€€",c_i,c_n) SHOWKEY("C",00,61,"CAPS LOCK","€€€€€€€€€",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 Au ist der pseudo-Feldname (so w€rde das feld eigentlich hei€en) * (in der dbf hei€t es ad(n) (arda)) * in AE ist die berechtigung zum editieren im normalmodus * nur der masterbed kann felder editieren die hier auf * .f. gesetzt sind (arda) * in ap ist die picture festgelegt f€r arda-felder * * in ke ist die editberechtigung f€r KUDA-Felder * DECLARE au[11] * Diese namen d€rfen max. 25 zeichen lang sein !!!!!!!!!! au[1]="TYP" au[2]="Datum" au[3]="Feld 1" au[4]="Feld 2" au[5]="Feld 3" au[6]="Feld 4" au[7]="Feld 5" au[8]="Feld 6" au[9]="Feld 7" au[10]="Feld 8" au[11]="Feld 9" DECLARE ae[11] afill(ae,.t.) afill(ae,.f.,1,2) DECLARE ap[11] afill(ap,"XXXXXXXXXXXXXXXXXXXXXXXXX") ap[1]="XXXXXXXXXXXXXXX" ap[2]="E" DECLARE ke[13] afill(ke,.t.) * *01-firma *02-name *03-strasse *04-plz *05-stadt *06-t1 *07-t2 *08-t3 *09-memo >>>>>>>>IMMER .f. weil is ja 'n memofeld *10-ansprechp *11-kennwort *12-herst *13-typ ke[1]=.f. ke[9]=.f. ke[10]=.f. ke[11]=.f. ke[12]=.f. ke[13]=.f. * * *********************************************************** 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 kuda index kindex_1,kindex_2 EXCLUSIVE * if !flock() do ssc do lauf with 10,"Kann die Kunden-Daten nicht EXCLUSIVE €ffnen - ABBRUCH" quit endif * select 2 use arda index aindex_1 EXCLUSIVE * if !flock() do ssc do lauf with 10,"Kann die Artikel-Daten nicht EXCLUSIVE €ffnen - ABBRUCH" quit endif * select 3 use help index help EXCLUSIVE * if !flock() do ssc do lauf with 10,"Kann die Hilfetexte nicht EXCLUSIVE €ffnen - ABBRUCH" quit endif * select 1 set relation to upper(typ) into arda * else set exclusive off use kuda index kindex_1,kindex_2 select 2 use arda index aindex_1 select 3 use help index help select 1 set relation to upper(typ) into arda endif **************************************************** * -------------------- just to remeber .... * kindex_1 = firma * kindex_2 = typ **************************************************** do hello **************************************************** * * jetzt gehts aber los hier * **************************************************** * * do while lizenz = .t. progteil="Hauptauswahl" do frame * select 1 && only for security set order to 1 * do nachricht with "Ausw€hlen mit Return und den Pfeiltasten." AFILL (mz,.t.) mp[1] = "Kundendaten abrufen " mp[2] = "Bestellungen eingeben " mp[3] = "--- " mp[4] = "Editieren Kunden / Artikel " mp[5] = "--- " mp[6] = "Drucken " mp[7] = "Systemprogramme " mp[8] = "--- " mp[9] = "Programmende " mz[3]=.f. mz[5]=.f. mz[8]=.f. 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_kuda && find funktion (reine Abfrage) case wahl = 2 do best && bestellungen erfassen case wahl = 4 do edits case wahl = 6 do druck && druck prgs case wahl = 7 do service && reindex, backup && restore, kosmetik case wahl = 9 lizenz=.f. loop && fuck you endcase * * * * das ist ja wohl das ende enddo * * * BACKUP-ERINNERUNG !!!!!!!!!!!!!!!!!! * path restoren * save to system all like sv_* save to print all like dr_* close all quit €