Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50

Не сохраняются данные в файле

21.07.2024, 17:30. Показов 1644. Ответов 17

Студворк — интернет-сервис помощи студентам
Проблема: происходит запись переменных в файл для сохранения, после закрывается файл и останавливается программа. Но данные в файле не изменяются.
вот код процедуры save:

Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure save();
begin
assign(f,'SaveDate.txt');
rewrite(f);
writeln(f,location);
writeln(f,y);
writeln(f,x);
writeln('saved');
readkey();
close(f);
end;
Вывод слова saved сделан что бы понять что все успешно. Никаких ошибок не выдает. Что делать?
Отдельно я проверял: все работает без проблем, но в моем проекте нет.
Программирую на Free pascal версии 3.2.2.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.07.2024, 17:30
Ответы с готовыми решениями:

В файле не сохраняются данные
Не работает простейшая программа. Данные вводятся, OUTPUT.TXT создается. По завершении программы открываю - пусто. Что неправильно,...

Не сохраняются изменения в файле
Подскажите есть программа они открывает файл и по структуре все выводит в object а из него в datagridviev. пробелма такая как я ее вывел...

Fstream не сохраняются изменения в файле
Написал вот небольшую программку, но почему-то функции не вносят изменения в исходный файл хотя я и указал что надо принимать файл по...

17
228 / 169 / 71
Регистрация: 14.06.2024
Сообщений: 458
21.07.2024, 18:17
кто это f ?
а файл то создается?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var 
    f:text;
    location,x,y:integer;
 
procedure save();
begin
assign(f,'SaveDate.txt');
rewrite(f);
writeln(f,location);
writeln(f,y);
writeln(f,x);
writeln('saved');
close(f);
//readkey();
end;
 
begin
    randomize;
    location:=random(100);
    x:=random(100);
    y:=random(100);
    save(); 
end.
все прекрасно сохраняется/пересохраняется(в текущем каталоге)
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
21.07.2024, 18:19  [ТС]
Цитата Сообщение от udmurt2024 Посмотреть сообщение
кто это f ?
а файл то создается?
Да создается. Лежит в одной папке и до этого работал. Отдельно тоже работает. Но вместе нет.
0
228 / 169 / 71
Регистрация: 14.06.2024
Сообщений: 458
21.07.2024, 18:21
вместе с кем?
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
21.07.2024, 18:34  [ТС]
вместе с другими функциями и кодом:
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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
uses
  crt;
 
 
var
  i, j, v, x, y,location: integer;
  f,f2: text;
  map: array [1..13] of array [1..30] of integer;
  MainMap: array[1..10] of array[1..10] of integer;
  z:char;
  nam:string;
  
  s2: String;
  lines,mode,globalX,globalY: integer;
  falseAnswer,trueAnswer,frase:string;
  code,answer,lastLocation:integer;
  shift:boolean;
 
 
 
procedure fileReader(s2: string);
 
begin
  assign(f, s2);
  reset(f);
  readln(f, mode);
  //0 - Map
  //1 - Text
  //2 - Chest
  //3 - Enemy
 
  if mode=0 then begin
  for i:=1 to 13 do begin 
  for j :=1 to 30 do begin
  read(f,v);
  if v=64 then begin
  y:=i;
  x:=j;
  end;
  map[i,j]:=v;
  
  end;
  readln(f);
  end;
  end
  
  else if mode=1 then begin
  readln(f,lines);
  for i:=1 to lines do begin
  clrscr();
  readln(f,nam);
  writeln(nam);
  writeln('Нажми любую клавишу...');
  readkey();
  end;
  end
  
  else if mode=2 then begin
  
  end;
  
  
  
  
  
  close(f);
end; 
procedure opener(a, b: integer; s: String); 
 
begin
  str(a,s2);
  nam:=s2+s;
  str(b,s2);
  nam:=nam+s2+'.txt';
  fileReader(nam);
end; 
//Здесь 
//----------------------------------------------------------------------------------------------
procedure save();
begin
assign(f2,'SaveDate.txt');
rewrite(f2);
writeln(f2,location);
writeln(f2,y);
writeln(f2,x);
writeln('saved');
readkey();
close(f2);
end;
//-------------------------------------------------------------------------------------------------
 
 
procedure move(der: integer);
 
begin
map[y,x]:=46;
  case der of 
    1: begin 
    if y-1=0 then begin location:=MainMap[globalY-1,globalX];
   y:=13;
   shift:=true;
   end;
    if y<>1 then z:=chr(map[y-1,x]);
    end;
    2: begin 
    if y+1=14 then begin location:=MainMap[globalY+1,globalX];
   y:=1;
   shift:=true;
   end;
    if y<>13 then z:=chr(map[y+1,x]);
    end;
   3: begin 
    if x-1=0 then begin location:=MainMap[globalY,globalX-1];
   x:=30;
   shift:=true;
   end;
    if x<>1 then z:=chr(map[y,x-1]);
    end;
    4: begin 
    if y+1=31 then begin location:=MainMap[globalY,globalX+1];
   x:=1;
   shift:=true;
   end;
    if x<>30 then z:=chr(map[y,x+1]);
    end;
    
  end;
  
  case z of
  '.':begin
  if shift=false then begin 
  if (der=1) and (map[y-1,x]<>35) and (y<>1) then y:=y-1
  else if (der=2) and (map[y+1,x]<>35) and (y<>13) then y:=y+1
  else if (der=3) and (map[y,x-1]<>35) and (x<>1) then x:=x-1
  else if (der=4) and (map[y,x+1]<>35) and (x<>30) then x:=x+1;
  end;
  end;
  '?':begin
  if (der=1) then opener(y-1,x,'text');
  if (der=2) then opener(y+1,x,'text');
  if (der=3) then opener(y,x-1,'text');
  if (der=4) then opener(y,x+1,'text');
  end;
  
  '=':begin
  if (der=1) then opener(y-1,x,'chest');
  if (der=2) then opener(y+1,x,'chest');
  if (der=3) then opener(y,x-1,'chest');
  if (der=4) then opener(y,x+1,'chest');
  end;
  
  end;
  
  
  
  map[y,x]:=64;
  shift:=false;
end; 
procedure key(key: Char);
 
begin
  case key of 
    'w': move(1);
    's': move(2);
    'a': move(3);
    'd': move(4);
    'q': save();
  end;
end; 
 
procedure drawMap();
begin
clrscr();
if lastLocation<>location then begin
assign(f2, 'MainMap.txt');
  reset(f2);
  
  for i := 1 to 10 do 
    begin
      for j := 1 to 10 do 
        begin
          read(f2, v);
          MainMap[i,j]:=v;
          if v=location then begin
          globalX:=j;
          globalY:=i;
          break;
          end;
        end;
        readln(f2);
    end;
    lastLocation:=location;
  close(f2);
  opener(globalY,globalX,'map');
  map[y,x]:=64;
  ;
end;
map[y,x]:=64;
for i := 1 to 13 do 
    begin
      for j := 1 to 30 do 
        begin
            z:=chr(map[i,j]);
          write(z);
          
        end;
      
      writeln();
    end;
    writeln(y,' ',x)
end;
 
 
 
begin
 
  clrscr();
  cursorOff();
 
  
  assign(f2, 'SaveDate.txt');
  reset(f2);
  readln(f2, location);
  lastLocation:=location;
  readln(f2, y);
  readln(f2, x);
  close(f2);
  assign(f2, 'MainMap.txt');
  reset(f2);
  
  for i := 1 to 10 do 
    begin
      for j := 1 to 10 do 
        begin
          read(f2, v);
          MainMap[i,j]:=v;
          if v=location then begin
          globalX:=j;
          globalY:=i;
          end;
        end;
        readln(f2);
    end;
    
  close(f2);
  opener(globalY,globalX,'map');
  drawMap();
  repeat 
    begin
      
      key(readKey());
      drawMap();
    end;
  until 2 = 3;
  readln;
end.
0
228 / 169 / 71
Регистрация: 14.06.2024
Сообщений: 458
21.07.2024, 18:47
Цитата Сообщение от Werlop Посмотреть сообщение
'q': save();
там точно появляетесь?

Добавлено через 7 минут
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
uses crt,SysUtils;
var 
    f:text;
    location,x,y:integer;
 
procedure save();
begin
assign(f,'SaveDate.txt');
rewrite(f);
writeln(f,location);
writeln(f,y);
writeln(f,x);
writeln('saved');
close(f);
//readkey();
end;
 
procedure key(key: Char);
begin
  case key of 
    'q': save();
  end;
end; 
 
begin
    randomize;
    location:=random(100);
    x:=random(100);
    y:=random(100);
    key(readKey());
    ExecuteProcess('notepad','SaveDate.txt');
end.
вроде работает
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
21.07.2024, 18:53  [ТС]
да появляется.
вот такая ошибка из-за notepad
An unhandled exception occurred at $0000000000455299:
EOSError: Failed to execute "notepad", error code: 127
$0000000000455299
$000000000040126B

что это за функция ExecuteProcess?

модуль sysutils подключен по умолчанию в таких компиляторах и никак не влияет, то что я его не написал, я проверил.
0
228 / 169 / 71
Регистрация: 14.06.2024
Сообщений: 458
21.07.2024, 19:03
Цитата Сообщение от Werlop Посмотреть сообщение
вот такая ошибка из-за notepad
да пёс с ним, уберите
Цитата Сообщение от udmurt2024 Посмотреть сообщение
writeln('saved');
появляется?
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
21.07.2024, 19:23  [ТС]
да появляется. и все работает, но у меня нет(
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
22.07.2024, 13:40
А сначала закрыть файл и только потом показывать, что он записан, не пробовали?
Может всё дело в том, что файловая система кэширует запись. Т.е. как-бы накапливает информацию в буфере, чтобы не насиловать лишний раз самое медленное — операцию записи.
0
228 / 169 / 71
Регистрация: 14.06.2024
Сообщений: 458
22.07.2024, 14:57
Pascal
1
2
3
4
5
6
  assign(f2, 'MainMap.txt');
  reset(f2);
  
  for i := 1 to 10 do 
    begin
      for j := 1 to 10 do
существует? посмотреть можно(оно мне надо)?
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
25.07.2024, 11:22  [ТС]
Цитата Сообщение от JuriiMW Посмотреть сообщение
А сначала закрыть файл и только потом показывать, что он записан, не пробовали?
В онлайн компиляторе нельзя, я уже скачал компилятор, в нем все работает.
Короче очередная подделка компилятора паскаля.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
25.07.2024, 11:37
Цитата Сообщение от Werlop Посмотреть сообщение
В онлайн компиляторе нельзя,
Что? Нельзя поменять две строки кода? Не смешите мои тапки!
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
25.07.2024, 22:18  [ТС]
Цитата Сообщение от JuriiMW Посмотреть сообщение
Нельзя поменять две строки кода?
Какие?
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
26.07.2024, 14:35
Цитата Сообщение от Werlop Посмотреть сообщение
Какие?
https://www.cyberforum.ru/post17362004.html
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
26.07.2024, 16:34  [ТС]
Цитата Сообщение от JuriiMW Посмотреть сообщение
https://www.cyberforum.ru/post17362004.html
? Просто сказать не вариант? Я уже скачал нормальный компилятор на пк, забудьте про все это.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
26.07.2024, 17:35
Цитата Сообщение от Werlop Посмотреть сообщение
Просто сказать не вариант?
А я что сделал?
Просто же сказал…
0
2 / 2 / 0
Регистрация: 06.07.2024
Сообщений: 50
26.07.2024, 22:03  [ТС]
Цитата Сообщение от JuriiMW Посмотреть сообщение
Просто же сказал…
Какие именно строки надо заменить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.07.2024, 22:03
Помогаю со студенческими работами здесь

Не сохраняются данные
Сделал пример ввод данных в бд access по ссылке https://youtu.be/Aiu6ncsedx8?t=5m24s, запускаешь программу она вводит данные сохраняет их в...

Не сохраняются данные
Добрый день. Кто сможет подсказать, ситуация следующая: Есть приложение WinForm и бд MySQL, при вводе данных в компонент datagridview и...

Не сохраняются данные БД
Не сохраняются данные в саму базу данных если просто в форме вводить данные и сохранит то о ни буду до тех пор если мы не нажмем кнопку...

Не сохраняются данные в БД
Почему у меня в базу приходят пустые значения ? =( &lt;label&gt;Логин:&lt;/label&gt; &lt;input name=&quot;reg_login&quot;...

Не сохраняются данные
Здравствуйте, это снова я) сама не рада, что опять задаю вопросы, но это в последний раз, обещаю, буду учиться сама Суть вот в чем, есть...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru