Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
15 / 15 / 21
Регистрация: 13.11.2014
Сообщений: 275
1

Ошибка: Error (105)

05.05.2015, 20:52. Показов 2562. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Pascal
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls, Spin;//, REDAGUV;
 
type
 
  { TForm1 }
  test=record
       quest,a1,a2,a3,a4,a5: string[255];
       trueans: byte;
     end;
     PNode=^TNode;
     TNode=record
            next,prev: PNode;
            inf: test;
     end;
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    GroupBox1: TGroupBox;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit3: TLabeledEdit;
    LabeledEdit4: TLabeledEdit;
    LabeledEdit5: TLabeledEdit;
    LabeledEdit6: TLabeledEdit;
    Panel1: TPanel;
    SpinEdit1: TSpinEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    procedure FormCreate(Sender: TObject);
     private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
   mod1:boolean;
implementation
 uses tests;
{$R *.lfm}
     var f:file of test;zt:test;
{ TForm1 }
 procedure m_clear;
 begin with form1 do begin
   labelededit1.clear;
  labelededit2.clear;
  labelededit3.clear;
  labelededit4.clear;
  labelededit5.clear;
  labelededit6.clear;
  LabeledEdit1.Modified:=false;
 LabeledEdit2.Modified:=false;
 LabeledEdit3.Modified:=false;
 LabeledEdit4.Modified:=false;
 LabeledEdit5.Modified:=false;
 LabeledEdit6.Modified:=false;
 SpinEdit1.Modified:=false;
                         end;
 end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  m_clear;
  if mod1 then begin
     AssignFile(f,'file.data');
     reset(f);
     read(f,zt);
     with zt do begin
  labelededit1.Text:=quest;
  labelededit2.Text:=a1;
  labelededit3.Text:=a2;
  labelededit4.Text:=a3;
  labelededit5.Text:=a4;
  labelededit6.Text:=a5;
  spinedit1.value:=trueans;
                 end;
    button3.visible:=false;
  end
  else begin
       button1.hide;button2.hide;button4.hide;button5.hide;
       end;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var f:file of test;zt:test;
   t,k: longint;
begin
AssignFile(f,'file.data');
reset(f);
k:=filesize('file.data');
t:= k div sizeof(test);
Seek(f,t);
with zt do
     begin
     quest:=LabeledEdit1.text;
     a1:=LabeledEdit2.text;
     a2:=LabeledEdit3.text;
     a3:=LabeledEdit4.text;
     a4:=LabeledEdit5.text;
     a5:=LabeledEdit6.text;
     trueans:=spinedit1.value;
     end;
write(f,zt);
CloseFile(f);
m_clear;
end;
 
procedure TForm1.Button5Click(Sender: TObject);
var zt: test;
    t: longint;
begin
t:=filepos(f);
if eof(f) then seek(f,filepos(f)-1) else
  begin
  while not eof(f) do begin
     read(f,zt);
     seek(f,filepos(f)-2);
     write(f,zt);
     seek(f,filepos(f)+1);
  end;
  end;
  truncate(f);
  seek(f,t-1);
  if eof(f) then seek(f,t-2);
  read(f,zt);
  with zt do
  begin
  Form1.labelededit1.Text:=quest;
  Form1.labelededit2.Text:=a1;
  Form1.labelededit3.Text:=a2;
  Form1.labelededit4.Text:=a3;
  Form1.labelededit5.Text:=a4;
  Form1.labelededit6.Text:=a5;
  Form1.spinedit1.value:=trueans;
  end;
end;
 
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
if mod1 then CloseFile(f);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  if not eof(f) then  begin
     read(f,zt);
     with zt do begin
     labelededit1.Text:=quest;
     labelededit2.Text:=a1;
     labelededit3.Text:=a2;
     labelededit4.Text:=a3;
     labelededit5.Text:=a4;
     labelededit6.Text:=a5;
     spinedit1.value:=trueans;
     end;
  end
  else ShowMessage('Кінець.');
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  if filepos(f)>1 then begin
   seek(f,filepos(f)-2);
   read(f,zt);
     with zt do begin
     labelededit1.Text:=quest;
  labelededit2.Text:=a1;
  labelededit3.Text:=a2;
  labelededit4.Text:=a3;
  labelededit5.Text:=a4;
  labelededit6.Text:=a5;
  spinedit1.value:=trueans;
                 end;
  end
  else ShowMessage('Початок.');
end;
 
end.
выдает ошибки в строке 119
Pascal
1
CloseFile(f);
134
Pascal
1
   seek(f,filepos(f)+1);
133
Pascal
1
   write(f,zt);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2015, 20:52
Ответы с готовыми решениями:

Ошибка An error occured while attempting to initialize the Borland Database Engine (error $251E)
Достал нужную мне програмку , которую искал очень долго . Она написана то ли под Delphi 3.0 то ли...

System Error. Code: 87. - что за ошибка?
Доброго времени суток. Не подскажите что это за ошибка - System Error. Code: 87 "Параметр задан...

Ошибка [Error] Unit1.pas(69): Not enough actual parameters
Помогите, пожалуйста, разобраться почему вылетает ошибка Unit1.pas(69): Not enough actual...

Что означает ошибка Error Symbol cannot be published, ca be only a class?
Что означает ошибка Error Symbol cannot be published, can be only a class?

8
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.05.2015, 21:01 2
А типизированный файл file.data точно создан и лежит в паке с программой?
0
15 / 15 / 21
Регистрация: 13.11.2014
Сообщений: 275
05.05.2015, 21:04  [ТС] 3
Puporev, да
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.05.2015, 21:08 4
Вообще ошибка 105 это
105 File not open for output (Файл не открыт для вывода).
Ошибка генерируется процедурами WRITE или WRITELN в текстовом файле в случае, если файл не открыт для вывода.
Так что проследите по коду чтобы файл был во время открыт для действий с ним.
0
15 / 15 / 21
Регистрация: 13.11.2014
Сообщений: 275
05.05.2015, 21:14  [ТС] 5
Puporev,все пересмотрел, а ошибки здесь не нахожу
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
05.05.2015, 21:57 6
Попробуй указать полный путь к файлу и использовать SeekEof для поиска конца файла.
0
600 / 548 / 210
Регистрация: 24.01.2012
Сообщений: 1,349
06.05.2015, 11:25 7
Если это тот-же самый проект, что здесь Проект потерпел исключения класса einouterror то могу огорчить. filemode:=0 включает режим открывания файлов только для чтения. Если нужно и читать и писать файлы, то filemode должен быть равен 2, Но тогда винда 7 или выше заблокирует доступ к файлу и возникнет ошибка 5. По правилам новых версий винды файлы с данными нужно хранить в папке пользователя в "Application Data", А если нужно именно в папке с программой, то в свойствах этой папки в разделе безопасность нужно дать себе полные права на доступ.
0
15 / 15 / 21
Регистрация: 13.11.2014
Сообщений: 275
06.05.2015, 19:48  [ТС] 8
edukra, В СООБЩЕНИЯХ выдает на эти строки
Pascal
1
2
  Seek(f,t-1);
  if EOF(f) then Seek(f,t-2);
hint: converting the operands to " Int64" before doing the subtract could prevent overflow errors .. Может здесь ошибка?
0
600 / 548 / 210
Регистрация: 24.01.2012
Сообщений: 1,349
07.05.2015, 09:40 9
там написано "совет: преобразование операндов в int64 перед вычитанием может предотвратить ошибки переполнения" Так, что здесь ошибка маловероятна. Она может быть только в том случае, если размер файла с данными превышает 2 гигабайта.
0
07.05.2015, 09:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2015, 09:40
Помогаю со студенческими работами здесь

Ошибка: unit1.pas(36,19) Error: method identifier expected
procedure TForm1.Button1Click(Sender: TObject); var k1,k2,k3,k4,k5,p1,p2,p3:boolean; s, t...

Ошибка I/O Error 105
unit U8_2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибка i/o error 105
Программа компилируется. И когда выбираешь txt док чтобы открыть выходить ошибка i/o error 105 ....

Ошибка 'I/O error 105', Delphi 7
В вузе дали элементарное задание: "Вычислить первые 5 частичных сумм бесконечного ряда, определить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru