Главная
Регистрация
Вход
Авторизироваться
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ADMIN, Nextik  
Прога для определения существует ли треугольник с заданными
programmerДата: Понедельник, 13.04.2009, 23:38 | Сообщение # 1
Умный
Группа: Проверенные
Сообщений: 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.
 
121212Дата: Понедельник, 20.04.2009, 11:13 | Сообщение # 2
Программист
Группа: Проверенные
Сообщений: 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.
 
programmerДата: Понедельник, 20.04.2009, 13:09 | Сообщение # 3
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
это я нафорум так выложил а проект без него форум заменил на знак копирайта
 
121212Дата: Понедельник, 20.04.2009, 13:19 | Сообщение # 4
Программист
Группа: Проверенные
Сообщений: 268
Награды: 7
Репутация: « 14 »
Статус: Offline
работает мой пример?
 
programmerДата: Понедельник, 20.04.2009, 14:09 | Сообщение # 5
Умный
Группа: Проверенные
Сообщений: 599
Награды: 3
Репутация: « 111 »
Статус: Offline
нет
 
121212Дата: Понедельник, 20.04.2009, 14:56 | Сообщение # 6
Программист
Группа: Проверенные
Сообщений: 268
Награды: 7
Репутация: « 14 »
Статус: Offline
у меня работает
 
12121Дата: Понедельник, 20.04.2009, 16:16 | Сообщение # 7
Программист
Группа: Проверенные
Сообщений: 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
 
121212Дата: Понедельник, 20.04.2009, 16:27 | Сообщение # 8
Программист
Группа: Проверенные
Сообщений: 268
Награды: 7
Репутация: « 14 »
Статус: Offline
®
 
12121Дата: Понедельник, 20.04.2009, 16:59 | Сообщение # 9
Программист
Группа: Проверенные
Сообщений: 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
Поиск: