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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связать 2 формы, Создать базу Логинов и Паролей 
V
    Опции темы
harakteristika
Дата 12.10.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ученик
*


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

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



Как мне связать 2 формы так чтоб после нажатия кнопки Добавить открывалось окно Добавить. Я вводил Необходимые данные и нажимал кнопку Сохранить. После чего в пунктах 1, 2, 3, 4 и 5 были соответствующие данные.

Пункты смотрите на рисунке.

http://pic.ipicture.ru/uploads/091012/0qS48UH2zG.jpg

PM   Вверх
Frees
Дата 12.10.2009, 14:44 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



сохранить куданибуть то что ты добавил


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Keeper89
Дата 12.10.2009, 15:10 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Как вариант, при добавлении и нажатии на ОК писать следующее:
Код

MainForm.lblSite.Caption := Edit1.Text;

добавив главную форму в uses к вспомогательной.


--------------------
PM MAIL WWW   Вверх
Alexeis
Дата 12.10.2009, 15:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Так чтобы красиво нужно сделать маленькую базу. По нажанию кнопки сохранить, добавлять в базу, а в листбоксе выводить результат запроса SELECT. С базой все можно решить мышкоделием smile .
  Но можно и обойтись списком объектов. При каждом нажатии Сохранить добавлять объект в список. У объекта будут поля все такие как нужно ввести на форме. После добавления объекта в список, содержимое листбокса обновить. По клику на листбоксе узнавать индекс элемента и брать все нужные данные из списка объектов используя этот индекс. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
harakteristika
Дата 12.10.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ученик
*


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

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



Цитата(Alexeis @ 12.10.2009,  15:16)
Так чтобы красиво нужно сделать маленькую базу. По нажанию кнопки сохранить, добавлять в базу, а в листбоксе выводить результат запроса SELECT. С базой все можно решить мышкоделием smile .
  Но можно и обойтись списком объектов. При каждом нажатии Сохранить добавлять объект в список. У объекта будут поля все такие как нужно ввести на форме. После добавления объекта в список, содержимое листбокса обновить. По клику на листбоксе узнавать индекс элемента и брать все нужные данные из списка объектов используя этот индекс.

А можно это все показать на примере?
PM   Вверх
Alexeis
Дата 12.10.2009, 16:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  FieldRec = Record   //для сохранения полей
    Field1, Field2 : String;
  End;

  TForm1 = class(TForm)
    ListBox1: TListBox;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }

    List : array of FieldRec;
    procedure UpdateList();
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses unit2;

procedure TForm1.Button2Click(Sender: TObject);
begin
  SetLength(Form1.List, Length(Form1.List) + 1); //добавили новый элемент
  if Form2.ShowModal = mrOk
  then
    Begin
      UpdateList();
      ListBox1.Selected[0] := true;
      ListBox1Click(Self);
    End
  else
    SetLength(Form1.List, Length(Form1.List) - 1); //если отмена удаляем лишний
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetLength(List, 0);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
  i : Integer;
begin
  for I := 0 to ListBox1.Items.Count - 1
  do
    if ListBox1.Selected[i]
    then
      Begin
        Label3.Caption := List[i].Field1;
        Label4.Caption := List[i].Field2;
        break;
      End;
end;

procedure TForm1.UpdateList;
var
  i : integer;
begin
  ListBox1.Clear;
  for I := 0 to Length(List) - 1
  do
    ListBox1.Items.Add(List[i].Field1);
end;

end.


Код

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm2 = class(TForm)
    Panel1: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

uses unit1;

procedure TForm2.Button1Click(Sender: TObject);
var
  FR : FieldRec;
begin
  FR.Field1 := Edit1.Text;
  FR.Field2 := Edit2.Text;
  Form1.List[Length(Form1.List) - 1] := FR;
  ModalResult := mrOk;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  ModalResult := mrCancel;
end;

end.


экзешник в атаче

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  Project1.zip 220,98 Kb


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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