home *** CD-ROM | disk | FTP | other *** search
- (*--------------------------------------------------------------------------*)
- (* Modul: eingabe.inc *)
- (*--------------------------------------------------------------------------*)
- (* Ermoeglicht die Eingabe aller Werte, die fuer eine Berechnung des
- Traegers Bedeutung haben. Die Bemessungs - Routinen haben eigene
- Eingabe - Prozeduren. *)
-
- PROCEDURE Eingabe;
-
- VAR i : INTEGER; (* Zaehler fuer die Lasteingabe : (1..i..Anzahl) *)
-
- (*------------------------------------------------------------------------*)
- (* Loescht die Eingabezeile am unteren Bildschirmrand. Diese Prozedur
- kann entfallen, falls das Betriebssystem Ihres Rechners die Funktion
- 'CLREOL' ermoeglicht. *)
-
- PROCEDURE NeueZeile;
-
- BEGIN
- GOTOXY (1,23);
- WRITE (' ');
- GOTOXY (1,23);
- END; (* neuezeile *)
-
-
- BEGIN (* Eingabe *)
- CLRSCR;
- GOTOXY (1,23);
- WRITE ('Feldlaenge (m) : ');
- READLN (Feldlaenge);
- CLRSCR;
- WRITELN ('Programm EINFELDTRAEGER Feldlaenge = ',Feldlaenge:5:2,' m');
- WRITELN (' Nr. x li dx q li q re P');
- WRITELN (' (m) (m) (kN/m) (kN/m) (kN)');
- REPEAT
- NeueZeile;
- WRITE ('Anzahl der Lasten (max=18) : ');
- READLN (Anzahl);
- UNTIL Anzahl <= MaxAnzahl;
- FOR i:=1 TO Anzahl DO BEGIN (* Eingabe aller Lasten *)
- REPEAT
- NeueZeile;
- WRITE ('x li (m) : ');
- READLN (Last[i].Ort); (* Anfangsstelle *)
- NeueZeile;
- WRITE ('dx (m) : ');
- READLN (Last[i].Laenge); (* wenn Null, dann Einzellast *)
- UNTIL Last[i].Ort + Last[i].Laenge <= Feldlaenge; (* Last unzulaessig? *)
- NeueZeile;
- IF Last[i].Laenge = 0 THEN BEGIN (* es liegt eine Einzellast vor *)
- WRITE ('Einzellast (kN) : ');
- READLN (Last[i].Links);
- END (* if *)
- ELSE BEGIN (* es liegt eine Streckenlast vor *)
- WRITE ('Last links (kN/m) : ');
- READLN (Last[i].Links);
- NeueZeile;
- WRITE ('Last rechts (kN/m) : ');
- READLN (Last[i].Rechts);
- END; (* else *)
- GOTOXY (1,4+i); (* schreibe Lastgroessen in Tabelle *)
- WRITE (i:3,Last[i].Ort:7:2,' ');
- IF Last[i].Laenge = 0 THEN (* Einzellast *)
- WRITELN (' ',Last[i].Links:9:3)
- ELSE (* Streckenlast *)
- WRITELN (Last[i].Laenge:5:2,Last[i].Links:9:3,' ',Last[i].Rechts:9:3);
- NeueZeile;
- WRITE ('> > > BERECHNUNG < < <');
- END; (* for *)
- END; (* eingabe *)
-