Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не работает


Chapchaps ©   (2006-03-30 08:31:00) 

Есть у меня такая функция:
function mmm(Const StringGrid1:TStringGrid):Real;
Var I,X:Integer;
mmm:String;
begin
mmm:='';
With StringGrid1 do begin
X:=ColCount;
For I:=0 to X-1 do
If StrToInt(Cells[I,1]>0)then
   mmm:=IntToStr(Cells[I,1]);
end;
end;
А он ругается, что несовместимы типы String и Integer. Помогите!


Старик   (2006-03-30 10:20:00) [1]

ChapsChaps.... Это что ты такое написал???


vovnuke   (2006-03-30 10:19:00) [2]

Вот здесь:

> mmm:=IntToStr(Cells[I,1]);

ты присваиваешь значение локальной переменно "mmm: string", а чтобы функция возвращала значения см. [8]


Chapchaps   (2006-03-30 10:15:00) [3]

mmm:=IntToStr(Cells[I,1]);


Старик   (2006-03-30 10:14:00) [4]

Edit3.Text:=FloatToStr(mmm(StringGrid1.);
А что за точка после StringGrid'a ?
А что касается результата твоей функции, то для того, чтобы твоя функция выдала хоть что-нибудь, то тебе нужно в конце функции писать
Result := blablabla;
Только тогда твоя функция вернет значение типа Real, которое ты передаешь во FloatToStr


vovnuke   (2006-03-30 10:11:00) [5]

хорошо, покажи где ты присваиваешь выходное значение всоей функции.


Chapchaps   (2006-03-30 10:06:00) [6]

Ну да - числа.


vovnuke   (2006-03-30 10:02:00) [7]

А значение твоей функции как-нибудь зависит от того что ты туда передаешь?


Chapchaps   (2006-03-30 09:55:00) [8]

Вывожу результат на кнопочку:
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit3.Text:=FloatToStr(mmm(StringGrid1.);
end;
Жутко ему это не нравится, даже считать не хочет - говорит отсутствуют начальные данные, а они очень даже присутствуют!


Старик   (2006-03-30 09:41:00) [9]

Поправьте меня, если я ошибаюсь, но разве не правильнее было бы передавать в функцию указатель на класс вместо целиком класса?

ChapsChaps, полистай Sysutils - там много подобных полезных функций strtofloat, strtoint, strtocolor и т.д.


Chapchaps   (2006-03-30 09:38:00) [10]

Спасибо!


tesseract   (2006-03-30 09:09:00) [11]


> StrToInt(Cells[I,1]>0)

StrToInt(Cells[I,1] )>0


Наверх

Титульная страница Поиск, карта сайта Написать письмо