0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 52
1

Вывод в типизированный файл

23.08.2012, 11:16. Показов 1584. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся с такой проблемой:
Есть некоторая программа, данные считывает из текстового файла, выполняет все необходимые по условию действия и выводит результат в текстовый фаил. Теперь же наобходимо вывести данные в типизированный файл с расширением .dat. Проблема состоит в том что программа ругается на совместимость типов. Так же появляется ошибка "Illegal Writeln statement".
Выложу процедуру, но думаю тут скорее вопрос теоретический.
Delphi
1
2
3
4
5
6
type file1 = record
             catal,name,resol,data: string;
             V: integer;
            end;
     a_mas= array [1..nmax] of file1;
     dfile=file of string;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
Procedure OutputFile (a:a_mas; var f:text; var f1:dfile); //a- массив с данными типа string
var i:integer;
begin
 Assign(f,'C:\Users\1\Documents\Delphi7\Practice\file_output.txt'); rewrite(f);
 Assign(f1,'C:\Users\1\Documents\Delphi7\Practice\file_output.dat'); rewrite(f1);
 For i:=1 to 15 do
  begin
   writeln (f,a[i].catal,'\',a[i].name,'.',a[i].resol,'    ',a[i].V,'    ',a[i].data);//вывод в текстовый файл
   writeln (f1,a[i].catal,'\',a[i].name,'.',a[i].resol,'    ',a[i].V,'    ',a[i].data);//тут появляется ошибка
  end;
 close(f);
 close(f1);
end;
Заранее спасибо за помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2012, 11:16
Ответы с готовыми решениями:

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

Вывод/ввод в типизированный файл
При сохранении в файл из динамической цепочки сохраняются непонятные символы. При этом в консоле...

Типизированный файл
Дан типизированный файл F, элементы которого являются целыми числами, вывести первый и последний...

Типизированный файл
Добрый день! f:file оf integer; Числа Фибоначчи. Нужно создать файл, в котором будут заполнены две...

10
422 / 352 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
23.08.2012, 11:31 2
если память не изменяет, то в тип файлах строка должна быть ограничена catal,name,resol,data: string[255];
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.08.2012, 11:45 3
Delphi
1
dfile=file of file1;
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 52
23.08.2012, 19:07  [ТС] 4
Цитата Сообщение от Puporev Посмотреть сообщение
Delphi
1
dfile=file of file1;
делал в точности как вы говорите, на что компилятор ответил, что 'file1 need finalization- not allowed in file type' после того как установил ограничение string[255]( как сказал Санек25) по прежнему та же ошибка в том же месте.
0
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
23.08.2012, 19:16 5
В типизированный файл данные нужно выводить так:
Delphi
1
2
   With a[i] Do
   writeln (f1,catal,name,resol,data,V);
Попробуй.
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.08.2012, 19:21 6
Одиночка, Вы что? В типизированный файл записей, где компонентой является запись, и вводят саму запись, а не ее поля. Это в текстовый файл вводят поля.
1
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
23.08.2012, 19:23 7
Признаю свою ошибку:
Delphi
1
   writeln (f1,a[i]);
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.08.2012, 19:24 8
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
type file1 = record
             catal,name,resol,data: string;
             V: integer;
            end;
     a_mas= array [1..nmax] of file1;
     dfile=file of file1;
var a:amas;
    f:d_file;
    i:integer;
begin
..........
for i:=1 to n do
write(f,a[i]);//не writeln!
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 52
23.08.2012, 19:46  [ТС] 9
Исправил, говорит 'Incompatible types: 'file1' and 'ShortString''.
Насколько я понимаю это из-за:
Delphi
1
catal,name,resol,data: string[255];
но как только убираю ограничение ругается на то что file1 нуждается в завершении(file1 needs finalizatin...)
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
23.08.2012, 19:55 10
Цитата Сообщение от moon93 Посмотреть сообщение
'Incompatible types: 'file1' and 'ShortString''.
Так где и зачем Вы пересекаете эти 2 разных типа?
И вообще, если не рубите, то не фигов кусочек кода нужно показывать, а весь код, лучше вообще приложить свой кривой проект.

Добавлено через 41 секунду
Вместе с исходным текстовым файлом.
0
422 / 352 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
23.08.2012, 20:22 11
Напечатать все элементы типизированного файла каждая запись которого в архиве пример типе файла
0
23.08.2012, 20:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2012, 20:22
Помогаю со студенческими работами здесь

Типизированный файл
Задание: Даны два файла: справочник и основной. Записи справочника имеют структуру: 1)номер...

типизированный файл
создаю динамический список.он создается только если переменная 'x' будет типа :system.text.А если...

Типизированный файл
Проблема заключается в том, что файл не хочет считываться. Я поставил брейкпойнт, пролистал, файл...

Типизированный файл
Написать программу, в которой из существующего файла целого типа считать все значения между 10-ым...

Вывод в типизированный файл
скажите пожайлуста как из memo вывести данные в файл f:file of real

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


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

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

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