Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ FPC 2.4.0 - графика

Автор: Relrin 20.02.2011 17:38

Решил попробовать свои силы с графикой. Первая проблема, которая сейчас стоит (точнее стояла) была в подключении модуля Graph, поскольку не находило его (проблема решилась благодаря форума и я ее успешно решил).
Следующая проблема была в том, что чтобы нарисовать простейшую фигуру - эллипс, выдает ошибку в FPC следующего рода: "Invalid Graphics Mode". Как это проблему решить?

Исходный код:

Uses Graph,Crt;

procedure Init;
var
Driver, Mode, ErrorCode: smallint;
begin
//Driver:=EGA;
//Mode :=EGAHI;
InitGraph(Driver,Mode,'');
ErrorCode := GraphResult;
if ErrorCode <> grOK then
begin
Writeln(GraphErrorMsg(ErrorCode));
Halt(1);
end;
end;

Begin
Init;
writeln('hello!');
Ellipse (200,250,0,359,10,20);
readln;
End.


Автор: -Lapp- 20.02.2011 19:22

Цитата(Relrin @ 20.02.2011 13:38) *
выдает ошибку в FPC следующего рода: "Invalid Graphics Mode"

Перед InitGraph сделай
Driver:= Detect;

Распространенная ошибка.. Ты привык, что компилятор сам за тебя инициализирует переменные нулем. Но в процедурах и функциях это не так. Рекомендую тебе НИКОГДА не полагаться на компилятор в этом отношении, ибо это не есть свойство ЯЗЫКА, а есть свойство его конкретной реализации. В данном случае Detect - это константа из модуля Graph, ее значение равно нулю (можешь написать просто Driver:= 0 )