Показать сообщение отдельно
  #9  
Старый 13.01.2016, 08:20
Alick Alick вне форума
Прохожий
 
Регистрация: 12.01.2016
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
Восклицание

Должен быть проект 1(сервер) и проект 2(клиент). С помощью ServerSocket и ClientSocket соединяться. Что это я уже сделал по видео. Осталось только добавлять строки с клиентской части

Цитата:
Сообщение от lmikle
Ну и в чем проблема?
Сделать вторую форму? Или прицепить вторую форму к текущей строке?

Form1 (главная, кнопка Добавить)
Код:
procedure TForm1.btAddRecordClick(Sender : TObject);
begin
  ADOQuery1.Add;
  With TForm2.Create(Application) Do
    Begin
      If Execute(DataSource1) 
        Then ADOQuery1.Post
        Else ADOQuery1.Cancel;
      Free;
    End;
end;

Form2. Кладем на форму DB-aware компоненты (TDBEdit и подобные), настраиваем в них имена полей. Также кладем 2 кнопки, у одной устанавливаем ModalResult в mrOK, у второй - в mrCancel. Добавляем такую функцию:
Код:
type
  TForm2 = class(TForm)
  ...
  public
    function Execute(ADataSource : TDataSource) : Boolean;
  end;

...

function TForm2.Execute(ADataSource : TDataSource) : Boolean;
begin
   // Подключаем контролы к источнику данных
   DBEdit1.DataSource := ADataSource;
   DBEdit2.DataSource := ADataSource;
   DBMemo1.DataSource := ADataSource;
   // И т.д. Можно написать автоматически обход компонентов,
   // но это пока для тебя "высший пилотаж"

   Result := ShowMOdal = mrOK;
end;

PS. Form2 в таком варианте надо "выкинуть" из списка автоматически создаваемых форм, т.к. она создается динамически. Выкидывать через Project | Options -> Forms или просто ее создание удалить в файле проекта (*.dpr)
Ответить с цитированием