Показать сообщение отдельно
  #26  
Старый 24.06.2010, 10:09
Аватар для Marvel
Marvel Marvel вне форума
Начинающий
 
Регистрация: 14.06.2010
Адрес: Пятигорск
Сообщения: 121
Репутация: 24
По умолчанию

можно и вот так. Edit'ы должны называться так: EAnswer1,EAnswer2,EAnswer3,EAnswer4:
Код:
procedure TForm1.FillEdits(id_quest,id_test: integer);
var
  i: integer;
begin
  ZAnswers.SQL.Text := 'SELECT * FROM answer WHERE ID_QUEST=:QUEST AND ID_TEST=:TEST';
  ZAnswers.ParamByName('QUEST').AsInteger := id_quest;
  ZAnswers.ParamByName('TEST').AsInteger := id_test;
  ZAnswers.Open;
  while not ZAnswers.Eof do
  begin
    for i:=0 to ComponentCount-1 do
    begin
      if Components[i].Name = 'EAnswer' + IntToStr(ZAnswers.RecNo) then
      begin
        (Components[i] as TEdit).Text := ZAnswers.FieldByName('ANSWER').AsString;
      end;
    end;
    ZAnswers.Next;
  end;

  ZAnswers.Close;
end;

или так:

Код:
procedure TForm1.FillEdits(id_quest,id_test: integer);
var
  i: integer;
begin
  ZAnswers.SQL.Text := 'SELECT * FROM answer WHERE ID_QUEST=:QUEST AND ID_TEST=:TEST';
  ZAnswers.ParamByName('QUEST').AsInteger := id_quest;
  ZAnswers.ParamByName('TEST').AsInteger := id_test;
  ZAnswers.Open;

  EAnswer1.Text := ZAnswer.FieldByName('ANSWER').AsString;
  ZAnswers.Next;

  EAnswer2.Text := ZAnswer.FieldByName('ANSWER').AsString;
  ZAnswers.Next;

  EAnswer3.Text := ZAnswer.FieldByName('ANSWER').AsString;
  ZAnswers.Next;

  EAnswer4.Text := ZAnswer.FieldByName('ANSWER').AsString;

  ZAnswers.Close;
end;

Использовать так:
Код:
FillEdits(номер_вопроса,номер_теста);
__________________
Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы...


ICQ: 593977748
Nick: Marvel
Ответить с цитированием