Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

*rumkugeln*

Mitglied

Dabei seit: 16.11.2008

Beiträge: 47

 

1 Zum Seitenanfang

Dienstag, 2. Dezember 2008, 15:51

Visual Basic: Programm mit Endlosschleife

Ich habe eine Analoguhr in Visual Basic geschrieben. Um die Zeiger immer wieder auszurichten habe ich eine Endlosschleife benutzt. Das Problem dabei ist, das, aufgrund dieser Endlosschleife mein Betriebssystem immer nach einer kurzen Zeit sagt "Uhr.exe reagiert nicht" und sich die Zeiger dadurch nicht mehr weiterbewegen. Wie kann man dieses Problem lösen?
 

Dabei seit: 28.09.2007

Beiträge: 967

 

2 Zum Seitenanfang

Dienstag, 2. Dezember 2008, 15:59

Hallo *rumkugeln*,

du darfst einfach keine Endlosschleife benutzen, du könntest aber die Zeiger jede Sekunde weiterbewegen, wäre also keine Endlosschleife.
Kannst es ja mal so probieren, oder du zeigst uns den Code, dann kann man es besser nachvollziehen.
Benutz am besten einen Timer, den Intervall setzt du auf 1000 (=1 Sekunde)

ak

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »andreaskeil« (2. Dezember 2008, 16:12)

 

*rumkugeln*

Mitglied

Dabei seit: 16.11.2008

Beiträge: 47

 

3 Zum Seitenanfang

Dienstag, 2. Dezember 2008, 16:22

Danke für die schnelle Antwort, aber leider habe ich keine Ahnung von Timern, ich weiß nicht wie man sie benutzt. Ich würde mich freuen, wenn mir das jemand erklären könnte.

Danke hab ich grade selbst herausgefunden. Vielen Dank trotzdem!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »*rumkugeln*« (2. Dezember 2008, 16:26)

 

Dabei seit: 28.09.2007

Beiträge: 967

 

4 Zum Seitenanfang

Dienstag, 2. Dezember 2008, 16:28

Erstmal eine grundsätzliche Frage: mit welcher VB Version programmierst du?

Dann: Du ziehst einen Timer aus der ToolBox auf deine Form. Dann doppelklickst du auf den Timer. Es öffnet sich die Codeansicht mit der Timer1_Tick-Sub.
Da kannst du den ganzen Code reinschreiben, den du zum Anzeigen von deinen Zeigern brauchst. Den Interval kannst du entweder im Eigenschaftenfenster einstellen oder per Code (in der Form1_Load-Sub):

Quellcode

1
Timer1.Interval = 1000 ' der Zeitabstand in der dein Code ausgeführt werden soll in Millisekunden



ak
 

okki

unregistriert

5 Zum Seitenanfang

Dienstag, 2. Dezember 2008, 17:34

http://msdn.microsoft.com/en-us/library/…mers.timer.aspx

auf der seite gibts ein beispiel für vb.

lg falko
 

Dabei seit: 14.12.2008

Beiträge: 14

 

6 Zum Seitenanfang

Freitag, 19. Dezember 2008, 05:21

Du solltest dich aber nicht alleine auf nen Timer verlassen...
Den kann man zwar sehr genau auf die 1/1000 sec einstellen, jedoch wird der vom System erzeugt.
Soll heisen, im Günstigsten Fall ist der der Timer wirklich genau so schnell wie 1s(1000ms) ...
aber nicht im normalen Betrieb. der Timer wird durch andere Systemlasten ausgebremst und so ist er meist Langsammer ... mal mehr mal weniger ... aber immer langsammer ... je nach dem welche systemlast du hast.

Ich würde dir empfehlen, den Timer zwar zu benutzen, da er selber wenig resourcen verschlingt, aber aller 5-10 min einen abgleich mit der Systemuhr über Time() und Date() zu machen ... sonst kann es passieren, das deine Uhr bei rechenintesiven Programmen um einiges nachgeht.
95% aller Computerfehler entstehen in dem Raum zwischen Tastatur und Rückenlehne !!!
 

jogi08

Grünschnabel

Dabei seit: 30.12.2008

Beiträge: 2

 

7 Zum Seitenanfang

Dienstag, 30. Dezember 2008, 17:34

Analoge Uhr

hi *rumkugeln*

um Tipps & tricks über Visual Basic zum bekommen schau mal da:

www.vbarchiv.de

www.vbfun.de

www.activevb.de

und siehe da es gibt sogar ein Tipps über dein Problem:

http://www.vb-fun.de/cgi-bin/loadframe.p…s/tip0350.shtml

Gruß

jogi08
 

kvjo

Jungspund

Dabei seit: 11.12.2008

Beiträge: 11

 

8 Zum Seitenanfang

Donnerstag, 1. Januar 2009, 18:44

Abgleich nach bestimmter Zeit ist unnötig!

Hallo ihr!

das mit dem Timer ist eine gute Idee. Ich habe eine ergänzung dazu:

Nicht einmalig die Zeit mit Time() eintragen und dann hochzählen, das führt manchmal ziemlich schnell zu großen Abweichungen.

Geh einfach hin und schreib beim Timerevent die Zeit jedesmal mit Time() in das Feld. Dann hast du ganz sicher bei jedem Timerevent die aktuelle Zeit und brauchst dir auch bei rechenintensiven Programmen im Hintergrund keine Gedanken machen, ob die Uhr im Moment aktuell ist.

Gruß Manuel
Man muss nicht alles wissen, aber man muss wissen, wo man die Antworten her kriegen kann.