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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2012, 18:11   #1
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию Паскаль. Работа с графикой

Доброго времени суток уважаемые!
Возникла проблема использования модуля "graph" в borland pascal...
Подключаю модуль и пишу простейшую программу, например, нарисовать окружность запускаю на выполнение...черный экран и просто выкидывает из паскаля. Кто сталкивался с такой проблемой как решили ее?...пробовал на windows xp, на windows 7 та же проблема...
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 19.03.2012, 18:26   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

С таким сталкивался! Как решил не помню! вспомню отпишу!
Мой совет, используйте FPC с ним проблем нет! По крайней мере у меня не было!
+ В том что BPC вообще в семёрке в полно экранке не будет работать! А вот FPC запросто!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.03.2012, 20:39   #3
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию

Hacker19_90, спасибо, ну действительно вспомнишь напиши...а в fpc такие же процедуры при работе с графикой как и в bp?...или там стоит теорию почитать?
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 19.03.2012, 20:41   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
а в fpc такие же процедуры при работе с графикой как и в bp?
та такие же!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.03.2012, 21:18   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Кто сталкивался с такой проблемой как решили ее?
Код в студию. И кстати - компилятор паскале должен иметь выход на консоль (в ТР это было по кнопке ALT+F5 кажись), которая покажет текст ошибки.
Думаю что ему не нравится как ты графику инициализировал - это чаще всего происходит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.03.2012, 21:31   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
И кстати - компилятор паскале должен иметь выход на консоль (в ТР это было по кнопке ALT+F5 кажись),
Так то да!
Но у меня была такая проблема как быстрый показ изображения и выход!
Причём ожидание ввода не помогало!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.03.2012, 21:49   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Но у меня была такая проблема как быстрый показ изображения и выход!
А этот прикол я тоже наблюдал. Еще давно на первых Windows XP...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2012, 00:11   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

может стоит воспользоваться программой DosBox ?
вроде бы она нормально эмулирует MS DOS среду под любую Windows ( и под XP и под Vista и под Windows 7 )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.03.2012, 13:11   #9
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию

в FPC инициализирует графический модуль....но программа "стоит" нету анимации....в чем проблема?.....программа наверно уже знакомая "песочные часы"
Код:
uses Graph, CRT;
const
PauseTime = 1000; {длительность паузы при прорисовке изображения}
Count = 50; {количество песка в часах, 60 < Count < 125}
var
grDriver: Integer; 
grMode: Integer; 
ErrCode: Integer; 
i, j, k : integer; 
Key : word; 
BEGIN
grDriver := Detect;
InitGraph(grDriver, grMode, 'c:\bp\bgi'); 
ErrCode := GraphResult;
if ErrCode <> grOk then Halt(1); 
Line(50, 50, 150, 200);
Line(150, 50, 50, 200);
Line(50, 50, 150, 50);
Line(50, 200, 150, 200);
SetFillStyle(SolidFill, DarkGray); 
Bar(45, 45, 155, 49);
Bar(45, 201, 155, 206); 
repeat
{цикл рисования часов, каждый новый круг часы переворачиваются}
for j := Count to 125 do 
begin 
for i := Round((2*j+50)/3)+1 to Round((2*j-550)/(-3))-1 do
PutPixel(i, j, Yellow); {рисуем начальное состояние песка}
end;
for k := 199 downto 199-Count do
for i := Round((2*k-550)/(-3))+1 to Round((2*k+50)/3)-1 do
PutPixel(i, k, Black); 
k := ord(ReadKey); 
if k = 0 then k := ord(ReadKey); 
if k = 27 then Break; 
j := 199; 
k := Count; 
Randomize; 
while (j > 199-(125-Count)) and (k < 125) do
begin
{рисуем струю песка}
for i := j downto 125 do
if Random(10) < 6 then 
PutPixel(100, i, Black) else PutPixel(100, i, Yellow);
for i := Round((2*j-550)/(-3))+1 to Round((2*j+50)/3)-1 do
PutPixel(i, j, Yellow);
for i := Round((2*k+50)/3)+1 to Round((2*k-550)/(-3))-1 do
PutPixel(i, k, Black);
for i := Round((2*(k+1)+50)/3)+1 to Round((2*(k+1)-550)/(-3))-1 do
PutPixel(i, k+1, Black);
Delay(PauseTime); {пауза и изменение переменных цикла}
dec(j);
inc(k, 2);
end;
for i := j downto 125 do 
PutPixel(100, i, Black);
k := ord(ReadKey); 
if k = 0 then k := ord(ReadKey); 
until k = 27;
CloseGraph; 
END.
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 25.03.2012, 18:18   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, код жутко навороченный (я, например, навскидку в алгоритме (циклах) не разобрался...

во-вторых, программа РАБОЧАЯ. она стоит, ждёт нажатия любой клавиши. нажмите, например, пробел, увидите результат.

в-третьих, УМЕНЬШИТЕ время задержки.
ну, хотя бы в десять раз!
Код:
PauseTime = 100; {длительность паузы при прорисовке изображения}
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с графикой(Паскаль) likol07 Помощь студентам 2 05.02.2012 19:58
работа с графикой mrCloud C# (си шарп) 3 17.06.2011 14:25
Работа з графикой satanclaus Помощь студентам 16 06.07.2010 20:01
Не запускаются программы с графикой. Паскаль fredwriter Помощь студентам 11 11.03.2010 13:08