Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.06.2013, 12:08
crack_hatson crack_hatson вне форума
Прохожий
 
Регистрация: 27.05.2013
Сообщения: 2
Версия Delphi: Delphi 2007
Репутация: 10
Печаль Не видит txt-файл теста

Добрый день уважаемые.
Возникла проблема с чтением из txt файла.
В чем проблема?Прошу помощи..
Создание файла log идет, а чтение из q.txt нету.

Здесь не находит.файл лежит в каталоге с программой.
[spoiler]
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
unit Unit12;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,  Buttons, ExtCtrls, unit11;
 
type
  TForm12 = class(TForm)
    RadioGroup1: TRadioGroup;
    GroupBox1: TGroupBox;
    BitBtn1: TBitBtn;
    Panel1: TPanel;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form12: TForm12;
  balls : integer;
  q, Log_File : textfile;
  five, four, three,
  ans1mark, ans2mark, ans3mark, ans4mark : integer;
  question, answere1, answere2, answere3,
  answere4, tmp_q, result : string;
  flag_end, flag_write : boolean;
 
implementation
 
uses Unit1, Unit10, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;
 
{$R *.dfm}
 
procedure Read_next_q();
var
  AYear, AMonth, ADay, Hour, Min, Sec, MSec: Word;
  Data : string;
begin
  if EOF (q) then
  begin
    flag_end := true;
    if balls>=five then
      result:='Отлично ('+IntToStr(balls)+' балла(ов))';
    if (balls>=four)and(balls<five) then
      result:='Хорошо ('+IntToStr(balls)+' балла(ов))';
    if (balls>=three)and(balls<four) then
      result:='удовлетворительно ('+IntToStr(balls)+' балла(ов))';
    if balls<three then
      result:='НЕУДОВЛЕТВОРИТЕЛЬНО ('+IntToStr(balls)+' балла(ов))'+#13#10+'Тест НЕ сдан!';
    showmessage('Вы сдали тест на '+#13#10+Result);
 
    DecodeDate(Now, AYear, AMonth, ADay);
    DecodeTime(Now, Hour, Min, Sec, MSec);
    Data:=IntToStr(AYear)+'/'+IntToStr(AMonth)+'/'+IntToStr(ADay)+' '+IntToStr(Hour)+':'+IntToStr(Min)+':'+IntToStr(Sec)+' ';
    writeln(Log_File, Data+Result+#13#10+#13#10);
    closeFile(Log_File);
 
    Form12.BitBtn1.Enabled:=false;
 
  end
  else
  begin
  Readln(q,tmp_q);
  question:=tmp_q+#13#10;
  Readln(q,tmp_q);
  question:=question+tmp_q+#13#10;
  Readln(q,tmp_q);
  question:=question+tmp_q+#13#10;
  Readln(q,answere1);
  Readln(q,ans1mark);
  Readln(q,answere2);
  Readln(q,ans2mark);
  Readln(q,answere3);
  Readln(q,ans3mark);
  Readln(q,answere4);
  Readln(q,ans4mark);
 
  Form12.Label1.Caption:=question;
  Form12.RadioGroup1.Items[0]:=answere1;
  Form12.RadioGroup1.Items[1]:=answere2;
  Form12.RadioGroup1.Items[2]:=answere3;
  Form12.RadioGroup1.Items[3]:=answere4;
  end;
end;
 
procedure check_ans();
begin
 
  if (Form12.RadioGroup1.ItemIndex=0)and(flag_end=false) then
     balls:=balls+ans1mark;
  if (Form12.RadioGroup1.ItemIndex=1)and(flag_end=false) then
     balls:=balls+ans2mark;
  if (Form12.RadioGroup1.ItemIndex=2)and(flag_end=false) then
     balls:=balls+ans3mark;
  if (Form12.RadioGroup1.ItemIndex=3)and(flag_end=false) then
     balls:=balls+ans4mark;
 
  Form12.RadioGroup1.ItemIndex:=-1;
end;
 
procedure TForm12.FormCreate(Sender: TObject);
begin
  Form12.Left:=Screen.Width+100;
  Form12.Top:=Screen.Height+100;
  flag_end:=false;
  AssignFile(q, 'q.txt');
 
  Reset(q);
  Readln(q,five);
  Readln(q,four);
  Readln(q,three);
  Read_next_q;
end;
 
procedure TForm12.BitBtn1Click(Sender: TObject);
begin
  if Form12.RadioGroup1.ItemIndex<>-1 then
  begin
  check_ans;
  Read_next_q;
  end
  else
    showmessage('Выберите один из вариантов'+#13#10+'ответов и нажмите "Далее"!');
end;
 
procedure TForm12.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Application.Terminate;
end;
 
end.
[/spoiler]
вот здесь log создается.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
unit Unit11;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;
 
type
  TForm11 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form11: TForm11;
 
implementation
 
uses Unit12;
 
{$R *.dfm}
 
procedure TForm11.FormCreate(Sender: TObject);
begin
  Form11.Show;
  Form11.Left:=trunc(Screen.Width/2-Form11.Width/2);
  Form11.Top:=trunc(Screen.Height/2-Form11.Height/2);
end;
 
procedure TForm11.BitBtn1Click(Sender: TObject);
begin
 if Form11.Edit1.Text<>'' then
 begin
  AssignFile(Log_File,'Log.txt');
  if not(FileExists('Log.txt')) then
    Rewrite(Log_File)
  else
    Append(Log_File);
 
  Writeln(Log_File, Form11.Edit1.Text+' ');
  Form11.Hide;
  Form12.Showmodal;
 
 end
 else
   ShowMessage('Введите свое имя!');
end;
 
procedure TForm11.BitBtn2Click(Sender: TObject);
begin
  Application.Terminate;
end;
 
procedure TForm11.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Application.Terminate;
end;
 
end.
Жду с нетерпением отзывов.
вот сама программа ПАРОЛЬ 123
http://www.fayloobmennik.net/2915026

Последний раз редактировалось crack_hatson, 06.06.2013 в 12:21.
Ответить с цитированием
  #2  
Старый 06.06.2013, 21:04
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Кстати, на формах если есть навесные процедуры, то их надо навешивать - у Form12 FormCreate есть, но к ней она не подключена, поэтому загрузки первоначальной q.txt возможно и не происходит, ИМХО.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025