![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Помогите плиз!
Есть такая процедура: Код:
procedure TForm4.BitBtn1Click(Sender: TObject);
Var i:Integer;
k:Byte;
begin
If (MaskEdit2.Text<>' , ') and (MaskEdit3.Text<>' , ') and
(MaskEdit1.Text<>' ') and (MaskEdit4.Text<>' , ') and
(MaskEdit5.Text<>' , ') and (MaskEdit6.Text<>' , ') Then
If (StrToFloat(MaskEdit2.Text)<=6.0) and
(StrToFloat(MaskEdit3.Text)<=6.0) and
(StrToFloat(MaskEdit4.Text)<=6.0) and
(StrToFloat(MaskEdit5.Text)<=6.0) and
(StrToFloat(MaskEdit6.Text)<=6.0) Then
Begin
k:=0;
For i:=1 To Form3.StringGrid1.RowCount-1 Do
If MaskEdit1.Text=Form3.StringGrid1.Cells[1,i] Then
Begin
k:=1;
Break;
End;
If k=0 Then
Begin
Form3.StringGrid1.RowCount:=Form3.StringGrid1.RowCount+1;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,1]:=MaskEdit1.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,2]:=Edit1.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,3]:=Edit2.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,4]:=Edit3.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,5]:=MaskEdit2.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,6]:=MaskEdit3.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,7]:=MaskEdit4.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,8]:=MaskEdit5.Text;
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,9]:=MaskEdit6.Text;
Close;
End
Else Label10.Visible:=True;
End
Else Label10.Visible:=True
Else Label10.Visible:=True;
end;По выполнению данной процедуры строка в Stringrid остается пустой, а должна заполняться... |
|
#2
|
||||
|
||||
|
А на какой форме (имя формы) находятся Edit'ы? Попробуй в uses добавь имя модуля к которому ты обращаешься + добавь перед именем Edit'a название формы, где он находится. Например так: Form1.Edit1 и т.д.
Последний раз редактировалось moo2k, 26.06.2008 в 20:52. |
|
#3
|
|||
|
|||
|
в uses указан используемый юнит, в едитах пробовал ставить название формы,но все равно не помогает...
|
|
#4
|
|||
|
|||
|
Код:
//здесь неправильно: Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,1]:=MaskEdit1.Text; И еще надо бы проверить, а заходим ли мы вообще по этому громоздкому условию чтоб сделать присвоения ячейкам. |
|
#5
|
|||
|
|||
|
Спасибо огромное за помощь! Все уже перепробовал, а это не замечал...)))
|
|
#6
|
|||
|
|||
|
Хорошо что получилось. А вообще все плохо, потому что при данной конструкции необходимо блокировать исходную форму, а полтом разблокировать и т. д.
Иначе, если при нажатии кнопки "родительская" форма будет закрыта, то это вызовет ошибку. Лучше значения Едитов передавать параметрами, но для этого вместо стандартного Create для формы надо использовать конструктор. |