Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
vihac
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 10
1

Сохранение таблицы в файл и её открытие

23.12.2012, 17:30. Просмотров 1007. Ответов 3
Метки нет (Все метки)

Нашёл код для Delphi для сохранения таблицы, преобразовал в Lazarus, но когда сохраняю, пишет ошибку на строке IOResult=0
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.MenuItem6Click(Sender: TObject);
 
var F:TextFile; i:integer; s,s1,s2:string;
begin
with Savedialog1 do if execute then
begin
form1.Caption:=ExtractFileName(Savedialog1.FileName);
AssignFile(F,Savedialog1.FileName+'.ngv');
Rewrite(F);
if IOResult=0 then
begin
for i:=1 to stringgrid1.RowCount-1 do
begin
s1:=stringgrid1.Cells[0,i];
s2:=stringgrid1.Cells[1,i];
s:=s1+' '+s2;
Writeln(F,s);
end;
CloseFile(F);
end;
end;
End;
Кто-нибудь поможет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2012, 17:30
Ответы с готовыми решениями:

Сохранение таблицы в файл
Доброго времени суток! Есть таблица, в есть как строчные данные,так и...

Сохранение и открытие прогресса формы!
Помогите поправить код. Сохраняю прогресс формы, используя savedialog в...

Открытие форм в зависимости от имени таблицы
Здравствуйте люди добрые! Возникла вот какая необходимость. Нужно на кнопку...

Сохранение таблицы с выбором пути
Нужно сохранить данные таблицы с выбором пути сохранения: SD.Title:=...

Сохранение таблицы StringGrid вместе с объектами
Доброго времени суток. Есть StringGrid с закрашенными ячейками. Как сохранить...

3
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26122 / 17517 / 6948
Регистрация: 22.10.2011
Сообщений: 30,855
Записей в блоге: 6
24.12.2012, 00:37 2
Для того, чтобы код ошибки передавался через IOResult, а программа не вылетала, надо отключить обработку ошибок ввода/вывода (через {$I-}) перед вызовом критической операции, и вернуть сразу после неё (в данном случае IOResult вообще не нужен, потому как Rewrite просто пересоздаст файл). Обычно IOResult-ом пользуются в связке Reset/Rewrite, то есть, если Reset выдал ошибку - файла нет - то вызывается Rewrite.
0
Kitayets
338 / 292 / 103
Регистрация: 09.09.2011
Сообщений: 1,041
26.12.2012, 15:25 3
При использовании classes, IOResult вообще не используется, вместо доступа к ошибкам ввода/вывода через переменную IOResult бросаются исключения. Методологически правильно вместо проверки IOResults при открытии файла заключать весь блок работы с файлом в
Delphi
1
2
3
4
 try
  //тут работаем с файлом
 except
  // тут обрабатываем ошибки
и вообще в object free pascal для ввода вывода правильно использовать потоки наследники от TStream, а все эти assign и rewrite и т.д. оставлены для совместимости с turbo/ansi pascal.

http://www.gunsmoker.ru/2011/08/blog-post.html
начиная с пункта потоки данных.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26122 / 17517 / 6948
Регистрация: 22.10.2011
Сообщений: 30,855
Записей в блоге: 6
26.12.2012, 18:23 4
Цитата Сообщение от Kitayets Посмотреть сообщение
При использовании classes, IOResult вообще не используется, вместо доступа к ошибкам ввода/вывода через переменную IOResult бросаются исключения.
Какой хочется - тот и используется. Не нужно выдавать своё мнение за единственную и непреложную истину.

Точно так же, как не надо никому никогда указывать, что и как делать. Иначе тебе обязательно скажут, куда тебе надо пойти... Хочет человек использовать легкие вызовы IOResult - да на здоровье, они как работали в Турбо-Паскале, так и еще 100 лет будут работать (в отличие от всяких наворотов). Надежно и проверено временем.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 18:23

Сохранение в файл
Запросить температуру, артериальное давление пользователя и день прохождения....

Сохранение в файл
Привет. Задача следующая сохранить дату первого запуска в файл, но так чтобы...

Сохранение в файл
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru