Работа с текст, Преместване на графични обекти в Turbo Pascal, Разработка и внедряване на програми в

Като пример, в шрифта DefaultFont ще покажем два реда: вертикален и хоризонтален с различни размери:

При зареждане на шрифтове могат да възникнат грешки, техните кодове по-долу могат да бъдат получени за анализ с помощта на GraphResult.

Преместване на графични обекти в Turbo Pascal

Има два начина за създаване на вид на движение на екрана.

Първият начин е, че имитацията на движението на обект на екрана се създава чрез многократно извършване на следните действия: рисуване -- пауза -- изтриване на картината (нарисувайте я на същото място с цвета на фона) -- промяна на координатите на изображението.

Преди да стартирате програмата, е необходимо да помислите върху описанието на "движещия се" обект; естеството на промяната в координатите, които определят текущото положение на обекта; диапазон и височина.

Задача 1. Организирайте имитация на движение на автомобил на екрана на компютъра.

работа
работа

Вторият начин за имитиране на движение на картина или част от нея е да я съхраните в отделна област на RAM, за да възстановите бързо това изображение на друго място на екрана в бъдеще.

За да съхраните фрагмент, най-удобно е да използвате динамична област на паметта. Функцията ImageSize (X1,Yl,X2,Y2:integer): word ви позволява да получите размера на паметта в байтове, необходими за запазване на изображението на фрагмента. Тук (X1,YI) и (X2,Y2) са координатите на горния ляв и долния десен ъгъл на правоъгълника. Ако полученият размер на паметта е по-голям от 64Kb, тогава ImageSize = 0 и GraphResult=-1. За да избегнете това, трябва да запазите изображението на части.

Размерът на паметта, получен с помощта на функцията ImageSize, се използва като вход за процедурата GetMem(p,Size), която разпределя определеното количество памет в динамичния регион.Тук p е указател към област на паметта, Size е нейният размер.

Процедура GetImage(Xl,Yl,X2,Y2:цяло число; var BitMap: дума); съхранява изображението на фрагмента в паметта, където XI,Y1,X2,Y2 са координатите на фрагмента, BitMap е променлива, която показва къде се съхранява изображението на изображението.

Процедура Putlmage(X,Y: цяло число; var BitMap, Mode:word); възстановява правоъгълника, записан в буфера Bit-Map, чийто горен ляв ъгъл е определен от координатите (X,Y). Параметърът Mode определя режима на извеждане на изображението.

Нека демонстрираме симулация на движение с помощта на описаните по-горе процедури при решаването на следния проблем.

Задача 2. Постройте кула на екрана на компютъра, като симулирате процеса на изграждане отдолу нагоре.