Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.06.2008, 20:32
Nicoman Nicoman вне форума
Прохожий
 
Регистрация: 13.05.2008
Сообщения: 13
Репутация: 10
По умолчанию Данные не передаются из одного юнита в другой!

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

Есть такая процедура:

Код:
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  
Старый 26.06.2008, 20:42
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

А на какой форме (имя формы) находятся Edit'ы? Попробуй в uses добавь имя модуля к которому ты обращаешься + добавь перед именем Edit'a название формы, где он находится. Например так: Form1.Edit1 и т.д.
__________________
Программирование - это искусство и наш смысл жизни.

Последний раз редактировалось moo2k, 26.06.2008 в 20:52.
Ответить с цитированием
  #3  
Старый 26.06.2008, 21:11
Nicoman Nicoman вне форума
Прохожий
 
Регистрация: 13.05.2008
Сообщения: 13
Репутация: 10
По умолчанию

в uses указан используемый юнит, в едитах пробовал ставить название формы,но все равно не помогает...
Ответить с цитированием
  #4  
Старый 27.06.2008, 08:59
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Код:
//здесь неправильно:
Form3.StringGrid1.Cells[Form3.StringGrid1.RowCount-1,1]:=MaskEdit1.Text;
Индексы в Cells[ACol, ARow], т.е. сначал индекс колонки, затем строки, а НЕ Cells[ARow, ACol].
И еще надо бы проверить, а заходим ли мы вообще по этому громоздкому условию чтоб сделать присвоения ячейкам.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #5  
Старый 01.07.2008, 20:11
Nicoman Nicoman вне форума
Прохожий
 
Регистрация: 13.05.2008
Сообщения: 13
Репутация: 10
По умолчанию

Спасибо огромное за помощь! Все уже перепробовал, а это не замечал...)))
Ответить с цитированием
  #6  
Старый 08.07.2008, 16:59
YERokez YERokez вне форума
Прохожий
 
Регистрация: 27.10.2007
Сообщения: 22
Репутация: 10
По умолчанию

Хорошо что получилось. А вообще все плохо, потому что при данной конструкции необходимо блокировать исходную форму, а полтом разблокировать и т. д.
Иначе, если при нажатии кнопки "родительская" форма будет закрыта, то это вызовет ошибку.
Лучше значения Едитов передавать параметрами, но для этого вместо стандартного Create для формы надо использовать конструктор.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025