|
Вопрос # 5 358/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Помогите пожалуйста разобраться в ошибке.
ошибка EConvertError with message"5870601486"is not a valid integer value, как я поняла это значение превышает максимальное возможное целое число, как мне задать это число?
 |
Вопрос задала: Alinka27 (статус: Посетитель)
Вопрос отправлен: 1 июня 2011, 18:51
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Очевидно, что это число (587060148610 = 15DEA450E16) занимает 33 бита. Тип Integer в 32-битных платформах - это таки 32 бита или 4 байта. Так что для таких преобразований следует пользоваться переменными с типом Int64 и функциями StrToInt64() и/или TryStrToInt64().
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 1 июня 2011, 18:59
|
Мини-форум вопроса
Всего сообщений: 83; последнее сообщение — 2 июня 2011, 08:11; участников в обсуждении: 4.
Страницы: [« Предыдущая] [1] [2] [3] [4] [5] [Следующая »]
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:31 [#21]:
Цитата (Alinka27):
Там не написано, после нажатия на кнопку появляется ошибка.
Ну поставь ты брейкпойнт на первую строку обработчика ОнКлык чёртовой кнопки, нажми потом на неё и дальше по шажочкам до возникновения ошибки.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:32 [#22]:
Да, и покажи, наконец, код обработчика, ёпэрэсэтэ! А то мы тут так до пенсии гадать будем.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:34 [#23]:
Цитата (Alinka27):
Кстати, это у меня кнопка тест, но расчеты выполняется после нажатия на другую кнопку.
Нужен код обработчика именно той кнопки, при нажатии на которую вываливается исключение.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:35 [#24]:
Цитата (Alinka27):
он элементарный!=)
АААААААААААААААААААААААААААААААААААААААААААААА!!!!!!!!!!!
МАМА, РОДИ МЕНЯ ОБРАТНО!!!!!!!!!!!!!!!!!
З.Ы. Ушёл блевать в сортир. Щас вернусь. И пойду в магаз за водкой.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 1 июня 2011, 19:36 [#25]:
procedure TForm1.Button1Click(Sender: TObject);
var // a: array [0..2,1..25] of double;
j: integer;
s,k: string;
summ11,summ12,summ21,summ22,summ31,summ32,razn13,razn23,razn23t,razn33,razn33t,razn,raznt,summ11t,summ12t,summ21t,summ22t,summ31t,summ32t,razn13t,summ11km,summ11kmo,summ12km,summ12kmo,summ13km,summ13kmo,summDC,ostatokDC,summDCt,ostatokDCt,ChDPopr,ChDPipr,ChDPfpr:
integer;
begin
summ11:=0;
summ12:=0;
summ21:=0;
summ22:=0;
summ31:=0;
summ32:=0;
summ11t:=0;
summ12t:=0;
summ21t:=0;
summ22t:=0;
summ31t:=0;
summ32t:=0;
summ11km:=0;
summ11kmo:=0;
summ12km:=0;
summ12kmo:=0;
summ13km:=0;
summ13kmo:=0;
for j:=3 to {stringgrid1.rowCount-1} 5 do
begin
if StringGrid1.Cells[2,5]<>'' then
Summ11:=StrToInt(StringGrid1.Cells[2,3])+StrToInt(StringGrid1.Cells[2,4])+StrToInt(StringGrid1.Cells[2,5]){+StrToInt(StringGrid1.Cells[2,6])};
end;
for j:=7 to 15 do
begin
if StringGrid1.Cells[2,15]<>'' then
Summ12:=StrToInt(StringGrid1.Cells[2,7])+StrToInt(StringGrid1.Cells[2,8])+StrToInt(StringGrid1.Cells[2,9])+StrToInt(StringGrid1.Cells[2,10])+StrToInt(StringGrid1.Cells[2,11])+StrToInt(StringGrid1.Cells[2,12])+StrToInt(StringGrid1.Cells[2,13])+StrToInt(StringGrid1.Cells[2,14])+StrToInt(StringGrid1.Cells[2,15]);
Razn13:=summ11-summ12;
end;
for j:=19 to {stringgrid1.rowCount-1} 22 do
begin
if StringGrid1.Cells[2,22]<>'' then
Summ21:=StrToInt(StringGrid1.Cells[2,19])+StrToInt(StringGrid1.Cells[2,20])+StrToInt(StringGrid1.Cells[2,21])+StrToInt(StringGrid1.Cells[2,22])+StrToInt(StringGrid1.Cells[2,23])+StrToInt(StringGrid1.Cells[2,24])+StrToInt(StringGrid1.Cells[2,25]);
end;
for j:=27 to {stringgrid1.rowCount-1} 32 do
begin
if StringGrid1.Cells[2,32]<>'' then
Summ22:=StrToInt(StringGrid1.Cells[2,27])+StrToInt(StringGrid1.Cells[2,28])+StrToInt(StringGrid1.Cells[2,29])+StrToInt(StringGrid1.Cells[2,30])+StrToInt(StringGrid1.Cells[2,31])+StrToInt(StringGrid1.Cells[2,32]);
razn23:=summ21-summ22;
end;
for j:=36 to stringgrid1.rowCount-1 do
begin
if StringGrid1.Cells[2,36]<>'' then
Summ31:=StrToInt(StringGrid1.Cells[2,36]);
end;
for j:=38 to 39 do
begin
if StringGrid1.Cells[2,39]<>'' then
Summ32:=StrToInt(StringGrid1.Cells[2,38])+StrToInt(StringGrid1.Cells[2,39]);
razn33:=summ31-summ32;
razn:=razn13+razn23+razn33;
end;
for j:=3 to {stringgrid1.rowCount-1} 5 do
begin
if StringGrid1.Cells[3,5]<>'' then
Summ11t:=StrToInt(StringGrid1.Cells[3,3])+StrToInt(StringGrid1.Cells[3,4])+StrToInt(StringGrid1.Cells[3,5]){+StrToInt(StringGrid1.Cells[2,6])};
end;
for j:=7 to 15 do
begin
if StringGrid1.Cells[3,15]<>'' then
Summ12t:=StrToInt(StringGrid1.Cells[3,7])+StrToInt(StringGrid1.Cells[3,8])+StrToInt(StringGrid1.Cells[3,9])+StrToInt(StringGrid1.Cells[3,10])+StrToInt(StringGrid1.Cells[3,11])+StrToInt(StringGrid1.Cells[3,12])+StrToInt(StringGrid1.Cells[3,13])+StrToInt(StringGrid1.Cells[3,14])+StrToInt(StringGrid1.Cells[3,15]);
Razn13t:=summ11t-summ12t;
end;
for j:=19 to {stringgrid1.rowCount-1} 22 do
begin
if StringGrid1.Cells[3,22]<>'' then
Summ21t:=StrToInt(StringGrid1.Cells[3,19])+StrToInt(StringGrid1.Cells[3,20])+StrToInt(StringGrid1.Cells[3,21])+StrToInt(StringGrid1.Cells[3,22])+StrToInt(StringGrid1.Cells[3,23])+StrToInt(StringGrid1.Cells[3,24])+StrToInt(StringGrid1.Cells[3,25]);
end;
for j:=27 to {stringgrid1.rowCount-1} 32 do
begin
if StringGrid1.Cells[3,32]<>'' then
Summ22t:=StrToInt(StringGrid1.Cells[3,27])+StrToInt(StringGrid1.Cells[3,28])+StrToInt(StringGrid1.Cells[3,29])+StrToInt(StringGrid1.Cells[3,30])+StrToInt(StringGrid1.Cells[3,31])+StrToInt(StringGrid1.Cells[3,32]);
razn23t:=summ21t-summ22t;
end;
for j:=36 to stringgrid1.rowCount-1 do
begin
if StringGrid1.Cells[3,36]<>'' then
Summ31t:=StrToInt(StringGrid1.Cells[3,36]);
end;
for j:=38 to 39 do
begin
if StringGrid1.Cells[3,39]<>'' then
Summ32t:=StrToInt(StringGrid1.Cells[3,38])+StrToInt(StringGrid1.Cells[3,39]);
razn33t:=summ31t-summ32t;
raznt:=razn13t+razn23t+razn33t;
end;
for j:=2 to {stringgrid1.rowCount-1} 8 do
begin
if StringGrid2.Cells[1,8]<>'' then
Summ11km:=StrToInt(StringGrid2.Cells[1,2])+StrToInt(StringGrid2.Cells[1,3])+StrToInt(StringGrid2.Cells[1,4])+StrToInt(StringGrid2.Cells[1,5])+StrToInt(StringGrid2.Cells[1,6])+StrToInt(StringGrid2.Cells[1,7])+StrToInt(StringGrid2.Cells[1,8]);
end;
for j:=2 to {stringgrid1.rowCount-1} 8 do
begin
if StringGrid2.Cells[2,8]<>'' then
Summ11kmo:=StrToInt(StringGrid2.Cells[2,2])+StrToInt(StringGrid2.Cells[2,3])+StrToInt(StringGrid2.Cells[2,4])+StrToInt(StringGrid2.Cells[2,5])+StrToInt(StringGrid2.Cells[2,6])+StrToInt(StringGrid2.Cells[2,7])+StrToInt(StringGrid2.Cells[2,8]);
end;
for j:=11 to {stringgrid1.rowCount-1} 13 do
begin
if StringGrid2.Cells[1,13]<>'' then
Summ12km:=StrToInt(StringGrid2.Cells[1,11])+StrToInt(StringGrid2.Cells[1,12])+StrToInt(StringGrid2.Cells[1,13]);
end;
for j:=11 to {stringgrid1.rowCount-1} 13 do
begin
if StringGrid2.Cells[2,13]<>'' then
Summ12kmo:=StrToInt(StringGrid2.Cells[2,11])+StrToInt(StringGrid2.Cells[2,12])+StrToInt(StringGrid2.Cells[2,13]);
end;
for j:=16 to {stringgrid1.rowCount-1} 19 do
begin
if StringGrid2.Cells[1,19]<>'' then
Summ13km:=StrToInt(StringGrid2.Cells[1,16])+StrToInt(StringGrid2.Cells[1,17])+StrToInt(StringGrid2.Cells[1,18])+StrToInt(StringGrid2.Cells[1,19]);
end;
for j:=16 to {stringgrid1.rowCount-1} 19 do
begin
if StringGrid2.Cells[2,19]<>'' then
Summ13kmo:=StrToInt(StringGrid2.Cells[2,16])+StrToInt(StringGrid2.Cells[2,17])+StrToInt(StringGrid2.Cells[2,18])+StrToInt(StringGrid2.Cells[2,19]);
end;
s:=Edit1.Text;
k:=Edit2.Text;
summDC:=razn13+razn23+razn33;
ostatokDC:=summDC+StrToInt(s);
summDCt:=razn13t+razn23t+razn33t;
ostatokDCt:=summDCt+StrToInt(k);
{ if (strtoint(stringgrid1.cells[2,16])>=0) and (strtoint(stringgrid1.cells[2,33])<0) and
(strtoint(stringgrid1.cells[2,40])<0) then begin
Memo1.Text:='Õîðîøåå
ïðåäïðèÿòèå';
{yslovie 1}
{
end
else if (strtoint(stringgrid1.cells[2,16])>=0) and (strtoint(stringgrid1.cells[2,33])<0) and
(strtoint(stringgrid1.cells[2,40])>=0) then begin
Memo1.Text:='Íîðìàëüíîå
ïðåäïðèÿòèå';
{yslovie 2}
{end
else if (strtoint(stringgrid1.cells[2,16])<0) and (strtoint(stringgrid1.cells[2,33])>=0) and
(strtoint(stringgrid1.cells[2,40])>=0) then begin
Memo1.Text:='Êðèçèñíîå
ïðåäïðèÿòèå';
end ;
}
// ChDPopr:=strtoint(stringgrid1.cells[2,3])+strtoint(stringgrid1.cells[2,4])+strtoint(stringgrid1.cells[2,5]);
Stringgrid1.Cells[2,16]:=IntToStr(razn13);
Stringgrid1.Cells[2,2]:=IntToStr(summ11);
Stringgrid1.Cells[2,6]:=IntToStr(summ12);
Stringgrid1.Cells[2,33]:=IntToStr(razn23);
Stringgrid1.Cells[2,18]:=IntToStr(summ21);
Stringgrid1.Cells[2,26]:=IntToStr(summ22);
Stringgrid1.Cells[2,40]:=IntToStr(razn33);
Stringgrid1.Cells[2,35]:=IntToStr(summ31);
Stringgrid1.Cells[2,37]:=IntToStr(summ32);
StringGrid1.Cells[2,41]:=IntToStr(razn);
Stringgrid1.Cells[3,16]:=IntToStr(razn13);
Stringgrid1.Cells[3,2]:=IntToStr(summ11t);
Stringgrid1.Cells[3,6]:=IntToStr(summ12t);
Stringgrid1.Cells[3,33]:=IntToStr(razn23t);
Stringgrid1.Cells[3,18]:=IntToStr(summ21t);
Stringgrid1.Cells[3,26]:=IntToStr(summ22t);
Stringgrid1.Cells[3,40]:=IntToStr(razn33t);
Stringgrid1.Cells[3,35]:=IntToStr(summ31t);
Stringgrid1.Cells[3,37]:=IntToStr(summ32t);
StringGrid1.Cells[3,41]:=IntToStr(raznt);
Edit3.Text:=IntToStr(ostatokDC);
Edit4.Text:=IntToStr(ostatokDCt);
StringGrid2.Cells[1,9]:=IntToStr(summ11km);
StringGrid2.Cells[2,9]:=IntToStr(summ11kmo);
StringGrid2.Cells[1,14]:=IntToStr(summ12km);
StringGrid2.Cells[2,14]:=IntToStr(summ12kmo);
StringGrid2.Cells[1,20]:=IntToStr(summ13km);
StringGrid2.Cells[2,20]:=IntToStr(summ13kmo);
end;
|
|
Alinka27 (статус: Посетитель), 1 июня 2011, 19:37 [#26]:
Блин, я уже боюсь что-то писать, я же не эксперт, как вы.Я чайник в программировании
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:38 [#27]:
Нихрена не пойму, а зачем тебе локальный массив "а", а?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:44 [#29]:
Цитата (Alinka27):
Блин, я уже боюсь что-то писать, я же не эксперт, как вы.Я чайник в программировании
Ой, мля, это просто ПИПЕЦ!!!!1111 Особенно 2-й кусок! Не, это не пипец, это ЖОПА! Нет, это не просто жопа! Это ЖОПА ИНДИЙСКОГО СЛОНА!!!!!!!1111
Теперь я понимаю, почему код был такой секретный, ога!
Закройте мне веки!!!111
Проблевался. Теперь по делу.
Посмотри внимательно, у тебя переменные имеют тип Integer, и используешь ты функции StrToInt(). Значит, всё-таки, мой телепатор меня не подвёл, и в своём ответе я всё написал правильно.
Пока я добрый, скажи, что должна делать твоя программа. Думаю, что смогу упростить твой "код" (бууэээ) и сократить его раз в дцать.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Gooddy (статус: 3-ий класс), 1 июня 2011, 19:45 [#30]:
facepalm
Ваш код протух!
Рефакторинг не сработает!
Чтение взрывает мозг!
Чисти код! Чисти код! Чисти код!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:45 [#31]:
Цитата (min@y™):
Нихрена не пойму, а зачем тебе локальный массив "а", а?
Цитата (Alinka27):
min@y™: Я же убрала, "//"
Я имел в виду 1-й "кусочек".
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Gooddy (статус: 3-ий класс), 1 июня 2011, 19:45 [#32]:
Сейчас будет ответ не бойтесь.
Чисти код! Чисти код! Чисти код!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:46 [#33]:
Цитата (Gooddy):
Рефакторинг не сработает!
Чтение взрывает мозг!
Естественно, не сработает. Я и не предлагаю реfuckторингом заниматься. Я предлагаю написать прогу с нуля.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 1 июня 2011, 19:48 [#34]:
провести расчет, со значениями, которые в кнопке тест!Расчет проводится по схеме, которая ИНДИЙСКАЯ ЖОПА!
|
|
Gooddy (статус: 3-ий класс), 1 июня 2011, 19:48 [#35]:
procedure TForm1.Button1Click(Sender: TObject);
var // a: array [0..2,1..25] of double;
j: integer;
s,k: string;
summ11,summ12,summ21,summ22,summ31,summ32,razn13,razn23,razn23t,razn33,razn33t,razn,raznt,summ11t,summ12t,summ21t,summ22t,summ31t,summ32t,razn13t,summ11km,summ11kmo,summ12km,summ12kmo,summ13km,summ13kmo,summDC,ostatokDC,summDCt,ostatokDCt,ChDPopr,ChDPipr,ChDPfpr:
double;
begin
summ11:=0;
summ12:=0;
summ21:=0;
summ22:=0;
summ31:=0;
summ32:=0;
summ11t:=0;
summ12t:=0;
summ21t:=0;
summ22t:=0;
summ31t:=0;
summ32t:=0;
summ11km:=0;
summ11kmo:=0;
summ12km:=0;
summ12kmo:=0;
summ13km:=0;
summ13kmo:=0;
for j:=3 to {stringgrid1.rowCount-1} 5 do
begin
if StringGrid1.Cells[2,5]<>'' then
Summ11:=StrToFloat(StringGrid1.Cells[2,3])+StrToFloat(StringGrid1.Cells[2,4])+StrToFloat(StringGrid1.Cells[2,5]){+StrToFloat(StringGrid1.Cells[2,6])};
end;
for j:=7 to 15 do
begin
if StringGrid1.Cells[2,15]<>'' then
Summ12:=StrToFloat(StringGrid1.Cells[2,7])+StrToFloat(StringGrid1.Cells[2,8])+StrToFloat(StringGrid1.Cells[2,9])+StrToFloat(StringGrid1.Cells[2,10])+StrToFloat(StringGrid1.Cells[2,11])+StrToFloat(StringGrid1.Cells[2,12])+StrToFloat(StringGrid1.Cells[2,13])+StrToFloat(StringGrid1.Cells[2,14])+StrToFloat(StringGrid1.Cells[2,15]);
Razn13:=summ11-summ12;
end;
for j:=19 to {stringgrid1.rowCount-1} 22 do
begin
if StringGrid1.Cells[2,22]<>'' then
Summ21:=StrToFloat(StringGrid1.Cells[2,19])+StrToFloat(StringGrid1.Cells[2,20])+StrToFloat(StringGrid1.Cells[2,21])+StrToFloat(StringGrid1.Cells[2,22])+StrToFloat(StringGrid1.Cells[2,23])+StrToFloat(StringGrid1.Cells[2,24])+StrToFloat(StringGrid1.Cells[2,25]);
end;
for j:=27 to {stringgrid1.rowCount-1} 32 do
begin
if StringGrid1.Cells[2,32]<>'' then
Summ22:=StrToFloat(StringGrid1.Cells[2,27])+StrToFloat(StringGrid1.Cells[2,28])+StrToFloat(StringGrid1.Cells[2,29])+StrToFloat(StringGrid1.Cells[2,30])+StrToFloat(StringGrid1.Cells[2,31])+StrToFloat(StringGrid1.Cells[2,32]);
razn23:=summ21-summ22;
end;
for j:=36 to stringgrid1.rowCount-1 do
begin
if StringGrid1.Cells[2,36]<>'' then
Summ31:=StrToFloat(StringGrid1.Cells[2,36]);
end;
for j:=38 to 39 do
begin
if StringGrid1.Cells[2,39]<>'' then
Summ32:=StrToFloat(StringGrid1.Cells[2,38])+StrToFloat(StringGrid1.Cells[2,39]);
razn33:=summ31-summ32;
razn:=razn13+razn23+razn33;
end;
for j:=3 to {stringgrid1.rowCount-1} 5 do
begin
if StringGrid1.Cells[3,5]<>'' then
Summ11t:=StrToFloat(StringGrid1.Cells[3,3])+StrToFloat(StringGrid1.Cells[3,4])+StrToFloat(StringGrid1.Cells[3,5]){+StrToFloat(StringGrid1.Cells[2,6])};
end;
for j:=7 to 15 do
begin
if StringGrid1.Cells[3,15]<>'' then
Summ12t:=StrToFloat(StringGrid1.Cells[3,7])+StrToFloat(StringGrid1.Cells[3,8])+StrToFloat(StringGrid1.Cells[3,9])+StrToFloat(StringGrid1.Cells[3,10])+StrToFloat(StringGrid1.Cells[3,11])+StrToFloat(StringGrid1.Cells[3,12])+StrToFloat(StringGrid1.Cells[3,13])+StrToFloat(StringGrid1.Cells[3,14])+StrToFloat(StringGrid1.Cells[3,15]);
Razn13t:=summ11t-summ12t;
end;
for j:=19 to {stringgrid1.rowCount-1} 22 do
begin
if StringGrid1.Cells[3,22]<>'' then
Summ21t:=StrToFloat(StringGrid1.Cells[3,19])+StrToFloat(StringGrid1.Cells[3,20])+StrToFloat(StringGrid1.Cells[3,21])+StrToFloat(StringGrid1.Cells[3,22])+StrToFloat(StringGrid1.Cells[3,23])+StrToFloat(StringGrid1.Cells[3,24])+StrToFloat(StringGrid1.Cells[3,25]);
end;
for j:=27 to {stringgrid1.rowCount-1} 32 do
begin
if StringGrid1.Cells[3,32]<>'' then
Summ22t:=StrToFloat(StringGrid1.Cells[3,27])+StrToFloat(StringGrid1.Cells[3,28])+StrToFloat(StringGrid1.Cells[3,29])+StrToFloat(StringGrid1.Cells[3,30])+StrToFloat(StringGrid1.Cells[3,31])+StrToFloat(StringGrid1.Cells[3,32]);
razn23t:=summ21t-summ22t;
end;
for j:=36 to stringgrid1.rowCount-1 do
begin
if StringGrid1.Cells[3,36]<>'' then
Summ31t:=StrToFloat(StringGrid1.Cells[3,36]);
end;
for j:=38 to 39 do
begin
if StringGrid1.Cells[3,39]<>'' then
Summ32t:=StrToFloat(StringGrid1.Cells[3,38])+StrToFloat(StringGrid1.Cells[3,39]);
razn33t:=summ31t-summ32t;
raznt:=razn13t+razn23t+razn33t;
end;
for j:=2 to {stringgrid1.rowCount-1} 8 do
begin
if StringGrid2.Cells[1,8]<>'' then
Summ11km:=StrToFloat(StringGrid2.Cells[1,2])+StrToFloat(StringGrid2.Cells[1,3])+StrToFloat(StringGrid2.Cells[1,4])+StrToFloat(StringGrid2.Cells[1,5])+StrToFloat(StringGrid2.Cells[1,6])+StrToFloat(StringGrid2.Cells[1,7])+StrToFloat(StringGrid2.Cells[1,8]);
end;
for j:=2 to {stringgrid1.rowCount-1} 8 do
begin
if StringGrid2.Cells[2,8]<>'' then
Summ11kmo:=StrToFloat(StringGrid2.Cells[2,2])+StrToFloat(StringGrid2.Cells[2,3])+StrToFloat(StringGrid2.Cells[2,4])+StrToFloat(StringGrid2.Cells[2,5])+StrToFloat(StringGrid2.Cells[2,6])+StrToFloat(StringGrid2.Cells[2,7])+StrToFloat(StringGrid2.Cells[2,8]);
end;
for j:=11 to {stringgrid1.rowCount-1} 13 do
begin
if StringGrid2.Cells[1,13]<>'' then
Summ12km:=StrToFloat(StringGrid2.Cells[1,11])+StrToFloat(StringGrid2.Cells[1,12])+StrToFloat(StringGrid2.Cells[1,13]);
end;
for j:=11 to {stringgrid1.rowCount-1} 13 do
begin
if StringGrid2.Cells[2,13]<>'' then
Summ12kmo:=StrToFloat(StringGrid2.Cells[2,11])+StrToFloat(StringGrid2.Cells[2,12])+StrToFloat(StringGrid2.Cells[2,13]);
end;
for j:=16 to {stringgrid1.rowCount-1} 19 do
begin
if StringGrid2.Cells[1,19]<>'' then
Summ13km:=StrToFloat(StringGrid2.Cells[1,16])+StrToFloat(StringGrid2.Cells[1,17])+StrToFloat(StringGrid2.Cells[1,18])+StrToFloat(StringGrid2.Cells[1,19]);
end;
for j:=16 to {stringgrid1.rowCount-1} 19 do
begin
if StringGrid2.Cells[2,19]<>'' then
Summ13kmo:=StrToFloat(StringGrid2.Cells[2,16])+StrToFloat(StringGrid2.Cells[2,17])+StrToFloat(StringGrid2.Cells[2,18])+StrToFloat(StringGrid2.Cells[2,19]);
end;
s:=Edit1.Text;
k:=Edit2.Text;
summDC:=razn13+razn23+razn33;
ostatokDC:=summDC+StrToFloat(s);
summDCt:=razn13t+razn23t+razn33t;
ostatokDCt:=summDCt+StrToFloat(k);
{ if (StrToFloat(stringgrid1.cells[2,16])>=0) and (StrToFloat(stringgrid1.cells[2,33])<0) and
(StrToFloat(stringgrid1.cells[2,40])<0) then begin
Memo1.Text:='Õîðîøåå
ïðåäïðèÿòèå';
{yslovie 1}
{
end
else if (StrToFloat(stringgrid1.cells[2,16])>=0) and (StrToFloat(stringgrid1.cells[2,33])<0) and
(StrToFloat(stringgrid1.cells[2,40])>=0) then begin
Memo1.Text:='Íîðìàëüíîå
ïðåäïðèÿòèå';
{yslovie 2}
{end
else if (StrToFloat(stringgrid1.cells[2,16])<0) and (StrToFloat(stringgrid1.cells[2,33])>=0) and
(StrToFloat(stringgrid1.cells[2,40])>=0) then begin
Memo1.Text:='Êðèçèñíîå
ïðåäïðèÿòèå';
end ;
}
// ChDPopr:=StrToFloat(stringgrid1.cells[2,3])+StrToFloat(stringgrid1.cells[2,4])+StrToFloat(stringgrid1.cells[2,5]);
Stringgrid1.Cells[2,16]:=FloatToStr(razn13);
Stringgrid1.Cells[2,2]:=FloatToStr(summ11);
Stringgrid1.Cells[2,6]:=FloatToStr(summ12);
Stringgrid1.Cells[2,33]:=FloatToStr(razn23);
Stringgrid1.Cells[2,18]:=FloatToStr(summ21);
Stringgrid1.Cells[2,26]:=FloatToStr(summ22);
Stringgrid1.Cells[2,40]:=FloatToStr(razn33);
Stringgrid1.Cells[2,35]:=FloatToStr(summ31);
Stringgrid1.Cells[2,37]:=FloatToStr(summ32);
StringGrid1.Cells[2,41]:=FloatToStr(razn);
Stringgrid1.Cells[3,16]:=FloatToStr(razn13);
Stringgrid1.Cells[3,2]:=FloatToStr(summ11t);
Stringgrid1.Cells[3,6]:=FloatToStr(summ12t);
Stringgrid1.Cells[3,33]:=FloatToStr(razn23t);
Stringgrid1.Cells[3,18]:=FloatToStr(summ21t);
Stringgrid1.Cells[3,26]:=FloatToStr(summ22t);
Stringgrid1.Cells[3,40]:=FloatToStr(razn33t);
Stringgrid1.Cells[3,35]:=FloatToStr(summ31t);
Stringgrid1.Cells[3,37]:=FloatToStr(summ32t);
StringGrid1.Cells[3,41]:=FloatToStr(raznt);
Edit3.Text:=FloatToStr(ostatokDC);
Edit4.Text:=FloatToStr(ostatokDCt);
StringGrid2.Cells[1,9]:=FloatToStr(summ11km);
StringGrid2.Cells[2,9]:=FloatToStr(summ11kmo);
StringGrid2.Cells[1,14]:=FloatToStr(summ12km);
StringGrid2.Cells[2,14]:=FloatToStr(summ12kmo);
StringGrid2.Cells[1,20]:=FloatToStr(summ13km);
StringGrid2.Cells[2,20]:=FloatToStr(summ13kmo);
end;
Требую награды "Индусокитаец"
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 1 июня 2011, 19:52 [#36]:
Это такая помесь индусского и китайского, что аж страшно становится.
Не обижайтесь что мы так жестоко, но код действительно КОШМАРЕН. С другой стороны я сам писал похожий код, так что это со временем пройдёт.
ПРОСТО НЕ НАДО БЫЛО ТАК МНОГО ПИСАТЬ ПЕРЕД ТЕМ КАК НАС ПУГАТЬ!!!
А вообще, код даже реФАКторингом за 10 минут уменьшится в 3-4 раза.
Самое удивительное, что ошибка была совершенно в другом месте кода. Зачем вы нам выдавали непойми-что?
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 1 июня 2011, 19:54 [#37]:
Код работает???!!!
Чисти код! Чисти код! Чисти код!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:54 [#38]:
Цитата (Alinka27):
провести расчет, со значениями, которые в кнопке тест!Расчет проводится по схеме, которая ИНДИЙСКАЯ ЖОПА!
1. Как звучит задание на прогу?
2. Или это тоже секретно?
3. Почему у тебя StringGrid участвует в расчёте?
4. Откуда взялись такие цифры (исходные данные)?
... тут ещё 100495 вопросов ...
100500. Короче, колись давай! Мне уже интересно стало.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 1 июня 2011, 19:56 [#39]:
Цитата (Gooddy):
Код работает???!!!
Ну нахрена Double, когда все числа целые?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Gooddy (статус: 3-ий класс), 1 июня 2011, 19:56 [#40]:
min@y™:
Мне кажется, это рабочая программа (что пугает).
Чисти код! Чисти код! Чисти код!
|
Страницы: [« Предыдущая] [1] [2] [3] [4] [5] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|