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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2012, 20:57   #1
shaolan
Новичок
Джуниор
 
Регистрация: 13.06.2012
Сообщений: 1
По умолчанию тест в делфи

создаю тест на делфи , но если проблемма не знаю как сделать счётчик с балами...код сложный
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, XPMan, Buttons;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    RadioGroup1: TRadioGroup;
    Memo3: TMemo;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
  procedure povtor;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  z,d,j,i,a,n:integer;
  LineNo : integer;
  Form1: TForm1;
  some:array[0..9000] of integer;//массив для длин строк
  Rus: array[0..9000, 0..9000] of string;//массив, в котором поэлементно хранятся строки
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  dir:string;
begin
  getdir(0,dir);//переменной dir присваивается дирректория файла
  dir:=dir+'/test.txt';//переменной dir присваивается конечный путь к файлу
  Memo1.Lines.LoadFromFile(dir);//В поле Memo1 загружаются данные из файла
  a:=Memo1.Lines.Count;//в переменную a заносится количество строк в файле
  for i:=0 to a-1 do
  begin
    some[i]:=length(Memo1.Lines[i]);//запись длин каждой строки
    for  j:=0 to some[i]-1 do
      Rus[i,j]:=copy(Memo1.Lines[i],j,length(Memo1.Lines[i]));// копирование строк поэлементно в массив
  end;

  Memo2.Text:=Rus[0,0];//В поле Мемо2 заносится первая строка из файла
  i:=0;
  j:=0;
  povtor;
  d:=1;
  n:=0;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  IF d <(a/5) THEN BEGIN
    i:=i+1;
    Memo2.Text:=Rus[i,j];
    povtor;
    d:=d+1;
    END;
  if n =10 then  begin
  bitbtn1.Visible:=false;end;
   label1.caption:=inttostr(ball);

end;

procedure TForm1.povtor;
var
  k: integer;
begin
  z:=i;
  k := i mod 5;
  repeat
  k := i mod 5;
  RadioGroup1.Items[k]:=Rus[i+1,j];
  if (Rus[i+1,some[i+1]-1]='.*') or (Rus[i+1,some[i+1]-1]=';*') then
  begin
    RadioGroup1.Items[k]:=copy(RadioGroup1.Items[k],j,pos('*',RadioGroup1.Items[k])-1);//если выполняются верхние условия, то Радио-кнопке присваивается имя до звездочки (звездочка - это индикатор правильного ответа)
    Memo3.Text:=Memo3.Text+RadioGroup1.Items[k];
    ball:=ball+1;
    end;
  i:=i+1;
  until i=(z+4);
 end;

end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.06.2012 в 10:22.
shaolan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тест в Делфи Гурам Общие вопросы Delphi 14 02.05.2013 14:11
тест в делфи aiganym Помощь студентам 2 14.11.2011 19:11
Тест в делфи. homuljka Помощь студентам 1 28.06.2010 21:28
тест в делфи Гурам Общие вопросы Delphi 6 11.05.2010 22:55
Тест в Делфи natasxa Помощь студентам 5 23.03.2010 22:20