Italia
Foro

Prog nach Uhrzeit beenden

 

helpself
Ciao,

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
Ciao,

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 Aiuto von "ErrorProc" eine eigene Fehlerbehandlung zu schreiben, die im Falle eines Fehlers corsa 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 corre), 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
Downloadcounter122
Download
 
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
Ciao,

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

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

Ich habe da folgenen Code genommen um File 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 File 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 potrebbe 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 potuto 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 Aiuto) 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%

Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.12.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

7.015 Views

Untitledvor 0 min.
DePANik11.07.2013
mein20.05.2013
RudiB.09.11.2012
Stephan Sonneborn25.03.2012
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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