Hallöle
DP´ler,
Habe folgendes anliegen.
Ich habe mir eine USB-Schnittstellenkarte gebastelt mit Relais welche durch ne Manuelle Steuerung über Checkboxen
geschaltet werden. Das funzt alles.
Um dies automatisiert Schalten zu lassen habe ich nen Timer Integriert.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i: Single;
t : string;
h,CardAddr,data1,data2:longint;
start,ende : string;
begin
//Beginn der Schaltung
start := '17:13:00';
if TimeToStr(Time) = start Then
begin
h:= OpenDevice(0);
SetDigitalChannel(1);
CheckBox1.Checked:= true;
CloseDevice;
end
else
begin
ende := '17:14:00';
if TimeToStr(Time) = ende Then
begin
h:= OpenDevice(0);
ClearDigitalChannel(1);
CheckBox1.Checked:= false;
CloseDevice;
end;
//Ende der Schaltung
//Beginn Thermometer
h:= OpenDevice(0);
data1 := ReadAnalogChannel(1);
i := StrToInt('101')*data1/256-23;
label5.Caption := format('%2.1f',[i]);
if format('%2.1f',[i]) < '0' THEN label5.Caption := '00,0';
if format('%2.1f',[i]) < '0' THEN begin Label5.Enabled := false; end else begin Label5.Enabled := True; end;
data2 := ReadAnalogChannel(2);
i := StrToInt('101')*data2/256-23;
label6.Caption := format('%8.1f',[i]);
if format('%2.1f',[i]) < '0' THEN label6.Caption := '00,0';
if format('%2.1f',[i]) < '0' THEN begin Label6.Enabled := False; end else begin Label6.Enabled := True; end;
CloseDevice;
end;
//Ende Thermometer
label4.Caption := TimeToStr(Time);
end;
das funzt auch
jetzt will ich aber diese Zeitangaben aus einer Datenbank nehmen mit mehreren Steuerzeiten.
Die Datenbank hat den Aufbau
Tabelle : AutoTimes
Felder : ID, CardAdress, Monat, Tag, StartTime, EndTime
bis dahin würde ich auch noch mitkommen.
Nur sollte der alte Laptop mal abschmieren schalten wieder alle Relais ab.
Beim Neustart müssten die Einträge geprüft werden und wenn die, die in dem Start- und EndTime Zeitfenster sich mit der momentanen Uhrzeit befinden wieder geschalten werden.
Wie kann ich dies umsetzen, hab als Anfänger noch ni so den Plan.
LG Mario