Авторизироваться
  • Страница 1 из 1
  • 1
Модератор форума: ADMIN, Nextik  
Прога для определения существует ли треугольник с заданными
13.04.2009 в 23:38 Сообщение #1
programmer
Умный
Проверенные
Сообщений: 599
Награды: 3
Репутация: 111
Offline
почемуто неработает cry помогите кто нибудь
program TreuGolniki;
var a,b,c:string;
d,e,f,g,h,i,j,zxc:integer;
cmdNext : command;
sa,sb,sc,state:boolean;
begin
ShowForm;
zxc:=FormAddString('Введите стороны треугольника.');
d:= FormAddTextField('', '0', 20, TF_NUMERIC);
e:= FormAddTextField('', '0', 20, TF_NUMERIC);
f:=FormAddTextField('', '0', 20, TF_NUMERIC);
cmdNext := CreateCommand('ОК!', CM_OK, 1);
AddCommand(cmdNext);
repeat until GetClickedCommand = cmdNext;
a:=FormGetText(d);
b:=FormGetText(e);
c:=FormGetText(f);
{---------------------------------------}
d:=StringToInteger(a);
e:=StringToInteger(b);
f:=StringToInteger©;
{---------------------------------------}
g:=e+f;{для переменной d}
h:=f+d;{для переменной е}
i:=e+d;{для переменной f}
if d<g then sa:=true;
if e<h then sb:=true;
if f<i then sc:=true;
j:=0;
if sa=true then j:=j+1;
if sb=true then j:=j+1;
if sc=true then j:=j+1;
if j=3 then state:= true else state:=false;
if state=true then formSetText(zxc,'true') else formSetText(zxc,'false');
delay(500000);
end.
20.04.2009 в 11:13 Сообщение #2
121212
Программист
Проверенные
Сообщений: 268
Награды: 7
Репутация: 14
Offline
program TreuGolniki;
var a,b,c:string;
d,e,f,g,h,i,j,zxc:integer;
cmdNext : command;
sa,sb,sc,state:boolean;
begin
ShowForm;
zxc:=FormAddString('Введите стороны треугольника.');
d:= FormAddTextField('', '0', 20, TF_NUMERIC);
e:= FormAddTextField('', '0', 20, TF_NUMERIC);
f:=FormAddTextField('', '0', 20, TF_NUMERIC);
cmdNext := CreateCommand('ОК!', CM_OK, 1);
AddCommand(cmdNext);
repeat until GetClickedCommand = cmdNext;
a:=FormGetText(d);
b:=FormGetText(e);
c:=FormGetText(f);
{---------------------------------------}
d:=StringToInteger(a);
e:=StringToInteger(b);
f:=StringToInteger©; {нехватало © и зачем знак ©?}
{---------------------------------------}
g:=e+f;{для переменной d}
h:=f+d;{для переменной е}
i:=e+d;{для переменной f}
if d<g then sa:=true;
if e<h then sb:=true;
if f<i then sc:=true;
j:=0;
if sa=true then j:=j+1;
if sb=true then j:=j+1;
if sc=true then j:=j+1;
if j=3 then state:= true else state:=false;
if state=true then formSetText(zxc,'true') else formSetText(zxc,'false');
delay(500000);
end.
20.04.2009 в 13:09 Сообщение #3
programmer
Умный
Проверенные
Сообщений: 599
Награды: 3
Репутация: 111
Offline
это я нафорум так выложил а проект без него форум заменил на знак копирайта
20.04.2009 в 13:19 Сообщение #4
121212
Программист
Проверенные
Сообщений: 268
Награды: 7
Репутация: 14
Offline
работает мой пример?
20.04.2009 в 14:09 Сообщение #5
programmer
Умный
Проверенные
Сообщений: 599
Награды: 3
Репутация: 111
Offline
нет
20.04.2009 в 14:56 Сообщение #6
121212
Программист
Проверенные
Сообщений: 268
Награды: 7
Репутация: 14
Offline
у меня работает
20.04.2009 в 16:16 Сообщение #7
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
program TreuGolniki;
var a,b,c:string;
d,e,f,g,h,i,j,zxc:integer;
cmdNext : command;
sa,sb,sc,state:boolean;

begin
ShowForm;
zxc:=FormAddString('Введите стороны треугольника.');
d:= FormAddTextField('', '0', 20, TF_NUMERIC);
e:= FormAddTextField('', '0', 20, TF_NUMERIC);
f:=FormAddTextField('', '0', 20, TF_NUMERIC);
cmdNext := CreateCommand('ОК!', CM_OK, 1);
AddCommand(cmdNext);
repeat until GetClickedCommand = cmdNext;

a:=FormGetText(d);
b:=FormGetText(e);
c:=FormGetText(f);
{---------------------------------------}
d:=StringToInteger(a);
e:=StringToInteger(b);
f:=StringToInteger©;
{---------------------------------------}

g:=e+f;{для переменной d}
h:=f+d;{для переменной е}
i:=e+d;{для переменной f}

if d<g then sa:=true;
if e<h then sb:=true;
if f<i then sc:=true;
j:=0;
if sa=true then j:=j+1; // можно так if sa then j:=j+1; это то же самое
if sb=true then j:=j+1;
if sc=true then j:=j+1;
if j=3 then state:= true else state:=false;
//if state=true then formSetText(zxc,'true') else formSetText(zxc,'false');
if state=true then zxc:= formAddString('true'); else zxc:= formAddString('false');

delay(500000);
end.

в таком виде сработает.
formSetText может изменить поле ввода ( там где цифры вводятся ) а надпись похоже никак не изменить
только если удалить через formRemove а потом создать уже с другой надписью.
а что бы опять сверху надпись была надо все делать заново.

Сообщение отредактировал 12121 - Понедельник, 20.04.2009, 16:30
20.04.2009 в 16:27 Сообщение #8
121212
Программист
Проверенные
Сообщений: 268
Награды: 7
Репутация: 14
Offline
®
20.04.2009 в 16:59 Сообщение #9
12121
Программист
Проверенные
Сообщений: 357
Награды: 4
Репутация: 290
Offline
program TreuGolniki;
var a,b,c:string;
d,e,f,g,h,i,j,zxc,q1,q2,q3:integer;
cmdNext : command;
sa,sb,sc,state:boolean;

begin
ShowForm;
zxc:=FormAddString('Введите стороны треугольника.');
q1:= FormAddTextField('', '0', 20, TF_NUMERIC);
q2:= FormAddTextField('', '0', 20, TF_NUMERIC);
q3:=FormAddTextField('', '0', 20, TF_NUMERIC);
repeat

a:=FormGetText(q1);
b:=FormGetText(q2);
c:=FormGetText(q3);
{---------------------------------------}
d:=StringToInteger(a);
e:=StringToInteger(b);
f:=StringToInteger©;
{---------------------------------------}

g:=e+f;{для переменной d}
h:=f+d;{для переменной е}
i:=e+d;{для переменной f}

if d<g then sa:=true;
if e<h then sb:=true;
if f<i then sc:=true;
j:=0;
if sa=true then j:=j+1; // можно так if sa then j:=j+1; это то же самое
if sb=true then j:=j+1;
if sc=true then j:=j+1;
if j=3 then state:= true else state:=false;

if state=true then zxc:= formAddString('true '+a); else zxc:= formAddString('false '+a);

delay(10); formRemove(zxc);
until false; //GetClickedCommand = cmdNext;

end.

вот прикольный вариант. наберите что нибудь в 1 строке

  • Страница 1 из 1
  • 1
Поиск: