Hm, also ich habe schon so einiges mit MySQL und co auf die Beine gestellt.
Aber was ich erstmal loswerden muss, da es ja sonst kein Mensch hier schafft:
Hast du im Deutschunterricht geschlafen?
Das kann man ja nicht lesen, was du da schreibst.
Erstmal Groß- und Kleinschreibung total durcheinander, dann findet man nur ganz selten mal nen Komma oder nen Punkt oder dergleichen, so dass man sich die Sätze was weiss ich wie zusammenbasteln könnte.
Naja, aber zum Thema:
Was für einen Hoster hast du denn?
Wo befindet sich die Datenbank, ist dass irgend so ein Free-Hoster, ist das ein Firmenserver oder wie?
Wenn man so einen Anhaltspunkt hätte, könnte man dir vlt. schon mehr dazu sagen.
Denn wenn du richtig was mit Datenbanken machen willst, dann fang mit MySQL oder dergleichen an.
Wenn du dir da was in Excel zusammenbasteln willst, kommt du schneller in Knüpp, als du eigentlich willst.
mal wieder MySQL
- unix
- Beiträge: 361
- Registriert: 15.02.2005 19:25
- Wohnort: Zwischen Coburg und Bamberg :-)
- Kontaktdaten:
1. weiss ich das ich in Deutsch ne Niete bin!!
2. hab mein datenbank prob gelösst (MySQL)!
3. peil ich pb 4.3 nicht ganz (Window/Gadget handling) konnte ich nie wirklich:-).
Bekomme immer nen Fehler vom Debugger (The specified 'WindowID' is not valid) ohne Debugger leuft es auch nicht wirklich:
Also hier der Code sry weils alles ist ^^:
JA SIND RECHTSCHREIBFEHLER DRIN
2. hab mein datenbank prob gelösst (MySQL)!
3. peil ich pb 4.3 nicht ganz (Window/Gadget handling) konnte ich nie wirklich:-).
Bekomme immer nen Fehler vom Debugger (The specified 'WindowID' is not valid) ohne Debugger leuft es auch nicht wirklich:
Also hier der Code sry weils alles ist ^^:
JA SIND RECHTSCHREIBFEHLER DRIN
Code: Alles auswählen
;{ Globals
Structure History
Name.s
Table.s
Extra.s
EndStructure
Global NewList Tab.History()
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- MenuBar Constants
;
Enumeration
#MenuBar_1
EndEnumeration
Enumeration
#MENU_9
#MENU_11
#MENU_12
#MENU_13
#MENU_15
#MENU_16
#MENU_17
#MENU_19
#MENU_20
#MENU_21
#MENU_22
#MENU_23
#MENU_24
#MENU_25
#MENU_26
#MENU_28
#MENU_29
#MENU_30
#MENU_31
#MENU_32
#MENU_33
#MENU_34
#MENU_35
#MENU_37
#MENU_38
#MENU_39
#MENU_40
#MENU_41
#MENU_42
EndEnumeration
;- Gadget Constants
;
Enumeration
#Panel_2
#ListIcon_0
EndEnumeration
Declare Open_Window_0()
Declare ConnectDatabase(odbc$,user$,pass$)
Declare.s ExePath()
Declare ShowTab(name$,table$,extra$)
Declare ShowWin(nr,name$,sql$)
Declare History()
Declare AddHistory(Name$,Table$,Extra.s)
Declare DelTabIfExist(Name$)
Declare ClearHistory()
Declare AddKunde()
Declare DelKunde()
Declare AddAuftrag(KID$)
Declare.s AddArbeitsplan(AuftragID$)
Declare.s AddRechnung(AuftragID$,Tarif$,Zeit$)
Declare.s GetTabName()
Declare.s AddExtra(AuftragID$,Extra$)
;}
Procedure Open_Window_0()
If OpenWindow(#Window_0, 142, 207, 800, 629, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_TitleBar )
UseGadgetList(WindowID(#Window_0))
If CreateMenu(#MenuBar_1, WindowID(#Window_0))
MenuTitle("Kunden")
MenuItem(#MENU_9, "Neu")
MenuItem(#MENU_11, "Löschen")
MenuBar()
MenuItem(#MENU_12, "Anzeigen")
MenuTitle("Aufträge")
MenuItem(#MENU_13, "Neu")
MenuItem(#MENU_15, "Löschen")
MenuBar()
MenuItem(#MENU_16, "Anzeigen")
MenuTitle("Hosting")
MenuItem(#MENU_17, "Neu")
MenuItem(#MENU_19, "Löschen")
MenuBar()
MenuItem(#MENU_20, "Anzeigen")
MenuTitle("Bezahlungen")
MenuItem(#MENU_21, "Anzeigen")
MenuBar()
MenuItem(#MENU_22, "Bezahlen/Erhalten")
MenuBar()
MenuItem(#MENU_23, "Liste Leeren")
MenuTitle("Ansicht")
MenuItem(#MENU_24, "Konto")
MenuBar()
MenuItem(#MENU_25, "Laufende Aufträge")
MenuItem(#MENU_26, "Laufende Arbeitspläne")
MenuBar()
MenuItem(#MENU_28, "Hostings")
MenuBar()
MenuItem(#MENU_29, "Webspace")
MenuItem(#MENU_30, "Mailspace")
MenuItem(#MENU_31, "Traffic")
MenuItem(#MENU_32, "Datenbank")
MenuTitle("Sonstiges")
MenuItem(#MENU_37, "Neuer Reseller")
MenuItem(#MENU_38, "Reseller löschen")
MenuItem(#MENU_39, "Reseller bearbeiten")
MenuBar()
MenuItem(#MENU_40, "Neuer Tarif")
MenuItem(#MENU_41, "Tarif löschen")
MenuItem(#MENU_42, "Tarif bearbeiten")
EndIf
;- Panel6
PanelGadget(#Panel_2, 0, 0, 800, 610)
EndIf
EndProcedure
Procedure ConnectDatabase(odbc$,user$,pass$)
If UseODBCDatabase() = 0
ProcedureReturn #False
EndIf
If OpenDatabase(0,odbc$,user$,pass$)
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
Procedure.s ExePath()
ExePath$ = Space(1000)
GetModuleFileName_(0,@ExePath$,1000)
ProcedureReturn GetPathPart(ExePath$)
EndProcedure
Procedure ShowTab(name$,table$,extra$)
AddGadgetItem(#Panel_2,-1,name$)
DatabaseQuery(0, "SELECT * FROM "+table$+extra$)
Anz=DatabaseColumns(0)
Dim Col(Anz)
For i = 0 To Anz-1
If i = 1
ListIconGadget(50+CountGadgetItems(#Panel_2),0,0,800,610,DatabaseColumnName(0,i),100,#PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
ElseIf i > 1
AddGadgetColumn(50+CountGadgetItems(#Panel_2),i-1,DatabaseColumnName(0,i),100)
EndIf
Col(i)=DatabaseColumnType(0,i)
Next
While NextDatabaseRow(0)
str$=""
For i = 1 To Anz-1
If Col(i)=#PB_Database_Long
str$+Str(GetDatabaseLong(0,i))+Chr(10)
ElseIf Col(i)=#PB_Database_String
str$+GetDatabaseString(0,i)+Chr(10)
ElseIf Col(i)=#PB_Database_Float
str$+StrF(GetDatabaseFloat(0,i))+Chr(10)
ElseIf Col(i)=#PB_Database_Double
str$+StrD(GetDatabaseDouble(0,i))+Chr(10)
EndIf
Next
str$=Mid(str$,1,Len(str$)-1)
AddGadgetItem(50+CountGadgetItems(#Panel_2),-1,str$)
Wend
FinishDatabaseQuery(0)
EndProcedure
Procedure ShowWin(nr,name$,sql$)
OpenWindow(nr,0,0,640,520,name$,#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetActiveWindow(nr)
DatabaseQuery(0,sql$)
Anz=DatabaseColumns(0)
Dim Col(Anz)
For i = 1 To Anz-1
If i = 1
ListIconGadget(100+nr,0,0,640,520,DatabaseColumnName(0,i),100)
ElseIf i > 1
AddGadgetColumn(100+nr,i-1,DatabaseColumnName(0,i),100)
EndIf
Col(i)=DatabaseColumnType(0,i)
Next
While NextDatabaseRow(0)
str$=""
For i = 0 To Anz-1
If Col(i)=#PB_Database_Long
str$+Str(GetDatabaseLong(0,i))+Chr(10)
ElseIf Col(i)=#PB_Database_String
str$+GetDatabaseString(0,i)+Chr(10)
ElseIf Col(i)=#PB_Database_Float
str$+StrF(GetDatabaseFloat(0,i))+Chr(10)
ElseIf Col(i)=#PB_Database_Double
str$+StrD(GetDatabaseDouble(0,i))+Chr(10)
EndIf
Next
str$=Mid(str$,1,Len(str$)-1)
AddGadgetItem(100+nr,-1,str$)
Wend
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
FinishDatabaseQuery(0)
CloseWindow(nr)
SetActiveWindow(#Window_0)
EndProcedure
Procedure History()
ClearGadgetItems(#Panel_2)
Anz = ListSize(Tab())
For i = 1 To Anz
SelectElement(Tab(),i-1)
If i = Anz
ShowTab(Tab()\Name,Tab()\Table,Tab()\Extra)
Else
ShowTab(Tab()\Name+"->",Tab()\Table,Tab()\Extra)
EndIf
Next
EndProcedure
Procedure AddHistory(Name$,Table$,Extra.s)
AddElement(Tab())
Tab()\Name = Name$
Tab()\Table = Table$
Tab()\Extra = Extra$
History()
EndProcedure
Procedure DelTabIfExist(Name$)
found=-1
ForEach Tab()
If Tab()\Name = Name$
found=ListIndex(Tab())
EndIf
Next
If found >= 0
SelectElement(Tab(),found)
DeleteElement(Tab())
EndIf
History()
EndProcedure
Procedure ClearHistory()
ClearGadgetItems(#Panel_2)
ClearList(Tab())
EndProcedure
Procedure AddKunde()
WinID=OpenWindow(#PB_Any, 497, 417, 165, 200, "Neuer Kunde", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OldGadgetList = UseGadgetList(WindowID(WinID))
TextGadget(110, 0, 10, 70, 20, "KundenID")
TextGadget(111, 0, 30, 70, 20, "Username ")
TextGadget(112, 0, 50, 70, 20, "Passwort")
TextGadget(113, 0, 70, 70, 20, "Vorname")
TextGadget(114, 0, 90, 70, 20, "Nachname")
TextGadget(115, 0, 110, 70, 20, "Adresse")
TextGadget(116, 0, 130, 70, 20, "Mail")
TextGadget(117, 0, 150, 70, 20, "Sonstiges")
StringGadget(11, 70, 10, 90, 20, "")
StringGadget(12, 70, 30, 90, 20, "")
StringGadget(13, 70, 50, 90, 20, "")
StringGadget(14, 70, 70, 90, 20, "")
StringGadget(15, 70, 90, 90, 20, "")
StringGadget(16, 70, 110, 90, 20, "")
StringGadget(17, 70, 130, 90, 20, "")
StringGadget(18, 70, 150, 90, 20, "")
ButtonGadget(10, 0, 180, 160, 20, "Hinzufügen")
Quit10=0
Repeat
WinEvent=WaitWindowEvent()
If Winevent = #PB_Event_Gadget
If EventGadget() = 10
DatabaseUpdate(0,"INSERT INTO Kunden (KundenID,Username,Passwort,Vorname,Nachname,Adresse,Mail,Sonstiges) VALUES('"+GetGadgetText(11)+"','"+GetGadgetText(12)+"','"+GetGadgetText(13)+"','"+GetGadgetText(14)+"','"+GetGadgetText(15)+"','"+GetGadgetText(16)+"','"+GetGadgetText(17)+"','"+GetGadgetText(18)+"')")
FinishDatabaseQuery(0)
Quit10=1
EndIf
EndIf
Until WinEvent=#PB_Event_CloseWindow Or Quit10=1
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
History()
EndProcedure
Procedure DelKunde()
WinID=OpenWindow(#PB_Any, 497, 417, 165, 65, "Kunde Löschen", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OldGadgetList = UseGadgetList(WindowID(WinID))
TextGadget(110, 0, 10, 70, 20, "KundenID")
StringGadget(11, 70, 10, 90, 20, "")
ButtonGadget(10, 0, 40, 160, 20, "Löschen")
Quit10=0
Repeat
WinEvent=WaitWindowEvent()
If Winevent = #PB_Event_Gadget
If EventGadget() = 10
KID$=GetGadgetText(11)
DatabaseQuery(0, "SELECT AuftragID FROM Aufträge WHERE KundenID='"+KID$+"'")
While NextDatabaseRow(0)
AID$=GetDatabaseString(0,0)
DatabaseUpdate(0,"DELETE FROM Hosting WHERE AuftragID='"+AID$+"'")
DatabaseUpdate(0,"DELETE FROM Arbeitsplan WHERE AuftragID='"+AID$+"'")
DatabaseUpdate(0,"DELETE FROM Bezahlungen WHERE AuftragID='"+AID$+"'")
DatabaseUpdate(0,"DELETE FROM Webspace WHERE AuftragID='"+AID$+"'")
DatabaseUpdate(0,"DELETE FROM Mailspace WHERE AuftragID='"+AID$+"'")
DatabaseUpdate(0,"DELETE FROM Traffic WHERE AuftragID='"+AID$+"'")
DatabaseUpdate(0,"DELETE FROM Datenbank WHERE AuftragID='"+AID$+"'")
DatabaseUpdate(0,"DELETE FROM Aufträge WHERE AuftragID='"+AID$+"'")
FinishDatabaseQuery(0)
Wend
DatabaseUpdate(0,"DELETE FROM Kunden WHERE KundenID='"+KID$+"'")
FinishDatabaseQuery(0)
Quit10=1
EndIf
EndIf
Until WinEvent=#PB_Event_CloseWindow Or Quit10=1
CloseWindow(WinID)
UseGadgetList(WindowID(OldGadgetList))
History()
EndProcedure
Procedure AddAuftrag(KID$)
WinID=OpenWindow(#PB_Any, 0, 0, 165, 305, "Neuer Auftrag",#PB_Window_SystemMenu | #PB_Window_ScreenCentered,WindowID(#Window_0))
OldGadgetList = UseGadgetList(WindowID(WinID))
TextGadget(110, 0, 10, 70, 20, "KundenID")
TextGadget(111, 0, 30, 70, 20, "AuftragID ")
TextGadget(112, 0, 50, 70, 20, "Name")
TextGadget(113, 0, 70, 70, 20, "Datum")
TextGadget(114, 0, 90, 70, 20, "Beschreibung")
TextGadget(120, 0, 110, 70, 20, "Webspace")
TextGadget(121, 0, 130, 70, 20, "Mailspace")
TextGadget(122, 0, 150, 70, 20, "Traffic")
TextGadget(123, 0, 170, 70, 20, "Datenbank")
TextGadget(140, 0, 190, 70, 20, "Domains")
TextGadget(116, 0, 230, 70, 20, "Arbeitsplan")
TextGadget(117, 0, 250, 70, 20, "End Datum")
StringGadget(11, 70, 10, 90, 20, "")
StringGadget(12, 70, 30, 90, 20, "")
StringGadget(13, 70, 50, 90, 20, "")
StringGadget(14, 70, 70, 90, 20, "")
StringGadget(15, 70, 90, 90, 20, "")
OptionGadget(118,0,210,80,20,"Erstellung")
OptionGadget(119,80,210,80,20,"Hosting")
StringGadget(16, 70, 230, 70, 20, "")
StringGadget(17, 70, 250, 90, 20, "")
StringGadget(124, 70, 110, 70, 20, "")
StringGadget(125, 70, 130, 70, 20, "")
StringGadget(126, 70, 150, 70, 20, "")
StringGadget(127, 70, 170, 70, 20, "")
StringGadget(134, 70, 190, 70, 20, "")
ButtonGadget(128, 140, 110, 20, 20, "+")
ButtonGadget(129, 140, 130, 20, 20, "+")
ButtonGadget(130, 140, 150, 20, 20, "+")
ButtonGadget(131, 140, 170, 20, 20, "+")
ButtonGadget(132, 140, 230, 20, 20, "+")
ButtonGadget(133, 140, 190, 20, 20, "+")
ButtonGadget(10, 0, 280, 160, 20, "Hinzufügen")
SetGadgetState(118,1)
SetGadgetText(11,KID$)
SetGadgetText(14,FormatDate("%dd.%mm.%yyyy",Date()))
Quit10=0
ApID$=""
Repeat
WinEvent=WaitWindowEvent()
If Winevent = #PB_Event_Gadget
If EventGadget() = 118
DisableGadget(16,0)
DisableGadget(17,0)
DisableGadget(132,0)
ElseIf EventGadget() = 119
DisableGadget(16,1)
DisableGadget(17,1)
DisableGadget(132,1)
ElseIf EventGadget() = 128 And GetGadgetText(12)<>"" ;web
ID$ = AddExtra(GetGadgetText(12),"webspace")
If GetGadgetText(124)=""
SetGadgetText(124,ID$)
Else
SetGadgetText(124,GetGadgetText(124)+" & "+ID$)
EndIf
ElseIf EventGadget() = 129 And GetGadgetText(12)<>"" ;mail
ID$ = AddExtra(GetGadgetText(12),"mailspace")
If GetGadgetText(125)=""
SetGadgetText(125,ID$)
Else
SetGadgetText(125,GetGadgetText(125)+" & "+ID$)
EndIf
ElseIf EventGadget() = 130 And GetGadgetText(12)<>"" ;traffic
ID$ = AddExtra(GetGadgetText(12),"traffic")
If GetGadgetText(126)=""
SetGadgetText(126,ID$)
Else
SetGadgetText(126,GetGadgetText(126)+" & "+ID$)
EndIf
ElseIf EventGadget() = 131 And GetGadgetText(12)<>"" ;data
ID$ = AddExtra(GetGadgetText(12),"datenbank")
If GetGadgetText(127)=""
SetGadgetText(127,ID$)
Else
SetGadgetText(127,GetGadgetText(127)+" & "+ID$)
EndIf
ElseIf EventGadget() = 133 And GetGadgetText(12)<>"" ;data
ID$ = AddExtra(GetGadgetText(12),"domains")
If GetGadgetText(134)=""
SetGadgetText(134,ID$)
Else
SetGadgetText(134,GetGadgetText(134)+" & "+ID$)
EndIf
ElseIf EventGadget() = 132 And GetGadgetText(12)<>"" ;AP
ApID$ = AddArbeitsplan(GetGadgetText(12))
SetGadgetText(16,ApID$)
ElseIf EventGadget() = 10
;DatabaseUpdate(0,"INSERT INTO Kunden (KundenID,Username,Passwort,Vorname,Nachname,Adresse,Mail,Sonstiges) VALUES('"+GetGadgetText(11)+"','"+GetGadgetText(12)+"','"+GetGadgetText(13)+"','"+GetGadgetText(14)+"','"+GetGadgetText(15)+"','"+GetGadgetText(16)+"','"+GetGadgetText(17)+"','"+GetGadgetText(18)+"')")
Quit10=1
EndIf
EndIf
Until WinEvent=#PB_Event_CloseWindow Or Quit10=1
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
History()
EndProcedure
Procedure.s AddArbeitsplan(AuftragID$)
Structure Arbeitsplan
Tarif.s
Zeit.s
Bearbeiter.s
Datum.s
Beschreibung.s
Status.s
RechnungsID.s
EndStructure
Protected NewList AP.Arbeitsplan()
WinID=OpenWindow(#PB_Any, 334, 409, 630, 405, "Arbeitsplan",#PB_Window_SystemMenu | #PB_Window_ScreenCentered,WindowID(10))
OldGadgetList = UseGadgetList(WindowID(WinID))
TextGadget(150, 0, 10, 50, 20, "AuftragID:")
TextGadget(151, 180, 10, 70, 20, "ArbeitsplanID:")
StringGadget(159, 60, 10, 100, 20, "")
StringGadget(158, 250, 10, 110, 20, "")
SetGadgetText(159,AuftragID$)
ListIconGadget(160, 0, 40, 630, 280, "#", 40,#PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(160, 1, "Tarif", 80)
AddGadgetColumn(160, 2, "Zeit(h)", 50)
AddGadgetColumn(160, 3, "Bearbeiter", 100)
AddGadgetColumn(160, 4, "Datum", 70)
AddGadgetColumn(160, 5, "Beschreibung", 110)
AddGadgetColumn(160, 6, "Status", 86)
AddGadgetColumn(160, 7, "RechnungsID", 90)
TextGadget(152, 0, 330, 30, 20, "Tarif:")
TextGadget(153, 100, 330, 30, 20, "Zeit(h):")
TextGadget(154, 140, 330, 60, 20, "Bearbeiter:")
TextGadget(155, 240, 330, 40, 20, "Datum:")
TextGadget(156, 320, 330, 80, 20, "Beschreibung:")
TextGadget(174, 460, 330, 40, 20, "Status:")
TextGadget(157, 550, 330, 60, 20, "Rechnung:")
ComboBoxGadget(161, 0, 350, 90, 20)
StringGadget(162, 100, 350, 30, 20, "")
StringGadget(163, 140, 350, 90, 20, "")
StringGadget(164, 240, 350, 70, 20, "")
StringGadget(165, 320, 350, 130, 20, "")
StringGadget(166, 460, 350, 80, 20, "")
StringGadget(167, 550, 350, 50, 20, "")
ButtonGadget(175, 600, 350, 20, 20, "+")
ButtonGadget(168, 0, 380, 30, 20, "+")
ButtonGadget(169, 50, 380, 30, 20, "-")
ButtonGadget(170, 450, 380, 170, 20, "Arbeitsplan speichern")
ButtonGadget(171, 100, 380, 50, 20, "Auf")
ButtonGadget(172, 170, 380, 50, 20, "Ab")
ButtonGadget(173, 270, 380, 130, 20, "Abbrechen")
SetGadgetText(166,"unbearbeitet")
DatabaseQuery(0, "SELECT Name FROM Tarife")
AddGadgetItem(161,-1,"")
While NextDatabaseRow(0)
AddGadgetItem(161,-1,GetDatabaseString(0,0))
Wend
FinishDatabaseQuery(0)
P_Return$=""
Quit20=0
Repeat
WinEvent=WaitWindowEvent()
If Winevent = #PB_Event_Gadget
If EventGadget() = 175 ;rechnung
If GetGadgetText(159)
SetGadgetText(167,AddRechnung(GetGadgetText(159),GetGadgetText(161),GetGadgetText(162)))
EndIf
ElseIf EventGadget() = 168 ;add
If GetGadgetText(167)="Erstellen"
rech$=""
Else
rech$=GetGadgetText(167)
EndIf
AddElement(AP())
AP()\Tarif = GetGadgetText(161)
AP()\Zeit = GetGadgetText(162)
AP()\Bearbeiter = GetGadgetText(163)
AP()\Datum = GetGadgetText(164)
AP()\Beschreibung = GetGadgetText(165)
AP()\Status = GetGadgetText(166)
AP()\RechnungsID = rech$
SetGadgetState(161,0)
SetGadgetText(162,"")
SetGadgetText(163,"")
SetGadgetText(165,"")
SetGadgetText(167,"")
ClearGadgetItems(160)
i=10
ForEach AP()
AddGadgetItem(160,-1,Str(i)+Chr(10)+AP()\Tarif+Chr(10)+AP()\Zeit+Chr(10)+AP()\Bearbeiter+Chr(10)+AP()\Datum+Chr(10)+AP()\Beschreibung+Chr(10)+AP()\Status+Chr(10)+AP()\RechnungsID)
i+10
Next
ElseIf EventGadget() = 169 ;del
pos=GetGadgetState(160)
SelectElement(AP(),pos)
DeleteElement(AP())
ClearGadgetItems(160)
i=10
ForEach AP()
AddGadgetItem(160,-1,Str(i)+Chr(10)+AP()\Tarif+Chr(10)+AP()\Zeit+Chr(10)+AP()\Bearbeiter+Chr(10)+AP()\Datum+Chr(10)+AP()\Beschreibung+Chr(10)+AP()\Status+Chr(10)+AP()\RechnungsID)
i+10
Next
ElseIf EventGadget() = 171 ;Auf
pos=GetGadgetState(160)
If pos > 0
SelectElement(AP(),pos)
*FirstElement = @AP()
SelectElement(AP(),pos-1)
*SecondElement = @AP()
SwapElements(AP(),*FirstElement,*SecondElement)
EndIf
ClearGadgetItems(160)
i=10
ForEach AP()
AddGadgetItem(160,-1,Str(i)+Chr(10)+AP()\Tarif+Chr(10)+AP()\Zeit+Chr(10)+AP()\Bearbeiter+Chr(10)+AP()\Datum+Chr(10)+AP()\Beschreibung+Chr(10)+AP()\Status+Chr(10)+AP()\RechnungsID)
i+10
Next
ElseIf EventGadget() = 172 ;Ab
pos=GetGadgetState(160)
If pos < ListSize(AP())-1
SelectElement(AP(),pos)
*FirstElement = @AP()
SelectElement(AP(),pos+1)
*SecondElement = @AP()
SwapElements(AP(),*FirstElement,*SecondElement)
EndIf
ClearGadgetItems(160)
i=10
ForEach AP()
AddGadgetItem(160,-1,Str(i)+Chr(10)+AP()\Tarif+Chr(10)+AP()\Zeit+Chr(10)+AP()\Bearbeiter+Chr(10)+AP()\Datum+Chr(10)+AP()\Beschreibung+Chr(10)+AP()\Status+Chr(10)+AP()\RechnungsID)
i+10
Next
ElseIf EventGadget() = 170 ;save
APID$=GetGadgetText(158)
If GetGadgetText(158)<>"" And GetGadgetText(159)<>""
i=10
ForEach AP()
DatabaseUpdate(0,"INSERT INTO Arbeitsplan (ArbeitsplanID,AuftragID,Arbeitsgang,Tarif,Zeit,Beschreibung,state,RechnungsID,Datum,Bearbeiter) VALUES ('"+GetGadgetText(158)+"','"+GetGadgetText(159)+"',"+Str(i)+",'"+AP()\Tarif+"',"+AP()\Zeit+",'"+AP()\Beschreibung+"','"+AP()\Status+"','"+AP()\RechnungsID+"','"+AP()\Datum+"','"+AP()\Bearbeiter+"')")
i+10
Next
FinishDatabaseQuery(0)
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
ProcedureReturn APID$
EndIf
ElseIf EventGadget() = 173 ;abbort
P_Return$=""
Quit20=1
EndIf
EndIf
Until WinEvent=#PB_Event_CloseWindow Or Quit20=1
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
ProcedureReturn P_Return$
EndProcedure
Procedure.s AddRechnung(AuftragID$,Tarif$,Zeit$)
WinID=OpenWindow(#PB_Any, 396, 599, 160, 190, "Rechnung",#PB_Window_SystemMenu | #PB_Window_ScreenCentered,WindowID(20))
OldGadgetList = UseGadgetList(WindowID(WinID))
TextGadget(200, 0, 10, 60, 20, "AuftragsID:")
TextGadget(201, 0, 30, 80, 20, "RechnungsID:")
TextGadget(202, 0, 50, 30, 20, "Preis:")
OptionGadget(203, 80, 50, 70, 20, "Monatlich")
OptionGadget(204, 80, 70, 60, 20, "Jährlich")
OptionGadget(205, 80, 90, 60, 20, "Einamlig")
SetGadgetState(205,1)
TextGadget(206, 0, 110, 40, 20, "Höhe:")
StringGadget(207, 80, 10, 80, 20, "")
SetGadgetText(207,AuftragID$)
StringGadget(208, 80, 30, 80, 20, "")
StringGadget(209, 80, 110, 50, 20, "")
ComboBoxGadget(210, 20, 140, 120, 20)
ButtonGadget(211, 0, 170, 160, 20, "Speichern")
TextGadget(212, 140, 110, 20, 20, "€")
DatabaseQuery(0, "SELECT * FROM Tarife")
fount=0
While NextDatabaseRow(0)
Tarif2$=GetDatabaseString(0,2)
If Tarif2$=Tarif$
h$=Str(GetDatabaseLong(0,4))
m$=Str(GetDatabaseLong(0,5))
y$=Str(GetDatabaseLong(0,6))
e$=Str(GetDatabaseLong(0,7))
If h$<>"0"
Zeit=Val(Zeit$)
PreisA=Val(h$)
Preis$=Str(PreisA*Zeit)
SetGadgetText(209,Preis$)
SetGadgetState(205,1)
ElseIf m$<>"0"
SetGadgetText(209,m$)
SetGadgetState(203,1)
ElseIf y$<>"0"
SetGadgetText(209,y$)
SetGadgetState(204,1)
ElseIf e$<>"0"
SetGadgetText(209,e$)
SetGadgetState(205,1)
EndIf
AddGadgetItem(210,-1,GetDatabaseString(0,3))
SetGadgetState(210,0)
fount=1
EndIf
Wend
FinishDatabaseQuery(0)
If fount=0
AddGadgetItem(210,-1,"Ausgabe")
AddGadgetItem(210,-1,"Einnahme")
SetGadgetState(210,0)
EndIf
P_Return$=""
Repeat
WinEvent=WaitWindowEvent()
If Winevent = #PB_Event_Gadget
If EventGadget() = 211
ID2$=GetGadgetText(207)
ID1$=GetGadgetText(208)
If ID2$<>"" And ID1$<>""
If GetGadgetState(203)
DatabaseUpdate(0,"INSERT INTO Rechnungen (RechnungsID,PreisMonat,AuftragID,EinAusgabe) VALUES ('"+ID1$+"','"+GetGadgetText(209)+"',"+GetGadgetText(207)+",'"+GetGadgetText(210)+"')")
ElseIf GetGadgetState(204)
DatabaseUpdate(0,"INSERT INTO Rechnungen (RechnungsID,PreisJahr,AuftragID,EinAusgabe) VALUES ('"+ID1$+"','"+GetGadgetText(209)+"',"+GetGadgetText(207)+",'"+GetGadgetText(210)+"')")
ElseIf GetGadgetState(205)
DatabaseUpdate(0,"INSERT INTO Rechnungen (RechnungsID,PreisEinmalig,AuftragID,EinAusgabe) VALUES ('"+ID1$+"','"+GetGadgetText(209)+"',"+GetGadgetText(207)+",'"+GetGadgetText(210)+"')")
EndIf
Debug DatabaseError()
FinishDatabaseQuery(0)
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
ProcedureReturn ID1$
EndIf
EndIf
EndIf
Until WinEvent=#PB_Event_CloseWindow
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
ProcedureReturn P_Return$
EndProcedure
Procedure.s GetTabName()
Index=GetGadgetState(#Panel_2)
SelectElement(Tab(),Index)
ProcedureReturn Tab()\Table
EndProcedure
Procedure.s AddExtra(AuftragID$,Extra$)
If Extra$="webspace" Or Extra$="mailspace" Or Extra$="traffic"
Type$="Grösse"
ElseIf Extra$="datenbank"
Type$="Anzahl"
ElseIf Extra$="domains"
Type$="Typ"
EndIf
WinID=OpenWindow(#PB_Any,0,0, 195, 165, Extra$,#PB_Window_SystemMenu | #PB_Window_ScreenCentered,WindowID(10))
OldGadgetList = UseGadgetList(WindowID(WinID))
TextGadget(158, 0, 10, 50, 20, "AuftragID:")
TextGadget(159, 0, 30, 80, 20, Extra$+"ID:")
TextGadget(160, 0, 50, 50, 20, "Reseller:")
TextGadget(161, 0, 70, 40, 20, Type$+":")
TextGadget(162, 0, 90, 70, 20, "Beschreibung:")
TextGadget(163, 0, 110, 70, 20, "RechnungID:")
StringGadget(150, 80, 10, 110, 20, "")
StringGadget(151, 80, 30, 110, 20, "")
ComboBoxGadget(152, 80, 50, 110, 20)
StringGadget(153, 80, 70, 110, 20, "")
StringGadget(154, 80, 90, 110, 20, "")
StringGadget(155, 80, 110, 90, 20, "")
ButtonGadget(156, 170, 110, 20, 20, "+")
ButtonGadget(157, 10, 140, 170, 20, "Speichern")
SetGadgetText(150,AuftragID$)
Structure Reseller
ID.l
ResellerID.s
Name.s
EndStructure
Protected NewList Reseller.Reseller()
DatabaseQuery(0, "SELECT * FROM Reseller")
i=0
While NextDatabaseRow(0)
name$ = GetDatabaseString(0,3)
AddElement(Reseller())
Reseller()\ID=i
Reseller()\ResellerID=GetDatabaseString(0,1)
Reseller()\Name=name$
AddGadgetItem(152,i,name$)
i+1
Wend
FinishDatabaseQuery(0)
SetGadgetState(152,0)
SelectElement(Reseller(),GetGadgetState(152))
DatabaseQuery(0, "SELECT "+Extra$+" FROM Reseller WHERE ResellerID='"+Reseller()\ResellerID+"'")
While NextDatabaseRow(0)
SetGadgetText(153,Str(GetDatabaseLong(0,0)))
Wend
FinishDatabaseQuery(0)
P_Return$=""
Quit20=0
Repeat
WinEvent=WaitWindowEvent()
If Winevent = #PB_Event_Gadget
If EventGadget() = 175 ;rechnung
If GetGadgetText(156)
SetGadgetText(155,AddRechnung(GetGadgetText(150),"",""))
EndIf
ElseIf EventGadget() = 152 ;reseller
SelectElement(Reseller(),GetGadgetState(152))
DatabaseQuery(0, "SELECT "+Extra$+" FROM Reseller WHERE ResellerID='"+Reseller()\ResellerID+"'")
While NextDatabaseRow(0)
SetGadgetText(153,Str(GetDatabaseLong(0,0)))
Wend
FinishDatabaseQuery(0)
ElseIf EventGadget() = 157 ;save
ID$=GetGadgetText(151)
If ID$<>"" And GetGadgetText(150)<>""
SelectElement(Reseller(),GetGadgetState(152))
DatabaseUpdate(0,"INSERT INTO "+Extra$+" ("+Extra$+"ID, AuftragID, ResellerID, "+Type$+", Beschreibung, RechnungsID) VALUES ('"+ID$+"','"+GetGadgetText(150)+"','"+Reseller()\ResellerID+"','"+GetGadgetText(153)+"','"+GetGadgetText(154)+"','"+GetGadgetText(155)+"')")
FinishDatabaseQuery(0)
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
ProcedureReturn ID$
EndIf
EndIf
EndIf
Until WinEvent=#PB_Event_CloseWindow Or Quit20=1
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
ProcedureReturn P_Return$
EndProcedure
If ConnectDatabase("myodbc","root","") = 0
MessageRequester("ERROR","Cannot connect to Database")
End
EndIf
Open_Window_0()
AddHistory("Kunden","Kunden","")
History()
Global Kunde.s
Repeat
WinEvent=WaitWindowEvent()
Select WinEvent
Case #PB_Event_Gadget
If EventGadget()=51+GetGadgetState(#Panel_2)
If EventType()=#PB_EventType_LeftDoubleClick
table$=GetTabName()
Select table$
Case "Kunden"
KID$=GetGadgetItemText(51+GetGadgetState(#Panel_2),GetGadgetState(51+GetGadgetState(#Panel_2)),0)
Kunde = KID$
DelTabIfExist("Aufträge")
AddHistory("Aufträge","Aufträge"," WHERE KundenID='"+KID$+"'")
SetGadgetState(#Panel_2,1)
EndSelect
EndIf
EndIf
Case #PB_Event_Menu
MenuEvent=EventMenu()
Select MenuEvent
;-Menu Kunden
Case #MENU_9
AddKunde()
Case #MENU_11
DelKunde()
Case #MENU_12
ClearHistory()
AddHistory("Kunden","Kunden","")
;-Menu Aufträge
Case #MENU_13
If GetTabName()="Aufträge" And Kunde<>""
AddAuftrag(Kunde)
Else
AddAuftrag("")
EndIf
Case #MENU_15
;"Löschen"
Case #MENU_16
ClearHistory()
AddHistory("Aufträge","Aufträge","")
;-Menu Hosting
Case #MENU_17
;"Neu"
Case #MENU_19
;"Löschen"
Case #MENU_20
ClearHistory()
AddHistory("Hosting","Hosting","")
;-Menu Bezahlungen
Case #MENU_21
ClearHistory()
AddHistory("Bezahlungen","Bezahlungen","")
Case #MENU_22
;"Bezahlen/Erhalten"
Case #MENU_23
;"Liste Leeren"
;-Menu Anzeigen
Case #MENU_24
ShowWin(101,"Konto","")
Case #MENU_25
ShowWin(102,"Aufträge","")
Case #MENU_26
ShowWin(103,"Arbeitspläne","")
Case #MENU_28
ShowWin(104,"Hosting","SELECT * FROM Hosting")
Case #MENU_29
ShowWin(105,"Webspace","SELECT * FROM Webspace")
Case #MENU_30
ShowWin(106,"Mailspace","SELECT * FROM Mailspace")
Case #MENU_31
ShowWin(107,"Traffic","SELECT * FROM Traffic")
Case #MENU_32
ShowWin(108,"Datenbank","SELECT * FROM Datenbank")
EndSelect
Case #PB_Event_CloseWindow
Quit=1
EndSelect
Until Quit=1
Hier steht normalerweise die Putzfrau drin,
die hat aber Urlaub.
MfG : Unix
die hat aber Urlaub.
MfG : Unix
- unix
- Beiträge: 361
- Registriert: 15.02.2005 19:25
- Wohnort: Zwischen Coburg und Bamberg :-)
- Kontaktdaten:
ja schon klar aber das sollte eine gültige nummer sein dank UseGadgetList() ermittelt ja die alte ID die es auch gibt
und vorher gibt es scho ein fenster
oder braucht da open window nen parentWindow
Code: Alles auswählen
WinID=OpenWindow(#PB_Any, 497, 417, 165, 200, "Neuer Kunde", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OldGadgetList = UseGadgetList(WindowID(WinID))
CloseWindow(WinID)
UseGadgetList(OldGadgetList)
oder braucht da open window nen parentWindow
Hier steht normalerweise die Putzfrau drin,
die hat aber Urlaub.
MfG : Unix
die hat aber Urlaub.
MfG : Unix
Du schliesst ein Fenster und willst auf dessen Gadgetliste zugreifen...
Das kann nicht klappen.
Ich frag mich sowieso, warum du die WinID speicherst ... wenn das Fenster eh gleich wieder geschlossen wird....
Das kann nicht klappen.
Ich frag mich sowieso, warum du die WinID speicherst ... wenn das Fenster eh gleich wieder geschlossen wird....
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom