AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TimeWizard - Ein Zeitaktualisierungs-Tool

TimeWizard - Ein Zeitaktualisierungs-Tool

Ein Thema von Stefan Hueg · begonnen am 2. Jul 2006 · letzter Beitrag vom 2. Jul 2006
Antwort Antwort
Seite 2 von 3     12 3   
Benutzerbild von Stefan Hueg
Stefan Hueg
Registriert seit: 13. Jun 2004
Nun, nach etwa einem Monat Entwicklungszeit, bringe ich Version 0.8 Beta meines Zeitaktualisierungs-Tools TimeWizard heraus.

Es bietet die Möglichkeit die Zeit über das SNTP Protokoll zu aktualisieren. Zusätzlich beinhaltet es einige Service-Funktionen wie einen Zeitserver-Manager, div. Import und Exportmöglichkeiten.

Hier einmal die Features im Überblick:
-Aktualisierung der Uhrzeit über das SNTP Protokoll
-Aktualisierung der Uhrzeit über das HTTP Protokoll mit Proxy-Unterstützung (in Netzwerken wo viele Ports gesperrt sind)
-Zeitserver-Manager
-Zeitserver importieren (.csv, .txt)
-Zeitserver exportieren (.csv, .txt)
-Schnellsten Zeitserver herausfinden
-Mehrsprachigkeit (bisher nur Deutsch und Englisch)

etc.

Was noch geplant ist:
-Autostartfunktion

So nun testet mal drauf los, und nehmt das Proggie ruhig auseinander, bin gespannt auf eure Reaktionen und Vorschläge.

Gruß,

Stefan

PS: Die Readme-Dateien wurden noch nicht überarbeitet
Miniaturansicht angehängter Grafiken
screenshot_196.png  
Angehängte Dateien
Dateityp: rar timewizard_0.8_beta_161.rar (545,9 KB, 34x aufgerufen)
 
Benutzerbild von Stefan Hueg
Stefan Hueg

 
Delphi 2006 Professional
 
#11
  Alt 2. Jul 2006, 18:47
Ok danke für den Hinweis, dann muss ich das nur noch anpassen.

Hier der Code, und ich weiss jetzt nicht wo ich das ändern kann ^^

Delphi-Quellcode:
function IsAdmin: Boolean;
var
  hAccessToken: THandle;
  ptgGroups: PTokenGroups;
  dwInfoBufferSize: DWORD;
  psidAdministrators: PSID;
  x: Integer;
  bSuccess: BOOL;
begin
  Result := False;
  bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, True,
    hAccessToken);
  if not bSuccess then
  begin
    if GetLastError = ERROR_NO_TOKEN then
      bSuccess := OpenProcessToken(GetCurrentProcess, TOKEN_QUERY,
        hAccessToken);
  end;
  if bSuccess then
  begin
    GetMem(ptgGroups, 1024);
    bSuccess := GetTokenInformation(hAccessToken, TokenGroups,
      ptgGroups, 1024, dwInfoBufferSize);
    CloseHandle(hAccessToken);
    if bSuccess then
    begin
      AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
        SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
        0, 0, 0, 0, 0, 0, psidAdministrators);
      {$R-}
      for x := 0 to ptgGroups.GroupCount - 1 do
      if (SE_GROUP_ENABLED = (ptgGroups.Groups[x].Attributes and SE_GROUP_ENABLED)) and
      EqualSid(psidAdministrators, ptgGroups.Groups[x].Sid) then
        begin
          Result := True;
          Break;
        end;
      {$R+}
      FreeSid(psidAdministrators);
    end;
    FreeMem(ptgGroups);
  end;
end;
Stefan Hueg
  Mit Zitat antworten Zitat
Basilikum

 
Delphi 7 Professional
 
#12
  Alt 2. Jul 2006, 18:56
Zitat von Stefan Hueg:
Ok danke für den Hinweis, dann muss ich das nur noch anpassen.

Hier der Code, und ich weiss jetzt nicht wo ich das ändern kann ^^
weshalb wertest du nicht einfach nach dem Aufruf von SetSystemTime den Error-Code (GetLastError) aus, anstelle lange zu prüfen, ob der Benutzer die Zeit setzen könnte ?
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

 
Delphi 6 Enterprise
 
#13
  Alt 2. Jul 2006, 19:19
Zitat von Stefan Hueg:
-Aktualisierung der Uhrzeit über das HTTP Protokoll mit Proxy-Unterstützung (in Netzwerken wo viele Ports gesperrt sind)
Und wo kann ich das Einstellen?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Stefan Hueg
Stefan Hueg

 
Delphi 2006 Professional
 
#14
  Alt 2. Jul 2006, 19:22
@Basilikom: Weil die Api Funktion keinen Error Code sondern nur True oder False zurück gibt (Erfolg oder Misserfolg).

@atreju2oo0: "Datei\HTTP-Server Aktualisierung" bzw. "File\HTTP-Server update"
Stefan Hueg
  Mit Zitat antworten Zitat
Benutzerbild von Stefan Hueg
Stefan Hueg

 
Delphi 2006 Professional
 
#15
  Alt 2. Jul 2006, 19:38
@Basilikum: Habe es eben gerade mal geprüft. Sowohl im Erfolgs- als auch im Fehlerfall wird GetLastError 0 zurück. Damit funktioniert es also nicht.
Stefan Hueg
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#16
  Alt 2. Jul 2006, 19:56
Nettes Programm. Eine Frage: Kann das Programm automatisch aktuallsiseren? Also z.B. alle X-Tage ?

Und dann auch ein schönheits tipp (ich fänds net):
Im Log erscheint:
Code:
[ ] Löse auf clock.psu.edu
Wenns klappt dann löscht du die Zeile (bzw änderst sie):
Code:
[X] Löse auf clock.psu.edu (128.118.25.3)
Wenns dann nicht klappt statt [X] einfach ein [-] ?

PS: Hast du da irgendwie ein Shortcut, der das Fenster durchsichtig macht, aber es dann sozusagen als Bild draufklatscht? Oder habe ich eine neue Funktion meiner Graka/meines Windows entdeckt Irgendwie mit Alt Gr und da was bei der neun ^^
xZise hat folgendes hinzugefügt:
Ah ^^ Ich habs xP Mein Firefox ist leicht durchsichtig xP jetzt müsst ich nur noch dahinterkommen, es wieder umzustellen ^^

xZise hat folgendes hinzugefügt:
So... Wieder umgestellt xP Lag an mein Programm, dass aus XP Vista macht (vom Style her gesehen) und da hat man dann auch so eine lustiche Funktio mit der man Fenster durchsichtig machen kann ^^


PPS: Mach doch Noch diese BOX in der man den Hostname wählt im XP-Style ?!
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von Stefan Hueg
Stefan Hueg

 
Delphi 2006 Professional
 
#17
  Alt 2. Jul 2006, 19:59
@xZise: Danke für die Hinweise erstmal. Deinen ersten Vorschlag werde ich beherzigen. Zur BOX: Wenn du mir sagst welche Komponente du meinst oder kennst?
Stefan Hueg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#18
  Alt 2. Jul 2006, 20:00
Selbst TRUE und FALSE reicht doch auch aus?

Entweder die Zeit konnte geändert werden, oder eben nut und dann muß ja was nicht stimmen.
Und wenn also die übergebene Zeit OK war, dann lag es wohl an fehlenden Rechten.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#19
  Alt 2. Jul 2006, 20:02
[OT]o.O xZise ist doch kein D-Zug ^^ xP[/OT]

Also ich meine diese Combobox (wenn ich es richtig in er innerung habe, wo man die IP oder den Hostname wählt. (Aber irgendwie habe ich das gefühl, dass du nicht das meinst xP)

xZise hat folgendes hinzugefügt:
Noch eine Frage: Was zeigt mir dieses Lustige Lämpchen vor der ComboBox?
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von Stefan Hueg
Stefan Hueg

 
Delphi 2006 Professional
 
#20
  Alt 2. Jul 2006, 20:03
Deswegen mache ich es ja so: Überprüfung ob die entsprechenden Rechte da sind (evtl. kann jemand den Code editieren dass er auch nach Hauptbenutzern sucht), dann wird geprüft ob das Aktualisieren erfolgreich war und ggf. wird eine Fehlermeldung ausgegeben.

Nur wenn ich schon im Vornerein weiss, welche Fehler entstehen könnten (beispielsweise beim Schreiben in Dateien -> Dateiattribute) oder ob eine Datei zum Lesen überhaupt vorhanden ist (->FileExists) kann ich sie auch vorher vorbeugen.

@xZise: Nein ich mein ob du einen Ersatz vorschlagen kannst
Stefan Hueg
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz