Показать сообщение отдельно
Старый 02.10.2014, 03:28   #1 (permalink)
Aksinia
Member
 
Регистрация: 15.12.2013
Сообщений: 31
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 114
Question Делфи. Создать "Тест"

Здравствуйте!
Надеюсь на Вашу помощь.
Задание:
1. Перед пользователем окно, в котором он должен ввести свои ФИО.
2. Во втором окне пользователю предлагается выбрать тест, который он хочет пройти через OpenDialog.
3. Название,которое выбирается в OpenDialog сохраняется в переменную.
4. Открывается этот файл с именем этой переменной. В 3-ей форме создается некоторое количество лейблов и столько же едитов. В каждый лейбл записывается вопрос -1 строка из файла. В соседний едит пользователь должен ввести ответ на него.
5. Результатом проги является то, что все ответы пользователя сохраняются в отдельный файл, а еще этому файлу нужно обеспечить защиту от ручной корректировки результатов.
Надеюсь, что объяснила понятно. То, что у меня получилось (3 юнита) здесь. Буду очень благодарна, если найдете ошибку

PHP код:
unit Unit1;

{
$mode objfpc}{$H+}

interface

uses
  Classes
SysUtilsFileUtilFormsControlsGraphicsDialogsStdCtrls;

type

  
TForm1 }

  
TForm1 = class(TForm)
    
Button1TButton;
    
Button2TButton;
    
Edit1TEdit;
    
Label1TLabel;
    
procedure Button1Click(SenderTObject);
    
procedure Button2Click(SenderTObject);
  private
    { private 
declarations }
  public
    { public 
declarations }
  
end;

var
  
Form1TForm1;

implementation
uses Unit2
;

TForm1 }

procedure TForm1.Button2Click(SenderTObject);
begin
  close
;
end;

procedure TForm1.Button1Click(SenderTObject);
begin
  Form2
.Label2.Caption:=Form1.Edit1.Text;
  
Form2.ShowModal;
end;

{
$R *.lfm}

end
PHP код:
unit Unit2;

{
$mode objfpc}{$H+}

interface

uses
  Classes
SysUtilsFileUtilFormsControlsGraphicsDialogsStdCtrls;

type

  
TForm2 }

  
TForm2 = class(TForm)
    
Button1TButton;
    
Label1TLabel;
    
Label2TLabel;
    
Label3TLabel;
    
OpenDialog1TOpenDialog;
    
procedure Button1Click(SenderTObject);
  private
    { private 
declarations }
  public
    
Nametext:string;
    { public 
declarations }
  
end;

var
  
Form2TForm2;

implementation
 uses Unit3
;

 { 
TForm2 }

 
procedure TForm2.Button1Click(SenderTObject);
 
begin
    OpenDialog1
.Execute;
  if(
OpenDialog1.FileName <> ''then begin
    Nametext
:= FileUtil.UTF8ToSys(OpenDialog1.FileName);
    
Form3.ShowModal;
end;
 
end;

{
$R *.lfm}

end
PHP код:
unit Unit3;

{
$mode objfpc}{$H+}

interface

uses
  Classes
SysUtilsFileUtilFormsControlsGraphicsDialogsStdCtrls;

type

  
TForm3 }

  
TForm3 = class(TForm)
    
Button1TButton;
    
Button2TButton;
    
procedure fclose(SenderTObject);
    
procedure orm(SenderTObject);
    
procedure write(SenderTObject);
  private
    { private 
declarations }
  public
    { public 
declarations }
  
end;

var
  
Form3TForm3;
  
f,f2:TextFile;count:integer;
implementation
 uses Unit2
,Unit1;

 { 
TForm3 }

 
procedure TForm3.orm(SenderTObject);
 var 
edtTEdit;lblTLabel;toop1:integer;S:string;
begin
  AssignFile
(f,Form2.Nametext);
    
Reset(f);
    
toop1:=10;count:=1;
    while 
Not EOF(f) do
    
begin
      Readln
(fS);
         
edt:=TEdit.Create(Form3);
         
edt.Parent:=Form3;
         
edt.Top:=toop1;
         
edt.Left:=100;
         
lbl:=TLabel.Create(Form3);
         
lbl.Parent:=Form3;
         
lbl.Caption := S;
         
lbl.Top:=toop1;
         
inc(count);
      
inc(toop1,20);
      
CloseFile(f);
end;end;

procedure TForm3.fclose(SenderTObject);
begin
  close
;Form1.Close;
Form2.Close;
end;

procedure TForm3.write(SenderTObject);
var 
i:integer;
begin
  AssignFile
(f2,'Answers');
  
Rewrite(f2);
  
Append(f2);
  for 
i:=1 to count do
  
begin
  Writeln
(f2,TEdit(FindComponent('Edit'+IntToStr(i))).Text);
end;
closefile(f2);
end;

{
$R *.lfm}

end
Aksinia вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070