Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передать имя формы 
:(
    Опции темы
z006
Дата 24.12.2010, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.6.2009

Репутация: нет
Всего: нет



Добрый день.оговариваюсь сразу,я вопрос решил совсем другим способом,через одну форму.но мне все-же интересно,на будущее надо знать.итак,суть вопроса:
есть 2 формы,абсолютно идентичные,но одна для создания материала,другая для его редактирования.
нужна общая процедура апдейта данных в базе.данные соответственно должны браться к примеру так
Код

Form1.Edit1.Text;

но т.к. у нас есть Edit1 и на второй форме,то надо знать от какой формы произошел вызов,и соответственно делать подстановку.
теперь варианты как я пробовал:
1)
на кнопке пишем
Код

call_update('Form1');

в процедуре call_update пишем
Код

cont:=TForm(FindComponent(var_call)).name;
showmessage(cont);


запускаем и любуемся пизанской башней.

вариант 2)
на кнопке пишем
Код

call_update(Form4);

в процедуре call_update пишем
Код

x:=Format('%s',[var_call.Name]);
ShowMessage(var_call.Name);

где var_call:TComponent
в таком случае его имя выводит,но дальше с ним работать у меня не получается,падает,зараза.
где тут бобик издох,а?
PM MAIL   Вверх
Saboten
Дата 24.12.2010, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 6.11.2010
Где: РБ

Репутация: нет
Всего: нет



Хм, немного непонятно зачем две одинаковые формы для создания и редактирования.
Если правильно понял, Вам нужно почитать в хелпе про операторы AS и IS.

Вот пример:
Код

procedure TSOmeForm.SomeUpdate(val: TObject);
var
  formname: string;
begin
  //оператор is проверяет, является ли данный объект наследованным от класса TMySomeForm
  if (val is TMySomeForm) then //  TMySomeForm - класс формочки для редактирования/создания записи
  begin
    formname := (val as TMySomeForm).Name;
    if formname = 'Form1' then
    begin
      // что-то делаем с первой формой
    end else 
    begin
       .....
    end;
    (val as TMySomeForm).caption := 'Поменяли форме заголовок'; //в любом случае поменяем форме заголовок для теста
  end else
  if (val is TEdit) then  //если в метод передали едитор
  begin
  end;
end;


Вызвать данный метод как-то так:
Код

  //у обеих форм поменяется заголовок
  SomeUpdate(Form4); 
  SomeUpdate(Form5);  


оно?

Это сообщение отредактировал(а) Saboten - 24.12.2010, 21:57
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.