Pascal не работает с файлами

Не считывает данные с внешнего текстового файла

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения

abitura.txt (182 байт, 13 просмотров)

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

Записи/Структуры. Данные считываются из внешнего текстового файла
помогите написать проги по решению этих двух задач)) данные считываются из текстого файла .

Программа не считывает вопросы из текстового файла
не считывает вопросы с файла в чем ошибка?

Программа неверно считывает информацию из текстового файла
вот данные в текстовом файле 23 53.2 ABC 145 Z вот прога для вывода var f: text; n.

В том, что readln(f,prizv); прочитает сразу всю строку, а не только ту ее часть, которую тебе хотелось бы прочитать. И перейдет на новую строку файла. Следующая команда readln(f,s) не прочтет оценку по первому предмету, а прочитает целиком вторую строку. При попытке ее конвертировать в число в переменной Code появляется ненулевое число, что сигнализирует об ошибке, но ты же ас, ошибки не проверяешь, вот и получаешь ноль в поле matan. Дальше продолжать?

Чтобы прочесть фамилию, и потом читать дальше из этой же строки файла, надо описывать prizv не просто как String, а как String[9], потому как у тебя под фамилию везде выделено по 9 позиций. И читать не read ln -ом, а простым read-ом.

Не забываем также о том, что самая первая строка файла не содержит никаких данных, то есть, ее надо пропустить перед началом заполнения массива структур.

В общем, всё считывание с файла никуда не годится, надо переписывать полностью.

Источник

Почему Pascal ABC не читает файлы (программы паскаля ) IDE глючит? Есть альтернатива?

Просто пустой экран!
бывают и другие глюки!
что делать подскажите!

вот содержание start если что:
518032293631035655670615943362859572449385514582569185799208 98307715531153850904
507037637822314925373362576472802628036007871973983553023546 02650197859983665915
025892496045809802699944936263744958686770181417375231607185 52222009411268288635
298884122505011489503122636497217226433898690515689902206524 86253877859457155310
207173150109199251627461853206533227917072674036890469274522 99546659622336457868
174060649433840762184495660046059401547501929959569478378849 96924743382245734767
014775800336086426814156479210201698115894395616931795395830 65900254882019208518
532795163923742353920771005922006552310508086937785568785168 92309262990323126851
781475378671416850932088812275266511192389421880737591969256 30024149946676536569
215386756518360781804902618256946631574839243821674575531267 84995727392160746698
866814700092079992855576428680653781718102639018075373329939 50193492981847538474
106152894527885906940891568979442875303169736396262152430458 39251859105037800651
726162893449547772178942028743248310208996565648013847377404 30502902264741823864
707304009427946815465253664291398662320780283779591849855463 08181393845946759799
947904587068567084607311413723585746118781577738876508152558 07645827119668158437
859460765935696151284667799165671705817415127396200725218166 15992539902437784494
029659564866413562920061763474742268634296413691322246395788 50900231449276236571
620525959728557974013878204849299723038437272062936246884121 11194388339455855962
328130538388163163291896416882355988295475994029268277053262 36450321848688158913
976140879250330103908107714865730326921955259834794400576942 69035299042829529589
791702398590883658068442762152710447833289145193587141034893 92458893368148782075
795756794129302655662599057632041460670110923874513730319569 90510889410854516661
720283000411002047240893141941529416033687990984157841193614 21589815969145629032
667946883133183610027254553849023975364203273695200890441248 39341092172568139719
676481224341259198636644752190431415296977782120803117393262 90338107338027598615

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Нужно перевести из турбо паскаля — Pascal ABC
uses graph; var mx,my:real; x0,y0,grD,grM,i,k:integer; s:string; begin grD:=detect;.

Перенести код из Турбо-Паскаля в Pascal ABC
Нужно переделать программу,написанную на Turbo Pascal в ту,чтобы работала на Pascal ABC. Помогите.

Перевод программы с Turbo Pascal на Pascal ABC.NET
написала программу в паскаль турбо на рабочем компьютере. перенесла в паскаль авсNet так как дома.

Читайте также:  Сценарии алисы не работаю

Скажите есть ли в с++ альтернатива оператору case в pascal
Скажите есть ли в с++ альтернатива case как в паскале

Источник

Работа с файлом | Проблема в записи значения в переменную

Здравствуйте, требуется помощь. Работа с файлом. Составил код, от меня требуется выдать список пассажиров с минимальной стоимостью билетов. Я хочу присвоить переменной min — путем чтения файла, минимальное значение из файла, посредством цикла. И после, если min = T.price (Цена за билет), то выводится T.fio (ФИО пассажира). Проблема у меня в том, что переменная (min) не запоминает своё значение. И выдаёт 0, если просить распечатать min в конце программы (для проверки).

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Работа с файлом: считать часть строки в переменную
Если у меня в файле записана такая информация: // Твоя оценка: 5 // И мне нужно считать эту.

Работа с текстовым файлом (название файлы через переменную)
доброго времяни суток,подскажите хочу ввести в кансоль переменную типа строка,а затем создать и.

Записи и работа с файлом
Известны фамилии, адреса и телефоны 25 человек. Найти фамилии и адреса людей, чей телефон.

Работа с текстовым файлом! Проблема.
Всем привет! Совсем недавно начал изучение C++. Проблема: Хочу занести текст в текстовый файл.

и перед этим циклом тоже нужно сделать reset(fticket);
у Puporev он наверняка есть в коде, а у to_be_peace_da — нет.

Добавлено через 2 минуты

Благодарю всех за помощь, работает, спасибо.

Добавлено через 14 минут
Сейчас доделывал работу и появилась проблема. Я прошу ввести ФИО человека, но программа этого не делает, и заканчивает работу.

Работа с txt файлом: выбор записи
Как из txt файла выбрать определенные записи?

Описать файловую переменную f для работы с текстовым файлом abc.txt и открыть этот файл для записи
Описать на Паскале файловую переменную f для работы с текстовым файлом abc.txt и открыть этот файл.

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

Работа с файлом — переменная в коде не меняет своего значения
Добрый день! Помогите пожалуйста с программой. В данной процедуре, программа открывает файл для.

Работа с типизированным файлом: запись Шестнадцатеричного значения из Edit1 в файл
Здравствуйте ! надеюсь на помощь профи. Суть проблемы такая: задание было написать программу.

GUI Работа с текстовым файлом, лог файлом не мешая системе
Хочу написать прогу которая будет по таймеру искать в тхт — лог файле сообщение об ошибке. Например.

Источник

File Handling In Pascal/ru

Contents

Введение

Каждый программист должен знать, как работать с файлами. Файлы используются для сохранения данных, т. е. в качестве хранилища данных, таким образом, что они могут быть получены в любой момент, без их воссоздания. Файлы можно использовать для сохранения пользовательских настроек, журналов ошибок, измерение или вычисление результатов, и многое другое. В данном разделе описываются основы использования файлов.

Процедурный стиль

Это довольно старый стиль, использующейся ещё во времена, когда Pascal не был объектно-ориентированным языком. Суть его в том, что задается тип файла, определяющий, какие будут храниться в нем данные. Для этого, используется конструкция вида: file of , где — название типа, который хранит в себе файл. Помимо стандартных типов (integer, extended, char и т.д.), существует особый тип — TextFile. Он определят, что каждая строка заканчивается специальным(ми) символом(ами) конца строки (См. LineEnding). Эти файлы могут быть открыты и отредактированы внутри среды Lazarus или в любом другом текстовом редакторе.

Читайте также:  Заз сенс не работают поворотники

Ниже представлены примеры создания собственных типов файлов:

Обработка ошибок ввода/вывода

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

Это задаётся с помощью специальной директивы компилятора:

В случаи подавления ошибок ввода-вывода (<$I->) результат операции с файлом будет храниться в переменной IOResult типа cardinal (числовой тип). Каждое число, хранимое в IOResult определяет тип возникшей ошибки(подробнее: [1]).

Процедуры работы с файлами

Эти процедуры и функции находятся в модуле system. Для более подробной информации смотрите документацию FPC:

  • AssignFile (не допускайте использование процедуры Assign) — Связывает переменную с файлом
  • Append — Открывает существующий файл для записи данных в конец и их редактирования
  • BlockRead — Чтение данных из не типизированного файла в память
  • BlockWrite — Запись данных из памяти в не типизированный файл
  • CloseFile (не допускайте использование процедуры Close) — Закрыть открытый файл
  • EOF — Проверка наличия конца файла
  • Erase — Стереть файл с диска
  • FilePos — Получить позицию в файле
  • FileSize — Получить размер файла
  • Flush — Записать файловый буфер на диск
  • IOResult — Возвращает результат последней операции ввода\вывода
  • Read — Считать из текстового файла
  • ReadLn — Считать из текстового файла и перейти к следующей строке
  • Reset — Открыть файл для чтения
  • Rewrite — Создать и открыть файл для записи
  • Seek — Изменить позицию в файле
  • SeekEOF — Переместить позицию в файле в его конец
  • SeekEOLn — Переместить позицию в файле в конец строки
  • Truncate — Удалить все данные, после текущей позиции
  • Write — Записать переменную в файл
  • WriteLn — Записать переменную в текстовый файл и перейти к новой строке

Пример

Пример работы с текстовым файлом (тип TextFile):

Теперь откройте файл в любом текстовом редакторе и вы увидите, что пример текста, записан в нем! Вы можете проверить работу обработки ошибок, установив атрибут файла «только для чтения» и снова запустив программу.

Обратите внимание, что в примере используется блок try/except. Данный способ позволяет выполнять несколько операций с файлами и использовать обработку исключений. Вы также можете использовать режим <$I->, но тогда вам придется проверять переменную IOResult после каждой операции с файлами для контроля ошибок.

Ниже приведен пример записи текста в конец файла:

Чтение текстового файла:

Объектный стиль

В дополнение к старому методу обработки файлов, упомянутому выше процедурному стилю, существует новая система, которая использует концепции потоков (данных) на более высоком уровне абстракции. Это означает, что данные могут считываться или записываться в любом месте (диск, память, аппаратные порты и т. д.) через один универсальный интерфейс.

Кроме того, большинство классов обработки строк, могут иметь возможность загружать/сохранять содержимое из/в файл. Эти методы обычно называются SaveToFile и LoadFromFile.

Читайте также:  Не могу форматировать флешку не работает

Двоичные файлы

Для прямого доступа к файлам, так же удобно использовать класс TFileStream. Этот класс представляет собой инкапсуляцию системных процедур FileOpen, FileCreate, FileRead, FileWrite, FileSeek и FileClose, расположенных в модуле SysUtils.

В приведенном ниже примере обратите внимание, что обработка действий с файлом, расположена внутри блока try..except. Поэтому обработка ошибок происходит так же, как в случаи использования процедур работы с файлами в классическом Pascal.

Вы так же можете загрузить весь файл в память, если его размер существенно меньше, чем имеющийся системной памяти. Если файл превышает размер системной памяти, то ваша операционная система начнет использовать файл подкачки, снижая скорость работы с файлом.

Для работы с файлами большого объёма, рекомендуется использовать буфер, например в 4096 байт.

Копирование файла

Теперь,зная методы работы с файлами, мы можем реализовать простую функцию копирования файла, скажем FileCopy.(такой функции нет в FreePascal, хотя Lazarus её имеет copyfile):

Обработка текстовых файлов (TStringList)

Для текстовых файлов можно использовать класс TStringList, чтобы загрузить весь файл в память и иметь легкий доступ к его строкам. Вы также можете записать StringList обратно в файл:

Демо: сохранить одну строку в файл

Для того, чтобы сохранить одну строку в файл, вы можете воспользоваться процедурой, описанной ниже.

Источник

Pascal: Занятие № 12 Часть1. Работа с файлами в паскале (текстовые файлы)

Работа с файлами в паскале

Виды файлов в зависимости от их описания и режимом работы

  1. текстовые (тип text) файлы со строками неопределенной длины;
  2. файлы с типом записей (двоичные или типизированные (file of) );
  3. файлы без типа для передачи данных блоками записей нетипизированные (file).

Описание файловых переменных:

Для связи файла в коде программы и действительного файла на внешнем носителе используется процедура ASSIGN :

где myfile — имя переменной (объявленной ранее в области var ), ассоциированной с файлом
c:\text.txt — путь к реальному файлу
Первый аргумент процедуры assign в паскаль — переменная, второй – путь к файлу на диске.

Текстовые файлы в паскале: процедуры работы

Текстовый файл в Паскале — это совокупность строк произвольной длины, которые разделены между собой метками конца строки, а весь файл заканчивается меткой конца файла.

Возможные расширения файлов:
*.txt, *.log,
*.htm, *.html

Метод работы с текстовым файлом в Паскале предусматривает лишь последовательный доступ к каждой строке файла. Это означает, что начинать всегда возможно только с первой строки, затем проходя по каждой строке, дойти постепенно до необходимой. Т.е. можно сказать, что чтение (или запись) из файла (в файл) ведутся байт за байтом от начала к концу.

Предусмотрены два режима работы: режим для записи в файл информации и для чтения ее из файла. Одновременная запись и чтение запрещены.

Открытие файла

Допустим, мы в программе описали переменную для работы с текстовым файлом:

Рассмотрим дальнейшую последовательность работы с ним, и рассмотрим процедуры, необходимые для работы с текстовым файлом в Паскале:

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

процедура открытия создаваемого файла для записи в него информации; если файл с таким именем уже существует, то информация в нем стирается:

Источник

Оцените статью