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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 17:42   #1
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию Перенос текста в DB Access. Delphi

Нужно перенести текст (строки) формата
Код:
001. вопрос
1) ответ 1
2) ответ 2
3) ответ 3
4) ответ 4
в базу данных Access формата |q|a1|a2|a3|a4|
где q - вопрос, а a1..a4 ответы.
Пытался писать, не особо получилось. Вот то что я написал
Код:
procedure TMainForm.Button1Click(Sender: TObject);
begin
  while i < 500 do
    begin;
    qsel;
    NewRecord;
    i:=i+1;
    end;
end;

function TMainForm.NewRecord: boolean;
begin
  try
    try
      ADOQuery1.Append;
      ADOQuery1.FieldByName('q').AsString   :=  q;
      ADOQuery1.FieldByName('a1').AsString  :=  a1;
      ADOQuery1.FieldByName('a2').AsString  :=  a2;
      ADOQuery1.FieldByName('a3').AsString  :=  a3;
      ADOQuery1.FieldByName('a4').AsString  :=  a4;
    except
      on e:Exception do
    end;
  except
    on e:Exception do
  end;
  try
    ADOQuery1.Active:=True;
    ADOQuery1.Post;
  except
    on e:Exception do
  end;
end;

function TMainForm.qa: boolean;
begin
  if Pos('.', Trim(S)) = 4  then
    result := true
  else
    begin
      if Pos(')', Trim(S)) = 4 then
      result := false;
    end;
end;

procedure TMainForm.qsel;
begin
  S := Trim(Memo1.Lines[i]);
  if qa = True then
      begin
        Delete(S, 1, Pos('.', Trim(S)));
        Edit1.Text := s;
        i:= i+1;
      end
    else
      begin
      for I := i to i+4 do
        begin
        Case StrToInt(S[i]) Of
          1:  begin
                Delete(S, 1, 2);
                Edit2.Text := Trim(S);
              end;
          2:  begin
                Delete(S, 1, 2);
                Edit3.Text := Trim(S);
              end;
          3:  begin
                Delete(S, 1, 2);
                Edit4.Text := Trim(S);
              end;
          4:  begin
                Delete(S, 1, 2);
                Edit5.Text := Trim(S);
              end;
        end;
        end;
end;
S - строка.
qsel - загон нужной строки в переменную. qa - проверка является вопросом или ответом.
Используется XE3

Последний раз редактировалось hemn6vyr; 03.03.2013 в 17:44.
hemn6vyr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имена таблиц БД Access и перенос их в Delphi alex_spq БД в Delphi 6 10.09.2012 14:33
Перенос текста в MessageBox Aleksandr Microsoft Office Excel 3 09.03.2011 14:51
перенос текста densi2009 Microsoft Office Word 6 08.10.2009 17:53
перенос текста на канве varelik Общие вопросы Delphi 11 15.09.2009 18:56
Перенос текста soonner JavaScript, Ajax 5 06.05.2009 19:13