Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2009, 17:46   #11
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Если нужно с русификацией, то School Pak.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 26.05.2010, 17:49   #12
max.brazhnik
Новичок
Джуниор
 
Регистрация: 26.05.2010
Сообщений: 1
По умолчанию графический редактор в фри паскале

Мне нужна помощь, помогите пожалуйста. я создаю графический редактор в фри паскале. я её практически сделал, мне надо тока сделать кнопки в редакторе, на которые нажимая enter программа выбирала что ей рисовать: окружность или линию. можно ещё какие нить квадраты замутить...
вот что у меня есть:


program zachet;
uses CRT, Graph;
const {массив, содержащий пункты меню}
m:array[1..2] of string=('Создать ',
'Выход ');
var
gd,gm:integer;
x,y,xn,yn:integer;
col:integer;
c:char;
risuet:boolean;{логическая переменная, которая рисует отрезок-след}
f:text;
nameread, namewrite:string;
i,num:integer;
Procedure sozdat;
begin
clrscr;
write('Введите имя файла с рисунком (0, если не надо читать рисунок): ');
readln(nameread);
write('Под каким именем сохранить картинкку: ');
readln(namewrite);
{инициализация графики}
gd:=vga;
gm:=2;
InitGraph(gd,gm,'');
if nameread<>'0'
then
begin
assign(f,nameread);
reset(f);
for x:=0 to 639 do
for y:=0 to 459 do
begin
readln(f,col);
putpixel(x,y,col);
end;
close(f);
end;
for x:=0 to 15 do
begin
setfillstyle(1,x);
Bar(x*20,460,x*20+20,479);
Rectangle(x*20,460,x*20+20,479);
end;
risuet:=false;{значение ложь}
setWritemode(0);{процедура,в которой цвет старой точке замещается текущим цветом}
x:=320; y:=240;{начальное положение указателя}
col:=getpixel(x,y);
PutPixel(x,y,15);
repeat {цикл передвижения указателя}
c:=ReadKey;
PutPixel(x,y,col);
if risuet then line(x,y,xn,yn);{выводим отрезок-след в том случае, если значение risuet равно true}
case c of
#80:inc(y);
#72ec(y);
#77:inc(x);
#75ec(x);
#13: {если enter нажат в зоне палитры} if(x<320) and (y>460){enter - запоминаем начальную точку}
then setColor(getPixel(x,y))
else
begin xn:=x; yn:=y; risuet:=true; setwritemode(1);{старый цвет точки смещается с новым} end;
'l','L','д','Д': begin Line(xn,yn,x,y); risuet:=false; end;
'c','C','с','С': begin Circle(xn,yn,round(sqrt((x-xn)*(x-xn)+(y-yn)*(y-yn))));
risuet:=false;
end;
end;
col:=getPixel(x,y);
if risuet then line(x,y,xn,yn);
PutPixel(x,y,15);
until c=#27;
assign(f,namewrite);
rewrite(f);
for x:=0 to 639 do
for y:=0 to 459 do
writeln(f,getPixel(x,y));
close(f);
end;
BEGIN
Clrscr;
x:=30; y:=10; {x и y - кординаты левого верхнего угла меню}
num:=1;{num - номер выделенного пункта меню}
repeat
for i:=1 to 2 do{вывод 2 пункта меню}
begin
gotoXY(x,y+i);{выводит текст в конктретной позиции экрана}
if i=num
{выделенный пункт меню инвертируем}
then begin textColor(0);{цвет символов} textBackGround(15);{фон под символом} end
else begin textcolor(15); textBackGround(0); end;
write(m[i]);
end;
{ожидаем нажатия клавиши пользователем и изменеям номер num}
c:=readKey;
case c of
#72: if num=1 then num:=2 else dec(num);
#80: if num=2 then num:=1 else inc(num);
#13: case num of
1: sozdat;
2: c:=#27;
end;
end;
until c=#27;
END. помогите пожалуйста, буду очень благодарен.
max.brazhnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема инициализайии графического режима в BorlandC++ под ДОС Anatol_rus Общие вопросы C/C++ 0 01.04.2009 22:33
Масштабирование и поворот графического объекта haros Паскаль, Turbo Pascal, PascalABC.NET 3 02.03.2009 15:24
Инициализация массива указателей. Непонятно !!! Adamant Общие вопросы C/C++ 2 05.11.2007 16:22
создание графического редактора в Delphi? parano_ya Помощь студентам 1 29.04.2007 08:17
Инициализация окна Anny Общие вопросы Delphi 9 13.03.2007 11:48