IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Отладка консольного приложения, Компиляция
Atreides
сообщение 1.05.2007 14:56
Сообщение #1


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Вот столкнулся с проблемкой, есть программка, написанная на Turbo Pascal 7.0, в нем она компилировалась и работала, но возникла задача перетащить её на Delphi. Выбрал в новом проекте Console Application и вставил код, но откомпилировать не могу, почти на каждой строчке выдает ошибку? Немного подправил, но всё равно непрет, где ошибка?
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,Graphics;

{$DEFINE CS1 : используется в пункте 4.04.02							   }
{$DEFINE CS2 : используется в пункте 4.04.06*							  }

CONST
   NS = 7;
   NP = 4;
TYPE
   AGAF = Array[1..NS,1..NP] Of Real;
CONST
  IDES : AGAF =(( 01, 00, 0.4800,  0.000),
		  ( 02, 01, 0.2400, -1.720),
		  ( 03, 02, 0.1200, -0.310),
		  ( 04, 03, 0.1600, -2.030),
		  ( 05, 04, 0.0200,  2.530),
		  ( 06, 05, 0.0100,  0.800),
		  ( 07, 06, 0.1000, -0.920));

var

	AC  :TCanvas;//ArcCoordsType;
   I,J : Integer;
   SA : Real;
   SF : Real;
   APV : Array[1..NS,1..NS-1,0..1] Of Integer;
 ADNV : Array[1..NS,1..NS-1,0..1] Of Integer;
 ARF : Array[1..NS-1] Of Real;
 CONST
 SX0=325; SY0=225;
 VAR
 X,Y : Integer;
   XM,YM : Integer;
   DX,DY : Integer;
   D,R,GE : Integer;
CONST
  TB0=15; TB1= 7;
   TC0= 8; TC1= 1; TC2= 6;
   ATC : Array[1..NS] Of Word = (8,1,2,3,4,5,6);
   SV=12; SG=8;
VAR
   S,S0 : String;
begin
  { TODO -oUser -cConsole Main : Insert code here }
 D:=Detect;
InitGraph(D,R,'');
GE:=GraphResult;
If GE<>grOk Then
   Begin
	  WriteLn('Ошибка открытия графического режима:',GraphErrorMsg(GE)); Exit
   End;
SetBkColor(TB0); SetColor(TC0);
SetViewPort(0,0,639,479,ClipOn);
OutTextXY(1,1,'Программа DAP_01_1.PAS (BORLAND PASCAL 7.0)');
OutTextXY(580,1,'Окно 1');
OutTextXY(SG*4,SV*2,

OutTextXY(SG*1,SV*5,'Параметры сигнала АЛСН');
OutTextXY(SG*2,SV*7,'Гармо-'); OutTextXY(SG*9,SV*7,'Ампли-');
							   OutTextXY(SG*17,SV*7,'Фаза,');
OutTextXY(SG*2,SV*8,' ника '); OutTextXY(SG*9,SV*8,' туда ');
							   OutTextXY(SG*17,SV*8,'рад. ');
For I:=1 To NS Do
   For J:=1 To 3 Do
	  Begin
		 If J=1 Then Str(IDES[I,J+1]
0,S) Else Str(IDES[I,J+1]:5:2,S);
		 OutTextXY(SG*((J-1)*7+2),SV*(I+8),S);
	  End;
OutTextXY(SG*1,SV*17,'ПРИМЕЧАНИЯ.');
OutTextXY(SG*1,SV*18,'   1. Амлитудно-фазовые');
OutTextXY(SG*1,SV*19,'	  характеристики изо-');
OutTextXY(SG*1,SV*20,'	  бражаются только для');
OutTextXY(SG*1,SV*21,'	  гармоник, амплитуда');
OutTextXY(SG*1,SV*22,'	  которых не менее ');
OutTextXY(SG*1,SV*23,'	  0.09.');
OutTextXY(SG*1,SV*24,'   2. На амлитудно-фазовых');
OutTextXY(SG*1,SV*25,'	  характеристиках циф-');
OutTextXY(SG*1,SV*26,'	  рами обозначены но-');
OutTextXY(SG*1,SV*27,'	  мера гармоник.');

SA:=600;
SF:=360/(2*Pi);
PutPixel(SX0,SY0,ATC[1]);
SetColor(ATC[1]);
MoveTo(SX0,SY0); LineRel(Round(IDES[1,3]*SA),0);
XM:=GetX; YM:=GetY;
APV[1,1,0]:=XM; APV[1,1,1]:=YM;
{$IFDEF CS1 Проверка значения координат текущего указателя				  }
Str(XM,S); Str(YM,S0); OutTextXY(SG*2,SV*30,S); OutTextXY(SG*10,SV*30,S0);
{$ENDIF}

SetColor(TB0);
For I:=Round(IDES[2,1]) To NS Do
   If IDES[I,3]>=0.09 Then
	  For J:=1 To Round(IDES[I,2]) Do
		 Begin
			ARF[J]:=IDES[I,4]+
			   (2*Pi/IDES[I,2])*(J-1);
			Arc(SX0,SY0,1,Round(ARF[J]*SF),
			   Round(IDES[I,3]*SA));
			GetArcCoords(AC);
			APV[I,J,0]:=AC.XEnd;
			APV[I,J,1]:=AC.YEnd;
		 End;
For I:=Round(IDES[2,1]) To NS Do
   If IDES[I,3]>=0.09 Then
	  Begin
		 SetColor(ATC[I]);
		 For J:=1 To Round(IDES[I,2]) Do
			Line(SX0,SY0,
			   APV[I,J,0],APV[I,J,1]);
	  End;
SetColor(ATC[1]);
Circle(APV[1,1,0],APV[1,1,1],3);
SetFillStyle(1,ATC[1]);
FloodFill(APV[1,1,0]+1,APV[1,1,1]+1,ATC[1]);

For I:=Round(IDES[2,1]) To NS Do
   If IDES[I,3]>=0.09 Then
	  Begin
		 SetColor(ATC[I]);
		 For J:=1 To Round(IDES[I,2]) Do
			Begin
			   Circle(APV[I,J,0],APV[I,J,1],3);
			   SetFillStyle(1,ATC[I]);
			   If APV[I,J,0]>=SX0 Then DX:=1 Else DX:=-1;
			   If APV[I,J,1]>=SY0 Then DY:=1 Else DY:=-1;
			   FloodFill(APV[I,J,0]+DX,APV[I,J,1]+DY,ATC[I]);
			End;
	  End;
{$IFDEF CS2																 }
PutPixel(SG*02,SV*30,TC0);
SetColor(TC1); OutTextXY(SG*2,SV*30,'0');
MoveTo(SG*10,SV*30);
XM:=GetX; YM:=GetY;
PutPixel(XM,YM,TC0);
Str(01,S);
SetColor(TC2); OutTextXY(XM,YM,S);
{$ENDIF}

SetColor(ATC[1]); Str(Round(IDES[1,2]),S);
OutTextXY(APV[1,1,0]+ADNV[1,1,0],APV[1,1,1]+ADNV[1,1,1],S);

For I:=Round(IDES[2,1]) To NS Do
   If IDES[I,3]>=0.09 Then
	  Begin
		 SetColor(ATC[I]);
		 Str(Round(IDES[I,2]),S);
		 For J:=1 To Round(IDES[I,2]) Do
			OutTextXY(APV[I,J,0]+ADNV[I,J,0],APV[I,J,1]+ADNV[I,J,1],S);
	  End;

SetColor(TC0);
OutTextXY(SG,464,'Для выхода из программы нажмите любую клавишу.');
Repeat Until KeyPressed;
CloseGraph;
   end.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 7)
klem4
сообщение 1.05.2007 15:18
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Graph и Graphics это разные вещи совершенно smile.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atreides
сообщение 1.05.2007 16:07
Сообщение #3


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Цитата
Graph и Graphics это разные вещи совершенно smile.gif

В смысле нужно использовать Graph?


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 1.05.2007 16:14
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


100% не знаю, но мне кажется в делфи это не реально

добавлено: Хотя есть ведь crt для делфи ... может и граф переписаный есть


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 1.05.2007 22:39
Сообщение #5


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


в делфи обязательно должно быть консольное приложение?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atreides
сообщение 3.05.2007 18:42
Сообщение #6


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Цитата
в делфи обязательно должно быть консольное приложение?

Нет, не обязательно…


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Артемий
сообщение 3.05.2007 19:29
Сообщение #7


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Ну тогда мне кажется просто делай форму и на ней рисуй с помощью Canvas.Там вроде многие функции графа есть...


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atreides
сообщение 5.05.2007 18:16
Сообщение #8


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Забил на Delphi, сделал в Pascal’е.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 3:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"