home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1994 February
/
CHIP0294.ISO
/
digital
/
praxis
/
hwtip
/
setup.pas
< prev
Wrap
Pascal/Delphi Source File
|
1994-04-21
|
4KB
|
80 lines
PROGRAM Wid_Setup;
{ ┌────────────────────────────────────────────────────────────────────────┐
│ LADESTEUERUNG VON NI-CD-AKKUS VERSION 2.0 <SETUP> │
│ PROGRAMMIERER : CARSTEN STELLING │
│ PASCAL VERSION : 6.01 │
│ MS-DOS VERSION : 6.02 │
│ LETZTE ÄNDERUNG : 15.03.1994 18:42 │
└────────────────────────────────────────────────────────────────────────┘ }
{ R ist default ARRAY [1..4] OF REAL = (0.47, 0.47, 0.47, 0.47)
│ │ │ │
R107 ─────┘ │ │ │
R105 ───────────┘ │ │
R103 ─────────────────┘ │
R101 ───────────────────────┘ }
USES CRT, DOS;
CONST Widst_Datei: STRING [25] = 'C:\AKKULAD\SETUP.NCL'; { Widerstandswerte }
TYPE Wid = ARRAY [1..4] OF REAL; { Array der Widerstandswerte aus SETUP }
VAR Akku_Wid : FILE OF Wid; { Liest Widerstandswerte }
R : Wid; { Widerstandswerte 1..4 }
Z : BYTE; { Zählvariable }
Eingabe : STRING; { Eingabestring }
Antw : CHAR; { Eingabe Zeichen }
Error : INTEGER; { Fehler der VAL-Funktion }
OK : BOOLEAN; { IORESULT Ergebnis }
BEGIN
WINDOW (1, 1, 80, 25); { Fenster max. Größe }
TEXTBACKGROUND (0); { Hintergrundf. }
CLRSCR; { Bildschirm löschen }
TEXTBACKGROUND (7);
TEXTCOLOR (4);
WRITELN (' NI-CD-LADESTEUERUNG <SETUP> - VERSION 2.0 (c) Carsten Stelling 1994 ');
TEXTBACKGROUND (0);
TEXTCOLOR (11);
WRITELN (#10, #10, 'SETUP benötigt die Werte der Entladewiderstände auf der Zusatzplatine.');
WRITELN (' Geben Sie den Widerstand in Ohm ein.');
TEXTCOLOR (15);
REPEAT; { Widerholen bis alle Eing. richtig }
FOR Z := 1 TO 4 DO { Ladeplatz 1 bis 4 }
BEGIN
GOTOXY (1, 6 + Z); { Meldung an Zeile.. }
WRITELN ('Ladeplatz ',Z ,', R', 109 - Z * 2, ' = ');
REPEAT; { Wiederholen bis Eingabe korrekt }
GOTOXY (21, 6 + Z); { Eingabezeile u. Spalte }
CLREOL; { Eingabefeld löschen }
READLN (Eingabe); { Einlesen (String) }
VAL (Eingabe , R [Z], Error); { Umwandeln in REAL }
UNTIL (R [Z] > 0) AND (R [Z]< 10000) AND (Error = 0); { Plausibilitätskontrolle }
END;
WRITE (#10, 'Sind alle Eingaben richtig (J/N) ? >');
Antw := ' ';
Antw := READKEY;
UNTIL UPCASE (Antw) = 'J';
WRITE (#10, #13, 'Information wird gespeichert...');
ASSIGN (Akku_Wid, Widst_Datei); { Datei anlegen }
REWRITE (Akku_Wid); { Datei überschreiben }
{$I-}
WRITE (Akku_Wid, R); { Widerstandswerte in Datei schreiben }
{$I+}
OK := IORESULT=0; { IORESULT abfragen }
IF NOT OK THEN { Fehler beim Schreiben }
BEGIN
WRITELN (#10, #13, 'Schreiben auf die Datei ',Widst_Datei, ' nicht möglich!');
HALT; { Programm unterbrechen }
END;
{ Schreiben Fehlerfrei }
WRITELN ('OK'); { Meldung }
WRITELN (#10, 'Start mit LADEN.EXE (ohne Grafik-Hardcopy)');
WRITELN ('Start mit LADEN_G.BAT (lädt Hardcopy-Treiber)');
END.