Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
5 / 5 / 2
Регистрация: 27.08.2011
Сообщений: 75

Не могу найти ошибку: процедура считывает только последнюю запись в файле

07.12.2011, 08:02. Показов 720. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
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
procedure TfrmMain.LoadPersonalInfo;
var
  i: Integer;
  Data: array of TRecordPersona;
  FileOFPersonal: file of TRecordPersona;
  Persona: TRecordPersona;
 
const
  FName: String = 'personal.tbl';
 
begin
 
  i:=1;
 
  if not (FileExists(FName)) then
    begin
      AssignFile(FileOFPersonal, FName);
      Rewrite(FileOFPersonal);
      CloseFile(FileOFPersonal);
    end;
 
  AssignFile(FileOFPersonal, FName);
  Reset(FileOFPersonal);
 
  while not (Eof(FileOFPersonal)) do
    begin
      SetLength(Data, i);
      Read(FileOFPersonal, Persona);
      Data[i-1]:=Persona;
      Inc(i);
    end;
 
  for i:=0 to High(Data) do
    begin
      with Data[i] do
        begin
          sgOtpusk.RowCount:=sgOtpusk.RowCount+1;
          sgOtpusk.Cells[0, i+1]:=Persona.FIO;
          sgOtpusk.Cells[1, i+1]:=Persona.Mestonahozhdeniya;
          sgOtpusk.Cells[2, i+1]:=DateToStr(Persona.DateBegin);
          sgOtpusk.Cells[3, i+1]:=DateToStr(Persona.DateEnd);
        end;
    end;
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2011, 08:02
Ответы с готовыми решениями:

Не работает процедура. Не могу найти ошибку в коде
procedure DeleteGroup; var groupname:string; begin countGroup:=0; assign(fg,'C:\Laba\fNU.dat'); reset(fg); ...

Неожиданное поведение программы: std::getline считывает строку только раз и на этом программа завершается (найти ошибку)
Строку считывает только раз и на этом программа завершается Code::blocks 17.12 #include <iostream> #include <string> ...

Тип запись. не могу найти ошибку
у меня такая проблема...я не могу найти ошибку в своем коде.во время компиляции мне говорят что ожидается begin хотя вроде все на...

1
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
07.12.2011, 09:19
Надо заменить:
Delphi
1
2
3
4
5
6
7
8
      with Data[i] do
        begin
          sgOtpusk.RowCount:=sgOtpusk.RowCount+1;
          sgOtpusk.Cells[0, i+1]:=Persona.FIO;
          sgOtpusk.Cells[1, i+1]:=Persona.Mestonahozhdeniya;
          sgOtpusk.Cells[2, i+1]:=DateToStr(Persona.DateBegin);
          sgOtpusk.Cells[3, i+1]:=DateToStr(Persona.DateEnd);
        end;
на:
Delphi
1
2
3
4
5
6
7
8
      with Data[i] do
        begin
          sgOtpusk.RowCount:=sgOtpusk.RowCount+1;
          sgOtpusk.Cells[0, i+1]:= FIO;
          sgOtpusk.Cells[1, i+1]:= Mestonahozhdeniya;
          sgOtpusk.Cells[2, i+1]:=DateToStr(DateBegin);
          sgOtpusk.Cells[3, i+1]:=DateToStr(DateEnd);
        end;
Кроме этого, этот код:
Delphi
1
2
3
4
5
6
7
8
9
  i := 1;
  Reset(FileOFPersonal);
  while not (Eof(FileOFPersonal)) do
    begin
      SetLength(Data, i);
      Read(FileOFPersonal, Persona);
      Data[i-1]:=Persona;
      Inc(i);
    end;
можно заменить на такой:
Delphi
1
2
3
4
5
6
7
  Reset(FileOFPersonal);
  SetLength(Data, FileSize(FileOFPersonal));
  i := 0;
  while not Eof(FileOFPersonal) do begin
    Read(FileOFPersonal, Data[i]);
    Inc(i);
  end;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2011, 09:19
Помогаю со студенческими работами здесь

Не могу найти ошибку. Запись/чтение из файла
Простите за довольно таки большой код, но обратиться больше некуда. Урезать не получилось, постараюсь на словах дать общую концепцию: ...

Редактировать только последнюю запись
Посоветуйте, пожалуйста,как в ленточной форме разрешить редактирование только последней записи.

UPDATE изменяет только последнюю запись
Сюда выводятся сообщения из БД по порядку и под каждым отдельная кнопка "Изменить" <?php include ("php/bd.php"); //...

Подскажите, почему выводит только последнюю запись
$query = mysql_query("SELECT * FROM `kategorii`"); while ($line = mysql_fetch_array($query)) { $arr = array...

В цикле foreach получаю только последнюю запись массива
Все добрый день. Я использую следующий код для вывода объектов с массивом значений. Всё работает почти правильно, но в последнем цикле я...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru