TERMIN Verwaltung
Moderator: Co-Administratoren
TERMIN Verwaltung
Hallo FHZ ler,
ich benötige mal hilfe.
Ich setzte noch die Erweiterung von Bümpi ein ,die Terminverwaltung,
jetzt bekomme ich immer die Fehlermeldung in TERMINABRUFEN php List out of bounds(1)
kann mir einer sagen was das bedeutet und ^wie ich den Fehler wieder weg bekomme.
Gruß Tobbi
ich benötige mal hilfe.
Ich setzte noch die Erweiterung von Bümpi ein ,die Terminverwaltung,
jetzt bekomme ich immer die Fehlermeldung in TERMINABRUFEN php List out of bounds(1)
kann mir einer sagen was das bedeutet und ^wie ich den Fehler wieder weg bekomme.
Gruß Tobbi
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: TERMIN Verwaltung
Hallo Tobbi
Kannst du mal einen Screenshot von dieser Fehlermeldung machen, damit man näher eingrenzen kann, woher die kommt?
Viele Grüsse
Bümpi
Kannst du mal einen Screenshot von dieser Fehlermeldung machen, damit man näher eingrenzen kann, woher die kommt?
Viele Grüsse
Bümpi
Re: TERMIN Verwaltung
Hallo Bümpi,
im Meldungsfenster kommt beim aufrufen von TermineAbrufen folgende Meldung.
30.05.2013 14:29:58 Error executing PHP-Script in TermineAbrufen: List index out of bounds (1)
Nach einem Festplattencrash mußte ich alles neu aufsetzten und seit dem hab ich das Problem
Gestern habe ich nochmal die Termine.dbf gegen deine erste ausgetauscht ,hat aber leider nix geholfen
Gruß Tobbi
im Meldungsfenster kommt beim aufrufen von TermineAbrufen folgende Meldung.
30.05.2013 14:29:58 Error executing PHP-Script in TermineAbrufen: List index out of bounds (1)
Nach einem Festplattencrash mußte ich alles neu aufsetzten und seit dem hab ich das Problem
Gestern habe ich nochmal die Termine.dbf gegen deine erste ausgetauscht ,hat aber leider nix geholfen
Gruß Tobbi
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: TERMIN Verwaltung
Hallo Tobbi
Hast du die Datei php_dbase.dll auch ins Homeputer-Verzeichnis kopiert? Achtung: Es muss diejenige aus dem Download von Contronics sein, nicht irgendeine aus dem Netz!
Sonst gib doch mal an, welche PHP-Dateien du im Homeputer-Verzeichnis hast und stelle das Makro in TermineAbrufen hier ein, so wie du es hast (es gab ja unterschiedliche Versionen).
Viele Grüsse
Bümpi
Hast du die Datei php_dbase.dll auch ins Homeputer-Verzeichnis kopiert? Achtung: Es muss diejenige aus dem Download von Contronics sein, nicht irgendeine aus dem Netz!
Sonst gib doch mal an, welche PHP-Dateien du im Homeputer-Verzeichnis hast und stelle das Makro in TermineAbrufen hier ein, so wie du es hast (es gab ja unterschiedliche Versionen).
Viele Grüsse
Bümpi
Re: TERMIN Verwaltung
Hallo Bümpi,
die dll ist von contronics und liegt imm Homputerverzeichnis.
Ich hab das Verzeichnis schon geändert weil ich da noch ein Problem gesehen hab, wars aber auch nicht.
Ich arbeite mit WIN7 , sollte ich vielleicht noch sagen.
Gruß Tobbi
die dll ist von contronics und liegt imm Homputerverzeichnis.
Ich hab das Verzeichnis schon geändert weil ich da noch ein Problem gesehen hab, wars aber auch nicht.
Ich arbeite mit WIN7 , sollte ich vielleicht noch sagen.
Code: Alles auswählen
<?
$Termine = "";
$TermineAnsagen = "";
$dbase_identifier = dbase_open("C:\ProgramData\Termine\Termine.dbf", 0);
if ($dbase_identifier)
{
$numrecords = dbase_numrecords($dbase_identifier);
// Hier statt 14 die Anzahl Tage eintragen, für die auch künftige fällige Termine
// angezeigt werden sollen. Wenn keine künftigen Termine gewünscht sind, 0 eintragen
$LastValidDate = date("Ymd", time() + 3600*24 * 2);
for ($i = 1; $i <= $numrecords; $i++)
{
$record = dbase_get_record_with_names($dbase_identifier, $i);
$recDate = rtrim($record['TERMIN']);
$recText = rtrim($record['TEXT']);
$recOptn = rtrim($record['WER']);
//Abbruch wenn Abfrageende erreicht ist
if ($LastValidDate < $recDate) break;
//Prüfen, ob der Datensatz nicht als "gelöscht" markiert ist...
if ($record['deleted'] != 1)
{
//ASCII in ANSI wandeln
$recText = iconv("CP850","ISO-8859-2",$recText);
$recOptn = iconv("CP850","ISO-8859-2",$recOptn);
$TerminText = $TerminAussprache = $recText;
if (strpos(" " . $recText, "%x") > 0)
{
//Alter berechnen und String ersetzen
$GebJahr = substr($recText, strlen($recText)-4, 4);
$Alter = substr($recDate, 0, 4) - $GebJahr;
$TerminText = str_replace("%x", $Alter, $recText);
//passenden Aussprachestring erzeugen
if ($Alter == 1) $AlterGesprochen = "Erster";
else if ($Alter == 3) $AlterGesprochen = "Dritter";
else if (($Alter % 100) == 1) $AlterGesprochen = ($Alter - ($Alter %100)) . "Erster";
else if (($Alter % 100) == 3) $AlterGesprochen = ($Alter - ($Alter %100)) . "Dritter";
else if (($Alter % 100) > 19) $AlterGesprochen = $Alter . "sder";
else $AlterGesprochen = $Alter . "ter";
$TerminAussprache = str_replace("%x.", $AlterGesprochen, $recText);//mit Punkt: x-tes Jahr
$TerminAussprache = str_replace("%x", $Alter, $TerminAussprache);//ohne Punkt: Alter
//Jahreszahl aus dem Aussprachestring entfernen
$TerminAussprache = rtrim ($TerminAussprache, "0123456789 ,!?.");
}
//Ansagetext erzeugen, wenn Option nicht "Keine Ansage" UND Termin heute
if ((strcasecmp($recOptn, "Keine Ansage") != 0) && ($recDate == date("Ymd")))
{
$TermineAnsagen .= $TerminAussprache . "! ";
}
if ($recDate < date("Ymd") &&
(strpos(" " .$Termine, "Verpasste Termine:") == 0)) $Termine .= "Verpasste Termine:<<";
if ($recDate == date("Ymd") &&
(strpos(" " .$Termine, "Heutige Termine:") == 0)) $Termine .= "Heutige Termine:<<";
if ($recDate > date("Ymd") &&
(strpos(" " .$Termine, "Künftige Termine:") == 0)) $Termine .= "Künftige Termine:<<";
///////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// Hier können individuelle Erweiterungen, die sich z.B. auf die "Optionen" beziehen eingefügt werden.
//
// Bitte beachten: Das Termin-Heutedatum ($recDate) liegt hier noch im Format YYYYmmdd (ohne Punkte) vor.
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////////
//Heutedatum muss umformatiert werden
$recDate = substr($recDate,6,2) . "." . substr($recDate,4,2) . "." . substr($recDate,2,2);
$Termine .= $recDate . " - " . $TerminText . "<<";
}
}
dbase_close($dbase_identifier);
} else {
$Termine = "Fehler beim Öffnen der Termine.dbf";
}
// Die Rückgabe eines leeren Strings kann im Makro zu Fehlern führen
if ($Termine == "") $Termine = " ";
if ($TermineAnsagen == "") $TermineAnsagen = " ";
?>
wenn Termine=" " dann
Termine:="Heute keine Termine"
endewenn
wenn TermineAnsagen=" " dann
TermineAnsagen:="Heute keine Termine"
endewenn
**Fehlermeldungen werden angezeigt und in die Datei PHPFehler.txt geschrieben
wenn scriptoutput<>"" dann
scriptoutput := Zeit + " " + scriptoutput
Schreibedatei("PHPFehler.txt",scriptoutput)
Termine:=Termine+"<<"+scriptoutput
endewenn
sichtbar(Termine)
** Wenn die automatische Ansage nach dem Abrufen der Termine nicht
** gewünscht wird, am Anfang der nächsten Zeile zwei ** einfügen
**starte(TermineAnhoeren)
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: TERMIN Verwaltung
Hallo Tobbi
Ich kann keinen Fehler finden
Hast du auch eine PHP.ini in deinem Homeputer-Verzeichnis mit mindestens folgendem Inhalt:
Und die php5ts.dll fehlt ja bestimmt nicht im Verzeichnis...
Dann könntest du auch mal die PHP.exe ins Verzeichnis kopieren und aus dem PHP-Makro eine Datei "Test.PHP" erstellen und sie an der Kommandozeile mit
starten. Vielleicht kommt dann eine aussagekräftigere Fehlermeldung mit Zeilennummer
Viele Grüsse
Bümpi
PS: Nach Änderungen im PHP-Verzeichnis und in PHP-Makros immer Homeputer ganz beenden und neu starten. Sonst wird teilweise mit altem Material gearbeitet!
Ich kann keinen Fehler finden
Hast du auch eine PHP.ini in deinem Homeputer-Verzeichnis mit mindestens folgendem Inhalt:
Code: Alles auswählen
[PHP]
extension_dir = "./"
extension=php_dbase.dll
Dann könntest du auch mal die PHP.exe ins Verzeichnis kopieren und aus dem PHP-Makro eine Datei "Test.PHP" erstellen und sie an der Kommandozeile mit
Code: Alles auswählen
PHP.exe Test.PHP
Viele Grüsse
Bümpi
PS: Nach Änderungen im PHP-Verzeichnis und in PHP-Makros immer Homeputer ganz beenden und neu starten. Sonst wird teilweise mit altem Material gearbeitet!
Re: TERMIN Verwaltung
hallo Bümpi,
ich hab nochmal alles kontrolliert,
es ist wie du schreibst da ich mich in php nicht auskenne,
kann ich das mit der PHP.exe nicht nachvollziehen.
Ich hatte die Zeile einmal in der Termineabrufen reinkopiert,
das hat mir jetzt einen neuen Fehler beschert, wenn ich Homputer neustarte kommt jetzt
Parse
error: parse error, unexpected T_STRING in C:\Program
Files\contronics\homeputer Studio\- on line 3
Date: Fri, 31 May 2013 20:12:45 +0000
natürlich habe ich die Zeile wieder raus und den gesamten Inhalt von AbrufenTernnin noch mal neu
reinkopiert, nützt alles nix, der Fehler bleibt. ;.(
Gruß Tobbi
ich hab nochmal alles kontrolliert,
es ist wie du schreibst da ich mich in php nicht auskenne,
kann ich das mit der PHP.exe nicht nachvollziehen.
Ich hatte die Zeile einmal in der Termineabrufen reinkopiert,
das hat mir jetzt einen neuen Fehler beschert, wenn ich Homputer neustarte kommt jetzt
Parse
error: parse error, unexpected T_STRING in C:\Program
Files\contronics\homeputer Studio\- on line 3
Date: Fri, 31 May 2013 20:12:45 +0000
natürlich habe ich die Zeile wieder raus und den gesamten Inhalt von AbrufenTernnin noch mal neu
reinkopiert, nützt alles nix, der Fehler bleibt. ;.(
Gruß Tobbi
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: TERMIN Verwaltung
... die PHP.exe findest du im Download von Homeputer. Es ist ein Interpreter, mit dem man PHP-Scripts in Windows auch an der Kommandozeilen ausführen lassen kann.Tobbi35 hat geschrieben:da ich mich in php nicht auskenne, kann ich das mit der PHP.exe nicht nachvollziehen.
Wenn du diese ins Homeputer-Programmverzeichnis (da wo HomeputerStudio.exe und die übrigen PHP-Dateien drin sind) kopierst und dort auch die besagte Test.PHP aus deinem Makro erstellst, kannst du das Script ausführen und kriegst vielleicht aussagekräftigere Fehlermeldungen.
Hast du eigentlich Windows 7 32bit oder 64bit? Laufen die TermInp.exe und die TermOutp.exe da überhaupt noch? Das heisst: Kannst du Termine über das DOS-Programm eingeben?
Und wie ist es mit den Rechten? Hast du volle Schreib- und Leserechte für das Verzeichnis "C:\ProgramData\Termine\"?
Starte HomeputerStudio auch mal als Administrator (im Windows-Explorer auf die EXE rechtsklicken und dann "Als Administrator ausführen" wählen.
Viele Grüsse
Bümpi
PS: Ob du die besagte PHP.INI im Homeputer-Programmverzeichnis hast, hast du überprüft? - Und Homeputer nach Änderungen jeweis beendigt und neu gestartet (nicht nur die Projekt-Ausführung)
Re: TERMIN Verwaltung
Hallo Bümpi,
ich denke ich hab alles kontrolliert,
aber ich kann den Fehler nicht finden,
jetzt kommt immer Zugriffsverletzung auf Adresse 0000000 ich denke das ich das mit den Terminen
aus dem Prg schmeissen muß ( leider )
Gruß Tobbi
PS: Der Mist liegt irgendwo mit der Rechteverwaltung in WIN7 zusammen, da ich vorher
auf dem XP Rechner nie Problem hatte. Hab auch schon das Verzeichnis aus dem Ordner Homputer nach ProgrammData und von da nach c:\ verschoben, natürlich mit Pfadanpassung in den Makros, aber immer das gleiche.
ich denke ich hab alles kontrolliert,
aber ich kann den Fehler nicht finden,
jetzt kommt immer Zugriffsverletzung auf Adresse 0000000 ich denke das ich das mit den Terminen
aus dem Prg schmeissen muß ( leider )
Gruß Tobbi
PS: Der Mist liegt irgendwo mit der Rechteverwaltung in WIN7 zusammen, da ich vorher
auf dem XP Rechner nie Problem hatte. Hab auch schon das Verzeichnis aus dem Ordner Homputer nach ProgrammData und von da nach c:\ verschoben, natürlich mit Pfadanpassung in den Makros, aber immer das gleiche.
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: TERMIN Verwaltung
... das denken ich auch. Das "Als Administrator ausführen" aus meinem letzten Beitrag hat auch nichts gebracht? Dann schalte mal die Benutzerkontensteuerung aus, falls die aktiv ist...Tobbi35 hat geschrieben:Der Mist liegt irgendwo mit der Rechteverwaltung in WIN7 zusammen, da ich vorher
auf dem XP Rechner nie Problem hatte.
Viele Grüsse
Bümpi