Вот столкнулся с проблемкой, есть программка, написанная на Turbo Pascal 7.0, в нем она компилировалась и работала, но возникла задача перетащить её на Delphi. Выбрал в новом проекте Console Application и вставил код, но откомпилировать не могу, почти на каждой строчке выдает ошибку? Немного подправил, но всё равно непрет, где ошибка?
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils,Graphics;
{$DEFINE CS1 : используется в пункте 4.04.02 } {$DEFINE CS2 : используется в пункте 4.04.06* }
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,' мера гармоник.');
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}
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.
klem4
1.05.2007 19:18
Graph и Graphics это разные вещи совершенно
Atreides
1.05.2007 20:07
Цитата
Graph и Graphics это разные вещи совершенно smile.gif
В смысле нужно использовать Graph?
klem4
1.05.2007 20:14
100% не знаю, но мне кажется в делфи это не реально
добавлено: Хотя есть ведь crt для делфи ... может и граф переписаный есть
мисс_граффити
2.05.2007 2:39
в делфи обязательно должно быть консольное приложение?
Atreides
3.05.2007 22:42
Цитата
в делфи обязательно должно быть консольное приложение?
Нет, не обязательно…
Артемий
3.05.2007 23:29
Ну тогда мне кажется просто делай форму и на ней рисуй с помощью Canvas.Там вроде многие функции графа есть...
Atreides
5.05.2007 22:16
Забил на Delphi, сделал в Pascal’е.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.