도와주세요, 퀴즈 프로그램을 짠는데 오류가 나네요
어떻게 손을 대야 정상적으로 작동을 할까요.
소스는 아래와 같습니다.
================ 아 래 =======================
unit munje1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
StatusBar1: TStatusBar;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
type
Tmunje=record
mun:string[70];
b1:string[50];
b2:string[50];
b3:string[50];
b4:string[50];
ans:integer;
total:integer;
end;
var
munje:array [1..100] of Tmunje; (1)---------- 100 대신 Total을 썼을 때 Total이
숫자라는 것을 어디에다 선언해 주나요
procedure TForm1.FormCreate(Sender: TObject);
var
F1:TextFile;
i:integer;
st:string;
begin
AssignFile(F1,'c:quiz.txt');
Reset(F1);
for i:=1 to 100 do
begin
readln(F1,munje[i].mun);
readln(F1,munje[i].b1);
readln(F1,munje[i].b2);
readln(F1,munje[i].b3);
readln(F1,munje[i].b4);
readln(F1,st);
munje[i].ans:=StrToInt(st);
end;
CloseFile(F1);
Randomize;
end;
procedure TForm1.Chulje;
begin
nowmun:=Random(100+1);
Meno1.Text:=munje[mowmun].mun;
pannel1.Caption:=munje[nowmun].b1;
pannel1.Caption:=munje[nowmun].b2;
pannel1.Caption:=munje[nowmun].b3;
pannel1.Caption:=munje[nowmun].b4;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Sender as TButton).tag=munje[mowmun].ans then
NO:=NO+1
else
NX:=NX+1
StatusBar1.SimpleText:='총'+IntToStr(NO+NX)+'문제 중'+
IntToStr(NO)+'문제를 맞춤';
end;
end.
>
> implementation
>
> {$R *.DFM}
> type
> Tmunje=record
> ....
> ans:integer;
> total:integer;
> end;
>
> var
> munje:array of Tmunje; //이렇게 선언하시구요.
>
> procedure TForm1.FormCreate(Sender: TObject);
> var
> F1:TextFile;
> i:integer;
> st:string;
> begin
//배열의 길이를 설정하십시오.
setlength(munje,100); //setlength(munje,total) 도 가능하겠져? 미리 선언되어져 있고 값이 할당되어 있다면.
> AssignFile(F1,'c:quiz.txt');
> Reset(F1);
> for i:=1 to 100 do
....