![]() |
|
|
Регистрация | << Правила форума >> | 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 для формы надо использовать конструктор. |