AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mein erstes Programm ohne Hilfe.

Ein Thema von Connor Temple · begonnen am 23. Feb 2011 · letzter Beitrag vom 24. Feb 2011
Antwort Antwort
Benutzerbild von Connor Temple
Connor Temple

Registriert seit: 16. Nov 2010
89 Beiträge
 
#1

AW: Mein erstes Programm ohne Hilfe.

  Alt 23. Feb 2011, 19:59
Ich hab nochmal ein bisschen dran rumgebastelt...

Ich hab mir den Delphi Crashkurs mal so halb durchgelesen und danach ein bisschen mit den Werkzeugen rumgespielt...

Das mit dem zufälligen Timer wollte ich auch schon versuchen, aber naja, wie hier so schön gesagt wurde, jeder fängt klein an.

Und ja, mit dem Gauge-Balken, ist das denn so schlimm?

Und Case werde ich mir demnächst in Ruhe mal anschauen, nicht zuviel auf einmal, das verwirrt dann doch zu sehr, ich bin froh, dass es überhaupt ein bisschen läuft.^^
Angehängte Dateien
Dateityp: rar Funstallation.rar (97,2 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#2

AW: Mein erstes Programm ohne Hilfe.

  Alt 23. Feb 2011, 20:16
Naja case und if hab ich mir schon gleichzeitig angeschaut und verglichen. Es ist ziemlich simple: Case kannst du nur bei abzählbaren Typen verwenden. Wozu das ganze? Wenn es an komplexere if..else..if Verschachtelungen geht dann kann man mit case den Code übersichtlich und kürzer gestalten.
  Mit Zitat antworten Zitat
Benutzerbild von Connor Temple
Connor Temple

Registriert seit: 16. Nov 2010
89 Beiträge
 
#3

AW: Mein erstes Programm ohne Hilfe.

  Alt 23. Feb 2011, 20:29
Okay, ich werds mir demnächst wirklich mal ansehen, hört sich gut an.
Was mich noch interessiert, wie kann ich den PC nach Ablauf der Gauge-Leiste runterfahren?
Welchen Befehl muss man dafür eingeben? Shutdown -s -t 0 ?
So meinte nen Kumpel das... Aber ich glaub nicht, dass das klappt, dann meckert Delphi doch wieder...
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#4

AW: Mein erstes Programm ohne Hilfe.

  Alt 23. Feb 2011, 20:33
Naja den Befehl den dein Kumpel dir gegeben hat ist für das Command Line Tool "shutdown"...

Öffne mal deine CMD und gib shutdown -? ein. Du erhälst eine liste der verfügbaren Parameter. Du kannst zum Beispiel den PC runterfahren oder auch neustarten.
Naja das ganze über Delphi ist auch kein Problem. Schau dir mal ShellExecute an.

Schöner wäre es jedoch ohne die shutdown.exe von Windows klar zukommen
  Mit Zitat antworten Zitat
Benutzerbild von Connor Temple
Connor Temple

Registriert seit: 16. Nov 2010
89 Beiträge
 
#5

AW: Mein erstes Programm ohne Hilfe.

  Alt 23. Feb 2011, 20:39
Wenn ich im CMD shutdown -? eingebe öffnet sich für eine Nanosekunde das Fenster, dann verschwindet es wieder...
Wahrscheinlich steht das da auch mit der ShellExecute drin oder?
Denn ein F1 Druck in Delphi hat mir kein Ergebnis gebracht.
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#6

AW: Mein erstes Programm ohne Hilfe.

  Alt 23. Feb 2011, 20:43
Nein. Die CMD bzw shutdown.exe hat nichts mit Delphi zu tun. Schreib mal eine batch Datei. (.bat Datei)

In der steht:
Code:
shutdown -?
pause
ShellExecute hingegen ist eine Windows Funktion und auch über ShellExecute in Delphi verwendbar.
  Mit Zitat antworten Zitat
Anthrox

Registriert seit: 4. Feb 2010
14 Beiträge
 
Delphi XE Architect
 
#7

AW: Mein erstes Programm ohne Hilfe.

  Alt 23. Feb 2011, 21:00
Computer herunterfahren ist recht einfach,
hier mal ein "geklautes" Stück Code (von hier kopiert)
Delphi-Quellcode:
function ExitWin(flag:word): Boolean;
var vi : TOSVersionInfo;
    hToken : THandle;
    tp : TTokenPrivileges;
    h : DWord;

begin
  //result := false;
  vi.dwOSVersionInfoSize:=SizeOf(vi);
  GetVersionEx(vi);
  if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then // Windows NT
  begin
    // Achtung bei Delphi 2 muß @hToken stehen ... !!!! ?????
    OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,hToken);
    LookupPrivilegeValue(nil,'SeShutdownPrivilege',tp.Privileges[0].Luid);
    tp.PrivilegeCount := 1;
    tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    h := 0;
    AdjustTokenPrivileges(hToken,False,tp,0,PTokenPrivileges(nil)^,h);
    CloseHandle(hToken);
    result := ExitWindowsEx(flag,0);
  end
  else // Windows 95
  begin
    Result := ExitWindowsEx(flag,0);
  end;
end;
Diese Funktion besorgt sich auch gleich die benötigten Rechte (wenn nötig und möglich natürlich ) um Windows herunterzufahren.

Der Parameter "flag" kann folgende Werte annehmen:
Code:
EWX_LOGOFF
EWX_REBOOT
EWX_SHUTDOWN
Die sind ja wahrscheinlich selbsterklärend

Aber ich denke doch du wirst diesen Code nicht missbrauchen und jemanden einen bösen Streich spielen
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:05 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-2025 by Thomas Breitkreuz