Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
 Аватар для LeDep
74 / 74 / 44
Регистрация: 12.02.2011
Сообщений: 380

Удалить запись из типизированного файла

02.06.2011, 17:07. Показов 1937. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите написать процедуру удаления записи.
вот код нуждающийся в процедуре удаления. подскажите пожалуйста

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
program zapis;
uses crt;
type tip=(int,offline);
type th=record
  nfirm:string;
  pol:string;
  cost:integer;
  vremya:integer;
  case t:tip of
  offline:(power:0..1500);
  int: ( time:5..15);
  {int: ( power:0..4000; time:2..6);}
  end;
var a:array[1..10]of th;
   q,j,i,n,c:integer;
    e:th;
   t:tip;
   f:file of th;
   key,ibp,l:integer;
 
  procedure vfile;
   begin
    assign(f,'f:\rzror');
    rewrite(f);
    for i:=1 to n do
     begin
      write(f,a[i]);
     end;
    writeln('vvod v file vipolnen');
    readln;
    close(f);
   end;
   procedure izfile;
    begin
     clrscr;
     assign(f,'f:\rzror.txt');
{$I-}reset(f); {$I+}
     i:=0;
     while not eof(f) do
      begin
       i:=i+1;
       read(f,a[i]);
       write(a[i].nfirm);
       write(a[i].cost);
       write(a[i].vremya);
       writeln;
      end;
      close(f);
      readln;
   end;
   procedure klava;
    begin
     writeln('vvedite kol-vo firm');
     readln(n);
     if (n<0) or (n>10) then writeln('error')
     else
      begin
      for i:=1 to n do
       begin
        writeln('Viberite tip ibp ');
        writeln('1:off-line');
        writeln('2:line-interactive');
        readln(l);
        case l  of
        1: a[i].t:=offline;
        2: a[i].t:=int;
        end;
        case a[i].t of
        offline:
         begin
          writeln('vvedite moshnost ');
          readln(a[i].power);
         end;
        int:
         begin
          writeln('vvedite vremya perehoda');
          readln(a[i].time);
         end;
       end;
      write('vvedite imya firmi: ');
      readln(a[i].nfirm);
      write('vvedite stoimost: ');
      readln(a[i].cost);
      write('vvedite vremya  raboti pri otklu4enii pitaniyaÿ: ');
      readln(a[i].vremya);
    end;
  end;
end;
 
    procedure sort;
      begin
        for i:=1 to n do
         for j:=1 to n-1 do
         if a[j].nfirm>a[j+1].nfirm then
         begin
          e:=a[j];
          a[j]:=a[j+1];
          a[j+1]:=e;
 
 
         end;
         writeln('sort_completed');
         readln
    end;
    procedure vivodekr;
     begin
     for i:=1 to n do
     if (a[i].nfirm[1]='u') or (a[i].nfirm[1]='U') then
      begin
       writeln('***********');
       writeln('BblBoD:');
       if a[i].t=offline then writeln('tip ibp OFFLINE');
       if a[i].t=int then writeln('tip ibp INTERAKTIV');
       if a[i].t=offline then writeln('moshnost:',a[i].power);
       if a[i].t=int then writeln('vremya:',a[i].time);
       writeln('imya firmi : ', a[i].nfirm);
       writeln('stoimost: ', a[i].cost);
       writeln('Vremya raboti pri otklu4enii pitaniya :', a[i].vremya);
       writeln;
      end;
       writeln('programa zavershena nazmite ENTER');
       readln;
    end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2011, 17:07
Ответы с готовыми решениями:

Запись и вывод данных в/из типизированного файла
Доброго времени суток! Необходима помощь: нужно организовать ввод данных в типизированный файл (.dat ) с возможность вывода их ( данных )...

Запись в типизированный файл, чтение из типизированного файла
Дан файл, элементами которого являются целые числа. Вычислите среднее арифметическое чисел, находящихся в файле.

Чтение и запись из типизированного файла
У меня такая проблема не записывается и не читается из типизированного файла. Uses Objects,App,Menus,Drivers,Views,MsgBox,Dialogs; ...

4
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.06.2011, 17:46
Вот отрывок из программы.

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
{будем удалять записи}
reset(f);
k:=0;i:=0;
while i<=filesize(f)-2-k do{последнюю пока не проверяем, выйдем за файл}
 begin
  seek(f,i);
  read(f,z);
  if z.naz='Информатика' then
   begin
    k:=k+1; {считаем}
    for j:=i to filesize(f)-2 do{идем вперед}
     begin
      seek(f,j+1);{переставляем - сдвигаем - записи вверх на 1}
      read(f,b);
      seek(f,j);
      write(f,b);
     end
   end
  else i:=i+1;{если нет вперед}
 end;
seek(f,filesize(f)-1-k);{проверяем последнюю, она сдвинулась на к вверх}
read(f,z);
if z.naz='Информатика' then k:=k+1;
seek(f,filesize(f)-k);{встаем в последнюю не удаленную запись}
truncate(f);{обрезаем файл}
close(f);
1
 Аватар для LeDep
74 / 74 / 44
Регистрация: 12.02.2011
Сообщений: 380
02.06.2011, 19:06  [ТС]
а этот метод звучит как ? Сдвиг элементов массива ?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.06.2011, 19:18
Да, только не массива а типизированного файла, суть та же, реализация другая.
1
 Аватар для LeDep
74 / 74 / 44
Регистрация: 12.02.2011
Сообщений: 380
02.06.2011, 19:42  [ТС]
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2011, 19:42
Помогаю со студенческими работами здесь

Удалить элементы из типизированного файла
Составить программы, с помощью которых: - сформировать файл из целых чисел, которые должны быть введены с клавиатуры; - исключить из...

Удалить все нули из типизированного файла
Дан типизированный файл, содержащий целые числа. Удалить все нули из файла.

Перевести запись из типизированного файла в массив записей
Написать фрагмент программы, который переводит запись из типизированного файла в массив записей.

Удалить из типизированного файла все отрицательные числа
Дан файл целых чисел. Удалить из него все отрицательные числа.

Запись целых чисел из одного типизированного файла в другой. Возникла ошибка
Не могу переписать введенные с клавиатуры числа из одного типизированного файла в другой. Вот код: {1} Program Fil_chisel;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru