Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2016, 22:13   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
Вопрос Получить данные из Frame

Доброго времени суток!
Есть пример работы с фреймами.
Код:
unit Unit1;

...

var
  Form1: TForm1;
  LastFrame: TFrame;

implementation

uses unit2, unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(Frame1.Edit1.Text); // Не прокатывает
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Создаём список фреймов
  with ListBox1 do
  begin
    AddItem('Фрейм 1', TFrame1.Create(ListBox1));
    AddItem('Фрейм 2', TFrame2.Create(ListBox1));
    Align := alRight;
  end;

  LastFrame := nil;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  // Активируем из списка нужный фрейм
  if LastFrame <> nil then LastFrame.Visible := False;

  with TListBox(Sender) do
  begin
    LastFrame := TFrame(Items.Objects[ItemIndex]);
    LastFrame.Align := alClient;
    LastFrame.Parent := Self;
    LastFrame.Visible := True;
  end;
end;

end.
////////////////////////////////////
unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TFrame1 = class(TFrame)
    Edit1: TEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

end.
Хотел получить данные из контрола фрейма и никак. Так понимаю это делается не так как с формами.
Помогите, пожалуйста!
Shouldercannon вне форума Ответить с цитированием
Старый 16.01.2016, 22:20   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
  if (ListBox1.ItemIndex>=0) and (ListBox1.Items.Objects[ListBox1.ItemIndex]) is TFrame) then
    s:=TFrame(ListBox1.Items.Objects[ListBox1.ItemIndex]).Edit1.Text;
Примерно так же и с другим контейнером, например, панелью, если засунешь указатель на неё в какой-то массив
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 16.01.2016 в 22:23.
Аватар вне форума Ответить с цитированием
Старый 16.01.2016, 22:33   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Жёстко. А напрямую никак нельзя обратиться (Frame1.что-то)?
Shouldercannon вне форума Ответить с цитированием
Старый 16.01.2016, 22:41   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Можно, но ты же не запомнил нигде этот самый указатель, кроме как в массив. Ну и типы там TFrame1 и TFrame2, а не просто TFrame как написал
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Alex11223; 24.11.2017 в 23:58.
Аватар вне форума Ответить с цитированием
Старый 24.11.2017, 23:15   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Решено
Вложения
Тип файла: zip Frame.zip (978.8 Кб, 10 просмотров)
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить данные из AD из вне. FxVale Win Api 1 17.03.2015 17:43
получить данные с бд megostudent БД в Delphi 5 14.05.2013 11:30
Как получить данные из бд? Dkey PHP 3 28.08.2012 23:08
Получить данные с сервера LT. Общие вопросы .NET 2 15.06.2010 19:38
Получить неупакованные данные Voody Работа с сетью в Delphi 4 08.09.2009 20:33