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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 15:29   #1
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию графика pascal/Delphi

Здраствуйте уважаемые форумчанины. Есть маленький вопросик. Есть программа написанная на turbo pascal. В ней подключен модуль graph. Когда я скинул исходник на borland Delphi, он заругался, говорит не такой библиотеке и соответственно таких функций и процедур. Как мне исправить исходничек чтоб он заробатал. Заранее спасибо.
Код:
program kurs4;

uses Crt, Dos, Graph;


procedure FigureDrawing(x, y, n : integer);
type
  a4 = array [0..4] of integer;
  a6 = array [1..7] of byte; const
  a = 4; b = 20; c = a + a + b;
  dl : a4 = (a, b, a, -a, -b);
  d2 : a4 = (-a, 0, a, a, 0);
  dx : a6 = (0, 0, 0, 0, c, 0, c);
  dy : a6 = (0, c, 2*c, 0, 0, c, c);
  q : array[0..9] of byte=
    ($5F, $5, $76, $75, $2D, $79, $7B, $45, $7F, $7D);

var
  xy : array [0..5] of PointType;
  j, k, d : byte;

begin
  setfillstyle(0, 0);
  bar(x-a, y-a, x+(c+a+a), y+2*(c+2*a));
  d := q[n];
  for j := 1 to 7 do begin
    if d and ($80 shr j) = 0 then continue;
    xy[0].x := x + dx[j];
    xy[0].y := y + dy[j];
    for k := 1 to 5 do
      if j < 4 then begin
        xy[k].x := xy[k-1].x + dl[k-1];
        xy[k].y := xy[k-1].y + d2[k-1];
      end else begin
        xy[k].x := xy[k-1].x - d2[k-1];
        xy[k].y := xy[k-1].y + dl[k-1];
      end;
    setfillstyle(1, 14);
    fillpoly(6, xy);
  end;
end;

procedure Initialization(var hi, ml, sl : word);
var
  gd, gm: integer;

begin
  gd := 0;
  initgraph(gd, gm, '');
  hi:=100;
  ml:=100;
  sl:=100;
end;

procedure DrawingOfDividers;
begin
  settextstyle(0, 0, 4);
  setcolor(14);
  outtextxy(136, 44, ':');
  outtextxy(256, 44, ':');
  setcolor(4);
end;

procedure CheckOfHours(h2:word;var hi:word);
var
  k : integer;

begin
  if hi <> h2 then
  begin
    k := h2 div 10; FigureDrawing(50, 30, k);
    k := h2 mod 10; FigureDrawing(100, 30, k);
    hi := h2;
  end;
end;

procedure CheckOfMinutes(m2:word;var ml:word);
var
  k : integer;

begin
  if ml <> m2 then
  begin
    k := m2 div 10; FigureDrawing(170, 30, k);
    k := m2 mod 10; FigureDrawing(220, 30, k);
    ml := m2;
  end;
end;

procedure CheckOfSeconds(s2:word;var sl:word);
var
  k : integer;

begin
  if sl <> s2 then
  begin
    k := s2 div 10; FigureDrawing(290, 30, k);
    k := s2 mod 10; FigureDrawing(340, 30, k);
    sl := s2;
  end;
end;

var
  hi,ml,sl,hs2,h2,m2,s2 : word;

begin
  Initialization(hi,ml,sl);
  DrawingOfDividers;
  repeat
    gettime(h2, m2, s2, hs2);
    CheckOfHours(h2,hi);
    CheckOfMinutes(m2,ml);
    CheckOfSeconds(s2,sl);
  until KeyPressed;
  closegraph;
end.
world12_tk вне форума Ответить с цитированием
Старый 17.05.2009, 15:51   #2
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Код:
uses Crt, Dos, Graph;
Таких модулей делфя не знает
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 17.05.2009, 16:44   #3
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

А зачем это в Delphi?

Если поискать, то можно найти реализации:

Это Graph:
http://math.ubbcluj.ro/~sberinde/wingraph/main.html

Это CRT:
http://www.zieglersoft.dk/public/crt32.asp
http://www.zieglersoft.dk/public/win32crt.asp

Функции DOS можно поискать в SysUtils (я так понял, здесь из DOS только время считывается).
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика Pascal bpystep Помощь студентам 20 17.06.2009 21:10
pascal графика world12_tk Помощь студентам 1 25.04.2009 18:56
Графика в Delphi сер4ей Помощь студентам 0 25.04.2009 15:16
[Pascal] Графика Рамик Помощь студентам 5 15.04.2009 03:06