Autor Beitrag
Triggerhappy
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 10.11.03 17:19 
Hallo

Ich bräuchte ma ein paar Tipps, und wenns geht vielleicht auch ein paar Zeilen des Quellcodes für mein Projekt.

Also, ich komm jetzt mal zu dem, was ich machen will: Theoretisch ist es ja einfach, den PC mit dem Not-aus-Schalter auszumachen: einfach direkt ans Netzkabel. Aber das ist ja nicht grad das Beste für den PC.

Also hab ich mir überlegt, dass ich den Schalter an den Seriellen oder an den Parallelen Port anschließen könnte, und mit Delphi des Zusand des Knopfes (geschlossen oder offen) abfragen kann, Und dann Windows von dem Programm aus einfach herunterfahren lasse. Den Code zum Herunterfahren hab ich, und auch schon in anderen Programmen eingesetzt. Ein paar fachkundige Freunde haben mir geraten den Parallelen Port, also den Druckeranschluss zu nehmen. Mir ist das eigentlich egal.

Und jetzt zur Frage: Wie muss ich den Schalter an den Stecker anschließen, und wie sieht der Quellcode zum Abfragen der Schalterstellung aus? Wenn der Schalter gedrückt wurde (also der Stromkreis unterbrochen ist) soll mein Programm darauf reagieren. Also es wäre jetzt nicht nur zum herrunterfahren, sondern auch für andere
spaßige Dinge zu gebrauchen.

Moderiert von user profile iconTino: Überflüssige Absätze entfernt.
barfuesser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Mo 10.11.03 17:23 
Was ist der Not-aus-Schalter? Meinst Du den Schalter für das Netzteil an der Rückseite des Rechners? Wenn ja, warum willst Du dann die Schalterstellung abfragen? Entweder Dein Programm läuft, dann ist der Schalter geschlossen. Oder Dein Programm läuft nicht, dann kannst Du die Schalterstellung nicht abfragen.

barfuesser
Triggerhappy Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 10.11.03 17:27 
Ne, der Schalter hat nichts mit dem eigentlichen Rechner zu tun. ein Not-Aus-Schalter sind diese Dicken roten Knöpfe, die dazu da sind in einem NOTfall (deshalb ja auch der Name) etwas auszuschalten. Aber das ist ja erst einmal egal. Es ist ja egal, ob es ein normaler Schalter ist, oder soeiner.

Ich bräuchte einen Schaltplan zum anschließen des Schalters an irgendeinem Port, und dann den Quellcode für Delphi zum Abfragen des Portes, damit das Programm, wenn ich den knopf drücke, irgendetwas ändert, oder macht.

Moderiert von user profile iconTino: Überflüssige Absätze entfernt.
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 10.11.03 17:32 
Die Frage ist nur, ob Windows überhaupt noch in der Lage ist, sich selbst herunterzufahren, wenn es zu einem Notfall kommt und ob dein Programm dann noch reagieren kann.
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Mo 10.11.03 17:53 
Manche Boards (vor allem Server-Boards) haben einen Shut-Down-Jumper, der genau für so was vorgesehen ist.

Viele Grüße,

Matthias

_________________
Ha! Es compiliert! Wir können ausliefern!
Triggerhappy Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 10.11.03 18:46 
Vorrangig hat das ja erstmal gar nichts mit dem Herunterfahren zu tun.

Der Kern der Sache ist ja:
Das Programm soll auf den Schalter reagieren.
Adrian
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 314



BeitragVerfasst: Di 11.11.03 09:19 
Servus!

Schau mal nach dem Thema "Portzugriff" im Forum, da findest Du ein wenig Quellcode. Außerdem bringt die Forum-Suche nach "Parallele Schnittstelle" alles, was Du brauchst.

Gruß,

Adrian
death-adders
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 82

Vista
Turbo Delphi Explorer
BeitragVerfasst: Do 22.06.06 12:37 
also,das machst du so:

1. du lädst dir die port.dll ausm internet runter und packst die in dein sytem ordner von windows. (einfach googlen)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
unit Unit1;

interface



uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;


type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
//befehle aus der Port.dll einbinden
Function OPENCOM(S:PCHAR):Integer;stdcall; external 'PORT.dll';
Function CTS:Integer;stdcall; external 'PORT.dll';

implementation


{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
If CTS = 1 then Showmessage('CTS hat Strom!');    //Hier prüfe ich, ob auf der Leitung CTS (Pin 8) Strom anliegt
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
Timer1.Enabled:= true;
OpenCom('Com1');      //ComPort öffnen, das schließen des Comports ist unter delphi angeblich nicht nötig
end;

end.

_________________
Mfg ~ Bastler sterben zuletzt!