| | | 3D-Druck in der industriellen Produktion, eine Pressemitteilung
|
Autor
|
Thema: VS Express - VB - Stoppuhr zu langsam (5643 / mal gelesen)
|
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006
|
erstellt am: 28. Feb. 2018 20:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin am Anfang eines neuen Projektes und dabei, seit vielen Jahren mal wieder, was mit VS Express 2017 zu machen. Ich habe eine Stoppuhr vorbereitet und mich in etwa an dieser Vorlage orientiert. https://www.youtube.com/watch?v=J1tB9JleL0c Auch hier kann man etwas nachschauen. https://msdn.microsoft.com/de-de/library/system.diagnostics.stopwatch(v=vs.80).aspx Nun, die Stoppuhr funktioniert, nur wenn ich sie neben die Systemuhr des Computers stelle, ist sie jede Minute ca. 2 sec. zu langsam. Also nach 2 Minuten fehlen 4 sec. und nach 3 schon 6 sec.. Ich habe schon alles mögliche versucht, auch andere Codes aus anderen Beispielen, aber immer zu langsam. Als normale Uhr, mit dem folgenden Befehl, stimmt die Zeit absolut, aber eben nicht als Stoppuhr. Code: Label1.Text = TimeString
Kann mir jemand sagen, was da schief läuft und wie ich eine korrekte Ausgabe hinbekomme? Der verwendete Code kommt hier. Code: Public Class Form1 Private stopwatch As New Stopwatch Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick Dim elapsed As TimeSpan = stopwatch.Elapsed Label1.Text = String.Format("{0:00}:{1:00}:{2:00}", Math.Floor(elapsed.TotalHours), elapsed.Minutes, elapsed.Seconds) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'Start / Stop Button If Button1.Text = "Start" Then Timer1.Start() stopwatch.Start() Button1.Text = "Stop" Button2.Enabled = False Else Timer1.Stop() stopwatch.Stop() Button1.Text = "Start" Button2.Enabled = True End If End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'Reset Button stopwatch.Reset() Label1.Text = "00:00:00" End Sub End Class
Für zahlreiche Hilfe schon mal besten Dank Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 01. Mrz. 2018 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Hallo Andi, hast Du's schon mal ohne Stopwatch versucht ? Mein Vorschlag wäre, beim Start die aktuelle Zeit zu speichern und beim Timer.Tick die Differenz der aktuellen Zeit zur Startzeit zu berechnen. So addieren sich eventuelle Fehler je Tick nicht zu einer großen Gesamtabweichung. B.t.W.: VS Express 2017 ??? Meinst Du VS 2017 Community ? Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006
|
erstellt am: 02. Mrz. 2018 00:34 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von mseufert:
B.t.W.: VS Express 2017 ??? Meinst Du VS 2017 Community ?
Hallo Michael, und danke schön für deine Anmerkungen. Schaust du das Bild an, dann siehst du die Programmversion. An deinen Vorschlag hatte ich auch schon gedacht, nur, die Beispiele die ich so gefunden hatte, waren alle in der Art, wie ich sie oben beschrieben habe. Ich habe das nun so geändert, und wie zu erwarten war, stimmt die Zeit jetzt. Allerdings habe ich ewig nach einer geeigneten Form suchen müssen, die mir die Differenzzeit (TimeSpan) in String wandelt und auch noch richtig formatiert. Der Code sieht jetzt verkürzt so aus: Code: Dim TimeStamp1 As DateTime TimeStamp1 = DateTime.Now Label1.Text = System.DateTime.op_Subtraction(TimeStamp1, Now).ToString("hh\:mm\:ss")
Ich mach dann mal weiter mit dem Programm. Falls einem noch was passendes zu der Thematik einfällt, nur zu, man kann nie genug erfahren. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 04. Mrz. 2018 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Hallo Andi, ja, die verschiedenen Strings zur Formattierung können einen schon mal in den Wahnsinn treiben. Was bei DateTime funktioniert, muss beim TimeSpan nicht richtig sein. String.Format() und .Tostring("Format") brauchen auch wieder andere Formattierungs-Strings. Ich hab' das wie folgt gelöst, Projekt findest Du anbei. Code: Private Sub SetElapsed(ByVal lbl As Label, ByVal dtime As TimeSpan) lbl.Text = String.Format("{0:00}:{1:00}:{2:00}:{3:000}", dtime.Hours, dtime.Minutes, dtime.Seconds, dtime.Milliseconds) End Sub
Dann nochmal eine Frage zu VS Express 2017: Hast Du ein .iso-File oder eine Idee, wo man das findet. Bei Microsoft und auch anderswo hab' ich bisher immer vergeblich danach gesucht bzw. ff. Info gefunden: Microsoft hasn't announced Visual Studio 2017 Express editions and in all likelihood it won't be announced. Gruß, Michael
------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006
|
erstellt am: 04. Mrz. 2018 11:04 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von mseufert:
Dann nochmal eine Frage zu VS Express 2017: Hast Du ein .iso-File oder eine Idee, wo man das findet. Bei Microsoft und auch anderswo hab' ich bisher immer vergeblich danach gesucht bzw. ff. Info gefunden:
Hallo Michael, danke für dein Projekt, werde ich mir mal in Ruhe anschauen. Momentan lerne ich, wie ich eine Datenbank einbinden kann, auch so ein Thema mit Fallstricken. Wenn ich in VS 2017 auf die Hilfe klicke, lande ich im Internet auf die Hilfe von 2015. (Die lokale Hilfe bringt mir ne Fehlermeldung) https://msdn.microsoft.com/query/dev15.query?appId=Dev15IDEF1&l=de-DE&k=k(MSDNSTART)&rd=true Hier steht ganz oben "Es wird empfohlen, Visual Studio 2017 zu verwenden" Jetzt herunterladen So müsstest du da dran kommen. Grüße, und noch nen schönen Sonntag dir, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 04. Mrz. 2018 15:28 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Hallo Andi, in Sachen Datenbanken kann ich leider nicht viel sagen, außer daß meine ersten Versuche damit vor einiger Zeit recht deutlich fehlgeschlagen sind. Insofern kann ich die Fallstricke bestätigen. Besten Dank für den Link, das sieht ganz gut aus, werd' mal unter "How to install offline" weiter stöbern. Die lokale Hilfe hab' ich zuletzt für VS Express 2008 installiert. Dazu brauchst Du m.W. ein separates Paket, das zusätzlich zu VS installiert wird. War zumindest in den alten Versionen so. Auch Dir noch einen schönen Sonntag und viel Spass beim spielerischen Lernen Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 05. Mrz. 2018 10:49 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000
|
erstellt am: 05. Mrz. 2018 12:51 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
|
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 11. Mrz. 2018 09:26 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|