Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Делфи в Паскаль! 
:(
    Опции темы
ololoshkaa
Дата 23.11.2013, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.11.2013

Репутация: нет
Всего: нет



Всем доброго времени суток!
Столкнулся с такой проблемой:
есть программа в Delphi, которая рисует ночной городской пейзаж
вот она:
Код

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
{Событие на нажатие кнопки нарисовать }
procedure TForm1.Button1Click(Sender: TObject);
begin
 
with form1.Canvas do
begin
 // земля
 brush.color:=RGB(8,16,48);
rectangle(0,350,1000,710);
//небо
 brush.color:=RGB(4,3,35);
rectangle(0,0,1000,350);
// дома слева
  brush.color:=RGB(30,30,22);
  rectangle(0,125,150,550);
  brush.Color:=clGray;
  rectangle(200,200,350,500);
  brush.color:=RGB(200,195,138);
    brush.color:=RGB(25,19,16);
  rectangle(150,250,250,500);
   brush.color:=RGB(88,81,56);
 rectangle(200,425,375,536);
    // дома справа
       brush.color:=RGB(25,19,16);
       rectangle(725,100,875,400);
       brush.color:=RGB(94,91,65);
       rectangle(600,300,675,450);
        brush.color:=RGB(57,31,15);
       rectangle(650,350,750,550);
 
         brush.color:=RGB(64,75,99);
       rectangle(850,50,1000,575);
          brush.color:=RGB(53,54,54);
       rectangle(725,450,825,560);
 
// Луна
brush.Color:=clyellow;
Ellipse(250,25,350,125);
brush.Color:=RGB(4,3,35);
Ellipse(245,20,345,120);
// Звездочки
   brush.color:=RGB(254,255,211);
   Ellipse(475,90,478,93);
   Ellipse(500,100,503,103);
   Ellipse(525,125,528,128);
   Ellipse(550,163,553,166);
   Ellipse(625,163,628,166);
   Ellipse(634,125,637,128);
 
   //дорога
   brush.color:=RGB(85,84,86);
   rectangle(0,650,1000,700);
 
moveTo(375,650);
LineTo(525,350);
LineTo(550,350);
LineTo(440,650);
LineTo(375,650);
brush.Color:=RGB(85,84,86);
floodFill(425,600,clblack,fsBorder);
 
 
end;
end;
 
end.


Но для сдачи курсовой мне нужно переделать ее в Turbo Pascal! Когда я начал переделывать программу, возникло много ошибок, которых я не смог исправить. Прошу помочь мне в этом деле, буду очень-очень признателен! Заранее большое спасибо!!!
Вот, собственно, что у меня получилось:
Код

program gorod;
uses graph, crt;
var gd, gr, err:integer;
begin
gd:=detect;
gr:=VGAHi;
InitGraph(gd,gr,' ');
err:=GraphResult;
if err=grOk then
begin
{Zemlya}
 brush.color:=RGB(8,16,48);
rectangle(0,350,1000,710);
{ Nebo}
 brush.color:=RGB(4,3,35);
rectangle(0,0,1000,350);
{ Bydunku zliva}
  brush.color:=RGB(30,30,22);
  rectangle(0,125,150,550);
  brush.Color:=clGray;
  rectangle(200,200,350,500);
  brush.color:=RGB(200,195,138);
    brush.color:=RGB(25,19,16);
  rectangle(150,250,250,500);
   brush.color:=RGB(88,81,56);
 rectangle(200,425,375,536);
    { Bydunku sprava }
       brush.color:=RGB(25,19,16);
       rectangle(725,100,875,400);
       brush.color:=RGB(94,91,65);
       rectangle(600,300,675,450);
        brush.color:=RGB(57,31,15);
       rectangle(650,350,750,550);
 
         brush.color:=RGB(64,75,99);
       rectangle(850,50,1000,575);
          brush.color:=RGB(53,54,54);
       rectangle(725,450,825,560);
 
{ Misyac   }
brush.Color:=clyellow;
Ellipse(250,25,350,125);
brush.Color:=RGB(4,3,35);
Ellipse(245,20,345,120);
{Zirku}
   brush.color:=RGB(254,255,211);
   Ellipse(475,90,478,93);
   Ellipse(500,100,503,103);
   Ellipse(525,125,528,128);
   Ellipse(550,163,553,166);
   Ellipse(625,163,628,166);
   Ellipse(634,125,637,128);
 
   {Doroga}
   brush.color:=RGB(85,84,86);
   rectangle(0,650,1000,700);
 
moveTo(375,650);
LineTo(525,350);
LineTo(550,350);
LineTo(440,650);
LineTo(375,650);
brush.Color:=RGB(85,84,86);
floodFill(425,600,clblack,fsBorder);
readkey;
closegraph;
end;
end.

PM MAIL   Вверх
Фантом
Дата 23.11.2013, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Если мне память за давностью лет не изменяет, то использовавшаяся в TP графическая библиотека BGI ничего общего с графикой в Delphi не имеет. Соответственно, поскольку в программе ничего, кроме собственно рисования, не делается, то пытаться что-то "переделывать" не стоит - программу нужно писать с нуля заново.

Так что ищите описание BGI и вперед. Помочь в этом деле, наверное, мало кто сможет - последняя версия TP вышла 21 год назад, за это время те, кто умел пользоваться BGI, успели все это забыть.
PM   Вверх
ololoshkaa
Дата 23.11.2013, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.11.2013

Репутация: нет
Всего: нет



Вот, переделал основные моменты
но не получается подобрать правильные координаты согласно рисунку в делфи(цвет, в принципе, не важен). Помогите пожалуйста, или поясните как правильно писать верные координати объектов.
Код

program gorod;
uses graph, crt;
var gd, gr, err:integer;
begin
gd:=detect;
gr:=vgahi;
initgraph(gd,gr,' ');
err:=graphresult;
if err=grOk then
begin
{Zemlya}
setfillstyle(solidfill, yellow);
bar(0,350,1000,710);
{Nebo}
setfillstyle(solidfill, blue);
bar(0,0,1000,350);
{Bydunku zliva}
setfillstyle(solidfill, red);
bar(0,125,150,550);
setfillstyle(solidfill, red);
bar(200,200,350,500);
setfillstyle(solidfill, green);
setfillstyle(solidfill, black);
bar(150,250,250,500);
setfillstyle(solidfill, yellow);
bar(200,425,375,536);
{Bydunku sprava}
setfillstyle(solidfill, brown);
bar(725,100,875,400);
setfillstyle(solidfill, red);
bar(600,300,675,450);
setfillstyle(solidfill, green);
bar(650,350,750,550);
setfillstyle(solidfill, yellow);
bar(850,50,1000,575);
setfillstyle(solidfill, white);
bar(725,450,825,560);
{Misyac}
setfillstyle(solidfill, yellow);
circle(300,75,100);
setfillstyle(solidfill, blue);
circle(295,70,95);
{Zirku}
setfillstyle(solidfill, yellow);
circle(475,90,478);
circle(500,100,503);
circle(525,125,528);
circle(550,163,553);
circle(625,163,628);
circle(634,125,637);
{Doroga}
setfillstyle(solidfill, black);
bar(0,650,1000,700);
moveTo(375,650);
LineTo(525,350);
LineTo(550,350);
LineTo(440,650);
LineTo(375,650);
setfillstyle(solidfill, brown);
floodFill(425,600,black);
readkey;
closegraph;
end;
end.



Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  Безымянный.JPG 58,81 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.