2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Не создается типизированный файл записей. Pascal.
Сообщение25.04.2022, 21:45 


24/01/22
61
код: [ скачать ] [ спрятать ]
Используется синтаксис Pascal
interface
  type
    Data = record
      group: integer;
      FirstName: string;
      LastName: string;
      MiddleName: string;
      BirthYear: integer;
      sex: set of (м, ж);
      Physics: set of 0..5;
      Maths: set of 0..5;
      Informatics: set of 0..5;
      Scholarship: integer;
    end;
    cookie = file of Data;
   
  procedure TextFileToTypeFile(TextFile, TypeFile: string);

implementation
  procedure TextFileToTypeFile(TextFile, TypeFile: string);
  var
    f1: text;
    f2: cookie;
    t: Data;
  begin
    assign(f1, TextFile);
    assign(f2, TypeFile);
 


-- 25.04.2022, 21:46 --

Пишет: "Типизированый файл не может содержать элементы такого типа".

 Профиль  
                  
 
 Re: Не создается типизированный файл записей. Pascal.
Сообщение25.04.2022, 21:57 
Заслуженный участник


20/08/14
10902
Россия, Москва
Вы уверены что типизированный файл может содержать записи переменной длины? А тип string является переменным по размеру. Сделайте все строки фиксированной длины (и меньшей 256 ибо длиннее их не бывает, во всяком случае в паскале/дельфи) и возможно прокатит.

 Профиль  
                  
 
 Re: Не создается типизированный файл записей. Pascal.
Сообщение25.04.2022, 22:05 


24/01/22
61
Помогло, спасибо

 Профиль  
                  
 
 Re: Не создается типизированный файл записей. Pascal.
Сообщение26.04.2022, 08:11 
Аватара пользователя


28/10/21
99
XeuTeP_KoLLIu в сообщении #1553424 писал(а):
Пишет: "Типизированый файл не может содержать элементы такого типа".


Нужно писать, что за реализацию "Паскаля" вы используете. В "классическом" Борланде string было синонимом string[255] и никаких проблем с использованием такой записи в типизированном файле вы бы не имели. Однако ваш Паскаль, очевидно, интерпретирует string по-другому.

В FreePascal, например, интерпретация string зависит от настроек компилятора. В режиме H- она будет синонимом shortstring и никаких проблем с использованием такой записи в типизированном файле не будет. В режиме H+ же string обозначает совсем другое. В этом режиме следует явно в такой записи писать shortstring, если это то, что вы хотели получить.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group