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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2009, 19:27   #1
Лунатик222
Ламер z:]
Пользователь
 
Аватар для Лунатик222
 
Регистрация: 19.01.2009
Сообщений: 60
По умолчанию Проблема в Делфи

Граждане программисты... делаю работу тестер + генератор... все пашет но алгоритм сделал с ограничением в количестве вариантов ответа, кто может помочь и подскажет как развить алгоритм чтобы количество вариантов определялось волей юзера...

Код:
s:=tstringlist.Create;  
  s.LoadFromFile(opendialog1.filename); 
  if s.Strings[1]='&' then   begin
    if s.Text<>'' then  

    begin
    form1.Caption:=s.Strings[0] +' Вопрос # 1'; 
      for j := 1 to s.Count - 1 do 
      begin

        if s.Strings[j]='&' then  
        begin
        label3: QuestionText[h]:=s.Strings[j+1]; 
        Var1[h]:=s.Strings[j+2];
        Var2[h]:=s.Strings[j+3];
        Var3[h]:=s.Strings[j+4];
        Var4[h]:=s.Strings[j+5];
        AnswerQuestion[h]:=strtoint(s.Strings[j+6]);
QuestionText
Var1
Var2
Var3
Var4
AnswerQuestion - однострочные массивы

считывание с обычного текстового документа
прошу помощи...
Лунатик222 вне форума Ответить с цитированием
Старый 02.02.2009, 19:59   #2
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Цитата:
Сообщение от Лунатик222 Посмотреть сообщение
...как развить алгоритм чтобы количество вариантов определялось волей юзера...
Ты имеешь ввиду, что в том же текстовом файле определялось количество вариантов ответов на каждый вопрос? Или я чего-то не допонял?
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума Ответить с цитированием
Старый 02.02.2009, 20:04   #3
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Вместо того, чтобы заводить 4 одномерных массива Var1 ... Var4, заведите один двумерный. Абсолютно неограниченным его сделать конечно не получится, но юзеру скорее всего вариантов 100 хватит для счастья. И окончание блока вариантов в файле отмечайте каким нибудь спецсимволом (например #)
Код:
var Variants: array[1..CountOfQuestions, 1..100];
...
j := 1;
while j <= s.Count - 1 do
  begin
  if s.Strings[j] = '&' then
    begin 
    QuestionText[h]:=s.Strings[j+1];
    k := 1;
    while s.Strings[j+1+k] <> '#' do 
      begin
      Variants[h, k]:=s.Strings[j+1+k];
      k := k + 1;
      end;
    j := j + k + 2; //j := j + 1 + k + 1
    AnswerQuestion[h]:=strtoint(s.Strings[j]);
    end;
  j := j + 1;
  end;
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры,Записи в делфи ПРОБЛЕМА mar4elo Общие вопросы Delphi 6 01.12.2008 10:43
проблема с запросом и делфи student90 БД в Delphi 9 02.11.2008 19:29
Проблема с задачей на одномерный массив в Делфи 7 sting Помощь студентам 34 22.09.2008 15:36
Проблема с делфи и plug-in Sichersa Помощь студентам 1 24.07.2008 20:55
Проблема с sql в делфи spiteful41 Помощь студентам 4 27.05.2008 01:23