Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Координатная сетка

Советы » Canvas » Координатная сетка

unit

grid_; interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type

TForm1 = class

(TForm) procedure

FormPaint(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end

; var

Form1: TForm1; implementation

{$R *.DFM} procedure

TForm1.FormPaint(Sender: TObject); var

x0, y0: integer; // координаты начала координатных осей dx, dy: integer; // шаг координатной сетки (в пикселях) h, w: integer; // высота и ширина области вывода координатной сетки x, y: integer; lx, ly: real; // метки (оцифровка) линий сетки по X Y dlx, dly: real; // шаг меток (оцифровки) линий сетки по X и Y cross: integer; // счетчик не оцифрованных линий сетки dcross: integer; // количество не оцифрованных линий между оцифрованными begin

x0 := 30; y0 := 220; // оси начинаются в точке (40,250) dx := 40; dy := 40; // шаг координатной сетки 40 пикселей dcross := 1; // помечать линии сетки X: 1 - каждую; // 2 - через одну; // 3 - через две; dlx := 0.5; // шаг меток оси X dly := 1.0; // шаг меток оси Y, метками будут: 1, 2, 3 и т.д. h := 200; w := 300; with

form1.Canvas do

begin

cross := dcross; MoveTo(x0, y0); LineTo(x0, y0 - h); // ось X MoveTo(x0, y0); LineTo(x0 + w, y0); // ось Y // засечки, сетка и оцифровка по оси X x := x0 + dx; lx := dlx; repeat

MoveTo(x, y0 - 3); LineTo(x, y0 + 3); // засечка cross := cross - 1; if

cross = 0 then

//оцифровка begin

TextOut(x - 8, y0 + 5, FloatToStr(lx)); cross := dcross; end

; Pen.Style := psDot; MoveTo(x, y0 - 3); LineTo(x, y0 - h); // линия сетки Pen.Style := psSolid; lx := lx + dlx; x := x + dx; until

(x > x0 + w); // засечки, сетка и оцифровка по оси Y y := y0 - dy; ly := dly; repeat

MoveTo(x0 - 3, y); LineTo(x0 + 3, y); // засечка TextOut(x0 - 20, y, FloatToStr(ly)); // оцифровка Pen.Style := psDot; MoveTo(x0 + 3, y); LineTo(x0 + w, y); // линия сетки Pen.Style := psSolid; y := y - dy; ly := ly + dly; until

(y < y0 - h); end

; end

; end

.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com