home *** CD-ROM | disk | FTP | other *** search
- 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.