home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: InfoMgt
/
InfoMgt.zip
/
kim21.zip
/
MEMO.KIM
< prev
next >
Wrap
Text File
|
1994-07-15
|
9KB
|
405 lines
rem Datum : Dezember
rem Version : Beta 2.0 Release 00.05
rem Programm : Beta-Test Programm mit DBASE/FOXPRO Grundlage
rem Programmierer : EDV-Kohlenbach
deffloat a,i,t,flag,taste
defstring objekt,ob_alt
load_dat "icon2.dat",a
if a=-1 then
msgbox "Datei ICON2.DAT nicht gefunden.",0,a,""
endif
rem Datenbankstruktur ( nur noch interessant für Masken )
DEFINE soft1, 10 as Zeit
DEFINE soft2, 10 as Datum
DEFINE soft3, 40 as Name
dimmemo soft4,10000
rem Definition eines Fensters mit Inhalt
call db_oeffnen()
call fenster_def()
call fenster_inhalt()
win_paint "window"
call info("memo.doc")
while i<>1000
win_ev i
get_item_pos objekt,taste
if taste=13 then
call auswerten(objekt,i)
endif
wend
iclose 1
end
rem ---------------------------------------------------------------------
rem U N T E R P R O G R A M M E
rem ---------------------------------------------------------------------
modul fenster_def()
def_window "window",3,2, 70, 16
rem ** Definition der Objecte die das Fenster zum Fenster machen
def_system_button "system_button",0
def_max_button "max_button"
def_min_button "min_button"
def_border "border"
def_titel "titel","Memoverwaltung"
rem Objekte an das Fenster anfügen
add_item "window",..
"border",..
"max_button",..
"min_button",..
"system_button",..
"titel"
rem Fertig ist das Fenster aufgebaut ( noch im Speicher )
endmod
modul fenster_inhalt()
def_prompt "aus1",1,1,"Name "
def_prompt "aus2",1,0,"Zeit "
def_input_time "inp1",10,0, 8,soft1,"12.00..24.00" ;"border"
def_string "inp2",20,0,16,soft2;"border"
def_string "inp3",10,1,40,soft3 ;"border"
def_text "inp4",1,2,55,10,10000,soft4 ;"border","wrap off"
rem /* Definition einer Toolbar */
def_toolbar "toolbar",0,0,80,5 ;"region off"
rem Definiton einiger Pushbuttons für die Toolbar
def_button "b0",0,0,16,"gesicht2","&Speichern";"auto size"
def_button "b1",0,0,5,"kill" ,"";"auto size"
def_button "b2",0,0,5,"pfeil_rechts" ,"";"auto size"
def_button "b3",0,0,5,"pfeil_links" ,"";"auto size"
def_button "b4",0,0,5,"Quit" ,"";"auto size"
def_button "b5",0,0,12,"note1","&Neu" ;"auto size"
def_button "b6",0,0,5,"kartei3" ,"";"auto size"
def_button "b7",0,0,6,"asterisk" ,"";"auto size"
add_item "toolbar","b0","b1","b5","b2","b3","b4","b6","b7"
rem Alle Object in das Fensterobject hinzugeben
rem Flag = 0 HZ 1 VT sonst CORNER */
def_scrollbar "scroll1",0,0,0,0,0
def_scrollbar "scroll2",1,0,0,0,0
add_item "inp4","scroll1","scroll2"
add_item "window","toolbar","aus1","aus2","inp1","inp2","inp3","inp4"
endmod
modul daten_setzen()
set_item_array "inp",soft,1,4
endmod
modul daten_schreiben()
get_item "inp1",soft1
get_item "inp2",soft2
get_item "inp3",soft3
get_item "inp4",soft4
endmod
modul auswerten(char obj,float i)
deffloat a,flag
defstring expr,eingabe,date,teil1,teil2
if obj="b0" then
call daten_schreiben()
imodrec 1,soft
exitmod
endif
if obj="b1" then
msgbox "Datensatz löschen ? ",1,flag,""
if flag=1 then
idel 1
inext 1,a,soft
call daten_setzen()
endif
endif
if obj="b2" then
inext 1,a,soft
call daten_setzen()
exitmod
endif
if obj="b3" then
iprev 1,a,soft
call daten_setzen()
exitmod
endif
if obj="b4" then
call msg_box("Programm beenden",flag)
if flag=0 then
event_on_item "window","end"
i=1000
endif
exitmod
endif
if obj="b5" then
clear soft,1,4
datum date
mid date,teil1,1,6
mid date,teil2,7,2
soft2=teil1+"19"+teil2
iadd 1,soft
igetrec 1,soft
call daten_setzen()
exitmod
endif
if obj="b6" then
call input_box("Suche", eingabe, flag)
if flag=0 then
iset 1,"NAME",expr
iread 1,a,eingabe,soft
call daten_setzen()
iset 1,"DATUM",expr
endif
exitmod
endif
if obj="b7" then
call info("memo.kim")
endif
endmod
modul msg_fenster()
def_window "msg",10,5, 45,8 ;"move off","modal"
def_border "msg_border"
def_titel "msg_titel","Meldung" ;"center"
def_button "msg_button1",5 ,5,15,"ok","OK";"auto size"
def_button "msg_button2",21,5,15,"x","Abbruch";"auto size"
def_prompt "msg_pr",5,1," "
def_icon "icon1",30,1,"frage2","" ;"auto size","select off","view only"
add_item "msg",..
"msg_border",..
"msg_titel",..
"msg_pr",..
"icon1",..
"msg_button1",..
"msg_button2"
endmod
rem Message-Box by Hand wird es noch ohne Programmierung geben
modul msg_box(char text,float flag)
deffloat y,t
defstring obj
call msg_fenster()
win_paint "msg"
set_item "msg_pr",text
while y<>1000
win_ev y
get_item_pos obj,t
if t=13 then
if obj="msg_button1" then y=1000 : flag=0 :endif
if obj="msg_button2" then y=1000 : flag=1 :endif
endif
wend
event_on_item "msg","end"
endmod
modul db_oeffnen()
DEFFLOAT a
DEFSTRING expr
rem Prüfen ob Datenbank schon existiert
exist "memox.dbf",a
IF a<>1 THEN
dim feld,1,10
dim index,1,10
feld1=" TIME , C , 10 , 0"
feld2=" DATUM , D , 10 , 0"
feld3=" NAME , C , 40 , 0"
feld4=" MEMO , M , 10 , 0"
feld5=""
index1=' Name , NAME , del()<>"*" , 0, 0'
index2=' Datum, DATUM, del()<>"*" , 0, 0'
index3=""
rem Alte Dateien löschen : Datenbank / Index
kill "memox.dbf"
kill "memox.cdx"
kill "memox.fpt"
rem Datenbank MEMOX.DBF erstellen
icreate "memox",feld,index
rem beep
ENDIF
rem Datenbank öffnen, Indexdatei öffnen, Index auf Datum setzen
IOPEN 1,"memox"
IOPEN_INDEX 1,"memox"
iset 1,"DATUM",expr
istart 1,soft
rem ireindex 1
rem beep
ENDMOD
rem ************** Ende des Programms *******************
modul info(char datei)
dimmemo _memo,10000
defstring objekt,text
deffloat ok,i,taste
loadmemo datei,_memo,ok
if ok=-1 then
text=" Datei "+datei+" nicht gefunden "
msgbox text,0,ok,""
exitmod
endif
def_window "win_info",2,2, 85,15 ;"modal"
def_border "win_info_border"
def_titel "win_info_titel","KIM 2.0 Informationen" ;"center"
add_item "win_info","win_info_border","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,"","Weiter";""
DEF_TEXT "text_info",3,2,66,9,10000,_memo;"region off","view only"
add_item "text_info","scroll_info"
add_item "tool_info","PushButton1"
ADD_ITEM "win_info", "tool_info", "text_info"
win_paint "win_info"
while i<>1000
win_ev i
get_item_pos objekt,taste
if taste=13 and objekt="PushButton1" then
i=1000
endif
wend
event_on_item "win_info","end"
endmod
modul input_box(char text,char eingabe,float flag)
deffloat y,t
defstring obj
call inputbox_fenster("Name :")
win_paint "inputbox"
rem Eingabe bekommt aktuellen Focus
add_item "inputbox","inputbox_eingabe"
while y<>1000
win_ev y
get_item_pos obj,t
if t=13 then
if obj="inputbox_button1" then y=1000 : flag=0 :endif
if obj="inputbox_button2" then y=1000 : flag=1 :endif
endif
wend
get_item "inputbox_eingabe",eingabe
event_on_item "inputbox","end"
endmod
modul inputbox_fenster(char text)
def_window "inputbox",10,5, 45,8 ;"modal"
def_border "inputbox_border"
def_titel "inputbox_titel","Eingabe" ;"center"
def_button "inputbox_button1",5 ,5,15,"ok","OK";"auto size"
def_button "inputbox_button2",21,5,15,"x","Abbruch";"auto size"
def_prompt "inputbox_pr",5,1,text
def_string "inputbox_eingabe",5,2,30,""
add_item "inputbox",..
"inputbox_border",..
"inputbox_titel",..
"inputbox_pr",..
"inputbox_button1",..
"inputbox_button2",..
"inputbox_eingabe"
endmod
rem -- Programm Ende --