home *** CD-ROM | disk | FTP | other *** search
/ Chip 1994 February / CHIP0294.ISO / digital / praxis / hwtip / setup.pas < prev   
Pascal/Delphi Source File  |  1994-04-21  |  4KB  |  80 lines

  1. PROGRAM Wid_Setup;
  2.  
  3. { ┌────────────────────────────────────────────────────────────────────────┐
  4.   │    LADESTEUERUNG VON NI-CD-AKKUS VERSION 2.0 <SETUP>                   │
  5.   │    PROGRAMMIERER   : CARSTEN STELLING                                  │
  6.   │    PASCAL VERSION  : 6.01                                              │
  7.   │    MS-DOS VERSION  : 6.02                                              │
  8.   │    LETZTE ÄNDERUNG : 15.03.1994  18:42                                 │
  9.   └────────────────────────────────────────────────────────────────────────┘ }
  10.  
  11.   { R ist default ARRAY [1..4] OF REAL = (0.47, 0.47, 0.47, 0.47)
  12.                                             │     │     │     │
  13.                                   R107 ─────┘     │     │     │
  14.                                   R105 ───────────┘     │     │
  15.                                   R103 ─────────────────┘     │
  16.                                   R101 ───────────────────────┘   }
  17.  
  18. USES CRT, DOS;
  19.  
  20. CONST Widst_Datei: STRING [25] = 'C:\AKKULAD\SETUP.NCL';    { Widerstandswerte }
  21.  
  22. TYPE  Wid      = ARRAY [1..4] OF REAL;             { Array der Widerstandswerte aus SETUP }
  23.  
  24. VAR   Akku_Wid   : FILE OF Wid;                    { Liest Widerstandswerte }
  25.       R          : Wid;                            { Widerstandswerte 1..4 }
  26.       Z          : BYTE;                           { Zählvariable }
  27.       Eingabe    : STRING;                         { Eingabestring }
  28.       Antw       : CHAR;                           { Eingabe Zeichen }
  29.       Error      : INTEGER;                        { Fehler der VAL-Funktion }
  30.       OK         : BOOLEAN;                        { IORESULT Ergebnis }
  31.  
  32. BEGIN
  33.     WINDOW (1, 1, 80, 25);                         { Fenster max. Größe }
  34.      TEXTBACKGROUND (0);                           { Hintergrundf. }
  35.      CLRSCR;                                       { Bildschirm löschen }
  36.      TEXTBACKGROUND (7);
  37.      TEXTCOLOR (4);
  38.      WRITELN ('    NI-CD-LADESTEUERUNG  <SETUP> - VERSION 2.0     (c) Carsten Stelling 1994   ');
  39.      TEXTBACKGROUND (0);
  40.      TEXTCOLOR (11);
  41.      WRITELN (#10, #10, 'SETUP benötigt die Werte der Entladewiderstände auf der Zusatzplatine.');
  42.      WRITELN ('      Geben Sie den Widerstand in Ohm ein.');
  43.      TEXTCOLOR (15);
  44.  
  45.      REPEAT;                                       { Widerholen bis alle Eing. richtig }
  46.       FOR Z := 1 TO 4 DO                           { Ladeplatz 1 bis 4 }
  47.        BEGIN
  48.         GOTOXY (1, 6 + Z);                         { Meldung an Zeile.. }
  49.          WRITELN ('Ladeplatz ',Z ,', R', 109 - Z * 2, ' = ');
  50.  
  51.           REPEAT;                                  { Wiederholen bis Eingabe korrekt }
  52.             GOTOXY (21, 6 + Z);                    { Eingabezeile u. Spalte }
  53.             CLREOL;                                { Eingabefeld löschen }
  54.             READLN (Eingabe);                      { Einlesen (String) }
  55.             VAL (Eingabe , R [Z], Error);          { Umwandeln in REAL }
  56.           UNTIL (R [Z] > 0) AND (R [Z]< 10000) AND (Error = 0); { Plausibilitätskontrolle }
  57.        END;
  58.       WRITE (#10, 'Sind alle Eingaben richtig (J/N) ? >');
  59.       Antw := ' ';
  60.       Antw := READKEY;
  61.      UNTIL UPCASE (Antw) = 'J';
  62.  
  63.      WRITE (#10, #13, 'Information wird gespeichert...');
  64.  
  65.      ASSIGN (Akku_Wid, Widst_Datei);               { Datei anlegen }
  66.      REWRITE (Akku_Wid);                           { Datei überschreiben }
  67.      {$I-}
  68.      WRITE (Akku_Wid, R);                          { Widerstandswerte in Datei schreiben }
  69.      {$I+}
  70.      OK := IORESULT=0;                             { IORESULT abfragen }
  71.       IF NOT OK THEN                               { Fehler beim Schreiben }
  72.        BEGIN
  73.         WRITELN (#10, #13, 'Schreiben auf die Datei ',Widst_Datei, ' nicht möglich!');
  74.         HALT;                                      { Programm unterbrechen }
  75.        END;
  76.                                                    { Schreiben Fehlerfrei }
  77.      WRITELN ('OK');                               { Meldung }
  78.      WRITELN (#10, 'Start mit LADEN.EXE   (ohne Grafik-Hardcopy)');
  79.      WRITELN ('Start mit LADEN_G.BAT (lädt Hardcopy-Treiber)');
  80. END.