![]() |
[OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, liebe Delphi Gemeinde!
Seitdem ich lange hier nichts mehr vorgestellt habe und mir heute ein wenig langweilig war, dachte ich mir ich poste mein kleines Projekt. Nämlich ein Programm das einen PC nach einer gewissen Zeit herunterfährt! -Nichts weltbewegendes, also :) Warum sowas? Mir war langweilig^ bzw. war ich unzufrieden mit meinem "Shutdown Tool"! Außerdem wollt ich mal wieder ein wenig programmieren.. Was kann mein Tool? - Den PC heruntefahren :) - Zeit einstellbar (bis 24h) - Verlauf - Programm braucht keine Rechte! (Das war mir wichtig) (per CMD / shutdown!) - Große Schrift / Zeit einstellbar mittels Maus (Rauf / Runter "ziehen") Also man kann schon noch mehr machen, aber mir waren wichtig > die letzten zwei Punkte! Im Archiv findets ihr den Code bzw. die Echse.. Lg ps. Ich hoffe es funktioniert alles, getestet nur unter Win8.0 ;) -Edit 1 > Screenshot angehängt |
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Zitat:
Warum lieferst du eine über 6 MB große Debug Version aus? :shock: |
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Zitat:
Danke für's Feedback! //Edit 1 Vielleicht bekomme ich ja mit der "größeren" Schrift noch ein paar Pluspunkte ;) |
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Danke. Zurück nach einem Neustart. :roll: Also intuitiv ist das Programm irgendwie nicht. Ich habe es nicht geschafft eine Zeit einzustellen. Irgendwie ein Eingabefeld wäre da wohl sinnvoll und intuitiv. Nach einem Klick auf Start kam dann die Meldung, dass der Rechner in weniger als einer Minute runtergefahren wird. :roll: Ich traue mich nicht auf "Herunterfahren" zu klicken. Hinter der Schaltfläche verbirgt sich vielleicht eine Möglichkeit eine Zeit einzustellen, aber ich fürchte er macht vielleicht doch das, was drauf steht. :?
Konfigurationsdateien im Programmverzeichnis ablegen ist keine gute Idee, es sei denn es ist explizit für den USB Stick vorgesehen. Wird das Programm konform ins Programmverzeichnis "installiert", hat es dort keine Schreibrechte. Abgesehen davon, dass sich die Benutzer gegenseitig ihre Einstellungen überschreiben. Windows ist seit XP (für privat Anwender), also seit über 10 Jahren, ein Mehrbenutzersystem mit einem Rechtesystem. Das sollte man als Entwickler langsam gemerkt haben und entsprechend programmieren. Wozu der zweite leere und unbeschriftete Seitenreiter? |
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Ich habe irgendwie rumgeklickt auf dem Tabsheet. Aber da stand immer 00:00:00, also keine Zeit.
Warum nutzt du die shutdown.exe von Windows selbst? Wenn du sie schon nutzt, dann ruf sie dochmit dem Parameter /i auf, dann sparst du dir auch eine eigene grafische Oberfläche. :wink: WM_SHUTDOWN und ein Timer und du kannst Sekunden genau den Rechner runterfahren. Wo ist der Unterschied zwischen "Start" und "Herunterfahren"? |
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Zitat:
Zitat:
Zitat:
//Edit Danke für die Info :) |
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Wenn Start und herunterfahren bei 00:00:00 das gleiche tun, dann könnte man sich eins von beiden sparen.
Wozu ein zweites Fenster? Einfach ein Eingabefeld. Man kann den Verlauf löschen. Wo wird er denn angezeigt? |
AW: [OS] TimeToSleep (PC herunterfahren nach einer gewissen Zeit)
Hast leider etwas Pech, dass ich nicht schlafen kann und einen Blick in den Quellcode geworfen habe. :mrgreen:
Orginal:
Delphi-Quellcode:
iF Tmp < 0 Then Minus := TRUE ELSE Minus := FALSE;
Gescheit formatiert:
Delphi-Quellcode:
Optimiert:
if Tmp < 0 then
Minus := TRUE else Minus := FALSE;
Delphi-Quellcode:
Minus := Tmp < 0
Delphi-Quellcode:
ShellExecute(0, nil, 'cmd.exe', '/C shutdown /s', nil, SW_HIDE);
Kommt zwei mal vor. Warum?
Delphi-Quellcode:
Redundanter Code ist immer schlecht. Änderst du mal was, vergisst du bestimmt eine Stelle im Code. Identischen Code immer in eine Routine auslagern. Das erhöht die Wartbarkeit und die Übersicht.
procedure Form1.Shutdown
begin ShellExecute(0, nil, 'cmd.exe', '/C shutdown /s', nil, SW_HIDE); end; Apropos Übersicht. - Gescheit und einheitlich einrücken - Einheitliche Schreibweise von Schlüsselwörtern - So wenig globale Variablen wie möglich. Du kannst alle globalen Variablen als Felder der Form Klasse definieren. (Ausnahme Form1 natürlich) - Benennung von Elementen. Was macht ToolButton3 usw.? Verlauflschen1 Umlaute sind doof. ;) Wie wäre es mit Verlaufloeschen oder DelHistory? Auch schön: imerzurcksetzen1 ;) Eigentlich ein schön kleines Projekt, um sich mit den oben genannten Kritikpunkten mal zu beschäftigen. Die Methode, die Zeit mit gedrückter Maustaste und ziehen der Maus einzustellen, ist ja ganz lustig. Nur hast du schon mal versucht 24 Stunden einzustellen? :? Nimm besser drei SpinEdits. Wer klicken will, kann klicken und wer tippen will, kann tippen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz