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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2007, 14:35   #1
nex777
 
Регистрация: 02.06.2007
Сообщений: 4
Восклицание Проблема с RichEdit

Доброго Вам времени суток!
Мне нужно написать программу-тест по французскому языку. У меня есть rtf файл (test.rtf), в которм разделенные занком @ находятся все вопросы, варианты ответов и правильные ответы выглядит гн примерно вот так:

1On sait que les produits et les services ______ aux clients par cette entreprises sont toujours de bonne qualité.
2 On vient de construire en Sibérie Orientale une grande centrale ______ dé l'energie électrique à la Sibérie et à l'Extrême Orient.
3 _______ les matières premières pour produire des articles de consommation courante notre firme a signé un contrat avec plusieurs entreprises.
@
en fournissant
fournissant
fournis
3 2 1
@
1 ______ les maisons neuves, on cherche a prèsentér tout ce qui presenté une valeur historique, culturelle ou architecturale.
2 Quelques étudiants de la Russie font leur stage dans une vaste usine _________ aux environs immédiats de Grenoble.
3 La socièté Radio-Energie __________ des machines spéciales pour l'électronique, a commencé ses fabrications en 1928.
@
construite
construisant
en construisant
3 1 2

Для реализации задачи мне нужно чтобы эти вопросы выводились на экран рандомно и без повторений. тест из себя представляет внешне окно с вопросом, под ним в столбик 3 варианта ответов, с окошками, в которые предлагается проставить номера предложений соответсвуюших ответам.
ПОЖАЛУЙСТА, подскажите, если можно поподробнее, как мне мне сделать рандомный вывод вопросов через RichEdit из rtf файла, без повторений.
СПАСИБО!!!
nex777 вне форума Ответить с цитированием
Старый 02.06.2007, 14:53   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

ну можно прочитать все в один ричэдит. и потом оттуда выделять вопросы и вставлять в другой ричэдит после @. т.е. находим n = Random(кол-во уже выведенных вопросов) и после энного символа @ вставляем новый вопрос
pu4koff вне форума Ответить с цитированием
Старый 02.06.2007, 15:02   #3
nex777
 
Регистрация: 02.06.2007
Сообщений: 4
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
ну можно прочитать все в один ричэдит. и потом оттуда выделять вопросы и вставлять в другой ричэдит после @. т.е. находим n = Random(кол-во уже выведенных вопросов) и после энного символа @ вставляем новый вопрос
Не могли бы вы написать сам конкретный код, если вас не затруднит, просто я новичок в Delphi, а курсовую надо сдать уже послезавтра, и у меня никак не выходит ее закончить. А то к сессии не допустят. Заранее Благодарю!
nex777 вне форума Ответить с цитированием
Старый 02.06.2007, 15:43   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Времени нет (у самого курсачи горят), так что тут прям написал:
RichEdit1 - исходные вопросы
RichEdit2 - результат
Только вот сомневаюсь что шрифты и все такое сохраница...
Код:
var
  i,n,k,j,cnt: integer;
begin
  richedit2.Clear;
  cnt := 0;  // Кол-во уже вставленных вопросов
  while (RichEdit1.Lines.Count > 0) do
  begin
    i := 0;
    while (i < RichEdit1.Lines.Count)and
           (RichEdit1.Lines[i]<>'@')do inc(i);
    n := Random(cnt);
    k := 0;
    j := 0;
    while (j < RichEdit2.Lines.Count)and(k < n)do
    begin
       if (RichEdit2.Lines[n]='@') then inc(k);
       inc(j);
    end;
    for k := 0 to i-1 do
    begin
       RichEdit2.Lines.Insert(n,RichEdit1.Lines[0]);
       RichEdit1.Lines.Delete(0);
       inc(n);
    end;
    RichEdit1.Lines.Delete(0);
    RichEdit2.Lines.Insert(k,'@');
    inc(cnt);
  end;
end;
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RichEdit Valera Помощь студентам 12 04.08.2008 18:38
RichEdit Killbrum Помощь студентам 3 12.06.2008 22:41
RichEdit StartMis Общие вопросы Delphi 20 24.04.2008 15:40
RichEdit nimf Общие вопросы Delphi 8 23.04.2008 07:55
RichEdit Римма Компоненты Delphi 3 23.01.2008 14:33