TimeZone Notifier

    • Beta

    Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von mikeb69.

      TimeZone Notifier

      Hallo,

      hier mein neuestes Werk.

      Der TimeZone Notifier ist eine Anwendung zum Ermitteln der Zeitzone und der aktuellen Zeit in der sich der PC befindet,
      welche aus einer Webanwendung und einer Windowsanwendung besteht.

      Die Windowsanwendung bezieht ihre Daten via RSS aus der Webanwendung.

      Probiert es einfach mal aus, im Prinzip kann nichts schief gehen.

      Ablauf:
      1. PC prüft ob Onlineverbindung besteht
      2. PC frägt Daten an - Erkennung des Standortes via IP-Adresse
      3. Webanwendung generiert die Daten und sendet RSS
      4. Windowsanwendung zeigt die aktuelle Uhrzeit an.

      Die Uhrzeit wird im Moment anhand der Zeit des Servers gesetzt.

      Was fehlt noch ?
      1. Ausbau der Datenbank für alle Zeitzonen dieser Welt
      2. Atomuhr genaue Zeit
      3. Updatefunktion
      4. Nervige Werbeeinblendungen
      5. Andere Sprachen - wer sich als Übersetzer anbieten will kann das gerne per PN tun.

      Programmiert wurde mit VS 2010, Framework 2 als VB.NET Windows- und ASP.NET(VB.NET) Webanwendung.

      Getestet auf:

      Windows 7 64Bit
      openSuse 11.3

      Danke an Samus Aran für das Design

      Eine Bitte hätte ich noch, zur Verbesserung dieser Seite.
      Die genaue Bedeutung der Region ist noch nicht für alle Teile Europas ganz klar.
      Es wäre schön wenn ihr auf den Report-Button drücken würdet, sobald bei euch als Region eine Zahl oder ein Kürzel erscheint.

      Anmerkung:
      Beim Besuch der Seite werden keine Daten gespeichert - nur durch Drücken des Report-Buttons.
      Aber auch diese Daten werden nach einmaliger Durchsicht wieder gelöscht. Versprochen.

      Update der Webanwendung vom 1.Juni 2011
      1. Verlagerung auf eine eigene (Sub-)Domain
      2. Änderungen am RSS-Feed
      3. Verbesserung des Codes der Seite
      4. Mehrsprachige Webseite (deutsch, englisch)


      Update vom 19.Juni 2011
      [*]Kleine Änderungen an der Webanwendung
      [*]Tool zum Anzeigen der Zeit erstellt - Download ist nun möglich

      Gruss

      mikeb69
      Bilder
      • timezonenotifier_screenshot.png

        12,57 kB, 400×201, 204 mal angesehen

      Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „mikeb69“ ()

      Sowas habe ich auch mal gemacht, da meine Bios-Batterie leer ist und meine Uhr deswegen immer falsch ist.

      Geht ganz einfach mit einem php-Skript:

      Spoiler anzeigen

      PHP-Quellcode

      1. <?php
      2. echo date ("j", time()); //Tag
      3. echo "|";
      4. echo date ("n", time()); //Monat
      5. echo "|";
      6. echo date ("Y", time()); //Jahr
      7. echo "|";
      8. echo date ("G", time()); //Stunde
      9. echo "|";
      10. echo date ("i", time()); //Minute
      11. echo "|";
      12. echo date ("s", time()); //Sekunde
      13. echo "|";
      14. echo date ("w", time()); //Wochentag
      15. echo "|";
      16. ?>


      und dann hiermit:

      Spoiler anzeigen

      VB.NET-Quellcode

      1. Imports System.Text.RegularExpressions
      2. Public Class Form1
      3. Private Declare Function SetSystemTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME) As Long
      4. Private Structure SYSTEMTIME
      5. Dim wYear As Short
      6. Dim wMonth As Short
      7. Dim wDayOfWeek As Short
      8. Dim wDay As Short
      9. Dim wHour As Short
      10. Dim wMinute As Short
      11. Dim wSecond As Short
      12. Dim wMilliseconds As Short
      13. End Structure
      14. Private Fehlversuche As Byte = 0
      15. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
      16. Dim Erfolg As Boolean = False
      17. Try
      18. If My.Computer.Network.Ping("google.com", 8000) = True Then
      19. Dim wc As New Net.WebClient
      20. Dim txt As String = ""
      21. txt = wc.DownloadString(".../time.php")
      22. Dim Y, M, D, DoW, h, mi, s As String
      23. Y = Split(txt, "|")(2)
      24. M = Split(txt, "|")(1)
      25. D = Split(txt, "|")(0)
      26. h = Split(txt, "|")(3)
      27. mi = Split(txt, "|")(4)
      28. s = Split(txt, "|")(5)
      29. DoW = Split(txt, "|")(6)
      30. Dim ST As SYSTEMTIME
      31. ST.wDay = D
      32. ST.wDayOfWeek = DoW
      33. ST.wHour = h - 1 '???????????????????????
      34. ST.wMilliseconds = 0
      35. ST.wMinute = mi
      36. ST.wMonth = M
      37. ST.wSecond = s
      38. ST.wYear = Y
      39. If SetSystemTime(ST) = 0 Then
      40. Fehlversuche += 1
      41. Else
      42. Erfolg = True
      43. End If
      44. Else
      45. Fehlversuche += 1
      46. End If
      47. Catch ex As Exception
      48. Fehlversuche += 1
      49. MsgBox(ex.Message)
      50. End Try
      51. If Erfolg = True Then Me.Close()
      52. If Fehlversuche = 5 Then Me.Close()
      53. End Sub
      54. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      55. Me.Opacity = 0
      56. End Sub
      57. End Class


      Dieser Beitrag kann gelöscht werden, wenn das zuviel thread highjacking ist.
      Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!
      Hallo bla,

      naja - nicht ganz, ein wenig komplizierter ist mein Code schon.

      Anhand der IP-Adresse wird dein aktueller Standort (egal wo auf der Welt) ermittelt und die aktuelle Ortszeit mit Zeitzone zurückgegeben.

      Gruss

      mikeb69

      Warum so eine miese Qualität ?
      Edit: Ok, bei mir kam sie nur so mies rüber weil Youtube die 4:3 auf 16:9 gestrechet hat. Die beste Quali ist es trotzdem nicht :|
      Hallo MangaFreak,

      vielleicht mach ich das nochmal.
      War ein erster Versuch.

      Das Video werden all die zusehen bekommen, dessen Region oder Zeitzone nicht erkannt wurde.
      Irgendwann sollte das niemand mehr sehen müssen. ;)

      EDIT:
      Wo hast du das Video eigentlich so schnell her ?
      Hab das erst gestern Abend auf Youtube und Facebook veröffentlicht !

      Gruss

      mikeb69

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mikeb69“ ()

      Ich habe dich bei Youtube abonniert, denn bis jetzt ist mMn noch nichts schlechtes bei deinen Post und Projekten rausgekommen und man will ja lernen :thumbsup:

      Wenn du schon eine HTML5-Seite gestaltest kannst du eigentlich auch ein Video mit den neuen Tags in HTML5 einbinden ;) dann hast du den Youtube-Player schon einmal weg :D
      Hallo MangaFreak,

      Wenn du schon eine HTML5-Seite gestaltest

      ist ja nicht wirklich von mir.

      denn bis jetzt ist mMn noch nichts schlechtes bei deinen Post und Projekten rausgekommen

      Danke.

      dann hast du den Youtube-Player schon einmal weg

      Youtube ist ein Multiplikator, wie natürlich andere auch.
      Deshalb bleibt das auf Youtube.

      Aber das mit der Seite kann ich schon auch machen.

      Hatte sowas wie eine Online-Hilfe sowieso vor.

      EDIT:
      wenn ich mir das hier ansehe wird mir aber angst und bange.
      Hat sich bis heute etwas an der Situation geändert ?

      Gruss

      mikeb69
      Ich weiß ja dass die nicht von dir direkt ist ich habe das Thema dazu ja mitverfolgt ;)

      Klar ist Youtube ein guter Weg um auf sich aufmerksam zu machen und da es fast überall eingebunden werden kann verbreiten sich Videos ja rasant, aber bei einer Seite mit eigenem Style passt der YT-Style da irgendwie nicht mit rein.

      An der Situation wird sich wohl kaum was geändert haben. Mein Opera macht zB keine mp4-Videos mit.
      Was hälst du davon (Dateinamen sind freigewählt):

      HTML-Quellcode

      1. <video width="640" height="390" controls>
      2. <source src="errorhandling.mp4" type="video/mp4" />
      3. <source src="errorhandling.ogv" type="video/ogg" />
      4. <iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/2XmYZ0hdS2U" frameborder="0" allowfullscreen></iframe>
      5. </video>
      Hallo,

      hab die Seite jetzt dahingehend erweitert, dass jeder beliebige oder die eigene IP testen kann.

      Beliebige IP

      Quellcode

      1. http://www.free-file-download.de/TimeZone.aspx?ip=xxx.xxx.xxx.xxx


      Eigene IP

      Quellcode

      1. http://www.free-file-download.de/TimeZone.aspx


      @MangaFreak,
      schau ich mir mal an.

      Gruss

      mikeb69

      mikeb69 schrieb:

      hab die Seite jetzt dahingehend erweitert, dass jeder beliebige oder die eigene IP testen kann.
      Beliebige IP

      Quellcode

      1. http://www.free-file-download.de/TimeZone.aspx?ip=xxx.xxx.xxx.xxx
      gehen nur IPv4-IPs ?
      ohne IPv6-IP ? xD

      Edit: dem Post entnehme ich jetzt einfach mal dass du die IP-Struktur nicht abfragst/kontroullierst sondern einfach in einen Interpreter reinjagst. tztztz xD

      Ok, alles andere wird nicht genommen :thumbup:. 127.0.0.1 wird auch nicht genommen 8o IPv6 geht auch (free-file-download.de/timezone…a3:8d3:1319:8a2e:370:7348) die IP habe ich irgenwo aus dem IPv6-Wiki-Artikel.

      Was ich unschön finde ist beim Testen unterschiedlicher IPs ist mir aufgefallen dass nicht alles statisch ist sondern dynamisch was irgendwie irritierend ist wenn das sich immer hin und her bewegt. Ich hoffe das ist irgendwie verständlich :|

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mangafreak1995“ ()

      Hallo Mangafreak,

      was bewegt sich hin und her ?

      Die Tabelle ? Ist mir auch schon aufgefallen.

      dass du die IP-Struktur nicht abfragst/kontroullierst sondern einfach in einen Interpreter reinjagst. tztztz xD

      sicher - ich nehm was da kommt und lass es durch die DB durch.
      Kommt ein gültiges Ergebnis - OK
      Kommt kein gültiges Ergebnis - Pech gehabt.

      Damit wird alles erschlagen was nicht IP ist - auch 127.0.0.1

      Gruss

      mikeb69