Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Help!!Пустиковый вопрос, по stringgrid.   Найти похожие ветки 

 
^G^   (2004-06-14 23:29) [0]

Здравтсуйте!!!
Ну могу понять вчем ошибка.Вроде все правильно.
Вот код.
var
 Form1: TForm1;
  sx,sy,mx,my:extended;
 K : array [1..21] of extended;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
i,j:integer;

begin
 Grid1.Cells[0,0] := "¹ ï/ï";
 Grid1.Cells[0,1] := "1";
 Grid1.Cells[0,2] := "2";
 Grid1.Cells[0,3] := "3";
 Grid1.Cells[0,4] := "4";
 Grid1.Cells[0,5] := "5";
 Grid1.Cells[0,6] := "6";
 Grid1.Cells[0,7] := "7";
 Grid1.Cells[0,8] := "8";
 Grid1.Cells[0,9] := "9";
 Grid1.Cells[0,10] := "10";
 Grid1.Cells[0,11] := "11";
 Grid1.Cells[0,12] := "12";
 .......
 Grid1.Cells[1,0] := "  Xj";
 Grid1.Cells[1,1] := "15";
 Grid1.Cells[1,2] := "19,5";
 Grid1.Cells[1,3] := "15";
 Grid1.Cells[1,4] := "18";
 Grid1.Cells[1,5] := "19,5";
 Grid1.Cells[1,6] := "23,5";
 Grid1.Cells[1,7] := "36";
 Grid1.Cells[1,8] := "19";
 Grid1.Cells[1,9] := "21,5";
 Grid1.Cells[1,10] := "22";
 Grid1.Cells[1,11] := "32";
 Grid1.Cells[1,12] := "26";
.........................
 Grid1.Cells[2,0] := "  Yj";
 Grid1.Cells[2,1] := "15";
 Grid1.Cells[2,2] := "20";
 Grid1.Cells[2,3] := "16";
 Grid1.Cells[2,4] := "17,4";
 Grid1.Cells[2,5] := "21,7";
 Grid1.Cells[2,6] := "23";
 Grid1.Cells[2,7] := "29,5";
 Grid1.Cells[2,8] := "17,8";
 Grid1.Cells[2,9] := "22,4";
 Grid1.Cells[2,10] := "23,8";
 Grid1.Cells[2,11] := "25";
 Grid1.Cells[2,12] := "22,7";

 sx:=0;
 for j:=1 to 21 do
sx:=( sx + (strtofloat(grid1.Cells[1,j])));
После выполнения этих строк,т.е. когда досчитывает до j=21 выкидывает.
Ошибка: ....."" is not valid floating point value.
grid1.cells[3,1]:= floattostr(sx);

Может быть кто-нибудь желает помочь ,я могу прислать на мэил прогу чтоб посмотреть.
Спасибо!


 
Fay ©   (2004-06-14 23:40) [1]

DecimalSeparator?


 
Anatoly Podgoretsky ©   (2004-06-14 23:44) [2]

Чему равны значения ColCount и RowCount, а также что находится реальнов в Cells[1,21]


 
DrPass ©   (2004-06-15 00:00) [3]

Может, все-таки for j:=1 to 12?


 
^G^   (2004-06-15 15:47) [4]

Да нет там же не 12 знач,а 20.
Все спасибо,я нашла ошибку.
Но появился новый вопрос. Вот цикл, почему-то выводит ошибку на THEN/.Ошибка при компиляции ,такая :[Error] Unit1.pas(156): Incompatible types.
Вот код:
 if  14<strtofloat(grid1.cells[2,j])<17.9
   then
     begin
     stuptol[j] :=  grid1.cells[2,j];
     g := 16;
     grid1.Cells[3,j]:= floattostr(stuptol[j]);
     end;
end;


 
Anatoly Podgoretsky ©   (2004-06-15 15:51) [5]

У тебя же два условия в выражении
if  14<strtofloat(grid1.cells[2,j])<17.9


 
GuAV ©   (2004-06-15 15:54) [6]

14<strtofloat(grid1.cells[2,j]) - это логическое значение.
17.9 - это константа вещественного типа.
Операция сравнения неприложима.


 
^G^   (2004-06-15 16:04) [7]

Ну  и как быть. Но ведь и 14 это число и 17.9 это число они оба extended. Что делать-то если мне надо проверить находиться ли каждое число из грида-столбика в этих пределах.???:(:


 
Плохиш ©   (2004-06-15 16:13) [8]

>^G^   (15.06.04 15:47) [4]

>  if  14<strtofloat(grid1.cells[2,j])<17.9

Я плякал :"-(

> ^G^   (15.06.04 16:04) [7]
> Ну  и как быть

if (14<strtofloat(grid1.cells[2,j])) and (strtofloat(grid1.cells[2,j])<17.9) then


 
Плохиш ©   (2004-06-15 16:15) [9]

О, эта... забыл про книжки добавить ;-)


 
evvcom ©   (2004-06-15 16:16) [10]

if (14<strtofloat(grid1.cells[2,j])) and (strtofloat(grid1.cells[2,j])<17.9) then


 
^G^   (2004-06-15 20:43) [11]

Спасибо большое,получилось.
Но возникла новая ошибка[Error] Unit1.pas(129): Type of expression must be BOOLEAN

На таком коде:
begin
for j:=1 to 20 do begin
if (grid1.Cells[0,j]:="") then
showmessage("&Ccedil;&agrave;&iuml;&icirc;&iacute;&egrave;&ograve;&aring; &acirc;&ntilde;&aring; &iuml;&icirc;&euml;&yuml;!!!"); end;

Помогите плизз


 
^G^   (2004-06-15 22:15) [12]

Ну все предыдущий вопрос исчерпан,появился новый.
Мне нужно проверить все ли ячейки заполнены.Если все то выполняется процедура дальше если нет,то выходит из процедуры,пользователь заполняет ячейки ,проверяется условие на не заполненность не выполняется и выполняется прога дальше.
Но возникает ошибка.После выхода из процедуры при не заполненной ячейке, я заполняю ее вызываю процедуру,а она не выполняется т.е. не расчитывается ноль эмоций.
Код такой:
for jj:=1 to 20 do
for ii:=1 to 20 do
begin
if (grid1.Cells[ii,jj]="") then
exit;  //выход из процедуры
end   ;

sx:=0;
 for j:=1 to 20 do
sx:=( sx + (strtofloat(grid1.Cells[1,j])));
 sy:=0;
.....................


 
jack128 ©   (2004-06-15 22:29) [13]


> вызываю процедуру,а она не выполняется т.е. не расчитывается
> ноль эмоций.

я так понимаю отладчиком пользоваться не умеем?



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.044 c
9-1079372016
Юрий Ж.
2004-03-15 20:33
2004.07.04
Научите...


3-1086690447
kalliopiy
2004-06-08 14:27
2004.07.04
Прокручивание Grid а


14-1087361065
Dimmman
2004-06-16 08:44
2004.07.04
Я в шоке...:)


14-1087197217
AlexG
2004-06-14 11:13
2004.07.04
Word не хочет применять стиль к тексту, скопированному из IE


1-1087074705
Алекс А
2004-06-13 01:11
2004.07.04
Cледующий код дописывает к файлу перевод строки. Как от этого изб