- Offizieller Beitrag
Kalender malen zum Beispiel. Abhängig vom Monat und damit von der Anzahl der Tage.
Kalender malen zum Beispiel. Abhängig vom Monat und damit von der Anzahl der Tage.
Das Startdatum könnte man darstellen als Anzahl der Sekunden seit dem 1.1.06, dann ist es eine gut rechen- und verlgiechbare Zahl, aber trotzdme kleiner als die Rechnung vom 1.1.70.
AutoIt bietet dazu die Funktion _DateDiff.
Erst mal schreibe ich die Funktion, die für einen beliebigen Tag (Parameter) alle Termine heraussucht.
Das ist noch eine Abstraktionsschicht zum Darstellen. Dann kann man das zeichnen (später) oder erst mal als ListVIew-Einträge darstellen. Au0erdem brauchen wir die Abstraktion noch für den HTML-Export.
GtaSpider ist am Speichern dran feiert aber erst mal Geburtstag (nicht seinen).
peethebee
Hallo!
Hat jemand Lust, schöne HTML-CSS-Templates für die Druckdarstellung bzw. den HTML-Export der Kalender zu machen?
Würde uns noch entlasten - erfordert keine AutoIt-Kenntnisse... ( Schwester ;-))
peethebee
Hallo!
Dritter Post in Folge ;-):
Im Hintergrund sollten wir ein Skript laufen lassen, dass die Warnungen verwaltet. Dann ist diese Funktion unabhängig vom Hauptskript.
Man könnte es auch direkt in main reinpfrimeln, dann hätte man die exe halt immer laufen.
Da werde ich gleich mal den Anfang dazu machen. Außerdem wil ich eineige Hilfsfunktionen für das Backup machen (ihr seht, das ist mir wichtig...).
@Einstellungsbeauftragten:
Ich bräuchte eine Möglichkeit einstellen zu lassen, ob und wo man ein "Live-Backup" machen lassen will. Kalenderabhängig natürlich. Dieses BackUp wird immer aktualisiert, wenn Schreiboperationen auf den Originalkalender erfolgen und ist damit immer auf dem aktuellen Stand.
Edit: Noch was: Einstellung für den Splash bitte... Ausblenden, oder einstellbare Zeit. Danke!
Man könnte Tooltips für die einzelnen Controls verwenden, dann muss man keie so ausfürhliche Hilfe schreiben und der Nutzer bekommt die Einstellungen noch besser beschrieben:
ZitatGUICtrlSetTip
-------------------------------------------------------------------------------
Sets the tip text associated with a control.GUICtrlSetTip ( controlID, tiptext )
admin : Ich habe deine Kommentarzeilen aus den Settings und gld-Dateien rausgenommen. Das macht das Auslesen nur schwerer. Außerdem waren sie an aus emienr Sicht nicht vorhersehbaren Stellen platziert, sodass das Auslesen kompromittiert hätte werden können. Die Anzeigefunktion macht erste Fortschritte, man kann schon alle Termine eines Tages anzeigen in einem List-Control. Muss mir jetzt mal Testdaten generieren, da GtaSpiders "Neuer Termin"-Funktion ja noch nicht steht.
Neue Funktion _DateTimeToInteger liefert einen integerwert, der ein beliebiges Datum nach dem 1.1.06 beschreibt und durch führende Nullen auch automatisch sortierbar macht.
peethebee
Hallo!
Ich habe jetzt mal den ersten Teil einer Anzeige-Engine auf ListView-Basis geschrieben. Ich denke, dass der Code so gut und flexible ist, dass man später leicht eine graphische Ausgabe aufsetzen könnte, wenn der Rest funktioniert und die Ausgabe auch perfektioniert werden muss.
Kurze Testanleitung:
Starten und Ansicht - Tagesansicht wählen.
Was mir gerade auffällt: Im momentanen Stadium geht es nur, wenn das aktuelle Datum der 16.06.2006 ist :D. Also schnell testen oder auf die nächste Version warten.
Neue Version, die mehr kann ist im ersten Post. Optimal wäre wirklich, wenn sich alle Interessierten Subversion einrichten könnten...
peethebee
Hallo,
ich beobachte euer Projekt mit großer aufmerksamkeit. Bin von Peethebee drauf aufmerksam gemacht worden. Gute Sache..... mal lob aussprech.....
bin leider nicht so fit um mitzuhelfen...... sorry
Aber mal einige anregungen mit einbringen:
1.) Könnte man in den einstellungen nicht auch eine Farbauswahl oder Bildauswahl mit integrieren .... für Leutz die, die voreingestellte Farbe nicht mögen?
2.) Beim Kakender Rechts oben, könnte man Tage mit Terminen, nicht anders Farbig unterlegt anzeigen, um zu sehen an welchen Tagen ich Termine habe oder an welchen ich noch frei bin ?
liebe grüsse
Chicago
Testbericht:
Das Blau hat mir pers. besser gefallen als dieses Cyan! Eine Farbauswahl wie sie Chicago vorgeschalgen hat ist auch von vorteil für Farbenblinde und Sehbehinderte die nur bestimmte Farben auseinanderhalten können (Barrierefreiheit).
Es wäre schön wenn auch die Dialoggrösse gespeichert wird. Ich habe z.B. eine Auflösung 1024x768 und eine 2-reihige Startleiste auf meinen Notebook. Aus diesem Grund sehe ich die Statuszeile nicht, ich kann jetzt zwar das Fenster verkleinern aber beim nächsten Start ist die alte grösse wieder eingestellt.
Wenn man in der Tagesansicht ist und im Menü "Datei" den Menüpunkt "Neuer Kalender" wählt, einen neuen Kalender anlegt und dann bei der Abfrage ob der neue Kalender geladen werden soll "ja" wählt, bleiben die alten Termine in der Ansicht stehen, erst wenn man noch mal die Tagesansicht auswählt wird aktualisiert. Das gleiche passiert bei "Kalender öffnen".
Wenn man den Menüpunkt "Neuer Kalender" gewählt hat und drückt dann auf Cancel legt der trotzdem einen Kalender ohne Namen an.
"Kalender öffnen" kann ich nur ein mal aufrufen.
Im Dialog "Neuen Termin anlegen" kann ich keine Termine speichern und wenn ich den Dialog schliessen will und die Abfrage ob gespeichert werden soll mit ja bestätige kommt die gleiche abfrage noch mal und noch mal und...
Hallo!
Danke erstmal für den ausführlichen Bericht, bernd670!
Grundsätzlich ist zu beachten, dass die Version als 0.0x Alpha gekennzeichnet, also noch weit vor einer Fertigstellung ist.
ZitatOriginal von bernd670
Testbericht:Das Blau hat mir pers. besser gefallen als dieses Cyan! Eine Farbauswahl wie sie Chicago vorgeschalgen hat ist auch von vorteil für Farbenblinde und Sebbehinderte die nur bestimmte Farben auseinanderhalten können.
Die Farbe ist bereits in der settings.gld für jeden Kalender einzeln einstellbar. Damit ist es für alle leichter verschiedene Kalender, die man öffnet immer sofort an der Hintergrundfabre zu erkennen.
Das Problem ist im Moment, dass viele der Einstellungen, die schon im Skript ausgelesen werden, nicht nicht in der Einstellungs-GUI auftauchen, die Gun-Food macht. Das wird dann sicher der bald Fall sein. Der gleiche Fall ist die Verschlüsselung, die zum Testen mal an ist, man kann sie aber in der Settings.gld leicht abschalten (einfach 0 statt 1 schreiben).
ZitatEs wäre schön wenn auch die Dialoggrösse gespeichert wird. Ich habe z.B. eine Auflösung 1024x768 und eine 2-reihige Startzeile auf meinen Notebook. Aus diesem Grund sehe ich die Statuszeile nicht, ich kann jetzt zwar das Fenster verkleinern aber beim nächsten Start ist die alte grösse wieder eingestellt.
Das hatte ich schon mal drin, aber er resiuzt nicht, wenn ich ihn mit WInMove anpasse. Wenn du mir da einen HInweis geben kannst, wie ich das umgehe, ist das Speichern der Größe sofort wieder möglich
ZitatWenn man in der Tagesansicht ist und im Menü "Datei" den Menüpunkt "Neuer Kalender" wählt, einen neuen Kalender anlegt und dann bei der Abfrage ob der neue Kalender geladen werden soll "ja" wählt, bleiben die alten Termine in der Ansicht stehen, erst wenn man noch mal die Tagesansicht auswählt wird aktualisiert. Das gleiche passiert bei "Kalender öffnen".
Das ist einfach noch nicht geschriben, so klar und einfach *g*. Kommt sicher noch, aber erst mal muss es gehen, dass man die termine überhaupt anzeigt, da war und bin ich ja schon stolz drauf...
ZitatWenn man den Menüpunkt "Neuer Kalender" gewählt hat und drückt dann auf Cancel legt der trotzdem einen Kalender ohne Namen an.
Ist gefixt - wieder, denn das war schon mal raus. Naja, jetzt hoffentlich endgültig.
Zitat"Kalender öffnen" kann ich nur ein mal aufrufen.
Verhalten bestätigt, das muss ich mir noch mal anschauen... Danke!
ZitatIm Dialog "Neuen Termin anlegen" kann ich keine Termine speichern und wenn ich den Dialog schliessen will und die Abfrage ob gespeichert werden soll mit ja bestätige kommt die gleiche
Abfrage noch mal und noch mal und...
Das ist auch noch nciht fertig, GtaSpider arbeitet daran und wird versuchen, es so schnell wie möglich fertig zu stellen, aber er aht halt auch noch so Hobbies wie Schule ...
Alles, was ich geändert habe ist auch im Repository.
peethebee
Hallo!
Ja die Schule ist momentan leider im Vordergrund.. wir machen Grade (wir als Musiklasse..) ein Projekt, und da ich der "Technik/Computererfreak" bin hab ich ziemlich viel mit Spezialeffekts usw Zutun. Das mit dem immer wider ja digsda versteh ich auch nicht und @pee das meinte ich auch letztens..
Werde aber baldmöglichst weiterarbeiten.. warscheinlich Morgen, wenn ich da zeit finde
Mfg Spider
Zitatvon @pee
Das hatte ich schon mal drin, aber er resiuzt nicht, wenn ich ihn mit WInMove anpasse. Wenn du mir da einen HInweis geben kannst, wie ich das umgehe, ist das Speichern der Größe sofort wieder möglich
Was geht den nicht, ich habe es mal getestet, bei mir gehts ohne Probleme. Nur wenn eine bestimmte größe unterschritten wird stimmen halt die Controlfelder und deren Inhalte nicht mehr. Das ist aber kein Fehler von WinMove, kann man aber einfach abfangen und eine mindestgrösse einstellen.
Func _stbResize()
$arWinData = WinGetPos("")
$gui_main_width = $arWinData[2] - 6
$gui_main_height = $arWinData[3] - 6
; Evtl. Scrollbalken einschalten und Controlls mit
; Opt("GUIResizeMode", 802) verbieten ihre grösse zu ändern
; wenn best. Grösse unterschritten wird
If $gui_main_width < 1000 Then $gui_main_width = 1000
If $gui_main_height < 705 Then $gui_main_height = 705
WinMove($gui_main, "", $gui_main_x, $gui_main_y, $gui_main_width, $gui_main_height)
_GuiCtrlStatusBarResize($gui_stb_1)
SetGenOpt("Winpos", "GUI_main_width", $gui_main_width)
SetGenOpt("Winpos", "GUI_main_height", $gui_main_height)
EndFunc ;==>_stbResize
Alles anzeigen
Hi!
Nach einigen Problemen geht es jetzt. Der Trick ist, dass nur eine schon angezeigte GUI auch richtig resized wird. NUr dann werden Controls angepasst. Die Mindestgröße ist jetzt so verwirklicht, iwe du es angeregt hattest. Danke!
peethebee
ZitatOriginal von gtaspider
Hallo!.... Das mit dem immer wider ja digsda versteh ich auch nicht und @pee das meinte ich auch letztens..
...
Mfg Spider
Ich habe mir mal deine Funktion angeschaut die beim schliessen aufgerufen wird und habe zwei kleine Fehler gefunden. Die Endlosschleife kommt daher, das du die Funktion _Save mit 1 als 2. Parameter aufrufst. Wenn der Parameter 1 ist ruft die Funktion _Save nämlich auch wieder die Funktion unten auf und so ensteht die Endlosschleife.
Das speichern der Position und schliessen des Fensters muss natürlich bei den Buttons "ja" und "nein" gemacht werden und nicht nur wenn auf "nein" gedrückt wird!
korrigierte Funktion:
Func _close_newTask()
If $gui_newTask_opened = 1 Then
$msgbox = MsgBox(67, $PROGRAM_NAME, "Wollen Sie vor dem Schließen speichern?")
If $msgbox = 6 Then _Save("", 0)
If $msgbox = 6 Or $msgbox = 7 Then
$gui_newTask_opened = 0
; Position speichern
$gui_newTask_pos = WinGetPos($gui_newTask)
SetGenOpt("Winpos", "GUI_newTask_x", $gui_newTask_pos[0])
SetGenOpt("Winpos", "GUI_newTask_y", $gui_newTask_pos[1])
; Fenster verstecken und Main anzeigen
GUISetState(@SW_HIDE, $gui_newTask)
_SetStatus("NewTask-GUI versteckt")
GUISetState(@SW_ENABLE, $gui_main)
GUISetState(@SW_RESTORE, $gui_main)
_SetStatus("Main-GUI enabled")
EndIf
EndIf
EndFunc ;==>_close_newTask
Alles anzeigen
Hallo!
Die alte Funktion habe ich eingebaut. Hast du da noch was geedited oider im Text?
Markus ist neu im Dev-Team. Er übernimmt einen zukünftigen Installer für das Projekt und die Alarmfunktionen.
peethebee
Nur im Text! Wenn in Funktionen was ändere schreibe ich das immer dazu!
ZitatOriginal von peethebee
Verhalten bestätigt, das muss ich mir noch mal anschauen... Danke!
...
peethebee
Der Grund ist, das die Globale Variable $_open_filename nach dem 1. Aufruf den Pfad zum geöffneten Kalender beinhaltet. FileOpenDialog wird aber nur aufgerufen wenn die Variable leer ist. Er öffnet also immer den Kalender der beim 1. Aufruf ausgesucht wurde.
Hallo!
ist gefixt, war aber eine etwas härtere Nuss:
Die Variable ist nicht mehr Global, der Pfad steht ja in $open_cal_full_path zur Verfügung.
Die wichtige Stelle mit dem Trick:
If (@NUMPARAMS = 0) Then $_open_filename = "" ; Workaround, weil Standardwert bei Aufruf durch GUISetOnEvent nicht gesetzt werden scheinbar...
MsgBox(262144,'Debug line ~762','Selection:' & @lf & '$_open_filename' & @lf & @lf & 'Return:' & @lf & $_open_filename & @lf & @lf & '@Error:' & @lf & @Error) ;### Debug MSGBOX
; vorhandenen Kalender öffnen. wichtig: alte Sachen löschen und Funktionen aufrufen, um neue zu zeichnen
If $_open_filename <> "none" Then
If ($_open_filename = "") Then ; Datei erst aussuchen lassen
peethebee
Was mir noch aufgefallen ist, dass wenn ich den HTML-Export immer umstelle auf Speicherort Desktop fragt der schon da ob ich die Datei ersetzen will und nicht erst beim HTML-Export..
Comment peethebee: Da setzen wir einfach mal den Standard *g*. So kann man sich direkt was neues suchen...
Außerdem sollte der sich auch merken können wo man das zuletzt gespeichert hat und nicht die Eigenen Dateien als Standartpfad verwenden..
Hallo!
Neue Ideen von Gun-Food und mir:
- Kalender auf FTp schieben und von dort laden, damit man gemeinsam einen Klaender bearbeiten kann
- Upload per FTP auf eine Webseite, auf der eine HTML-Version (vom Export?) dann per Passwort (JavaScript?) zugägnlich ist.
peethebee
Vielleicht wären verschiedene Namen, abhängig vom Darstellungstyp (Tag, Woche, Monat) ganz interessant..
Kalender_2006-06-18
Kalender_KW_24
Kalender_Juni
ZitatOriginal von peethebee
Hallo!Neue Ideen von Gun-Food und mir:
- Kalender auf FTp schieben und von dort laden, damit man gemeinsam einen Klaender bearbeiten kann
peethebee
Wenn ihr das per FTP macht müsst ihr aber immer aufpassen, dass ihr nicht "gleichzeitig" etwas hochladet und dann das Zeugs von dem anderen überschreibt...