Timeout

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Timeout

Re: Timeout

von marcel_at_work » Sa, 10.07.2010 17:23

Hallo Stephan,

... hmmmmm... das nächste Mal wohl besser erst nachdenken, dann schreiben... zudem hab´ich da wohl auch noch a paar kleine Missverständnisse aufzudecken... :lol:

Lg, Marci

Re: Timeout

von Stephan » Sa, 10.07.2010 17:14

?
Das Problem an diesem Code ist bloß mal wieder die verflixte StarBasic-API


Dein Code greift überhaupt nicht auf die API zurück, sondern enthält nur reines StarBasic.
Wenn man sich die Funktion nämlich mal genauer anschaut, sieht man eine Endlosschleife...
Und was sollte das mit der API zu tun haben, es ist StarBasic nicht mehr.



Gruß
Stephan

Re: Timeout

von marcel_at_work » Sa, 10.07.2010 16:31

Hallo wesselo,

... ähm... ich weiß zwar nicht ganz genau, wie du das mit dem "Schließen" einer Datenbank meinst, aber mit folgendem Code könntest du schon mal dein Timeout realisieren (Ich benutze ihn für Zeitaktualisierungen in bestimmten Anwendungen).
Wenn du mit DATE/TIME eine Abfrage einfügst, kannst du dann Funktionen ausführen...

Code: Alles auswählen

Sub runTimer()
	Dim nCurrentTime as Long, lSec as Long, lMin as Long, lHour as Long
	Dim sSec as String, sMin as String, sHour as String
	bTimeRunning = True
	
	nCurrentTime = Timer
	
	Do While bTimeRunning
		If nCurrentTime = Timer Then
			Wait 100
		Else
			nCurrentTime = Timer
			
			lSec = nCurrentTime
			lMin = Int(lSec/60)
			lSec = lSec Mod 60
			lHour = Int(lMin/60)
			lMin = lMin Mod 60
			
			sSec = trim(Str(lSec))
			sMin = trim(Str(lMin))
			sHour = trim(Str(lHour))
			
			If Len(sSec) < 2 Then sSec = "0" & sSec
			If Len(sMin) < 2 Then sMin = "0" & sMin
			If Len(sHour) < 2 Then sHour = "0" & sHour
			
			txt_time.text = "[" & Date & " " & sHour & ":" & sMin & ":" & sSec & "]"
		End If
	Loop
End Sub
Bemerkung: Wenn man sich die Funktion mal genauer anschaut, sieht man eine Endlosschleife... d.h., man könnte bei "einfachem" Einfügen in einen bestehenden Code, nichts weiteres Ausführen.
Dies zu umgehen ist aber relativ leicht:
Man muß irgendein Objekt erstellen, dass die "setFocus"-Methode unterstützt (z.B. ein Textfeld), verbindet dessen Objekt-Ereignis "bei Fokuserhalt" mit oben genannter Funktion und erstellt eine SUB, die bei Programmstart den Fokus auf dieses Objekt legt... Vóila: Die Funktion startet im Hintergrund und das Programm ist wieder ansprechbar.

Und mit einem EventHandler für die Maus/Keyboard, könnte man dann bei Bewegungen/Tastaturereignissen eine Zeit-Variable für die oben eingefügte Abfrage aktualisieren. (ungetestet, aber müßte gehen)

Zwecks der Datenbank-"Schließung": Falls du mit deinem Dialog/Formular einen Mehrbenutzer-Betrieb vorhast, könntest du dann bei "Timeout" z.B. einfach das angegebene Passwort für die Datenbankverbindungen auf Null setzen/bzw. eine boolesche Variable auf False (und die DB-Kommunikation geht dann ausschließlich, wenn über eine IF > "True" gegeben ist).

Lg, Marci

[Edit]

Re: Timeout

von komma4 » Sa, 10.07.2010 12:23

wesselo hat geschrieben:is es möglich das eine Datenbank nach einer bestimmte Zeit geschlossen wird (wenn der Benutzer keine Eingabe mehr macht) die Daten sollten vorher gespeichert werden?
Nein, nicht dass ich wüsste.

Timeout

von wesselo » Fr, 09.07.2010 11:36

Hallo zusammen,

is es möglich das eine Datenbank nach einer bestimmte Zeit geschlossen wird (wenn der Benutzer keine Eingabe mehr macht) die Daten sollten vorher gespeichert werden?

Danke für euere Hilfe und ein schönes Wochenende,
Markus

Nach oben