Как устранить ошибку компиляции Free Pascal «не распознан» в TFileStream?

Я использую 32-разрядную версию Free Pascal 2.6.4 в Windows 8.1. Я хочу использовать TFileStream для копирования файла.

program copy;

procedure CopyFile (strFilename : string);
var
   SourceF, DestF :  TFileStream;
begin
end;
begin
   writeln('starting ');

end.

Компилятор не распознает TFileStream:

fpc copy_small.pas
Free Pascal Compiler version 2.6.4 [2014/03/06] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling copy_small.pas
copy_small.pas(5,33) Error: Identifier not found "TFileStream"
copy_small.pas(5,33) Error: Error in type definition
copy_small.pas(12) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
Error: C:\FPC\2.6.4\bin\i386-Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)

Пример кода, который я нашел в Интернете с помощью TFileStream, не содержал пункта «использует». Есть ли что-то, что нужно установить в командной строке или включить в программу, чтобы использовать TFileStream с Free Pascal?


person Scooter    schedule 21.09.2014    source источник
comment
@MitchWheat Я думаю, что лучше спросить, почему вас волнует, какие языки программирования используют другие люди. Напоминает мне пользователей iPhone, у которых кружится голова, когда кто-то достает Blackberry.   -  person Scooter    schedule 21.09.2014
comment
@MitchWheat Хорошо, что у нас есть вы, чтобы рассказать нам, какие языки популярны, поэтому нам не нужно гуглить.   -  person Scooter    schedule 21.09.2014
comment
Итак, почему вы используете Паскаль?   -  person Mitch Wheat    schedule 21.09.2014
comment
@MitchWheat В первую очередь ностальгия, поскольку я достаточно взрослый, чтобы баловаться с Turbo Pascal в DOS, но также и потому, что он не в моде, поскольку мне нравятся вещи, вышедшие из моды или непопулярные, а также потому, что он может делать то, что большинство современных языков не могут - создавать исполняемые файлы на трех основных платформах ОС.   -  person Scooter    schedule 21.09.2014
comment
Давайте продолжим обсуждение в чате.   -  person Scooter    schedule 21.09.2014
comment
@Scooter TFileStream живет в модуле Classes, поэтому ответ на ваш вопрос: используйте модуль Classes в своей программе (в разделе uses). @MitchWheat Качество продукта обычно зависит не от языка программирования, а от навыков программиста.   -  person Abelisto    schedule 21.09.2014
comment
@Abelisto Спасибо, это помогло! Вы должны поместить это как ответ, чтобы я мог принять его.   -  person Scooter    schedule 21.09.2014


Ответы (1)


TFileStream живет в модуле Classes, поэтому ваш код должен быть

program copy;

// To use any 'non-system' functionality add necessary units here
uses
  Classes;

procedure CopyFile (strFilename : string);
var
   SourceF, DestF :  TFileStream;
begin
end;
begin
   writeln('starting ');

end.
person Abelisto    schedule 21.09.2014