ich habe mal eine Datenbank auf Textdateibasis mal erstellt. Man kann Daten eingeben, löschen, gesamte Datei anzeigen, Datensatz ändern, nach einem Begriff in der Datenbank suchen und einen Datensatz nach Termin anzeigen ( hatte da die Termine nach dem heutigen Datum anzeigen lassen - Geburtstag etc. ).
Die Ausgaben sind auf türkisch, aber die Variablen haben meistens die Deutsche Version, so das es nicht schwierig sein sollte es nach deinen Mustern anzupassen. Falls du denoch Fragen haben solltest, melde dich einfach nochmal.
Code: Alles auswählen
Enumeration ; Windows
#Hauptfenster
#Termineingabefenster
#Datenausgabe
#Datenloeschungauswahl
#Datenloeschungbestaetigung
#Datenaenderungauswahl
#Datenaenderungbestaetigung
#Terminausgabe
#Datensuchfeld
#Datensuchausgabe
EndEnumeration
Enumeration ; Gadgets
; Hauptfenster
#Hauptfenster_txtInfo1
#Hauptfenster_txtInfo2
#Hauptfenster_txtInfo3
#Hauptfenster_butTermineingabe
#Hauptfenster_butDatenausgabe
#Hauptfenster_butDatenloeschung
#Hauptfenster_butDatenaenderung
#Hauptfenster_butTerminausgabe
#Hauptfenster_butDatensuche
#Hauptfenster_butBeenden
; Termineingabefenster
#Termineingabefenster_txtInfo
#Termineingabefenster_txtAdi
#Termineingabefenster_strAdi
#Termineingabefenster_txtAdi2
#Termineingabefenster_txtSoyadi
#Termineingabefenster_strSoyadi
#Termineingabefenster_txtSoyadi2
#Termineingabefenster_txtTermin
#Termineingabefenster_strTermin
#Termineingabefenster_txtTermin2
#Termineingabefenster_txtEmail
#Termineingabefenster_strEmail
#Termineingabefenster_txtEmail2
#Termineingabefenster_txtCeptel
#Termineingabefenster_strCeptel
#Termineingabefenster_txtCeptel2
#Termineingabefenster_txtEvtel
#Termineingabefenster_strEvtel
#Termineingabefenster_txtEvtel2
#Termineingabefenster_txtDigerbilgi
#Termineingabefenster_strDigerbilgi
#Termineingabefenster_txtDigerbilgi2
#Termineingabefenster_butHinzufuegen
#Termineingabefenster_butBeenden
;Datenausgabe
#Datenausgabe_lig
#Datenausgabe_butBeenden
;Datenloeschungauswahl
#Datenloeschungauswahl_lig
#Datenloeschungauswahl_txtDatensatz_markieren
#Datenloeschungauswahl_butWeiter
#Datenloeschungauswahl_butBeenden
;Datenloeschungbestaetigung
#Datenloeschungbestaetigung_txtInfo
#Datenloeschungbestaetigung_txtTermin
#Datenloeschungbestaetigung_strTermin
#Datenloeschungbestaetigung_txtAdi
#Datenloeschungbestaetigung_strAdi
#Datenloeschungbestaetigung_txtSoyadi
#Datenloeschungbestaetigung_strSoyadi
#Datenloeschungbestaetigung_butDaten_loeschen
#Datenloeschungbestaetigung_butAbbrechen
;Datenaenderungauswahl
#Datenaenderungauswahl_lig
#Datenaenderungauswahl_txtDatensatz_markieren
#Datenaenderungauswahl_butWeiter
#Datenaenderungauswahl_butBeenden
;Datenaenderungbestaetigung
#Datenaenderungbestaetigung_txtInfo
#Datenaenderungbestaetigung_txtAdi
#Datenaenderungbestaetigung_strAdi
#Datenaenderungbestaetigung_txtAdi2
#Datenaenderungbestaetigung_txtSoyadi
#Datenaenderungbestaetigung_strSoyadi
#Datenaenderungbestaetigung_txtSoyadi2
#Datenaenderungbestaetigung_txtTermin
#Datenaenderungbestaetigung_strTermin
#Datenaenderungbestaetigung_txtTermin2
#Datenaenderungbestaetigung_txtEmail
#Datenaenderungbestaetigung_strEmail
#Datenaenderungbestaetigung_txtEmail2
#Datenaenderungbestaetigung_txtCeptel
#Datenaenderungbestaetigung_strCeptel
#Datenaenderungbestaetigung_txtCeptel2
#Datenaenderungbestaetigung_txtEvtel
#Datenaenderungbestaetigung_strEvtel
#Datenaenderungbestaetigung_txtEvtel2
#Datenaenderungbestaetigung_txtDigerbilgi
#Datenaenderungbestaetigung_strDigerbilgi
#Datenaenderungbestaetigung_txtDigerbilgi2
#Datenaenderungbestaetigung_butDaten_abspeichern
#Datenaenderungbestaetigung_butBeenden
;Terminausgabe
#Terminausgabe_lig
#Terminausgabe_butBeenden
;Datensuchfeld
#Datensuchfeld_txtInfo
#Datensuchfeld_strArama
#Datensuchfeld_butWeiter
#Datensuchfeld_butBeenden
;Datensuchausgabe
#Datensuchausgabe_txtSuch1
#Datensuchausgabe_txtSuch2
#Datensuchausgabe_lig
#Datensuchausgabe_butBeenden
EndEnumeration
Procedure Open_Hauptfenster()
If OpenWindow(#Hauptfenster,216,0,340,310,"Veri Tabanı - Sürüm 1",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar| #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Hauptfenster))
TextGadget (#Hauptfenster_txtInfo1, 120, 20, 100, 30, "Lütfen menü seçin")
ButtonGadget(#Hauptfenster_butTermineingabe, 10, 50, 150, 35, "Yeni kayıt yaratma")
ButtonGadget(#Hauptfenster_butDatenausgabe, 180, 50, 150, 35, "Kayıt gösterme")
ButtonGadget(#Hauptfenster_butDatenloeschung, 10, 100, 150, 35, "Kayıt silme")
ButtonGadget(#Hauptfenster_butDatenaenderung, 180, 100, 150, 35, "Kayıt güncelleme")
ButtonGadget(#Hauptfenster_butTerminausgabe, 10, 150, 150, 35, "Tarih gösterme")
ButtonGadget(#Hauptfenster_butDatensuche, 180, 150, 150, 35, "Kayıt arama")
ButtonGadget(#Hauptfenster_butBeenden, 10, 200, 320, 35, "Kapat")
TextGadget (#Hauptfenster_txtInfo2, 200, 250, 100, 20, "")
TextGadget (#Hauptfenster_txtInfo3, 200, 270, 170, 40, "")
EndIf
EndIf
EndProcedure
Procedure Open_Termineingabefenster()
If OpenWindow(#Termineingabefenster,216,0,680,400,"Yeni kayıt yaratma",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Termineingabefenster))
TextGadget (#Termineingabefenster_txtInfo, 20, 20, 150, 20, "Kayıt yaratma penceresi")
TextGadget (#Termineingabefenster_txtAdi, 20, 60, 80, 20, "Adı")
StringGadget(#Termineingabefenster_strAdi, 110, 60, 340, 20, "")
TextGadget (#Termineingabefenster_txtAdi2, 460, 60, 90, 20, "En fazla 30 harf")
TextGadget (#Termineingabefenster_txtSoyadi, 20, 100, 80, 20, "Soyadı")
StringGadget(#Termineingabefenster_strSoyadi, 110, 100, 340, 20, "")
TextGadget (#Termineingabefenster_txtSoyadi2, 460, 100, 90, 20, "En fazla 30 harf")
TextGadget (#Termineingabefenster_txtTermin, 20, 140, 80, 20, "Tarih")
StringGadget(#Termineingabefenster_strTermin, 110, 140, 80, 20, "")
TextGadget (#Termineingabefenster_txtTermin2, 200, 140, 150, 20, "Giriş formatı örn: 05.10.1984")
TextGadget (#Termineingabefenster_txtEmail, 20, 180, 80, 20, "e-mail adresi")
StringGadget(#Termineingabefenster_strEmail, 110, 180, 450, 20, "")
TextGadget (#Termineingabefenster_txtEmail2, 570, 180, 90, 20, "En fazla 40 harf")
TextGadget (#Termineingabefenster_txtCeptel, 20, 220, 80, 20, "Cep telefon no")
StringGadget(#Termineingabefenster_strCeptel, 110, 220, 340, 20, "")
TextGadget (#Termineingabefenster_txtCeptel2, 460, 220, 90, 20, "En fazla 30 harf")
TextGadget (#Termineingabefenster_txtEvtel, 20, 260, 80, 20, "Ev telefonu")
StringGadget(#Termineingabefenster_strEvtel, 110, 260, 340, 20, "")
TextGadget (#Termineingabefenster_txtEvtel2, 460, 260, 90, 20, "En fazla 30 harf")
TextGadget (#Termineingabefenster_txtDigerbilgi, 20, 300, 80, 20, "Diğer bilgileri")
StringGadget(#Termineingabefenster_strDigerbilgi, 110, 300, 450, 20, "")
TextGadget (#Termineingabefenster_txtDigerbilgi2, 570, 300, 90, 20, "En fazla 40 harf")
ButtonGadget(#Termineingabefenster_butHinzufuegen, 110, 340, 100, 30, "Kayıt yarat")
ButtonGadget(#Termineingabefenster_butBeenden, 400, 340, 100, 30, "Kapat")
EndIf
EndIf
EndProcedure
Procedure lig_Fuellen(lig.l) ;lig=#Datenausgabe_lig??
If ReadFile(1,"termin.dat") ;Prozedur für das Füllen des ListIconGadget
laengel.l= Lof(1) ;von Datenausgabe, Löschungs-und Änderungsauswahl,
zeilenanzahlw.w=laengel.l/212 ;Gesamtlaenge = 210 + 2 für Satzende und Zeilenumbruch
For iw.w=0 To zeilenanzahlw.w
FileSeek(1,iw.w*212)
zeilensatzs.s=ReadString(1)
adis.s=Left(zeilensatzs.s,30)
soyadis.s=Mid(zeilensatzs.s,31, 30)
termins.s=Mid(zeilensatzs.s,61, 10)
emails.s=Mid(zeilensatzs.s,71, 40)
ceptels.s=Mid(zeilensatzs.s,111, 30)
evtels.s=Mid(zeilensatzs.s,141, 30)
digerbilgis.s=Mid(zeilensatzs.s,171, 40)
AddGadgetItem(lig.l, -1,termins.s+Chr(10)+adis.s+Chr(10)+soyadis.s+Chr(10)+emails.s+Chr(10)+ceptels.s+Chr(10)+evtels.s+Chr(10)+digerbilgis.s)
Next iw.w
CloseFile(1)
EndIf
EndProcedure
Procedure Open_Datenausgabe()
If OpenWindow(#Datenausgabe, 100, 100, 1000, 500, "Kayıt gösterme", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar| #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Datenausgabe))
ListIconGadget(#Datenausgabe_lig, 5, 5, 990, 440, "Tarih", 80,#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(#Datenausgabe_lig, 1, "Adı", 150)
AddGadgetColumn(#Datenausgabe_lig, 2, "Soyadı", 150)
AddGadgetColumn(#Datenausgabe_lig, 3, "e-mail adresi", 200)
AddGadgetColumn(#Datenausgabe_lig, 4, "Cep telefonu ", 150)
AddGadgetColumn(#Datenausgabe_lig, 5, "Ev telefonu", 150)
AddGadgetColumn(#Datenausgabe_lig, 6, "Diğer bilgileri", 200)
ButtonGadget(#Datenausgabe_butBeenden, 900, 460, 80, 30, "Kapat")
EndIf
lig_Fuellen(#Datenausgabe_lig)
EndIf
EndProcedure
Procedure Open_Datenloeschungauswahl()
If OpenWindow(#Datenloeschungauswahl, 100, 100, 1000, 500, "Kayıt silinmesi seçimi", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar| #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Datenloeschungauswahl))
ListIconGadget(#Datenloeschungauswahl_lig, 5, 35, 990, 410, "Tarih", 80,#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(#Datenloeschungauswahl_lig, 1, "Adı", 150)
AddGadgetColumn(#Datenloeschungauswahl_lig, 2, "Soyadı", 150)
AddGadgetColumn(#Datenloeschungauswahl_lig, 3, "e-mail adresi", 200)
AddGadgetColumn(#Datenloeschungauswahl_lig, 4, "Cep telefonu ", 150)
AddGadgetColumn(#Datenloeschungauswahl_lig, 5, "Ev telefonu", 150)
AddGadgetColumn(#Datenloeschungauswahl_lig, 6, "Diğer bilgileri", 200)
TextGadget(#Datenloeschungauswahl_txtDatensatz_markieren, 5, 10, 260, 20, "Lütfen silinecek bir kayıt işaretleyin")
ButtonGadget(#Datenloeschungauswahl_butWeiter, 20, 460, 70, 30, "Devam")
ButtonGadget(#Datenloeschungauswahl_butBeenden, 900, 460, 80, 30, "Kapat")
EndIf
lig_Fuellen(#Datenloeschungauswahl_lig)
EndIf
EndProcedure
Procedure Open_Datenloeschungbestaetigung(zeilew.w)
If OpenWindow(#Datenloeschungbestaetigung,216,0,450,250,"Kayıt silinmesi işlemi",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar| #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Datenloeschungbestaetigung))
TextGadget(#Datenloeschungbestaetigung_txtInfo, 20, 20, 150, 20, "Kayıt silme penceresi")
TextGadget(#Datenloeschungbestaetigung_txtTermin, 20, 60, 40, 20, "Tarih")
StringGadget(#Datenloeschungbestaetigung_strTermin, 80, 60, 80, 20, "")
TextGadget(#Datenloeschungbestaetigung_txtAdi, 20, 100, 50, 20, "Adı")
StringGadget(#Datenloeschungbestaetigung_strAdi, 80, 100, 340, 20, "")
TextGadget(#Datenloeschungbestaetigung_txtSoyadi, 20, 140, 60, 20, "Soyadı")
StringGadget(#Datenloeschungbestaetigung_strSoyadi, 80, 140, 340, 20, "")
ButtonGadget(#Datenloeschungbestaetigung_butDaten_loeschen, 20, 180, 280, 30, "Bu kayıt silinecek ( Dikkat! Son kararınız mı?)")
ButtonGadget(#Datenloeschungbestaetigung_butAbbrechen, 320, 180, 100, 30, "Kapat")
EndIf
If ReadFile(1,"termin.dat")
FileSeek(1,zeilew.w*212) ;Gesamtlaenge = 210 + 2 für Satzende und Zeilenumbruch
zeilensatzs.s=ReadString(1)
adis.s=Left(zeilensatzs.s,30)
soyadis.s=Mid(zeilensatzs.s,31, 30)
termins.s=Mid(zeilensatzs.s,61, 10)
SetGadgetText(#Datenloeschungbestaetigung_strTermin, termins.s)
SetGadgetText(#Datenloeschungbestaetigung_strAdi, adis.s)
SetGadgetText(#Datenloeschungbestaetigung_strSoyadi, soyadis.s)
CloseFile(1)
EndIf
EndIf
EndProcedure
Procedure Open_Datenaenderungauswahl()
If OpenWindow(#Datenaenderungauswahl, 100, 100, 1000, 500, "Kayıt secimi", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar| #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Datenaenderungauswahl))
ListIconGadget(#Datenaenderungauswahl_lig, 5, 35, 990, 410, "Tarih", 80,#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(#Datenaenderungauswahl_lig, 1, "Adı", 150)
AddGadgetColumn(#Datenaenderungauswahl_lig, 2, "Soyadı", 150)
AddGadgetColumn(#Datenaenderungauswahl_lig, 3, "e-mail adresi", 200)
AddGadgetColumn(#Datenaenderungauswahl_lig, 4, "Cep telefonu ", 150)
AddGadgetColumn(#Datenaenderungauswahl_lig, 5, "Ev telefonu", 150)
AddGadgetColumn(#Datenaenderungauswahl_lig, 6, "Diğer bilgileri", 200)
TextGadget(#Datenaenderungauswahl_txtDatensatz_markieren, 5, 10, 250, 20, "Lütfen düzeltilecek veri cümle işaretlein")
ButtonGadget(#Datenaenderungauswahl_butWeiter, 20, 460, 70, 30, "Devam")
ButtonGadget(#Datenaenderungauswahl_butBeenden, 900, 460, 80, 30, "Kapat")
EndIf
lig_Fuellen(#Datenaenderungauswahl_lig)
EndIf
EndProcedure
Procedure Open_Datenaenderungbestaetigung(zeilew.w)
If OpenWindow(#Datenaenderungbestaetigung,216,0,680,400,"Kayıt güncelleme",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar| #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Datenaenderungbestaetigung))
TextGadget (#Datenaenderungbestaetigung_txtInfo, 20, 20, 150, 20, "Kayıt güncelleme penceresi")
TextGadget (#Datenaenderungbestaetigung_txtAdi, 20, 60, 80, 20, "Adı")
StringGadget(#Datenaenderungbestaetigung_strAdi, 110, 60, 340, 20, "")
TextGadget (#Datenaenderungbestaetigung_txtAdi2, 460, 60, 90, 20, "En fazla 30 harf")
TextGadget (#Datenaenderungbestaetigung_txtSoyadi, 20, 100, 80, 20, "Soyadı")
StringGadget(#Datenaenderungbestaetigung_strSoyadi, 110, 100, 340, 20, "")
TextGadget (#Datenaenderungbestaetigung_txtSoyadi2, 460, 100, 90, 20, "En fazla 30 harf")
TextGadget (#Datenaenderungbestaetigung_txtTermin, 20, 140, 80, 20, "Tarih")
StringGadget(#Datenaenderungbestaetigung_strTermin, 110, 140, 80, 20, "")
TextGadget (#Datenaenderungbestaetigung_txtTermin2, 200, 140, 150, 20, "Giriş formatı örn: 05.10.1984")
TextGadget (#Datenaenderungbestaetigung_txtEmail, 20, 180, 80, 20, "e-mail adresi")
StringGadget(#Datenaenderungbestaetigung_strEmail, 110, 180, 450, 20, "")
TextGadget (#Datenaenderungbestaetigung_txtEmail2, 570, 180, 90, 20, "En fazla 40 harf")
TextGadget (#Datenaenderungbestaetigung_txtCeptel, 20, 220, 80, 20, "Cep telefonu ")
StringGadget(#Datenaenderungbestaetigung_strCeptel, 110, 220, 340, 20, "")
TextGadget (#Datenaenderungbestaetigung_txtCeptel2, 460, 220, 90, 20, "En fazla 30 harf")
TextGadget (#Datenaenderungbestaetigung_txtEvtel, 20, 260, 80, 20, "Ev telefonu")
StringGadget(#Datenaenderungbestaetigung_strEvtel, 110, 260, 340, 20, "")
TextGadget (#Datenaenderungbestaetigung_txtEvtel2, 460, 260, 90, 20, "En fazla 30 harf")
TextGadget (#Datenaenderungbestaetigung_txtDigerbilgi, 20, 300, 80, 20, "Diğer bilgileri")
StringGadget(#Datenaenderungbestaetigung_strDigerbilgi, 110, 300, 450, 20, "")
TextGadget (#Datenaenderungbestaetigung_txtDigerbilgi2, 570, 300, 90, 20, "En fazla 40 harf")
ButtonGadget(#Datenaenderungbestaetigung_butDaten_abspeichern, 110, 350, 160, 30, "Kayıt güncel")
ButtonGadget(#Datenaenderungbestaetigung_butBeenden, 400, 350, 100, 30, "Kapat")
EndIf
If ReadFile(1,"termin.dat")
FileSeek(1,zeilew.w*212) ;Gesamtlaenge = 210 + 2 für Satzende und Zeilenumbruch
zeilensatzs.s=ReadString(1)
adis.s=Left(zeilensatzs.s,30)
soyadis.s=Mid(zeilensatzs.s,31, 30)
termins.s=Mid(zeilensatzs.s,61, 10)
emails.s=Mid(zeilensatzs.s,71, 40)
ceptels.s=Mid(zeilensatzs.s,111, 30)
evtels.s=Mid(zeilensatzs.s,141, 30)
digerbilgis.s=Mid(zeilensatzs.s,171, 40)
SetGadgetText(#Datenaenderungbestaetigung_strAdi, adis.s)
SetGadgetText(#Datenaenderungbestaetigung_strSoyadi, soyadis.s)
SetGadgetText(#Datenaenderungbestaetigung_strTermin, termins.s)
SetGadgetText(#Datenaenderungbestaetigung_strEmail, emails.s)
SetGadgetText(#Datenaenderungbestaetigung_strCeptel, ceptels.s)
SetGadgetText(#Datenaenderungbestaetigung_strEvtel, evtels.s)
SetGadgetText(#Datenaenderungbestaetigung_strDigerbilgi, digerbilgis.s)
CloseFile(1)
EndIf
EndIf
EndProcedure
Procedure Terminausgabe_lig_Fuellen(lig.l)
If ReadFile(1,"termin.dat")
laengel.l= Lof(1)
zeilenanzahlw.w=laengel.l/212 ;Gesamtlaenge = 210 + 2 für Satzende und Zeilenumbruch
tags.s=FormatDate("%dd",Date())
monats.s=FormatDate("%mm",Date())
jahrs.s=FormatDate("%yyyy",Date())
tagl.l= Val(tags.s)
For iw.w=0 To zeilenanzahlw.w
FileSeek(1,iw.w*212)
zeilensatzs.s=ReadString(1)
adis.s=Left(zeilensatzs.s,30)
soyadis.s=Mid(zeilensatzs.s,31, 30)
termins.s=Mid(zeilensatzs.s,61, 10)
emails.s=Mid(zeilensatzs.s,71, 40)
ceptels.s=Mid(zeilensatzs.s,111, 30)
evtels.s=Mid(zeilensatzs.s,141, 30)
digerbilgis.s=Mid(zeilensatzs.s,171, 40)
tagdateis.s=Left(termins.s,2)
monatdateis.s=Mid(termins.s,4,2)
tagdateil.l= Val(tagdateis.s)
If monatdateis.s=monats.s
If tagdateil.l=tagl.l ; nur heutiger Tag wird ausgegeben Or tagdateil.l+1=tagl.l Or tagdateil.l-1=tagl.l Or tagdateil.l-2=tagl.l
AddGadgetItem(lig.l, -1,termins.s+Chr(10)+adis.s+Chr(10)+soyadis.s+Chr(10)+emails.s+Chr(10)+ceptels.s+Chr(10)+evtels.s+Chr(10)+digerbilgis.s)
EndIf
EndIf
Next iw.w
CloseFile(1)
EndIf
EndProcedure
Procedure Open_Terminausgabe()
datumheutes.s=FormatDate("%dd.%mm.%yyyy", Date())
If OpenWindow(#Terminausgabe, 100, 100, 550, 260, "Bugünkü tarihler", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget |#PB_Window_TitleBar| #PB_Window_ScreenCentered)
;If OpenWindow(#Tarihausgabe, 100, 100, 550, 200, "Tarihe - für gestern, heute ("+datumheutes.s+"), morgen und übermorgen", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget |#PB_Window_TitleBar| #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Terminausgabe))
ListIconGadget(#Terminausgabe_lig, 5, 5, 540, 200, "Tarih", 70,#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(#Terminausgabe_lig, 1, "Adı", 150)
AddGadgetColumn(#Terminausgabe_lig, 2, "Soyadı", 150)
AddGadgetColumn(#Terminausgabe_lig, 3, "e-mail adresi", 200)
AddGadgetColumn(#Terminausgabe_lig, 4, "Cep telefonu ", 150)
AddGadgetColumn(#Terminausgabe_lig, 5, "Ev telefonu", 150)
AddGadgetColumn(#Terminausgabe_lig, 6, "Diğer bilgileri", 200)
ButtonGadget(#Terminausgabe_butBeenden, 440, 220, 80, 30, "Kapat")
EndIf
Terminausgabe_lig_Fuellen(#Terminausgabe_lig)
EndIf
EndProcedure
Procedure Open_Datensuchfeld()
If OpenWindow(#Datensuchfeld,216,0,500,150,"Kayıt arama",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Datensuchfeld))
TextGadget (#Datensuchfeld_txtInfo, 20, 20, 150, 20, "Lütfen ne arayacaksanız yazın")
StringGadget(#Datensuchfeld_strArama, 20, 60, 450, 20, "")
ButtonGadget(#Datensuchfeld_butWeiter, 100, 100, 100, 30, "Devam")
ButtonGadget(#Datensuchfeld_butBeenden, 300, 100, 100, 30, "Kapat")
EndIf
EndIf
EndProcedure
Procedure Open_Datensuchausgabe(suchfelds.s)
If OpenWindow(#Datensuchausgabe, 100, 100, 1000, 500, "Kayıt gösterme", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_TitleBar| #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Datensuchausgabe))
TextGadget(#Datensuchausgabe_txtSuch1, 10, 10, 80, 20, "Kayıt taraması:")
TextGadget(#Datensuchausgabe_txtSuch2, 90, 10, 440, 20, suchfelds.s, #PB_Text_Border)
ListIconGadget(#Datensuchausgabe_lig, 5, 50, 990, 400, "Tarih", 80,#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(#Datensuchausgabe_lig, 1, "Adı", 150)
AddGadgetColumn(#Datensuchausgabe_lig, 2, "Soyadı", 150)
AddGadgetColumn(#Datensuchausgabe_lig, 3, "e-mail adresi", 200)
AddGadgetColumn(#Datensuchausgabe_lig, 4, "Cep telefonu ", 150)
AddGadgetColumn(#Datensuchausgabe_lig, 5, "Ev telefonu", 150)
AddGadgetColumn(#Datensuchausgabe_lig, 6, "Diğer bilgileri", 200)
ButtonGadget(#Datensuchausgabe_butBeenden, 900, 460, 80, 30, "Kapat")
EndIf
If ReadFile(1,"termin.dat")
laengel.l= Lof(1)
zeilenanzahlw.w=laengel.l/212
For iw.w=0 To zeilenanzahlw.w
FileSeek(1,iw.w*212)
zeilensatzs.s=ReadString(1)
adis.s=Left(zeilensatzs.s,30)
soyadis.s=Mid(zeilensatzs.s,31, 30)
termins.s=Mid(zeilensatzs.s,61, 10)
emails.s=Mid(zeilensatzs.s,71, 40)
ceptels.s=Mid(zeilensatzs.s,111, 30)
evtels.s=Mid(zeilensatzs.s,141, 30)
digerbilgis.s=Mid(zeilensatzs.s,171, 40)
posadiw.w= FindString(adis.s, suchfelds.s, 1)
possoyadiw.w= FindString(soyadis.s, suchfelds.s, 1)
posterminw.w= FindString(termins.s, suchfelds.s, 1)
posemailw.w= FindString(emails.s, suchfelds.s, 1)
posceptelw.w= FindString(ceptels.s, suchfelds.s, 1)
posevtelw.w= FindString(evtels.s, suchfelds.s, 1)
digerbilgiw.w= FindString(digerbilgis.s, suchfelds.s, 1)
If posadiw.w>0 Or possoyadiw.w>0 Or posterminw.w>0 Or posemailw.w>0 Or posceptelw.w>0 Or posevtelw.w>0 Or digerbilgiw.w>0
AddGadgetItem(#Datensuchausgabe_lig, -1,termins.s+Chr(10)+adis.s+Chr(10)+soyadis.s+Chr(10)+emails.s+Chr(10)+ceptels.s+Chr(10)+evtels.s+Chr(10)+digerbilgis.s)
EndIf
Next iw.w
CloseFile(1)
EndIf
EndIf
EndProcedure
Procedure MainLoop()
Protected Quit.l
Protected EventID.l
Protected EventGadget.l
Protected EventWindow.l
Open_Hauptfenster()
Repeat
EventID = WaitWindowEvent()
EventGadget = EventGadget()
EventWindow = EventWindow()
Select EventID
Case #PB_Event_CloseWindow
Select EventWindow
Case #Hauptfenster : Quit = 1
Case #Termineingabefenster : CloseWindow(#Termineingabefenster):HideWindow(#Hauptfenster, 0)
Case #Datenausgabe : CloseWindow(#Datenausgabe):HideWindow(#Hauptfenster, 0)
Case #Datenloeschungauswahl : CloseWindow(#Datenloeschungauswahl):HideWindow(#Hauptfenster, 0)
Case #Datenloeschungbestaetigung : CloseWindow(#Datenloeschungbestaetigung):HideWindow(#Hauptfenster, 0)
Case #Datenaenderungauswahl : CloseWindow(#Datenaenderungauswahl):HideWindow(#Hauptfenster, 0)
Case #Datenaenderungbestaetigung : CloseWindow(#Datenaenderungbestaetigung):HideWindow(#Hauptfenster, 0)
Case #Terminausgabe : CloseWindow(#Terminausgabe):HideWindow(#Hauptfenster, 0)
Case #Datensuchfeld : CloseWindow(#Datensuchfeld):HideWindow(#Hauptfenster, 0)
Case #Datensuchausgabe : CloseWindow(#Datensuchausgabe):HideWindow(#Hauptfenster, 0)
EndSelect
Case #PB_Event_Gadget
Select EventWindow
Case #Hauptfenster
Select EventGadget
Case #Hauptfenster_butTermineingabe : Open_Termineingabefenster():HideWindow(#Hauptfenster, 1)
Case #Hauptfenster_butDatenausgabe : Open_Datenausgabe():HideWindow(#Hauptfenster, 1)
Case #Hauptfenster_butDatenloeschung : Open_Datenloeschungauswahl():HideWindow(#Hauptfenster, 1)
Case #Hauptfenster_butDatenaenderung : Open_Datenaenderungauswahl():HideWindow(#Hauptfenster, 1)
Case #Hauptfenster_butTerminausgabe : Open_Terminausgabe():HideWindow(#Hauptfenster, 1)
Case #Hauptfenster_butDatensuche : Open_Datensuchfeld():HideWindow(#Hauptfenster, 1)
Case #Hauptfenster_butBeenden : Quit = 1
EndSelect
Case #Termineingabefenster
Select EventGadget
Case #Termineingabefenster_butHinzufuegen
text1s.s = GetGadgetText(#Termineingabefenster_strAdi)
ergebnis1s.s = LSet(text1s.s, 30)
text2s.s = GetGadgetText(#Termineingabefenster_strSoyadi)
ergebnis2s.s = LSet(text2s.s, 30)
text3s.s = GetGadgetText(#Termineingabefenster_strTermin)
ergebnis3s.s = LSet(text3s.s, 10)
text4s.s = GetGadgetText(#Termineingabefenster_strEmail)
ergebnis4s.s = LSet(text4s.s, 40)
text5s.s = GetGadgetText(#Termineingabefenster_strCeptel)
ergebnis5s.s = LSet(text5s.s, 30)
text6s.s = GetGadgetText(#Termineingabefenster_strEvtel)
ergebnis6s.s = LSet(text6s.s, 30)
text7s.s = GetGadgetText(#Termineingabefenster_strDigerbilgi)
ergebnis7s.s = LSet(text7s.s, 40)
textgesamts.s = ergebnis1s.s+ergebnis2s.s+ergebnis3s.s+ergebnis4s.s+ergebnis5s.s+ergebnis6s.s+ergebnis7s.s
If OpenFile(1,"termin.dat")
laengel.l= Lof(1)
FileSeek(1,laengel.l)
WriteStringN(1,textgesamts.s)
CloseFile(1)
EndIf
SetGadgetText(#Termineingabefenster_strAdi, "")
SetGadgetText(#Termineingabefenster_strSoyadi, "")
SetGadgetText(#Termineingabefenster_strTermin, "")
SetGadgetText(#Termineingabefenster_strEmail, "")
SetGadgetText(#Termineingabefenster_strCeptel, "")
SetGadgetText(#Termineingabefenster_strEvtel, "")
SetGadgetText(#Termineingabefenster_strDigerbilgi, "")
Case #Termineingabefenster_butBeenden
CloseWindow(#Termineingabefenster)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Datenausgabe
Select EventGadget
Case #Datenausgabe_butBeenden
CloseWindow(#Datenausgabe)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Datenloeschungauswahl
Select EventGadget
Case #Datenloeschungauswahl_butWeiter
zeilew.w = GetGadgetState(#Datenloeschungauswahl_lig)
ergebniss.s = Str(zeilew.w)
CloseWindow(#Datenloeschungauswahl)
Open_Datenloeschungbestaetigung(zeilew.w)
Case #Datenloeschungauswahl_butBeenden
CloseWindow(#Datenloeschungauswahl)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Datenloeschungbestaetigung
Select EventGadget
Case #Datenloeschungbestaetigung_butDaten_loeschen
loeschs.s = LSet("-", 210,"-")
If OpenFile(1,"termin.dat")
FileSeek(1,zeilew.w*212)
WriteStringN(1,loeschs.s)
CloseFile(1)
EndIf
If OpenFile(2,"terminkopie.dat")
EndIf
If ReadFile(1,"termin.dat")
laengefile1l.l= Lof(1)
zeilenanzahlfile1w.w=laengefile1l.l/212
For iw.w=0 To zeilenanzahlfile1w.w-1 ;wegen Löschzeile = 1 Zeile weniger
FileSeek(1,iw.w*212)
textgesamtfile1s.s=ReadString(1)
If textgesamtfile1s.s<>loeschs.s
laengefile2l.l= Lof(2)
FileSeek(1,laengefile2l.l)
WriteStringN(2,textgesamtfile1s.s)
EndIf
Next iw.w
CloseFile(1)
CloseFile(2)
EndIf
DeleteFile("termin.dat")
RenameFile("terminkopie.dat", "termin.dat")
DeleteFile("terminkopie.dat")
CloseWindow(#Datenloeschungbestaetigung)
HideWindow(#Hauptfenster, 0)
Case #Datenloeschungbestaetigung_butAbbrechen
CloseWindow(#Datenloeschungbestaetigung)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Datenaenderungauswahl
Select EventGadget
Case #Datenaenderungauswahl_butWeiter
zeilew.w = GetGadgetState(#Datenaenderungauswahl_lig)
ergebniss.s = Str(zeilew.w)
CloseWindow(#Datenaenderungauswahl)
Open_Datenaenderungbestaetigung(zeilew.w)
Case #Datenaenderungauswahl_butBeenden
CloseWindow(#Datenaenderungauswahl)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Datenaenderungbestaetigung
Select EventGadget
Case #Datenaenderungbestaetigung_butDaten_abspeichern
text1s.s = GetGadgetText(#Datenaenderungbestaetigung_strAdi)
ergebnis1s.s = LSet(text1s.s, 30)
text2s.s = GetGadgetText(#Datenaenderungbestaetigung_strSoyadi)
ergebnis2s.s = LSet(text2s.s, 30)
text3s.s = GetGadgetText(#Datenaenderungbestaetigung_strTermin)
ergebnis3s.s = LSet(text3s.s, 10)
text4s.s = GetGadgetText(#Datenaenderungbestaetigung_strEmail)
ergebnis4s.s = LSet(text4s.s, 40)
text5s.s = GetGadgetText(#Datenaenderungbestaetigung_strCeptel)
ergebnis5s.s = LSet(text5s.s, 30)
text6s.s = GetGadgetText(#Datenaenderungbestaetigung_strEvtel)
ergebnis6s.s = LSet(text6s.s, 30)
text7s.s = GetGadgetText(#Datenaenderungbestaetigung_strDigerbilgi)
ergebnis7s.s = LSet(text7s.s, 40)
textgesamts.s = ergebnis1s.s+ergebnis2s.s+ergebnis3s.s+ergebnis4s.s+ergebnis5s.s+ergebnis6s.s+ergebnis7s.s
If OpenFile(1,"termin.dat")
FileSeek(1,zeilew.w*212)
WriteStringN(1,textgesamts.s)
CloseFile(1)
EndIf
CloseWindow(#Datenaenderungbestaetigung)
HideWindow(#Hauptfenster, 0)
Case #Datenaenderungbestaetigung_butBeenden
CloseWindow(#Datenaenderungbestaetigung)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Terminausgabe
Select EventGadget
Case #Terminausgabe_butBeenden
CloseWindow(#Terminausgabe)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Datensuchfeld
Select EventGadget
Case #Datensuchfeld_butWeiter
suchfelds.s = GetGadgetText(#Datensuchfeld_strArama)
CloseWindow(#Datensuchfeld)
Open_Datensuchausgabe(suchfelds.s)
Case #Datensuchfeld_butBeenden
CloseWindow(#Datensuchfeld)
HideWindow(#Hauptfenster, 0)
EndSelect
Case #Datensuchausgabe
Select EventGadget
Case #Datensuchausgabe_butBeenden
CloseWindow(#Datensuchausgabe)
HideWindow(#Hauptfenster, 0)
EndSelect
EndSelect
EndSelect
Until Quit=1
EndProcedure
MainLoop()
End