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

> ВНИМАНИЕ!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Отладка консольного приложения, Компиляция
сообщение
Сообщение #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]3.gif0,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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


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

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

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


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


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


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

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

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


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

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


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


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

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

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


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

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


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


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

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

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


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


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


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

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

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


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

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


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


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

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

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


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


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


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

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

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


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


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

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

 





- Текстовая версия 2.10.2020 3:34
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name