Hallo, ich versuch verzweifelt ein Programm zu erstellen, welches folgendes (grob) machen soll :
Ich habe 20 Autos, die ich verleihe (Stundenweise) In eine Tabelle oder Kalender möchte ich dies eintragen und abspeichern, so dass ich immer sehen kann, wann welches Auto verliehen wird/wurde.
Mit dem KalenderGadget ist ein kleiner Kalender möglich - Einträge darin nicht machbar
Ein ListIconGadget habe ich probiert, aber ich benötige 20 Reihen x (365 Tage x 24 Stunden) = Gadget mit 8760 Spalten - da mach der PC nicht mit.
Das wäre sicherlich die idealste Lösung. Ins Gadget klicken und markieren, wann das Auto weg ist. Sowas habe ich schon in einer Hotelsoftware gesehen, wo Zimmer vermietet werden. Jedoch ist das kein Problem, weil die für ganze Tage vermietet werden und damit ein ListIconGadget nur 365 Spalten benötigt.....
Hat jemand eine andere Idee, wie man sowas realisieren kann ? Wo ist die Grenze des Gadegets ?
Kalender oder TimeLine
Kalender oder TimeLine
SYNTAX ERROR IN 30! TYPE MISMATCH
- man-in-black
- Beiträge: 362
- Registriert: 21.08.2006 17:39
Re: Kalender oder TimeLine
Hi,
interessant ist eigentlich die Frage, wie viele Infos du auf einmal wirklich sehen/gedanklich verarbeiten kannst?
Bei der Masse an Daten wirst du "rausgezoomt" keine Details erkennen können. Ergo "zoomst" du auf z.B. eine Monatsansicht
runter. Das ist dann mal so eben 1/12 der ursprünglichen Menge.
Eine Jahresansicht ist mMn nurnoch dann sinnvoll, wenn du Infos zusammenpackst (Farbskala für Gesamtauslastung pro Tag) oder die Übersicht auf ein Fahrzeug beschränkst.
Im letzten Fall müsstest du aber auch den Tag auf grobe Stundenblöcke (vormittags,... -> weniger Zeilen), ... runterbrechen.
Wenn du viel Zeit reinstecken magst, dann bau dir was eigenes mit dem Canvas und stelle wirklich nur das dar, was auch gerade benötigt wird (a la streamen).
Einfacher wäre es jedoch, wenn du 3 Listen (Gadgets) gleichzeitig führst/zeigst: Jahresansicht (stark zusammengefasste Infos), Monatsansicht (kaum zusammengefasst) und Tagesansicht (alle Details).
Ein Klick auf eine der LIsten passt die Infos der anderen an.
MFG
MIB
interessant ist eigentlich die Frage, wie viele Infos du auf einmal wirklich sehen/gedanklich verarbeiten kannst?
Bei der Masse an Daten wirst du "rausgezoomt" keine Details erkennen können. Ergo "zoomst" du auf z.B. eine Monatsansicht
runter. Das ist dann mal so eben 1/12 der ursprünglichen Menge.
Eine Jahresansicht ist mMn nurnoch dann sinnvoll, wenn du Infos zusammenpackst (Farbskala für Gesamtauslastung pro Tag) oder die Übersicht auf ein Fahrzeug beschränkst.
Im letzten Fall müsstest du aber auch den Tag auf grobe Stundenblöcke (vormittags,... -> weniger Zeilen), ... runterbrechen.
Wenn du viel Zeit reinstecken magst, dann bau dir was eigenes mit dem Canvas und stelle wirklich nur das dar, was auch gerade benötigt wird (a la streamen).
Einfacher wäre es jedoch, wenn du 3 Listen (Gadgets) gleichzeitig führst/zeigst: Jahresansicht (stark zusammengefasste Infos), Monatsansicht (kaum zusammengefasst) und Tagesansicht (alle Details).
Ein Klick auf eine der LIsten passt die Infos der anderen an.
MFG
MIB
Re: Kalender oder TimeLine
Auch eine interessante Herangehensweise....
Die Sache ist ja, dass die Autos auch mal später gebucht/reserviert werden und dann dort hin gescrollt werden soll. Anzeigen muss ich nur den aktuellen Tag und die 15 Tage davor und danach. Also ca. 30 Tage auf einem Blick, mit der möglichkeit nach rechts weiter zu scollen. Ein ScrollAreaGadget wäre da schon gut. Darauf ein Canvas oder ListIcon. habe gerade nochmal probiert. 20 Reihen mit 8120 Spalten wird nix. 8120 Reihen mit 20 Spalten ginge. Also senkrecht scrollen.....
Ich muss aber auch reinklicken können und die Tage mit der Maus markieren können, was beim Listicon nicht geht.
sowas wäre prima
Die Sache ist ja, dass die Autos auch mal später gebucht/reserviert werden und dann dort hin gescrollt werden soll. Anzeigen muss ich nur den aktuellen Tag und die 15 Tage davor und danach. Also ca. 30 Tage auf einem Blick, mit der möglichkeit nach rechts weiter zu scollen. Ein ScrollAreaGadget wäre da schon gut. Darauf ein Canvas oder ListIcon. habe gerade nochmal probiert. 20 Reihen mit 8120 Spalten wird nix. 8120 Reihen mit 20 Spalten ginge. Also senkrecht scrollen.....
Ich muss aber auch reinklicken können und die Tage mit der Maus markieren können, was beim Listicon nicht geht.
sowas wäre prima
SYNTAX ERROR IN 30! TYPE MISMATCH
Re: Kalender oder TimeLine
Vielleicht kannst du dir hier
https://www.heise.de/download/products/ ... rminplaner
ein paar Anregungen holen.
https://www.heise.de/download/products/ ... rminplaner
ein paar Anregungen holen.
PB 5.60
Re: Kalender oder TimeLine
vielleicht ja auch irgendwie so...
nur so als kurze Idee...
Code: Alles auswählen
EnableExplicit
Define.i iEvent,
i,
iWidth,
iOldState,
iState
LoadFont(0, "Arial", 6)
SetGadgetFont(#PB_Default, FontID(0))
If OpenWindow(0, 0, 0, 800, 500, "Test", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
ListIconGadget(0, 0, 0, 800, 485, "", 0, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
ScrollBarGadget(1, 0, 485, 800, 15, 0, 127, 32)
EndIf
iWidth = GadgetWidth(0) - 50
AddGadgetColumn(0, 0, "#", 45)
For i = 0 To 31
AddGadgetColumn(0, i + 1, Str(i + 1), iWidth/32)
Next i
For i = 0 To 20
AddGadgetItem(0, i, "Auto " + Str(i))
Next i
Repeat
iEvent = WaitWindowEvent()
Select iEvent
Case #PB_Event_Gadget
Select EventGadget()
Case 1
iState = GetGadgetState(1)
If iState > iOldState
RemoveGadgetColumn(0, 1)
AddGadgetColumn(0, 32, Str(Val(GetGadgetItemText(0, -1, 31)) + 1), iWidth / 32)
ElseIf iState < iOldState
RemoveGadgetColumn(0, 32)
AddGadgetColumn(0, 1, Str(Val(GetGadgetItemText(0, -1, 1)) - 1), iWidth / 32)
EndIf
iOldState = iState
EndSelect
EndSelect
Until iEvent = #PB_Event_CloseWindow
Win11 x64 | PB 6.00 (x64)
- TroaX
- Beiträge: 659
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
- Wohnort: NRW
- Kontaktdaten:
Re: Kalender oder TimeLine
Bei deinem Vorhaben ist eben das große Problem, das du das ganze Stundenweise benötigst. Dein Screenshot zeigt es aber in Tagen an. Ich würde den Kompromiss eingehen und mir bei einer Stundenansicht mir die Monate einzeln anzeigen lassen.
Wenn du aber das ganze Jahr willst, gibt es im Grunde nur 3 Möglichkeiten:
1. Mit Canvas ein eigenes Control zeichnen (sehr viel arbeit)
2. Auf Drag and Drop Markierungen verzichten und für die Dateneingabe eine Maske verwenden. Dann kannst du auch mit ListIconGadget arbeiten. Dann kannste aber nur vertikal scrollen (zu viele Spalten mag das Gadget einfach nicht). Und selbst dann geht es noch tierisch auf die Pumpe des Rechners.
3. Einfach das Webgadget verwenden und auf eine fertige Javascript-Library setzen. Mit SetGadgetItemText kannst du das HTML sowie den JS-Code in das Gadget streamen. Mit SetGadgetAttribute und dem Flag #PB_Web_NavigationCallback kannst du dann ein Callback einbinden, welches immer #False zurückwirfst. Die Daten sendest du aus dem Gadget dann einfach per URL als Get-Parameter. Alternativ (so würde ich es dann machen) schreibst du mit dem Atomic-Webserver einen kleinen Server, mit dem sich die Daten deutlich einfacher und eleganter mit dem PB-Backend austauschen lassen. (In der Summe ist Nummer 3 zwar keine Lösung, die jeder empfehlen würde. Aber ich habe das auch schon oft so gemacht, da ich persönlich für Benutzeroberflächen mittlerweile Webstandards vorziehe. Man hat einfach viel viel viel mehr Möglichkeiten).
Den Atomic Webserver findest du in den Purebasic-Examples im Ordner "Sources - Advanced". Als Timeline-Bibliothek wären folgende brauchbar:
visjs: http://visjs.org/timeline_examples.html
timelinejs: http://timeline.knightlab.com/
timesheetjs: https://sbstjn.com/timesheet.js/
chronoline.js: http://stoicloofah.github.io/chronoline.js/ (<- Wäre gerade für deinen Einsatzzweck genial)
Und es gibt noch sehr viel mehr!
Wenn du aber das ganze Jahr willst, gibt es im Grunde nur 3 Möglichkeiten:
1. Mit Canvas ein eigenes Control zeichnen (sehr viel arbeit)
2. Auf Drag and Drop Markierungen verzichten und für die Dateneingabe eine Maske verwenden. Dann kannst du auch mit ListIconGadget arbeiten. Dann kannste aber nur vertikal scrollen (zu viele Spalten mag das Gadget einfach nicht). Und selbst dann geht es noch tierisch auf die Pumpe des Rechners.
3. Einfach das Webgadget verwenden und auf eine fertige Javascript-Library setzen. Mit SetGadgetItemText kannst du das HTML sowie den JS-Code in das Gadget streamen. Mit SetGadgetAttribute und dem Flag #PB_Web_NavigationCallback kannst du dann ein Callback einbinden, welches immer #False zurückwirfst. Die Daten sendest du aus dem Gadget dann einfach per URL als Get-Parameter. Alternativ (so würde ich es dann machen) schreibst du mit dem Atomic-Webserver einen kleinen Server, mit dem sich die Daten deutlich einfacher und eleganter mit dem PB-Backend austauschen lassen. (In der Summe ist Nummer 3 zwar keine Lösung, die jeder empfehlen würde. Aber ich habe das auch schon oft so gemacht, da ich persönlich für Benutzeroberflächen mittlerweile Webstandards vorziehe. Man hat einfach viel viel viel mehr Möglichkeiten).
Den Atomic Webserver findest du in den Purebasic-Examples im Ordner "Sources - Advanced". Als Timeline-Bibliothek wären folgende brauchbar:
visjs: http://visjs.org/timeline_examples.html
timelinejs: http://timeline.knightlab.com/
timesheetjs: https://sbstjn.com/timesheet.js/
chronoline.js: http://stoicloofah.github.io/chronoline.js/ (<- Wäre gerade für deinen Einsatzzweck genial)
Und es gibt noch sehr viel mehr!
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Re: Kalender oder TimeLine
Zur Idee von Andesdaf
ListView Einträge bearbeiten:
http://www.purebasic.fr/german/viewtopic.php?t=20818
__________________________________________________
Domain angepasst
16.07.2017
RSBasic
ListView Einträge bearbeiten:
http://www.purebasic.fr/german/viewtopic.php?t=20818
__________________________________________________
Domain angepasst
16.07.2017
RSBasic
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Re: Kalender oder TimeLine
hier eine Anregung:
pro Auto sind problemlos 5 - 10 Jahre möglich. Dies entspricht ca 1800 bzw. ca 3600 Zeilen
Pro Auto wird eine Datei angelegt. Wird ein Auto entfernt, wird die Datei nicht gelöscht.
PS: Sollte wider erwarten, sich ein Anderer für dieses Problem erwärmen, bin ich gerne bereit ihm meine Idee zu mailen.
pro Auto sind problemlos 5 - 10 Jahre möglich. Dies entspricht ca 1800 bzw. ca 3600 Zeilen
Pro Auto wird eine Datei angelegt. Wird ein Auto entfernt, wird die Datei nicht gelöscht.
Code: Alles auswählen
;PB 5.60 x64 by HJ Bremer
dieses Programm wurde entfernt, da der Hilfe Suchende sich offensichtlich nicht dafür interessiert.
Man sollte sich ernsthaft überlegen ob man überhaupt noch Hilfestellung leistet.
Ernsthafte Hilfe in Form von größerem Ausmaß ist nunmal nicht in wenigen Minuten/Stunden zu leisten.
Auch wenn wenige sich dies so vorstellen.
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer