Hotelsoftware - Umsetzung Zimmerplan - Mitarbeiter gesucht

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Hotelsoftware - Umsetzung Zimmerplan - Mitarbeiter gesucht

Beitrag von smateja »

Hallo zusammen, leider komme ich mit meinen spärlichen Programmier-Kenntnissen selbst nicht mehr weiter mit meinem Projekt und hoffe auf eventuelle zusammenarbeit mit anderen Programmieren aus der Purebasic-Szene.

Das Grundgerüst meiner Hotelsoftware, sowie Anbindung an einen MySql-Server ohne die Verwendung von ODBC steht, nur habe ich große Schwierigkeiten im Umsetzten des grafischen Zimmerplanes.

Evtl. ist jemand bereit zu helfen und interessiert an der Mithilfe bei diesem Projekt - Gerne bin ich auch bereit hier Zeitaufwand zu entschädigen, gerne auch vertraglich gebunden etc.

Wer also Interesse, Fragen etc diesbezüglich hat, bitte E-Mail an sm@gastrodat.de
PB 4.6 / 32 Bit / 64 Bit
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Nachtrag

Beitrag von smateja »

Für all diejenigen, die nicht wissen, oder isch nicht vorstellen können was ein Grafischer Zimmerplan ist, bzw wie ein solcher aussieht, hier mal ein Screenhshot:

Bild
PB 4.6 / 32 Bit / 64 Bit
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

...hatten wir nich vor längerem schonmal drüber geredet...? *grübel*
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Beitrag von smateja »

jup - aber schier nicht machbar für mich - bin bizzi zu doof für glaub - *G

bin aber schon n klein stückchen weiter:


Code: Alles auswählen


Procedure Zimmerplan_Variablen()

Global Fenster_Hintergrund=RGB(198, 198, 198)

Global Zelle_Hohe.l=20
Global Zelle_Breite.l=20

Global Zimmerbreite.l=100

Global Offset_X.l=20
Global Offset_Y.l=80

Global Zeilen_Abstand_Y.l=20

Global Skalierungsrate.l=5

Global Farbe_1=RGB(222, 222, 222)
Global Farbe_2=RGB(86, 86, 86)
Global Farbe_3=RGB(234, 234, 234)


EndProcedure

Procedure Zimmerplan_Initialisierung()
InitSprite()

OpenWindow(691, 0,0, 800,600, "Hoga-Tec Zimmerplan",#PB_Window_ScreenCentered|#PB_Window_BorderLess)
		CreateGadgetList(WindowID(691))
			OpenWindowedScreen(WindowID(691), 0, 0, 800, 600, 1, 0, 0)
		
OpenWindow(500,0,0,300,300,"Menü")
	CreateGadgetList(WindowID(500))
	
  	ButtonGadget(500,0,0,100,20,"Zell H+")
  	ButtonGadget(501,0,21,100,20,"Zell H-")
  	
  	ButtonGadget(502,0,42,100,20,"Zell B+")
  	ButtonGadget(503,0,63,100,20,"Zell B-")	
  	
  	ButtonGadget(504,0,84,100,20,"Zimmer+")
  	ButtonGadget(505,0,105,100,20,"Zimmer-")	
  	
  	ButtonGadget(509,110, 0,100,20,"Offset X+")
  	ButtonGadget(510,110,21,100,20,"Offset X-")
  	ButtonGadget(511,110,42,100,20,"Offset Y+")
  	ButtonGadget(512,110,63,100,20,"Offset Y-")	
  	
  	ButtonGadget(514,110,84,100,20,"Z-Abstand +")
  	ButtonGadget(515,110,105,100,20,"Z-Abstand -")
  	  	
  	ButtonGadget(506,0,130,100,20,"Farbe Hintergrund")
  	ButtonGadget(507,0,151,100,20,"Farbe Linien")
  	ButtonGadget(508,0,172,100,20,"Farbe Füllung")
  	ButtonGadget(513,0,193,100,20,"Farbe Fenster")
		
		
		
		
		
SetFrameRate(75)	
SetRefreshRate(75)
		
	
	EndProcedure

Procedure Sprites_Updaten() ; Erstellen und Updaten der Sprites sowie Berechnung und Neuskalierung
	
	; Normale Zellen

CreateSprite(0, Zelle_Breite.l, Zelle_Hohe.l)
      
      If StartDrawing(SpriteOutput(0))
        Box(0, 0, Zelle_Breite.l, Zelle_Hohe.l, Farbe_1)
        Box(1, 1, Zelle_Breite.l-2, Zelle_Hohe.l-2, Farbe_2)
        Box(2, 2, Zelle_Breite.l-4, Zelle_Hohe.l-4, Farbe_3)
      StopDrawing()

EndIf



; Zellen für Feiertage

CreateSprite(1, Zelle_Breite.l, Zelle_Hohe.l)
      
      If StartDrawing(SpriteOutput(1))
        Box(0, 0, Zelle_Breite.l, Zelle_Hohe.l, Farbe_1)
        Box(1, 1, Zelle_Breite.l-2, Zelle_Hohe.l-2, Farbe_2)
        Box(2, 2, Zelle_Breite.l-4, Zelle_Hohe.l-4, Farbe_3)
      StopDrawing()

		
EndIf
	
; Zellen für Feiertage

CreateSprite(2, Zimmerbreite.l, Zelle_Hohe.l)
      
      If StartDrawing(SpriteOutput(2))
        Box(0, 0, Zimmerbreite.l, Zelle_Hohe.l, Farbe_1)
        Box(1, 1, Zimmerbreite.l-2, Zelle_Hohe.l-2, Farbe_2)
        Box(2, 2, Zimmerbreite.l-4, Zelle_Hohe.l-4, Farbe_3)
      StopDrawing()

		
EndIf	
	

	
EndProcedure

Procedure Zimmerplan_Zeichnen() ; Abbilden des Zimmerplans



	
						FlipBuffers() 
						ClearScreen(Fenster_Hintergrund)
						
						;  Positionierung der einzelnen Hintergrundzellen
               
             For Zeile = 0 To 100 Step 1 
							    For Spalte = 1 To 100 Step 1
											DisplaySprite(0, Zelle_Breite*Spalte+Zimmerbreite.l+Offset_X,Zelle_Hohe*Zeile+Offset_Y.l+Zeilen_Abstand_Y.l*Zeile)
							    Next Spalte 
					   Next Zeile
					   
					   
					  ; Positionierung der Zimmer
					
								For Zeile = 0 To 100 Step 1
											DisplaySprite(2, 0,Zelle_Hohe*0+Offset_Y.l+Zeilen_Abstand_Y.l*Zeile)
								Next Zeile
	
	
	
EndProcedure
		
Procedure Zimmerplan_Maximalwertuberprufung() ; Festlegen und überprüfen der Maximalwerte

If Offset_X.l <=10
	  Offset_X.l = 10
EndIf

If Zimmerbreite.l <=80
	  Zimmerbreite.l = 80
EndIf

If Zimmerbreite.l >=200
	  Zimmerbreite.l =200
EndIf

If Zelle_Hohe.l <= 15
	Zelle_Hohe.l =15
EndIf
						
If Zelle_Hohe.l >= 50
	Zelle_Hohe.l =50
EndIf

If Zelle_Breite.l <= 15
	Zelle_Breite.l =15
EndIf
						
If Zelle_Breite.l >= 50
	Zelle_Breite.l =50
EndIf

If Zeilen_Abstand_Y.l <= 20
	Zeilen_Abstand_Y.l =20
EndIf

If Zeilen_Abstand_Y.l >= 50
	Zeilen_Abstand_Y.l =50
EndIf
	
EndProcedure
				
Procedure Zimmerplan_Events() ; Auswertung der einzelnen Fenster und Buttonevents

Event=WaitWindowEvent()
 
  Select EventWindow()
  	
  	Case 691 ; fenster zimmerplan
  			
  					

  	
  			


		Case 500 ; Menüfenster
		
						
		
		Select Event
     Case #PB_Event_Gadget
          Select EventGadget()
     
     			
     			Case 500: Zelle_Hohe.l=Zelle_Hohe.l+5
     			Case 501: Zelle_Hohe.l=Zelle_Hohe.l-5
     			
     			Case 502: Zelle_Breite.l=Zelle_Breite.l+5
     			Case 503: Zelle_Breite.l=Zelle_Breite.l-5
     			
     			Case 509: Offset_X.l=Offset_X.l+Skalierungsrate.l
     			Case 510: Offset_X.l=Offset_X.l-Skalierungsrate.l
     			
     			Case 511: Offset_Y.l=Offset_Y.l+Skalierungsrate.l
     			Case 512: Offset_Y.l=Offset_Y.l-Skalierungsrate.l
     			
  			  Case 504: Zimmerbreite = Zimmerbreite+Skalierungsrate.l 
  			  Case 505: Zimmerbreite = Zimmerbreite-Skalierungsrate.l 
  			  
  				Case 506: Farbe_1=ColorRequester() 
  				Case 507: Farbe_2=ColorRequester() 
  				Case 508: Farbe_3=ColorRequester() 
  				
  				Case 514: Zeilen_Abstand_Y.l=Zeilen_Abstand_Y.l+1
  				Case 515: Zeilen_Abstand_Y.l=Zeilen_Abstand_Y.l-1
  				
  				Case 513: Fenster_Hintergrund=ColorRequester() 
  		 		
			EndSelect
			EndSelect
  EndSelect



EndProcedure



; Hauptschleife mit vorrangiger Initalisierung und Fenstererstellung


Zimmerplan_Variablen()
Zimmerplan_Initialisierung()


Repeat

Zimmerplan_Maximalwertuberprufung() ; muss als erstes überprüft werden um Flackern bei Max-Wert Überschreitung zu verhindern 
Sprites_Updaten() 
Zimmerplan_Zeichnen()
Zimmerplan_Events()


FreeSprite(0)
FreeSprite(1)
FreeSprite(2)

Until Event = #PB_Event_CloseWindow 
Oder meinste mit dem darüber geredet, dass du da helfen magst?! G*
PB 4.6 / 32 Bit / 64 Bit
Benutzeravatar
Vallan
Beiträge: 223
Registriert: 20.01.2006 19:34
Kontaktdaten:

Beitrag von Vallan »

mmm....
Warum so kompliziert?
//Edit ich blicke bei deinem Code nicht durch! Und den sinn des Kleinen Fensters verstehe ich auch nicht wirklich. DAS kann doch umöglich die von dir gewollte beinoberfläche sein!!!
//EndEdit


Was muss den der Plan können?
- nur belegung speichern ?

Für was sind die Farben da?


Also bitte gib uns details!

Ein ansatz:
Warum nicht einfach ein Bild der größe:
365 (= Tage) * Zimmernanzahl

Das kann man einfach darstellen (Laden Mit Grapimage() ? ) und zoomen...
eigentlich doch kein so großes Problem oder?


PS: Was Wurde beredet?!?
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Faellt das ganze unter "Meine Mutti moechte ein Zimmer vermieten"
oder eher "Wie verwaltet mein Chef sein Hotel" ?
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

RE:

Beitrag von smateja »

Fällt eher unter die Kategorie 2200 Hotels brauche ne neue Lösung, da der alte Delphi rotz nicht unter Vista so läuft und 16 Bit ist etc....

Also Farben bedeuten grün ist ein Angebot - Blau eine Feste reserviertung - rot ist eine Belegung - sprich Gast im Zimmer - Gelb - Gast ausgecheckt.

Welche Infos braucht ihr denn alles?
PB 4.6 / 32 Bit / 64 Bit
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

der screenshot sieht doch eigentlich recht gut aus...
oder ist das nur ein demo, keine lauffähige version?

ich kann dir höchstens in layout-fragen oder beim designen von images zur seite stehen,
mit der programmierung von ImageListGadget-DingensKirchens hab ich mich noch nich befasst....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

RE:

Beitrag von smateja »

also der Screenshot ist von einer fertigen Hotelsoftware und war nur mal als Veranschaulichungs-Beispiel gedacht, was ein grafischer Zimmerplan überhaupt sein soll, da ich gemerkt habe dass es vielen einfach unklar ist.

Der Screenshot hat nichts mit meinem Projekt an sich zu tun.
PB 4.6 / 32 Bit / 64 Bit
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

achso.. ok verstehe...

also im grunde musst du alles from-the-scratch aufziehen...

wie gesagt, von speziellen gadgets hab ich nich so den plan...

ich meine, es gibt ein XGrid oder so, ein spezielles GridGadget, ich weiß nicht was das leistet,
aber eventuell kann das dinge in der richtung, wie du sie bräuchtest...

schau auch mal, ob die PBOSL in der richtung was beinhaltet...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten