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

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

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

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

Отображение ломанной линии

Советы » Графика » Отображение ломанной линии

Как мне вывести ломанную линию на холсте, если я не знаю размер массива (количество точек) до момента запуска программы??? По-моему, это невозможно. Просветите меня!

Недавно я решал аналогичную проблему при кодировании ReportPrinter и не нашел хорошего решения для создания открытого массива параметров заданного размера. Решение, которое я, наконец, использовал, заключалось в хитрой комбинации функции polyline и polygon с ассемблерным кодом. Я публикую исходный код, поскольку думаю что он будет полезен, пока Borland не создаст стандартные и простые методы для работы с массивами заданного размера.

type

PPointArr = ^TPointArr; TPointArr = array

[0..16380] of

TPoint; var

I1: integer; Elements: word; PointArr: PPointArr; begin

GetMem(PointArr, (Elements + 1) * SizeOf(TPoint)); try

for

I1 := 0 to

Elements do

begin

PointArr^[I1].X := ReadNextXValue; PointArr^[I1].Y := ReadNextYValue; end

; { for } { Вызов Polygon(PointArr^), но только с Elements+1-элеменами в открытом массиве } asm

les di,PointArr { Помещаем указатель на PointArr } push es push di push Elements { Помещаем High(PointArr^) } les di,self { Помещаем указатель self } push es push di les di,es:[di] { Вызов self.Polygon } call Polygon end

; { asm } finally

FreeMem(PointArr, (Elements + 1) * SizeOf(TPoint)); end

; { try } end

;

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

Категории

Статьи

Советы

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