Geschlossen: AutoIt-Kalender

    • Offizieller Beitrag

    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

    • Offizieller Beitrag

    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:

    Zitat

    GUICtrlSetTip
    -------------------------------------------------------------------------------
    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

    • Offizieller Beitrag

    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

    • Offizieller Beitrag

    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...

    • Offizieller Beitrag

    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.


    Zitat

    Original 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).


    Zitat

    Es 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 ;)


    Zitat

    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".

    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...


    Zitat

    Wenn 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!

    Zitat

    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...


    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 :rofl: ...



    Alles, was ich geändert habe ist auch im Repository.


    peethebee

    • Offizieller Beitrag

    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

    • Offizieller Beitrag
    Zitat

    von @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.


    • Offizieller Beitrag

    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

    • Offizieller Beitrag


    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:

    • Offizieller Beitrag

    Nur im Text! Wenn in Funktionen was ändere schreibe ich das immer dazu! ;)

    • Offizieller Beitrag


    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.

    • Offizieller Beitrag

    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:

    Code
    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..

    • Offizieller Beitrag

    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


  • 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...