Ferengi-Masters Terminverwaltung V1

Ferengi-Masters Terminverwaltung V1

Hallo Freunde des Designers,

möchte hier auf Wunsch mal mein kleines Terminverwaltungsprojekt vorstellen.
Habe eine kleine Doku beigefügt.

Kleiner Tipp:
Die Variablen err_date, err_time, err_einm_jaerl, err_woch, err_inhalt lassen sich schön mit der Property Font.Color der einzelnen Bezeichnungen verknüpfen um zusätzlich zu den Fehlermeldungen im Meldungsfenster die Fehlerursache bei der Termineingabe festzustellen.

Was kann es?

[ul]
[li] unbegrenzte Datenanzahl[/li][li] Ablage der Daten in eine externe Datei[/li][li] einmalige Termine zur genauen Uhrzeit[/li][li] wöchenliche Termine zur genauen Uhrzeit[/li][li] jährlich wiederkehrende Termine zum entsprechenden Datum[/li][li] Feiertage (z.Z.nur aus Tonis Tools)[/li][li] aktiv / passiv setzen von Terminen[/li][li] Designereingabeoberfläche (löschen, neu, speichern)[/li][li] Sprachausgabe der Termine in gewünschten Räumen zum Zeitpunkt oder auf Wunsch[/li][li] Anzeige im Designer[/li][/ul]

Was soll man erwarten?

[ul]
[li]eine Hilfestellung für eine eigene Implementierung im Designer[/li][li]keine umfangreiche fertige Software[/li][li]ein Tool was mir schon manche graue Gehirnzelle ersetzt hat[/li][/ul]

Änderungen:

23.06.2008 V1.0b Doku erweitert (txt)
05.07.2008 V1.1b automatisches anlegen von Variablen und kleinere Änderungen in die Doku eingefügt (rar + txt)
06.07.2008 V1.1b Iconset als rar File hinzugefügt (rar)
06.07.2008 V1.1b Fehler in der Doku behoben IPSYMID „loe“ war falsch angegeben (txt)
[COLOR=SeaGreen]Über 80 Downloads :slight_smile:
16.11.2008 V1.2b neue Variablen eingeführt
16.11.2008 V1.2b Wegfall der Termin-Automat.ips.php und Termin.ips.php (nur noch ein Hauptscript nötig)
16.11.2008 V1.2b kein include von Variablen mehr nötig
16.11.2008 V1.2b kein Timer Wizzard Eintrag mehr nötig
16.11.2008 V1.2b Bugfix der Fehleranalyse
16.11.2008 V1.2b Anzeige Termine für morgen, farbliche Unterscheidung
16.11.2008 V1.2b Meldungsfenster eingeführt
16.11.2008 V1.2b Doku erneuert

Für IPS V2.0 die neue Version verwenden: http://www.ip-symcon.de/forum/f20/terminverwaltung-v2-1-fuer-dashboard-6993/
[/COLOR]

Viel Spaß damit.

iconset.rar (13.7 KB)

Termindoku.txt (3.59 KB)

termin_V1.2b.zip (5.35 KB)

Was ein Service hier :slight_smile:

Werde ich gleich mal durchackern.

Danke und Gruß für deine Mühe,
Doc

Hab mal die Doku um eine Erklärung erweitert wie aus einem beliebigen Script die heutigen oder morgigen Termine angesagt werden können.:wink:

Moin,

ich wollte gerade mal Deine Terminverwaltung ausprobieren, allerdings hänge ich jetzt.

Der Debugger sagt mir dass er anscheinend eine termine.txt einlesen will, diese aber nicht findet (klar, ist auch nicht da).
Ich vermute dort werden die Termine gespeichert. Wo kommt diese Datei denn her? Muss man die erst anlegen?

Dann noch zwei Anmerkungen:

  1. Zuvor hat der Debugger das Fehlen einer Variable „term_aktuell“ bemängelt - stimmt, diese ist in Deiner Doku auch nicht aufgelistet zum Anlegen. Solltest Du ergänzen.

  2. Du schreibst „jaehrlich“ ohne „h“, was Auswirkungen auf Deine Variablennamen hat => „jaerl“, statt „jaehrl“. Hat mich einige Zeit gekostet bis ich dahinter gekommen bin, da ich die Variablen korrekt mit „h“ angelegt hatte… :rolleyes:

Ich würde mich über Hinweise sehr freuen, ich könnte dieses Tool sehr gut gebrauchen :slight_smile:

Vielen Dank.

EDIT: Ach ja, in Deiner Anleitung unter Punkt 2 beschreibst Du das Anlegen der Timer. Dies solltest Du nach hinten verschieben nach dem Anlegen der Scripte, da die Timer ja auf die Scripte verweisen und die kann man eben erst auswählen wenn selbige vorhanden sind.

Hocky

Hallo Hocky,

erstmal danke für die Hinweise.
Bitte um Verständnis das sicherlich der eine oder andere Fehler enthalten ist, da ich das Projekt in ein paar Stunden Arbeit für einige User auf Wunsch eingestellt habe.:wink:
Freue mich aber um so mehr das es sich schon so viele angeschaut haben.
Nun zu deinen Fragen bzw. Hinweisen…

Der Debugger sagt mir dass er anscheinend eine termine.txt einlesen will, diese aber nicht findet (klar, ist auch nicht da).
Ich vermute dort werden die Termine gespeichert. Wo kommt diese Datei denn her? Muss man die erst anlegen?

Nein. Sobald Du einen ersten neuen Datensatz anlegst wird diese Datei erstellt. Evtl. sollten hier aber die Pfade zu IPS angepasst werden.

Zuvor hat der Debugger das Fehlen einer Variable „term_aktuell“ bemängelt - stimmt, diese ist in Deiner Doku auch nicht aufgelistet zum Anlegen. Solltest Du ergänzen.

Ok. Wird erledigt.

Du schreibst „jaehrlich“ ohne „h“, was Auswirkungen auf Deine Variablennamen hat => „jaerl“, statt „jaehrl“. Hat mich einige Zeit gekostet bis ich dahinter gekommen bin, da ich die Variablen korrekt mit „h“ angelegt hatte…

Naja, was so ein „h“ schon ausmacht.:smiley:
Aber ist jetzt nicht mehr zu ändern… Aber gut zu wissen, für alle anderen.

Ach ja, in Deiner Anleitung unter Punkt 2 beschreibst Du das Anlegen der Timer. Dies solltest Du nach hinten verschieben nach dem Anlegen der Scripte, da die Timer ja auf die Scripte verweisen und die kann man eben erst auswählen wenn selbige vorhanden sind.

Sinnvoll. Wird erledigt.

So, habe mich schnell mal hingesetzt und ein Script mit dem Namen Variable_anlegen.ips.php geschrieben. Hier werden jetzt alle erforderlichen Variablen automatisch generiert. Spart arbeit.:wink:

Moin,

ja super, danke - kommt ca. 2h zu spät :wink:

Der Hinweis mit der Pfadanpassung für die termine.txt war sicherlich der entscheidende Punkt, bei mir liegt das IPS im Programme-Verzeichnis, bei Dir offensichtlich im Root. Solltest Du auch noch einen Hinweis einbauen. Ich habe in der Terminverwaltung-php 3 Verweise auf die Datei gefunden, in Termin und Termin_Automat jeweils einen.

Ich werd morgen mal weitertesten.

Ach ja, vielen Dank nochmal für Deine Zeit und Dein Know-How. Kam in meinem vorigen Beitrag vielleicht nicht so rüber. :slight_smile:

Na klar. Gern geschehen. Meld Dich mal wenns läuft.:wink:

Morgen,

weiter geht´s :wink:
Sag mal, müssen die ToniTools eigentlich unbedingt installiert sein oder gehen dann nur die Feiertage nicht?
Ich hatte gestern Probleme mit der Installation der Tools, deshalb hatte ich sie erstmal weggelassen.

Ohne Tonis Tools gehts auch, aber halt ohne automatisch angezeigte Feiertage. Einfach die for Schleife im Termin Script für die Feiertagsabfrage weglassen.

Moin,

so richtig bekomme ich es nicht zum Laufen.
Beim Versuch einen neuen Termin anzulegen, bekomme ich die Fehermeldung dass er die Datei termine.txt nicht auslesen konnte - was ja richtig ist da es sie ja noch nicht gibt. Zumindest wird die Datei auch nicht automatisch angelegt.
Wenn ich händisch eine leere termine.txt anlege, dann bekomme beim Versuch einen Termin anzulegen, die Fehlermeldung „undefined offset 1 in …Terminverwaltung.ips.php in line 168“.

Ideen?

hallo,

ja die selben probleme hab ich auch.
habe die datei jetzt von hand erstellt und nun bekomme ich diesen oben genannten fehler sowie weitere.

<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>21</b><br />
<br />
<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>21</b><br />
<br />
<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>77</b><br />
<br />
<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>77</b><br />
<br />
<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>130</b><br />
<br />
<b>Notice</b>:  Undefined offset:  1 in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>168</b><br />
<br />
<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>206</b><br />
<br />
<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>260</b><br />

Das Problem ist, das ich die Scripte nicht 1:1 von mir übernommen habe, sondern einige persönliche Sachen entfernt habe, aber das bekommen wir schon hin. Also bitte bei einer Fehlermeldung die Zeile des Scriptes mit posten, in der der Fehler aufgetreten ist.
Übrigens:


<b>Notice</b>:  Undefined variable: IPS_COMPONENT in <b>C:ProgrammeIP-SYMCONscripts.currentscript</b> on line <b>21</b><br /> 
<br /> 

… ist ja kein Fehler sondern nur eine Information das IPS_COMPONENT nicht definiert ist. Wir sollten jeden Fehler nacheinander abarbeiten.

So sollte ein korrekter Eintrag in der termin.txt aussehen:

976575600,0,1,0,0,0,0,0,0,0,1,0,0,12,12,Testtermin

Habe mal schnell die Termindatei aus dem rar Vz. bei mir eingespielt. Und dieser Fehler kommt nur beim Aufrufen per Execute bei mir und auch nur wenn die Datei termin.txt noch nicht existiert. Sie wird aber automatisch angelegt beim ersten Aufruf im Designer neuer Datensatz. Achtung IPSYMID muß hier den Wert „neu“ haben!


<br />
<b>Warning</b>:  file_get_contents(C:/IP-Symcon/Thomas/termine.txt) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in <b>C:\IP-Symcon\scripts\.currentscript</b> on line <b>15</b><br />
<br />
<b>Notice</b>:  Undefined offset:  1 in <b>C:\IP-Symcon\scripts\.currentscript</b> on line <b>194</b><br />

Habt Ihr auch schon im Designer das TabSheet mit allen Angeben erstellt und einen neuen Datensatz durch aufrufen des Icon neuer Datensatz angelegt, dann sollte kein solcher Fehler auftreten.
Übrigens falls jemand das Iconset braucht bitte melden.

Hallo Ferengi-Master,

Also die Icons habe ich alle im Desinger angelegt doch es passiert nichts wenn ich neue Daten eingeben will.
Die Zeile 168 mit dem Offset Error lautet;

 $term_arr        = explode(",", $term_arr_komplett[$counter]);

Wenn ich auch in der termin.txt von Hand deine „Test Zeile“ eingebe bekomme ich dir auch im Designer nicht angezeit!

Gruß

Wann kommt dieser Fehler denn, nach welcher Aktion? Kann das bei mir nicht nachvollziehen.
Was mir auch noch einfällt, in jedem Edit Feld muß natürlich Enter gedrückt werden, sonst speichert IPS die Daten nicht! (Edit Felder sind z.B. Datum, Uhrzeit, Termin)

Moin,

soo, Update meinerseits :slight_smile:

In Deiner Anleitung fehlte eine Anweisung dass die Variable term_aktuell angelegt werden muss. Hab ich dann per Hand angelegt.
2)
Ich hab gelernt dass php Case Sensitive ist - in Deiner Anleitung hiess die Variable „Counter_summe“, eigentlich muss sie aber „counter_summe“ heissen.

Ich denke beide Fehler sind durch Dein Variabeln-Anlegen Script ausgebügelt. Zur Sicherheit hab ich das auch nochmal ausgeführt bei mir.

Dann habe ich wieder was über den Designer gelernt, nämlich dass wenn man Werte in den Object Inspector eingibt, dass man dies auch mit Return bestätigen muss. :wink: So habe ich zwar die IPSYMIDs für „neu“, „loes“ und „speichern“ eingeben, aber nicht bestätigt, sodass sie nicht übernommen wurden… :rolleyes:

Ich hab dann mal eine termine.txt mit Deinem Beispieleintrag erzeugt und diesen hat er dann auch angezeigt. Irgendwie habe ich es auch geschafft einen weiteren Termin zu erzeugen, nun aber klappt es wieder nicht.
Mir werden korrekt Datensatzanzahl 2 angezeigt, ich kann aber überblättern und bekomme dann wieder einen „undefined offset“ Fehler in versch. Zeilen (z.B. Zeile 30).

Wenn ich versuche einen der beiden gespeicherten Termine zu ändern (z.B. Textänderung), bekomme ich einen "06.07.2008 21:22:31.620 | ERROR | ExecuteThread ID: 1332 | ScriptError: Termin.ips.php ~ Sender: RunScript ~ Result: <br />
<b>Parse error</b>: parse error, unexpected ‚}‘ in <b>C:\Program Files\IP-SYMCON\scripts\Termin.ips.php</b> on line <b>381</b><br />

06.07.2008 21:22:31.620 | DEBUG | ExecuteThread ID: 1332 | Execution Result: <br />
<b>Parse error</b>: parse error, unexpected ‚}‘ in <b>C:\Program Files\IP-SYMCON\scripts\Termin.ips.php</b> on line <b>381</b><br />
"

OK, vergiss das mit dem Parse error und dem „{“ - ich habe beim Auskommentieren der Feiertags-Geschichten einen Fehler gemacht…:rolleyes:

EDIT: Ach ja - bzgl. Iconset: Meld! Meld! :slight_smile:

Hallo hocky,

Ok es geht ja voran. :slight_smile:
Erste Fehler sind ja durch die Automatik behoben.
Und :


<b>Parse error</b>: parse error, unexpected '}' in <b>C:\Program Files\IP-SYMCON\scripts\Termin.ips.php</b> on line <b>381</b><br />

Da scheint ein Klammer falsch zu sein. Schau mal auf eine { muß auch eine } folgen.

P.S. Ok Dein Beitrag war eher. :slight_smile: Iconset folgt.

So Iconset als rar File auf Seite 1.:wink:

Moin,

Joa - mühsam ernährt sich das Eichhörnchen :wink:

So langsam beginne ich wohl auch die Logik der Eingabemaske zu verstehen :wink:

Also folgendes geht jetzt bei mir:
Ich kann Termine anlegen und auch verändern. Scheinbar muss man nach einer Eingabe in die Textfelder dieses immer ordnungsgemäß mit „Tab“ verlassen, damit die Werte übernommen werden.

Und nun werden auch Termine in der Anzeigezeile angezeigt :slight_smile: Das sieht ja schon einigermassen gut aus.

Was nicht geht ist das Löschen eines Termins.