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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2012, 22:52   #11
armrock
Пользователь
 
Регистрация: 04.08.2012
Сообщений: 27
По умолчанию 111

пишет что они должны бить boolean, а они ведь мне нужны в real что бы считать!!!!
armrock вне форума Ответить с цитированием
Старый 05.08.2012, 22:57   #12
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Вообще если честно не понял, в чем проблема?
upd Совсем забыл что у тебя уже есть переменная b вещ. типа
Задай любое имя булевской переменной.
P.S. Код подправил.

Последний раз редактировалось Базиля; 05.08.2012 в 23:00.
Базиля вне форума Ответить с цитированием
Старый 05.08.2012, 23:02   #13
armrock
Пользователь
 
Регистрация: 04.08.2012
Сообщений: 27
По умолчанию 111

а нет =) это я туплю....не спал уже почти 3 суток=) учу delphi=)

Кароче всё сделал, запустил, нажимаю - никакой реакции - никаких вычислений! Данные внесены!
armrock вне форума Ответить с цитированием
Старый 05.08.2012, 23:06   #14
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Подправил код как я сказал?
См. пред страницу.
Базиля вне форума Ответить с цитированием
Старый 05.08.2012, 23:08   #15
armrock
Пользователь
 
Регистрация: 04.08.2012
Сообщений: 27
По умолчанию 111

Да сделал точно так:

Но в этой строке показывает ошибку

Код:
if (StringGrid1.Cells [4,i]='') or (StringGrid1.Cells [5,i]='')  or  (StringGrid1.Cells [6,i])='') then
НЕсовместимые типы String и Boolean

Последний раз редактировалось armrock; 05.08.2012 в 23:20.
armrock вне форума Ответить с цитированием
Старый 05.08.2012, 23:13   #16
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Как ты объявил переменную proverka? Строковым типом чтоли?
Базиля вне форума Ответить с цитированием
Старый 05.08.2012, 23:14   #17
armrock
Пользователь
 
Регистрация: 04.08.2012
Сообщений: 27
По умолчанию 1111

сделал так

Код:
 proverka:=false;
    if (StringGrid1.Cells [4,i]='') or (StringGrid1.Cells [5,i]='')  then
    proverka:=true;
    if proverka then
    StringGrid1.Cells [stringgrid1.Col+7,i]:='Äëÿ âû÷èñëåíèÿ, çàïîëíèòå âñå ÿ÷åéêè!'
    else
Запускаеться только никакой реакции на кнопку!!!!





А как запретить в StringGrid перемещать курсор?

Последний раз редактировалось armrock; 05.08.2012 в 23:20.
armrock вне форума Ответить с цитированием
Старый 05.08.2012, 23:21   #18
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Покажи весь код процедуры, а то я вообще не понимаю что происходит, кажется ты что-то там нахимичил

Цитата:
А как запретить в StringGrid перемещать курсор?
Что ты понимаешь под "перемещать курсор"?
Базиля вне форума Ответить с цитированием
Старый 05.08.2012, 23:26   #19
armrock
Пользователь
 
Регистрация: 04.08.2012
Сообщений: 27
По умолчанию 111

ВОТЬ

Код:
procedure TForm4.BitBtn10Click(Sender: TObject);
var
proverka: boolean;
i,j: integer;
a,b,c,f,n: real;
begin

proverka:=false;
    if (StringGrid1.Cells [4,i]='') or (StringGrid1.Cells [5,i]='')  then
    proverka:=true;
    if proverka then
    StringGrid1.Cells [stringgrid1.Col+7,i]:='Äëÿ âû÷èñëåíèÿ, çàïîëíèòå âñå '
    else
for i:=1 to stringgrid1.rowcount-1 do
begin
a:=StrToFloat (StringGrid1.Cells [4,i]);
b:=StrToFloat (StringGrid1.Cells [5,i]);
f:=StrToFloat (StringGrid1.Cells [6,i]);
if a<=144 then begin
c:=a*b-a*b/100*f;
end
else
c:=(144*b+(a-144)*(b*2))-((144*b+(a-144)*(b*2))/100*f);
StringGrid1.Cells [stringgrid1.Col+7,i]:=FloatToStr (c);
end;
end;

НУ в stringgrid есть курсор, который ставиться мышкой или управляеться стрелками. Как его полностью убрать или запретить управление, потому что у меня вычисляет данные почему то только тогда когда курсор находиться на ячейках нулевого столбца. Или как поправить это?
armrock вне форума Ответить с цитированием
Старый 05.08.2012, 23:30   #20
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Ну вот, так и знал что нахимичил

Код:
procedure TForm4.BitBtn10Click(Sender: TObject);
var
proverka: boolean;
i,j: integer;
a,b,c,f,n: real;
begin
for i:=1 to stringgrid1.rowcount-1 do
begin
proverka:=false;
    if (StringGrid1.Cells [4,i]='') or (StringGrid1.Cells [5,i]='')  or  (StringGrid1.Cells [6,i])='') then
    proverka:=true;
    if proverka then
    StringGrid1.Cells [stringgrid1.Col+7,i]:='Для вычисления, заполните все ячейки!'
    else
begin
a:=StrToFloat (StringGrid1.Cells [4,i]);
b:=StrToFloat (StringGrid1.Cells [5,i]);
f:=StrToFloat (StringGrid1.Cells [6,i]);
if a<=144 then
c:=a*b-a*b/100*f;
else
c:=(144*b+(a-144)*(b*2))-((144*b+(a-144)*(b*2))/100*f);
StringGrid1.Cells [stringgrid1.Col+7,i]:=FloatToStr (c);
end;
end;
end;
Исправляй
Будет работать.

Цитата:
НУ в stringgrid есть курсор, который ставиться мышкой или управляеться стрелками. Как его полностью убрать или запретить управление, потому что у меня вычисляет данные почему то только тогда когда курсор находиться на ячейках нулевого столбца. Или как поправить это?
У тебя от этого ничего не зависит. Не важно вообще где у тебя расположен курсор.
Базиля вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Stringgrid, таблица Word и цикл Максон11 Помощь студентам 2 26.04.2011 18:07
Цикл StringGrid Aleksandr69 Общие вопросы Delphi 5 11.12.2010 18:55
Странный цикл у меня в StringGrid artemavd Общие вопросы Delphi 14 25.07.2010 17:58
Цикл подстановки в Edit из StringGrid artemavd Общие вопросы Delphi 11 06.07.2010 10:21
StringGrid, вычисление суммы Gorin Компоненты Delphi 5 23.08.2007 19:44