Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 30
1

Файлы: запись/чтение

30.04.2010, 02:12. Показов 634. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер.
Итак, записали какие-то данные в СтрингГрид (в моём случае это 3 поля: код, имя, адрес). Теперь надо эти данные записать в файл, а при следующем открытии программы нужно вывести данные этого файла обратно в СтрингГрид (прочитать как я понимаю). Программа работать не хочет, может быть кто-то сможет помочь разобраться:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
type
  TRec1 = record
     CusCode : integer;
     Name: string[20];
     Address: string[30];
  end;
 
var
  Form1: TForm1;
  F1: file of Trec1;
 
//Чтение 
procedure ReadRec1;
var R1:TRec1;
    i:integer;
begin
  AssignFile(F1,'File1.dat');
  Reset(F1);
  while not EOF(F1) do
    begin
      Read(F1,R1);
      for i:=1 to Form1.StringGrid1.RowCount-1 do
        begin
          Form1.StringGrid1.Cells[0,i]:=IntToStr(R1.CusCode);
          Form1.StringGrid1.Cells[1,i]:=R1.Name;
          Form1.StringGrid1.Cells[2,i]:=R1.Address;
        end;
    end;
  CloseFile(F1);
end;
 
//Запись
procedure WriteRec1;
var R1:TRec1; 
    i:integer;
begin
  AssignFile(F1,'File1.dat');
  ReWrite(F1);
  for i:=1 to Form1.StringGrid1.RowCount-1 do
    begin
      R1.CusCode:=StrToInt(Form1.StringGrid1.Cells[0,i]);
      R1.Name:=Form1.StringGrid1.Cells[1,i];
      R1.Address:=Form1.StringGrid1.Cells[2,i];
      Write(F1,R1);
    end;
  CloseFile(F1);
end;
 
procedure TForm1.ToolButton7Click(Sender: TObject);
begin
  WriteRec1;
  ShowMessage('Done');
end;
 
procedure TForm1.ToolButton9Click(Sender: TObject);
begin
  ReadRec1;
end;
Может быть процедура чтения написана правильно, но её я проверить не могу, т.к ошикба возникает уже при нажатии кнопки Button7, которая вызывает процедуру записи в файл.
Ошибка такая:
http://816-club.net/mypics/6377/1_1272573378.jpg

Хелп плз

Добавлено через 1 час 28 минут
Извиняюсь, но проблему решил, в файл не записывалось из-за того, что когда я добавлял записи в СтрингГрид, я в конце делал добавление новой строки, таким образом последняя строка СтринГрида всегда оставалсь пустой, из-за этого и возникала ошибка при записи.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2010, 02:12
Ответы с готовыми решениями:

Запись, Сохранение и Чтение пути к БД Access в файл txt Delphi 7
P.S. После перемещения файла базы Access, при запуске проекта выбивает ошибку о том что программа...

Запись, Сохранение и Чтение пути к БД Access в файл txt Delphi 7
P.S. После перемещения файла базы Access, при запуске проекта выбивает ошибку о том что программа...

Чтение\запись в файл структуру
есть код: type Files = record qu, answ: string; end; TFile = ^Files;...

Критические секции и запись/чтение из файла
Приветствую! Работая с COM-портом как с файлом, подумал, что неплохо бы было присобачить к нему...

0
30.04.2010, 02:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2010, 02:12
Помогаю со студенческими работами здесь

Com port - чтение и запись: Как обратиться именно в 4 бит 3-го байта
Доброго времени суток. Нужен совет по работе с Сом портом в асинхронном режиме. Суть задачи такая,...

[Файлы] Запись-чтение-запись. Почему не прокатывает?
Сначала записываю в файл "а" запись "makulatura", потом читаю ее в строку h. Все ок. Но потом когда...

Чтение и запись в файлы
Пусть файл с произвольным именем содержит 10 целых чисел. Написать программу fileprocessor,...

Чтение и запись в файлы
Нашел вот такую статью https://metanit.com/java/android/13.1.php. Мне нужно открыть и отпарсить...


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

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