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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2015, 22:42   #1
DikeeeY
Пользователь
 
Регистрация: 16.02.2015
Сообщений: 25
По умолчанию проверка заполнения

вот в общем часть процедуры я выделил текст красным там где не совсем понимаю как должно быть правильно, этим кодом хочу добиться что бы проверил ячейку если True то он заполняет одну пару ячеек иначе другую не могу одолеть найти ошибку помогите справиться
Код:
procedure TForm1.btn1Click(Sender: TObject);
Function STRING_IS_EMPTY (S :String) :Boolean;
var a,a1,a2,b,b1,b2,b3,c,c1,c2,c3,d,d1,d2,d3,e,e1,e2,e3,f,f1,f2,f3,g,g1,g2,g3,h,h1,h2,h3,i,i1,i2,i3,j,j1,j2,j3:Real;

begin
a:=StrToFloat(edt1.text);
a2:=StrToFloat(edt11.text);
StrnGrd1.Cells[1,1]:=FloatTostr (a2);
StrnGrd1.Cells[1,3]:=FloatToStr (a);
a1:=a+a2;
StrnGrd1.Cells[1,4]:=FloatToStr (a1);
//ВТОРОЙ

b:=StrToFloat(edt2.text);
b2:=StrToFloat(edt12.text);
b3:=a2+b2;
StrnGrd1.Cells[2,1]:=FloatToStr (b3);
b1:=a+b;

if
Result=True then
begin
StrnGrd1.Cells[2,3]:=FloatToStr (b);
StrnGrd1.Cells[2,4]:=FloatToStr (b1);
end
else
begin
b2:=StrToFloat(edt21.text);
StrnGrd1.Cells[2,1]:=FloatToStr (b2);
StrnGrd1.Cells[2,5]:=FloatToStr (b);
StrnGrd1.Cells[2,6]:=FloatToStr (b1);

Последний раз редактировалось Stilet; 28.05.2015 в 07:31.
DikeeeY вне форума Ответить с цитированием
Старый 28.05.2015, 05:57   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
Result=True
А откуда result возьмется? Далее как ячейку можно проверить на True? Ячейка таблицы содержит вообще-то строковые значения, а строки не могут принимать значение True. Вы сами туда заносите числа. Либо объясните нормально что за задача стоит перед Вами, либо продумайте алгоритм по шагам.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.05.2015, 09:04   #3
DikeeeY
Пользователь
 
Регистрация: 16.02.2015
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Код:
Result=True
А откуда result возьмется? Далее как ячейку можно проверить на True? Ячейка таблицы содержит вообще-то строковые значения, а строки не могут принимать значение True. Вы сами туда заносите числа. Либо объясните нормально что за задача стоит перед Вами, либо продумайте алгоритм по шагам.
задача проверить ячейку и если она пустая то туда вводить значение если нет то значение вводиться рядом в другую ячейку
DikeeeY вне форума Ответить с цитированием
Старый 28.05.2015, 09:48   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
часть процедуры я выделил текст красным
Вообще-то кода процедуры там и в помине нет, а есть кусок кода функции STRING_IS_EMPTY, часть которой и выделена красным. Вот и спрашивается где в Result что-то занесено перед сравнением if Result=True ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.05.2015, 09:55   #5
DikeeeY
Пользователь
 
Регистрация: 16.02.2015
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Вообще-то кода процедуры там и в помине нет, а есть кусок кода функции STRING_IS_EMPTY, часть которой и выделена красным. Вот и спрашивается где в Result что-то занесено перед сравнением if Result=True ?
Ну объясните пожалуйста где и что нужно занести я не совсем понимаю а то очень срочно горит сделать программу вот только не чего нужного для себя я не могу не где найти
DikeeeY вне форума Ответить с цитированием
Старый 28.05.2015, 10:31   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Увидел вот это
Код:
var a,a1,a2,b,b1,b2,b3,c,c1,c2,c3,d,d1,d2,d3,e,e1,e2,e3,f,f1,f2,f3,g,g1,g2,g3,h,h1,h2,h3,i,i1,i2,i3,j,j1,j2,j3:Real;
и дальше не читал.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 28.05.2015, 10:54   #7
DikeeeY
Пользователь
 
Регистрация: 16.02.2015
Сообщений: 25
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Увидел вот это
Код:
var a,a1,a2,b,b1,b2,b3,c,c1,c2,c3,d,d1,d2,d3,e,e1,e2,e3,f,f1,f2,f3,g,g1,g2,g3,h,h1,h2,h3,i,i1,i2,i3,j,j1,j2,j3:Real;
и дальше не читал.
ну так если мне нужно в каждой ячейке по считать я хз как по другому воплотить эту задачу вот код тебе
Код:
//òðåòèé
c:=StrToFloat(edt3.text);
c2:=StrToFloat(edt13.text);
c3:=b3+c2;
StrnGrd1.Cells[3,1]:=FloatToStr (c3);
c1:=b+c;
if b1>c2 then
begin
StrnGrd1.Cells[3,5]:=FloatToStr (c);
StrnGrd1.Cells[3,6]:=FloatToStr (c1);
end
else
begin
c2:=StrToFloat(edt22.text);
StrnGrd1.Cells[3,1]:=FloatToStr (c2);
StrnGrd1.Cells[3,3]:=FloatToStr (c);
StrnGrd1.Cells[3,4]:=FloatToStr (c1);
end;
//÷åòâåðòûé
d:=StrToFloat(edt4.text);
d2:=StrToFloat(edt14.text);
d3:=c3+d2;
StrnGrd1.Cells[4,1]:=FloatToStr (d3);
d1:=c+d;
if c1>d2 then
begin                            
StrnGrd1.Cells[4,5]:=FloatToStr (d);
StrnGrd1.Cells[4,6]:=FloatToStr (d1);
end
else
begin
d2:=StrToFloat(edt23.text);
StrnGrd1.Cells[4,1]:=FloatToStr (d2);
StrnGrd1.Cells[4,3]:=FloatToStr (d);
StrnGrd1.Cells[4,4]:=FloatToStr (d1);
end;
//ïÿòûé
e:=StrToFloat(edt5.text);
e2:=StrToFloat(edt15.text);
e3:=d3+e2;
StrnGrd1.Cells[5,1]:=FloatToStr (e3);
e1:=d+e;
if d1>e2 then
begin
StrnGrd1.Cells[5,5]:=FloatToStr (e);
StrnGrd1.Cells[5,6]:=FloatToStr (e1);
end
else
begin
e2:=StrToFloat(edt24.text);
StrnGrd1.Cells[5,1]:=FloatToStr (e2);
StrnGrd1.Cells[5,3]:=FloatToStr (e);
StrnGrd1.Cells[5,4]:=FloatToStr (e1);
end;
//øåñòîé
f:=StrToFloat(edt6.text);
f2:=StrToFloat(edt16.text);
f3:=e3+f2;
StrnGrd1.Cells[6,1]:=FloatToStr (f3);
f1:=e+f;
if e1>f2 then
begin
StrnGrd1.Cells[6,5]:=FloatToStr (f);
StrnGrd1.Cells[6,6]:=FloatToStr (f1);
end
else
begin
f2:=StrToFloat(edt25.text);
StrnGrd1.Cells[6,1]:=FloatToStr (f2);
StrnGrd1.Cells[6,3]:=FloatToStr (f);
StrnGrd1.Cells[6,4]:=FloatToStr (f1);
end;
//ñåäüìîé
g:=StrToFloat(edt7.text);
g2:=StrToFloat(edt17.text);
g3:=f3+g2;
StrnGrd1.Cells[7,1]:=FloatToStr (g3);
g1:=f+g;
if f1>g2 then
begin
StrnGrd1.Cells[7,5]:=FloatToStr (g);
StrnGrd1.Cells[7,6]:=FloatToStr (g1);
end
else
begin
g2:=StrToFloat(edt26.text);
StrnGrd1.Cells[7,1]:=FloatToStr (g2);
StrnGrd1.Cells[7,3]:=FloatToStr (g);
StrnGrd1.Cells[7,4]:=FloatToStr (g1);
end;
//âîñüìîé
h:=StrToFloat(edt8.text);
h2:=StrToFloat(edt18.text);
h3:=g3+h2;
StrnGrd1.Cells[8,1]:=FloatToStr (h3);
h1:=g+h;
if g1>h2 then
begin
StrnGrd1.Cells[8,5]:=FloatToStr (h);
StrnGrd1.Cells[8,6]:=FloatToStr (h1);
end
else
begin
h2:=StrToFloat(edt27.text);
StrnGrd1.Cells[8,1]:=FloatToStr (h2);
StrnGrd1.Cells[8,3]:=FloatToStr (h);
StrnGrd1.Cells[8,4]:=FloatToStr (h1);
end;
//äåâÿòûé
i:=StrToFloat(edt9.text);
i2:=StrToFloat(edt19.text);
i3:=h3+i2;
StrnGrd1.Cells[9,1]:=FloatToStr (i3);
i1:=h+i;
if h1>i2 then
begin
StrnGrd1.Cells[9,5]:=FloatToStr (i);
StrnGrd1.Cells[9,6]:=FloatToStr (i1);
end
else
begin
i2:=StrToFloat(edt28.text);
StrnGrd1.Cells[9,1]:=FloatToStr (i2);
StrnGrd1.Cells[9,3]:=FloatToStr (i);
StrnGrd1.Cells[9,4]:=FloatToStr (i1);
end;
//äåñÿòûé
j:=StrToFloat(edt10.text);
j2:=StrToFloat(edt20.text);
j3:=i3+j2;
StrnGrd1.Cells[10,1]:=FloatToStr (j3);
j1:=i+j;
if i1>j2 then
begin
StrnGrd1.Cells[10,5]:=FloatToStr (j);
StrnGrd1.Cells[10,6]:=FloatToStr (j1);
end
else
begin
j2:=StrToFloat(edt29.text);
StrnGrd1.Cells[10,1]:=FloatToStr (j2);
StrnGrd1.Cells[10,3]:=FloatToStr (j);
StrnGrd1.Cells[10,4]:=FloatToStr (j1);
end;


end;

end.

Последний раз редактировалось Stilet; 28.05.2015 в 13:01.
DikeeeY вне форума Ответить с цитированием
Старый 28.05.2015, 11:06   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
ну так если мне нужно в каждой ячейке по считать я хз как по другому воплотить эту задачу вот код тебе
Для этого есть массивы и циклы.
То что Вы хотите выглядит примерно так:
Код:
If StrnGrd1.Cells[x,y]='' then Result:=True Else Result:=False;
Это должно быть в функции.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.05.2015, 11:08   #9
DikeeeY
Пользователь
 
Регистрация: 16.02.2015
Сообщений: 25
По умолчанию

хорошо ту же задачу что описана в теме таким образом реально выполнить?
Код:
//ÂÒÎÐÎÉ

b:=StrToFloat(edt2.text);
b2:=StrToFloat(edt12.text);
b3:=a2+b2;
StrnGrd1.Cells[2,1]:=FloatToStr (b3);
b1:=a+b;

if (StrnGrd1.Cells[2,4]='') then
b2:=StrToFloat(edt21.text);
StrnGrd1.Cells[2,1]:=FloatToStr (b2);
StrnGrd1.Cells[2,5]:=FloatToStr (b);
StrnGrd1.Cells[2,6]:=FloatToStr (b1);
 else
begin
 (StrnGrd1.Cells[2,6]='') then
 StrnGrd1.Cells[2,3]:=FloatToStr (b);
StrnGrd1.Cells[2,4]:=FloatToStr (b1);

end;

end;
только не надо тут травить коры или еще что то,я программированием занялся за 4 года обучения вот 4ый раз сел когда коснулось диплома и прошу конкретной помощи а не насмешек мол так не делается так не делается неужеле если ты знаешь тяжело подсказаать исправить синтаксис или еще что в любом случае каким бы ты там умным не был ты тоже когда то начинал и тебе так же подсказывали. я ж не пишу вам раскритикуйте мне мои ошибки я и так знаю что код не идеальный и хватает в нем ошибок просто найти не могу не чего что бы их исправить поэтому и попросил о помощи знал б что то то не писал б вам сюда

Последний раз редактировалось Stilet; 28.05.2015 в 13:01.
DikeeeY вне форума Ответить с цитированием
Старый 28.05.2015, 11:12   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
вот код тебе
Спасибо, не надо. Себе оставь.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка заполнения ячеек maxvip Microsoft Office Excel 8 24.11.2014 13:09
проверка заполнения полей segail HTML и CSS 1 31.01.2012 20:47
заполнения матрицы fatorial Помощь студентам 5 30.11.2010 18:30
Проверка корректности заполнения формы True_girl JavaScript, Ajax 1 05.06.2010 08:02
Заполнения Webbrowser GAGARIN-NEW Компоненты Delphi 5 12.12.2007 23:38