home *** CD-ROM | disk | FTP | other *** search
- (***********************************************)
- (* AUTOSCAL.PAS *)
- (* Eine Demonstration der automatischen Anpas- *)
- (* sung von Turbo Pascal 4.0/5.0 Programmen an *)
- (* verschiedene Grafikkarten und deren *)
- (* verschiedene Auflösungen. *)
- (* (C) 1989 M.Schlöter und TOOLBOX *)
- (***********************************************)
-
- PROGRAM AutoScale;
-
- USES Crt, Graph;
-
- CONST MinArg = -3.14;
- MaxArg = 3.14;
-
- VAR XMin, XMax, YMin, YMax,
- XRes, YRes,
- GraphDriver, GraphMode,
- x, YMitte : INTEGER;
-
- StepX, AktX : REAL;
-
-
- BEGIN
- (* Graphiksystem automatisch initialisieren *)
- GraphDriver := Detect;
- InitGraph(GraphDriver,GraphMode,
- 'D:\PASCAL\TURBO5');
- (* Pfad auf BGI-Treiber !!! *)
-
- (* Koordinatenursprung immer bei (0,0) *)
- XMin := 0;
- YMin := 0;
-
- (* Aufloesungsgrenzen bestimmen *)
- XMax := GetMaxX;
- YMax := GetMaxY;
-
-
- (* Anzahl Pixel in X- und Y-Richtung *)
- XRes := XMax - XMin + 1;
- YRes := YMax - YMin + 1;
-
- (* Schrittweite fuer Kurvenplot *)
- StepX := (MaxArg - MinArg)/XRes;
-
- (* Box und Kurven Zeichnen *)
- Rectangle(XMin,YMin,XMax,YMax);
- AktX := MinArg;
- YMitte := YMin + YRes DIV 2;
- FOR x := XMin TO XMax DO BEGIN
- PutPixel(x,
- Round(YMitte
- + (YRes DIV 2 * Sin(AktX))),
- 15);
- PutPixel(x,
- Round(YMitte
- + (YRes DIV 2 * Cos(AktX))),
- 15);
- AktX := AktX + StepX;
- END;
- REPEAT UNTIL KeyPressed;
- END.
-
-
-
-
-
-