오류도 뜨지 않는데 왜 안될까요???
미치겠슴다.
고수님들!!
아래에 소스를 적어놓았습니다.
도대체 왜, 왜, 안되는지 알려주시면 넘넘 감사하겠습니다.
================= 아 래 ===============
소스
Form에는요,
1. top바 ; [시작]과[끝]
2. 메모
3. 버튼 3개
4. Panel 3개(버튼 옆에 하나씩 있음다)
5. StatusBar
메모장은 c:Hncquiz에 있구요,
코드는 요,
unit munje3;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Menus, ExtCtrls, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
StatusBar1: TStatusBar;
procedure FormCreate(Sender: TObject);
procedure Chulje;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
Tmunje=record
mun:string[50];
b1:string[30];
b2:string[30];
b3:string[30];
ans:integer
end;
const
total=23; {총 문제 개수}
var
Form1: TForm1;
munje:array [1..total] of Tmunje;
nowmun:integer; {현재 선택된 문제}
NO,NX:integer; {맞춘 개수, 틀린 개수}
implementation
{$R *.DFM}
{난수로 문제를 선택한 후 문제와 보기를 폼에 출력한다.}
procedure TForm1.Chulje;
begin
nowmun:=Random(total)+1;
Memo1.Text:=munje[nowmun].mun;
Panel1.Caption:=munje[nowmun].b1;
Panel2.Caption:=munje[nowmun].b2;
Panel3.Caption:=munje[nowmun].b3;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
F1:TextFile;
i:integer;
st:string;
begin
AssignFile(F1,'c:hncQuiz.Txt'); {할당}
Reset(F1); {오픈}
{문제를 순서대로 읽어와 배열에 담는다}
for i:=1 to total do
begin
readln(F1,munje[i].mun);
readln(F1,munje[i].b1);
readln(F1,munje[i].b2);
readln(F1,munje[i].b3);
readln(F1,st);
munje[i].ans:=StrToInt(st);
end;
CloseFile(F1);
Randomize;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Chulje;
NO:=0;
NX:=0;
StatusBar1.SimpleText:='번호를 선택하십시요';
end;
procedure TForm1.N3Click(Sender: TObject);
begin
close; {종료}
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
{답과 버튼의 번호를 비교한다}
if (Sender as TButton).tag=munje[nowmun].ans then
NO:=NO+1 {맞춘 개수 증가}
else
NX:=NX+1; {틀린 개수 증가}
StatusBar1.SimpleText:='총 '+ IntToStr(NO+NX)+' 문제 중 '+
IntToStr(NO) +' 문제를 맞춤';
Chulje; {다시 문제 출제}
end;
end.
위와 같답니다. 에러도 안뜨는데 왜 안되는지요
그럼 많은 고수님들의 가르침을 기다리며
이만 총총..
> 오류도 뜨지 않는데 왜 안될까요???
> 미치겠슴다.
>
> 고수님들!!
> 아래에 소스를 적어놓았습니다.
> 도대체 왜, 왜, 안되는지 알려주시면 넘넘 감사하겠습니다.
> ================= 아 래 ===============
> 소스
>
> Form에는요,
> 1. top바 ; [시작]과[끝]
> 2. 메모
> 3. 버튼 3개
> 4. Panel 3개(버튼 옆에 하나씩 있음다)
> 5. StatusBar
>
> 메모장은 c:Hncquiz에 있구요,
>
> 코드는 요,
> unit munje3;
>
> interface
>
> uses
> SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
> Forms, Dialogs, Menus, ExtCtrls, StdCtrls, ComCtrls;
>
> type
> TForm1 = class(TForm)
> Memo1: TMemo;
> Button1: TButton;
> Button2: TButton;
> Button3: TButton;
> Panel1: TPanel;
> Panel2: TPanel;
> Panel3: TPanel;
> MainMenu1: TMainMenu;
> N1: TMenuItem;
> N2: TMenuItem;
> N3: TMenuItem;
> StatusBar1: TStatusBar;
> procedure FormCreate(Sender: TObject);
> procedure Chulje;
> procedure N2Click(Sender: TObject);
> procedure N3Click(Sender: TObject);
> procedure Button1Click(Sender: TObject);
> private
> { Private declarations }
> public
> { Public declarations }
> end;
>
>
> type
> Tmunje=record
> mun:string[50];
> b1:string[30];
> b2:string[30];
> b3:string[30];
> ans:integer
> end;
> const
> total=23; {총 문제 개수}
> var
> Form1: TForm1;
> munje:array [1..total] of Tmunje;
> nowmun:integer; {현재 선택된 문제}
> NO,NX:integer; {맞춘 개수, 틀린 개수}
>
> implementation
>
> {$R *.DFM}
>
> {난수로 문제를 선택한 후 문제와 보기를 폼에 출력한다.}
> procedure TForm1.Chulje;
> begin
> nowmun:=Random(total)+1;
> Memo1.Text:=munje[nowmun].mun;
> Panel1.Caption:=munje[nowmun].b1;
> Panel2.Caption:=munje[nowmun].b2;
> Panel3.Caption:=munje[nowmun].b3;
> end;
>
> procedure TForm1.FormCreate(Sender: TObject);
> var
> F1:TextFile;
> i:integer;
> st:string;
> begin
> AssignFile(F1,'c:hncQuiz.Txt'); {할당}
> Reset(F1); {오픈}
> {문제를 순서대로 읽어와 배열에 담는다}
> for i:=1 to total do
> begin
> readln(F1,munje[i].mun);
> readln(F1,munje[i].b1);
> readln(F1,munje[i].b2);
> readln(F1,munje[i].b3);
> readln(F1,st);
> munje[i].ans:=StrToInt(st);
> end;
> CloseFile(F1);
> Randomize;
> end;
>
> procedure TForm1.N2Click(Sender: TObject);
> begin
> Chulje;
> NO:=0;
> NX:=0;
> StatusBar1.SimpleText:='번호를 선택하십시요';
> end;
>
> procedure TForm1.N3Click(Sender: TObject);
> begin
> close; {종료}
> end;
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> {답과 버튼의 번호를 비교한다}
> if (Sender as TButton).tag=munje[nowmun].ans then
> NO:=NO+1 {맞춘 개수 증가}
> else
> NX:=NX+1; {틀린 개수 증가}
> StatusBar1.SimpleText:='총 '+ IntToStr(NO+NX)+' 문제 중 '+
> IntToStr(NO) +' 문제를 맞춤';
> Chulje; {다시 문제 출제}
> end;
>
> end.
>
> 위와 같답니다. 에러도 안뜨는데 왜 안되는지요
> 그럼 많은 고수님들의 가르침을 기다리며
> 이만 총총..
//////////////////////////////////////////////////////////
원하는거와 무엇이 문제인지 자세히 설명하시죠!
일단 코딩에는 문제가 없는듯합니다.
소스를보니 문제와 보기3개, 답을 읽어 버튼3개로 답을 해서
문제