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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непрвильная работа GetData в Free Vision 
:(
    Опции темы
RpC
Дата 20.3.2011, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет, пытаюсь выбрать данные из созданного диалога в Free Pascal. Почему - то  корректно возвращается только первое и последнее значение записи из 4- х, остальные пустые.

Определение структуры: 

Код

 TDialogData = record
       State: word;
       Date:  string[9];
       Group: string[21];
       Mark:  string[21];

    end;     



Функция вызова диалога 
Код

procedure TMainWindow.lAddRecord;
var
  Dialog: PDialog;
  R: TRect;
  Control: Word;
  Combo, Date, Mark, Group: PView;
  Data : TDialogData;
begin
  Data.Date := '';
  Data.Mark := '';
  Data.Group:='';
  Data.State := 0;

  R.Assign(0, 0, 40, 15);
  Dialog := New(PDialog, Init(R, 'Add Record'));
  with Dialog^ do
  begin
    //buttons
    R.Assign(17, 13, 27, 14);
    Insert(New(PButton, Init(R, '~O~K', cmOK, bfDefault)));
    R.Assign(29, 13, 39, 14);
    Insert(New(PButton, Init(R, 'Cancel', cmCancel, bfNormal)));
    R.Assign(1, 3, 18, 5);
    //combo
    Combo := New(PRadioButtons, Init(R,
                 NewSItem('~R~eady',
                 NewSItem('NOT Ready',
                 nil))
               ));
    Insert(Combo);
    //combo label
    R.Assign(1, 2, 33, 3);
    Insert(New(PLabel, Init(R, 'State', Combo)));

    // input data
    R.Assign(27, 3, 38, 4);
    Date := New(PInputLine, Init(R, 8));
    Insert(Date);
    R.Assign(19, 3, 25, 4);
    Insert(New(PLabel, Init(R, 'Date', Date)));

    // input Group
    R.Assign(8, 6, 38, 7);
    Group := New(PInputLine, Init(R, 20));
    Insert(Group);
    R.Assign(1, 6, 7, 7);
    Insert(New(PLabel, Init(R, 'Group', Group)));

    // input Mark
    R.Assign(8, 8, 38, 9);
    Mark := New(PInputLine, Init(R, 20));
    Insert(Mark);
    R.Assign(1, 8, 7, 9);
    Insert(New(PLabel, Init(R, 'Mark', Mark)));

   end;

  Control:=DeskTop^.ExecView(Dialog);

  // проверим если вернулло да - считаем данные
  if Control <> cmCancel  then
             Dialog^.GetData(Data);

end;  


Помогите найти ошибку.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

2. Публиковать ссылки на варез

3. Оффтопить

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

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

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


 




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


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

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