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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2008, 23:24   #1
a_priori
 
Регистрация: 11.03.2008
Сообщений: 3
По умолчанию Консольное приложение

У меня такая проблема: Есть работающая прога на Паскале, кот. сделана ещё в Dos очень давно. Необходимо осовременить её. Окна со всякими кнопками и менюшками в Delphi уже сделала, программу почти отладила в консольном режиме Delphi. Возможно ли её теперь как-то вызывать из оконного режима? Как к ней можно обратиться? Была бы безмерно благодарна за совет!!!
a_priori вне форума Ответить с цитированием
Старый 11.03.2008, 23:39   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Называется "гланды через ж..."... Наверняка можно всё переделать для Делфи... И проще и лучше.
И что значит вызывать? Нажал кнопку и консольная прога запустилась?

А код посмотреть можно?
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 11.03.2008, 23:52   #3
a_priori
 
Регистрация: 11.03.2008
Сообщений: 3
По умолчанию

Ммм.. ну там метки всякие (типа Label 1 и т.п.), а Delphi на них ругается А код просто боюсь даже не влезет по числу допустимых символов сюда. Там огромная прога. Много разных процедур и функций.. А обращаться - т.е. вызывать ту или иную процедуру.....
Вот кусочек проги:
program ORB_my;

{$APPTYPE CONSOLE}

uses
Windows, SysUtils, Forms;

type
arrofstring= array [1..5] of string;
arrofreal= array[1..5] of real;
darrofreal= array[1..5,1..11] of real;
arrofreal2= array[1..11] of real;
var
f11S: array of string;
x01: real; y01: array of real;
res: array of real;
Procedure RootEq(xs1:char; sS1:string; var n1: byte; eps1:real; var x01,y01:real;var err: integer);
Procedure Diffs(var nn: byte; xS1: char; yS1: string);
Procedure IntDiffs(var nn: byte; eps1: real; xS1: char; yS1: string;
f11S: arrofstring; x01,x02: real; var y01: arrofreal; var err: integer);
Procedure IntDiff1(var nn: byte; eps1: real; xS1:char; yS1,sS1: string;
x01,x02: real; var y01: arrofreal; var err: integer);
Procedure IntSing(var nn: byte; eps1: real; xS1:char; yS1,sS1: string;
x01,x02: real; var y01: arrofreal; var err: integer);
Procedure Diff(var nn: byte;
sS1: string; xx0,yy0: real; var y02: arrofreal; var err: integer);
Procedure DiffH(var nn,mm: byte;
sS1: string; xx0: real; var yy0m: arrofreal; var y02: arrofreal; var err: integer);

var
a,b,c,d,e,f,g,h,o,p,q,r,s,t,u,v,w,x ,y,z: real {Внешние};
k7: integer;
yy01: array of real;

label 1,2,3,4,5,6,7,8,9;
var
ff: text;
as_,as1:string;
ax,a0,al0,al,stepx,xn,step,xx,kk,kk k,kp:real;
i1,i2,i3,i4,j2,j3,j4,k1,k2,k3,k4,k5 ,
m1,m7,m8,m9,n5,n6: byte {n5,k7 - внешние};
c1,c2,c3,c4,c5,sS,q3,q4,YS: string {YS - внешняя};
st1: string[100];
q1,q2,ch,ch1,xS,x1S,y1S: char {xS,x1S - внешние};
i9,j1,j9,m5,n4,code: integer;
i,j,k,l,m,n: integer {Внешние, n - внутренняя};
a1,a3,a4,ak1,r1,r2,r3,r4,r5,x2: real {a1 - внешняя};
x0,y1,eps: real {переменные верхнего уровня};
z1: array [1..13] of real;
b1,b2: array [1..12] of real;
n1,n2,n3,m2,m3,l1,e1,d1: array [1..6] of byte;
a2: array [1..6,1..11] of real;
a6: array [1..5,1..12] of real {Внешний};
a5,a7: array [1..10] of real { для алгоритма А2 };
t1: array [1..12,1..11] of real;
f1S: array [1..5] of string {Внешний};
{***************************}
function Power(a,b:real): real; {a^b}
label 1;
var
i,j:integer;
begin
j:=trunc(b);
if b=j then begin r:=1; for i:=1 to j do r:=r*a; goto 1 end;
if a>0 then begin r:=exp(ln(a)*b); goto 1 end; r:=0;
if a<0 then k7:=1 {write('недопустимая операция a^b, a<0, b - нецелое')};
if b>0 then r:=0 else
k7:=2 {write('недопустимая операция a^b, a=0, b<0')};
1: power:=r
end;
{***************************}

function Mid(str1: string; m,n: byte): string;
var i4: byte;

begin st1:='';

for i4 := m to n+m-1 do
st1:=st1+str1[i4];
Mid:=st1;
end;










{****************************}
function Instr(str: string; s: char): byte; label 1;
var i4: byte;
begin n4:=Length(str); for i4:=1 to n4 do
if(str[i4]=s) then goto 1; i4:=0; 1: Instr:=i4 end;
{****************************}
function SmartBoy: byte; label 1,2,3,4,5,6,7;
begin j2:=i1; goto 2; 1: j2:=j2+1;
2: ch:=sS[j2]; j1:=instr(c4,ch); if j1>0 then goto 5;
if ch<>'(' then goto 4; j4:=j2+1;

3: j2:=j2+instr(mid(sS,j2+1,k1-j2),')');
j1:=j1+j4; j4:=
instr(mid(sS,j1,j2-j1),'('); if j4>0 then goto 3;
4: if j2<k1 then goto 1; goto 7;
5: ch:=sS[j2-1]; if (ch<>'E') and (ch<>'e') then goto 6;
ch:=sS[j2-2]; j3:=Ord(ch); if (j3>47) and (j3<58) then goto 1;
6: j2:=j2-1; 7: SmartBoy:=j2; end;
a_priori вне форума Ответить с цитированием
Старый 11.03.2008, 23:55   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

что мешает вверху вместо program написать unit, удалить {$APPTYPE CONSOLE}
и подключить этот модуль к проге своей и вызывать уже нужные процедуры?
pu4koff вне форума Ответить с цитированием
Старый 12.03.2008, 00:00   #5
a_priori
 
Регистрация: 11.03.2008
Сообщений: 3
По умолчанию

Да, женщина, наверно, и правда не может быть программистом Но всё же. Как Вы написали делала, да Делфи ругается на Label. Пишет "Label declaration not allowed in interface part"....
a_priori вне форума Ответить с цитированием
Старый 12.03.2008, 07:42   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

ну и определи свои label в разделе implementation. или, что еще лучше, перепеши без goto.
pu4koff вне форума Ответить с цитированием
Старый 12.03.2008, 08:33   #7
andrey4623
Форумчанин
 
Аватар для andrey4623
 
Регистрация: 31.05.2007
Сообщений: 266
По умолчанию

С goto в дельфи всегда проблемы
andrey4623 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Консольное приложение eks-s Общие вопросы Delphi 17 25.01.2008 03:12
Консольное приложение и DLL SunKnight Общие вопросы Delphi 1 16.12.2007 02:35
Консольное приложение MAcK Общие вопросы Delphi 2 03.12.2006 18:28