home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: InfoMgt
/
InfoMgt.zip
/
kim21.zip
/
AUSWAHL.INC
< prev
next >
Wrap
Text File
|
1995-07-07
|
10KB
|
366 lines
rem Modul : Auswahl eines Datensatzes aus einer Liste
rem Progr : Kohle
rem Datum : Aug 94
modul dbliste(float rueck,float dbnr,char feld,char format,float anzahl,float rechts)
deffloat a,i,taste,ENTER,_jk01,_breite
DEFSTRING objekt,old_objekt,merke_str,expr
dim _feld,1,100
dim felder,1,10
dimfloat _jk_feldwahl,1,10 : rem Felder
dimfloat _jk_format,1,10 : rem Längenformatierung
dimfloat _jk_dbpos,1,10 : rem Positionen in der DB
rueck=0
select feld,43,felder,1,10
for i=1 to anzahl
val felder[i],_jk_feldwahl[i]
next
clear felder,1,10
select format,43,felder,1,10
for i=1 to anzahl
val felder[i],_jk_format[i]
rem ******* H W ***************
_breite=_breite + _jk_format[i]
rem ***************************
next
ENTER=10010
SET_KEYMAP "ENTER",ENTER,10
call fenster_01()
call fuellen_01(1,anzahl,dbnr)
win_paint "window_01"
add_item "window_01","input1"
while i<>1000
win_ev i
get_item_pos objekt,taste,old_objekt
if taste=13 or taste=ENTER then
call ausw_01(objekt,taste,i,old_objekt,anzahl,dbnr,rueck,rechts)
add_item "window_01","input1"
endif
wend
SET_KEYMAP "F12",ENTER,10
event_on_item "window_01","end"
endmod
MODUL ausw_01(char obj,float taste,float i,char old,float anzahl,float dbnr,float rueck,float rechts)
deffloat flag,a,zahl,i,ENTER
defstring merke,text,zeichen
dim teil,1,20
ENTER=10010
if obj="input1" and taste=ENTER then
get_item "input1",text
rem ******* H W ***************
if rechts=1 then
rset _jk_format1,text
endif
if rechts=2 then
ucase text
endif
rem ***************************
iread dbnr,a,text,_feld
call fuellen_01(1,anzahl,dbnr)
set_item "input1",""
endif
if obj="Push" then
i=1000
rueck=-1
exitmod
endif
if obj="Push2" then
call fuellen_01(1,anzahl,dbnr)
endif
if obj="Push3" then
call fuellen_01(2,anzahl,dbnr)
endif
mid obj,zeichen,1,3
if zeichen="lio" then
mid obj,zeichen,4,10
val zeichen,a
igo_nr dbnr,_jk_dbpos[a]
igetrec dbnr,_feld
rueck=1
i=1000
endif
endmod
MODUL fenster_01()
deffloat breit_win,breit_list
breit_win=_breite+20
breit_list=_breite+15
def_window "window_01",2,2,breit_win,13;"modal","move off"
def_border "rand_01"
def_titel "titel_01","Auswahl";"center"
add_item "window_01","rand_01","titel_01"
DEF_PROMPT "Feldname1",5,2,"Eingabe ";""
DEF_STRING "input1",21,2,28,"";"border","clear"
DEF_BUTTON "Push",5,1,13,"","&Abbruch";""
DEF_BUTTON "Push2",20,1,13,"","&Weiter";""
DEF_BUTTON "Push3",35,1,13,"","&Zurück";""
DEF_LIST "List6",0,2,3,breit_list,7,0,0;"border","c8"
ADD_ITEM "window_01",..
"Feldname1",..
"Push",..
"Push2",..
"Push3",..
"input1",..
"List6"
ENDMOD
modul fuellen_01(float flag,float anzahl,float dbnr)
defstring id$,zahl$
deffloat dateizahl,i,zahl,a,x,y,breit_list
defstring text$
breit_list=_breite+15
if _jk01=1 then
sub_item "window_01","List6"
DEF_LIST "List6",0,2,3,breit_list,7,0,0;"border","c8"
endif
if flag=2 then
iskip dbnr,-20
endif
for i=1 to 10
igetrec dbnr,_feld
iget_nr dbnr,_jk_dbpos[i]
text$=""
for x=1 to anzahl
y=_jk_feldwahl[x]
set _jk_format[x],_feld[y]
text$=text$+" "+_feld[y]
next
form i,zahl$,0,1
id$="lio"+zahl$
def_string id$,0,i,80,text$
add_item "List6",id$
inext dbnr,a,_feld
if a=3 then i=501 : endif
next
if _jk01=1 then
add_item "window_01","List6"
event_on_item "window_01","redisplay"
endif
_jk01=1
endmod
MODUL meldung_speichern(float x,float y,char text1,char text2,float flag)
deffloat z,t,a
defstring obj
call meldung_fenster_speichern(x,y)
win_paint "msg_speichern"
set_item "msg_pr1",text1
set_item "msg_pr2",text2
while z<>1000
win_ev z
get_item_pos obj,t
if t=13 then
if obj="msg_button1" then z=1000 : flag=0 :endif
if obj="msg_button2" then z=1000 : flag=1 :endif
if obj="msg_button3" then z=1000 : flag=2 :endif
endif
find_item "msg_speichern",a
if a=-1 then
z=1000
endif
wend
if a<>-1 then
event_on_item "msg_speichern","end"
endif
ENDMOD
MODUL meldung_fenster_speichern(float x,float y)
def_window "msg_speichern",x,y, 37,7 ;"move off","modal"
def_border "msg_border"
def_titel "msg_titel","Meldung" ;"center"
def_button "msg_button1",2,4,9,"","&JA";"auto size"
def_button "msg_button2",24,4,9,"","&NEIN";"auto size"
def_button "msg_button3",13,4,9,"","&Abbruch";"auto size"
def_prompt "msg_pr1",5,1," "
def_prompt "msg_pr2",5,2," "
add_item "msg_speichern",..
"msg_border",..
"msg_titel",..
"msg_pr1",..
"msg_pr2",..
"msg_button1",..
"msg_button3",..
"msg_button2"
ENDMOD
MODUL drucker_drv(char was,char steuercode)
deffloat a,i,schalt
defstring merke,zeile,teil1,teil2,zeichen
dim teile,1,50
exist "drucker.drv",a
if a=-1 then
msgbox "Druckertreiber nicht vorhanden",0,a,""
exitmod
endif
open 6,"drucker.drv","r"
gets 6,zeile
while zeile<>"EOF" and schalt=0
mid zeile,merke,1,1
if merke="#" then
select zeile,61,teil,1,2
compress teil1
if teil1=was then
schalt=1
clear teile,1,50
select teil2,44,teile,1,50
i=1
steuercode=""
while teile[i]<>"" and i<=50
val teile[i],a
zeichen=""
stradd zeichen,chr(a)
steuercode=steuercode+zeichen
i=i+1
wend
endif
endif
gets 6,zeile
wend
close 6
ENDMOD
MODUL show_datei(char datei)
defstring objekt,id$,i$,zeile
deffloat ok,i,taste
def_window "win_info",0,2, 91,18 ;"modal"
def_border "win_info_border"
def_titel "win_info_titel","Ausgabe" ;"center"
def_max_button "win_max_b"
add_item "win_info","win_info_border","win_max_b","win_info_titel"
DEF_TOOLBAR "tool_info",0,0,0,0;"region off","border"
DEF_SCROLLBAR "scroll_info",1,0,0,0,0
DEF_BUTTON "PushButton1",3,1,15,"","Quit";""
DEF_BUTTON "PushButton2",13,1,15,"","Druck LPT1";""
DEF_BUTTON "PushButton3",23,1,15,"","Druck LPT2";""
DEF_LIST "text_info",0,1,0,87,15,0,0 ;"border","c8","select off"
add_item "text_info","scroll_info"
add_item "tool_info","PushButton1","PushButton2","PushButton3"
ADD_ITEM "win_info","tool_info","text_info"
i=1
open 11,datei,"r"
gets 11,zeile
gets 11,zeile
while zeile<>"EOF"
form i,i$,0,1
id$="text"+i$
def_string id$,1,0,80,zeile
add_item "text_info",id$
rem event_on_item "text_info","redisplay"
gets 11,zeile
i=i+1
wend
close 11
call tmp_fenster(0)
win_paint "win_info"
while i<>1000
win_ev i
get_item_pos objekt,taste
if taste=13 and objekt="PushButton1" then
kill datei
i=1000
endif
if taste=13 and objekt="PushButton2" then
call info_druck(datei,"lpt1")
i=1000
endif
if taste=13 and objekt="PushButton3" then
call info_druck(datei,"lpt2")
i=1000
endif
wend
event_on_item "win_info","end"
ENDMOD
MODUL info_druck(char datei_send,char datei_empf)
defstring zeile
call tmp_fenster(1)
open 11,datei_send,"r"
open 12,datei_empf
gets 11,zeile
while zeile <> "EOF"
puts 12,zeile
gets 11,zeile
wend
close 11
close 12
call tmp_fenster(0)
kill datei_send
ENDMOD
MODUL tmp_fenster(float flag)
if flag=1 then
def_window "msg_be",30,7,26,6 ;"move off","modal"
def_border "msg_border_be"
def_titel "msg_titel_be","Meldung" ;"center"
def_prompt "msg_pr1_be",1,1,"Daten werden gedruckt"
def_prompt "msg_pr2_be",5,2,"Bitte warten !"
add_item "msg_be",..
"msg_border_be",..
"msg_titel_be",..
"msg_pr1_be",..
"msg_pr2_be"
win_paint "msg_be"
else
event_on_item "msg_be","end"
endif
ENDMOD