Deutsch
Forum

Prog nach Uhrzeit beenden

 

helpself
Hallo,

da ich sonst in VB schreibe bräuchte ich jetzt Eure Unterstützung.

1. Ich möchte gerne ein laufendes Programm mit einer bestimmen Uhrzeit beenden.
Hat evt. jemand schon so was geschrieben?

2. Wie kann ich ein Fehler im Prog. übergehen? In VB gibt es ja den Befehl On Error.

Vielen Besten Dank
 
02.12.2011  
 




Jörg
Sellmeyer
Hallo,

Die Funktion Time$() liefert Dir die aktuelle Zeit. Du mußt also nur in regelmaßigen Abständen Deine eingestellte Zeit mit der aktuellen Zeit vergleichen.

Es gibt zwei Arten von Fehlermeldungen in Profan. Einmal tatsächliche Fehler, z,B. Division durch Null oder Wurzel aus einer negativen Zahl. Die führen zum Beenden des Programms, da im Interpreter selber dieser Fehler auftritt, b.z.w. verarbeitet werden muß.
Dann gibt es Warnungen, die erlauben, daß das Programm weiterläuft. Die Stabilität hängt dann vom weiteren Code ab, ob Dein Programm damit umgehen kann.

Die Fehlermeldungen kannst Du unterdrücken, indem Du mit Set("Errorlevel",n) die Ausgabe beeinflußt.
Das kann dann aber zum unkontrollierten Absturz mit entsprechender Windowsreaktion führen.

Es gibt noch die Möglichkeit mit Hilfe von "ErrorProc" eine eigene Fehlerbehandlung zu schreiben, die im Falle eines Fehlers ausgeführt wird.
Das greift aber z.B. nicht in den oben erwähnten Fällen.
Ansonsten empfehle ich ausgiebiges Testen und Bugtracking vor der Auslieferung
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.12.2011  
 




E.T.
Hatte vor Ewigkeiten mal ein Progg geschrieben (welches bei mir noch immer ohne Probleme täglich läuft), was in etwa so etwas macht. Beendet zwar kein Programm sondern das ganze Windows, aber im Prinzip das gleiche.
Wenn du interesse hast, kann ich dir ja den Quelltext schicken...

Ist aber gar nicht so schlimm das ganze, im Prinzip nur eine gespeicherte Uhrzeit mit der aktuelle Zeit vergleichen (ich mach das alle 20 sec., so ist es zumindest Minuten-Genau).


44 kB
Hochgeladen:02.12.2011
Ladeanzahl122
Herunterladen
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
02.12.2011  
 




helpself
Hallo,

für die Tipps, dass mit der uhrzeit beenden habe ich auch schon hinbekommen und Danke für das Angebot für den Quelltext.

Leider bekomme ich es nicht hin, den Fehler übergehen.

Ich habe da folgenen Code genommen um Dateien auf ein anderes Verzeichnis zu kopieren. Die Daten liegen auf einem anderen Server, wo ab und zu Serverarbeiten durchgeführt werden und diese dann nicht mehr zur Verfügung stehen. Es kommt zu einer Fehlermeldung. Oder auch wenn Die Datei schon geöffnet ist.

Der Code:
ClearList
Verzeichnis1$ = "k\"
Verzeichnis2$ = "H:\"
ChDir Verzeichnis1$
AddFiles "*.pdf"
WhileLoop 0,%getcount
Copy Verzeichnis1$ + ListBoxItem$(&Loop) > Verzeichnis2$ + ListBoxItem$(&Loop)
Wend

Hat jemand eine Idee?

Besten Dank
 
02.12.2011  
 




Jörg
Sellmeyer
Was sagt die Fehlermeldung denn? Was passiert, wenn Du ErrorLevel auf 0 setzt?
In diesem Fall dürfte die ErrorProc eine gute Lösung sein, um so einen Fehler zu verarbeiten.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.12.2011  
 




helpself
Es kommt dann: Copy Verzeichnis1$ + ListBoxItem$(&Loop) > Verzeichnis2$ + ListBoxItem$(&Loop)

weil, geht nicht. leider habe ich noch keine Erfahrung mit dem ErrorLevel von Xprofan.

Muss mich noch ein bischen erlesen....
 
02.12.2011  
 



Da es time$() auch als native Funktion gibt könnte er einen Thread starten und aus der Thread-nProc eine UserMessage senden -

somit würde er sich das ständige Zeitprüfen per Hauptereignisschleife ersparen.

Ooooder er nimmt getTickCount und nur zu Programmbeginn errechnet er die getTickCount der zu einer bestimmten Zeit gelten würde und beendet danach das Prg.
 
02.12.2011  
 




Jörg
Sellmeyer
Ich würde empfehlen, erstmal die simple Variante zu nehmen.

Stehen denn in Deinen Variablen auch die richtigen Werte?
Ansonsten kannst Du in der Schleife auf %error testen und entsprechend handeln.
Deine Beschreibung der Fehlermeldung ist immer noch nicht sehr aussagekräftig. Was ist der genaue Wortlaut? Läuft das Programm danach weiter? In welchem ErrorLevel (siehe Hilfe) befindest Du Dich.

Prinzipiell könntet Du das so abfangen:
KompilierenMarkierenSeparieren
Set("ErrorLevel",0)
Var n% = 0

While n% < %getcount

    Copy Verzeichnis1$ + ListBoxItem$(&Loop) > Verzeichnis2$ + ListBoxItem$(&Loop)

    If %error

        MessageBox("Ein Fehler ist aufgetreten","Die Datei " + Verzeichnis1$ + ListBoxItem$(&Loop) + " konnte nicht kopiert werden",0)

    EndIf

    Inc n%

Wend


Dann kannst Du die ausgelassenen Dateien später nochmal bearbeiten.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.12.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.997 Betrachtungen

Unbenanntvor 0 min.
DePANik11.07.2013
mein20.05.2013
RudiB.09.11.2012
Stephan Sonneborn25.03.2012
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie