Directory c:\TZ has been used for getting directory lists and
compilation output lists , used for editing .
The initial files are the following :
-----------------------------------------------------------
File Name : \TZ\Dir-List-TS-1.TXT
Volume in drive C has no label.
Volume Serial Number is 6CC1-77E2
Directory of C:\ts
12/12/2009 01:32 AM
.
12/12/2009 01:32 AM ..
12/12/2009 03:01 AM Source
12/12/2009 03:01 AM Typing
12/12/2009 03:01 AM Units
0 File(s) 0 bytes
Directory of C:\ts\Source
12/12/2009 03:01 AM .
12/12/2009 03:01 AM ..
12/12/2009 02:56 AM 355 PROCPART.PAS
1 File(s) 355 bytes
Directory of C:\ts\Typing
12/12/2009 03:01 AM .
12/12/2009 03:01 AM ..
12/12/2009 02:56 AM 217 A-RECORD-TYPE.PAS
1 File(s) 217 bytes
Directory of C:\ts\Units
12/12/2009 03:01 AM .
12/12/2009 03:01 AM ..
12/12/2009 02:30 AM 199 PROCUNIT.PAS
12/12/2009 02:31 AM 148 TYPEUNIT.PAS
2 File(s) 347 bytes
Total Files Listed:
4 File(s) 919 bytes
11 Dir(s) 13,850,845,184 bytes free
-----------------------------------------------------------
File Name : \TZ\Dir-List-TW-1.TXT
Volume in drive C has no label.
Volume Serial Number is 6CC1-77E2
Directory of C:\tw
12/12/2009 01:09 AM .
12/12/2009 01:09 AM ..
12/12/2009 03:01 AM Progs
0 File(s) 0 bytes
Directory of C:\tw\Progs
12/12/2009 03:01 AM .
12/12/2009 03:01 AM ..
12/12/2009 02:54 AM 6,463 FPC.CFG
12/12/2009 02:31 AM 152 TEST-RECORD-TYPE.PAS
12/12/2009 12:51 AM 48 X-FPC.BAT
3 File(s) 6,663 bytes
Total Files Listed:
3 File(s) 6,663 bytes
5 Dir(s) 13,850,845,184 bytes free
-----------------------------------------------------------
{ File Name : \TS\Typing\A-Record-Type.PAS }
Type Values = record
A : Integer ;
B : Real ;
{
X : Integer ;
Y : Boolean ;
}
End ;
-----------------------------------------------------------
{ File Name : \TS\Source\ProcPart.PAS }
Procedure Assign_a_Value ;
Var V : TypeUnit . Values ;
Begin
V . A := 1 ;
V . B := 1.0 ;
{
V . X := 5 ;
V . Y := True ;
}
Writeln ( 'V . A = ' , V . A ) ;
Writeln ( 'V . B = ' , V . B ) ;
{
Writeln ( 'V . X = ' , V . X ) ;
Writeln ( 'V . Y = ' , V . Y ) ;
}
End ;
-----------------------------------------------------------
{ File Name : \TS\Units\ProcUnit.PAS }
Unit ProcUnit ;
Interface
Uses
TypeUnit ;
Procedure Assign_a_Value ;
Implementation
{$I \TS\Source\ProcPart.PAS }
End .
-----------------------------------------------------------
{ File Name : \TS\Units\TypeUnit.PAS }
Unit TypeUnit ;
Interface
{$I \TS\Typing\A-Record-Type.PAS }
Implementation
End .
-----------------------------------------------------------
{ File Name : \TW\Progs\Test-Record-Type.PAS }
Program Test_Record_Type ;
Uses
ProcUnit ;
Begin
Assign_a_Value ;
End .
-----------------------------------------------------------
# { File Name : \TW\Progs\FPC.CFG }
#
# Config file generated by fpcmkcfg on 5/16/2009 - 18:35:37
# Example fpc.cfg for Free Pascal Compiler
#
# ----------------------
# Defines (preprocessor)
# ----------------------
#
# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
#
# -d is the same as #DEFINE
# -u is the same as #UNDEF
#
#
# Some examples (for switches see below, and the -? helppages)
#
# Try compiling with the -dRELEASE or -dDEBUG on the commandline
#
-dRELEASE
# For a release compile with optimizes and strip debuginfo
#IFDEF RELEASE
-O2
-Xs
#WRITE Compiling Release Version
#ENDIF
# For a debug version compile with debuginfo and all codegeneration checks on
#IFDEF DEBUG
-glh
-Crtoi
#WRITE Compiling Debug Version
#ENDIF
# ----------------
# Parsing switches
# ----------------
# Pascal language mode
# -Mfpc free pascal dialect (default)
# -Mobjfpc switch some Delphi 2 extensions on
# -Mdelphi tries to be Delphi compatible
# -Mtp tries to be TP/BP 7.0 compatible
# -Mgpc tries to be gpc compatible
# -Mmacpas tries to be compatible to the macintosh pascal dialects
#
# Turn on Object Pascal extensions by default
#-Mobjfpc
-Mdelphi
# Assembler reader mode
# -Rdefault use default assembler
# -Ratt read AT&T style assembler
# -Rintel read Intel style assembler
#
# All assembler blocks are AT&T styled by default
#-Ratt
# Semantic checking
# -S2 same as -Mobjfpc
# -Sc supports operators like C (*=,+=,/= and -=)
# -Sa include assertion code.
# -Sd same as -Mdelphi
# -Se compiler stops after the errors (default is 1)
# -Sg allow LABEL and GOTO
# -Sh Use ansistrings
# -Si support C++ styled INLINE
# -SI set interface style to
# -SIcomCOM compatible interface (default)
# -SIcorbaCORBA compatible interface
# -Sm support macros like C (global)
# -So same as -Mtp
# -Sp same as -Mgpc
# -Ss constructor name must be init (destructor must be done)
# -St allow static keyword in objects
#
# Allow goto, inline, C-operators, C-vars
-Sgic
# ---------------
# Code generation
# ---------------
# Uncomment the next line if you always want static/dynamic units by default
# (can be overruled with -CD, -CS at the commandline)
#-CS
#-CD
# Set the default heapsize to 8Mb
#-Ch8000000
# Set default codegeneration checks (iocheck, overflow, range, stack)
#-Ci
#-Co
#-Cr
#-Ct
# Optimizer switches for i386 compiler
# -Os generate smaller code
# -O1 level 1 optimizations (quick optimizations)
# -O2 level 2 optimizations (-O1 + slower optimizations)
# -O3 level 3 optimizations (same as -O2u)
# -Oa=N set alignment to N
# -OoX switch on optimalization X.
# -OoNOX switch off optimalization X.
# X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCSE LOOPUNROLL
# -OpCPU set target processor.
# CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4, PENTIUMM
# -----------------------
# Set Filenames and Paths
# -----------------------
# Both slashes and backslashes are allowed in paths
# path to the messagefile, not necessary anymore but can be used to override
# the default language
#-Frc:\lazarus\fpc\2.2.4/msg/errore.msg
#-Frc:\lazarus\fpc\2.2.4/msg/errorn.msg
#-Frc:\lazarus\fpc\2.2.4/msg/errores.msg
3
#-Frc:\lazarus\fpc\2.2.4/msg/errord.msg
#-Frc:\lazarus\fpc\2.2.4/msg/errorr.msg
# path to the gcclib
#-Flc:\lazarus\fpc\2.2.4/lib
# searchpath for includefiles
#-Fi/pp/inc;/pp/rtl/inc
# searchpath for includefiles
# release them only if you know what you do
# because this could cause a rebuild of the runtime library
# if you tell them compiler/ide to build the project (FK)
#-Fic:\lazarus\fpc\2.2.4/source/rtl/inc;c:\lazarus\fpc\2.2.4/source/rtl/i386
# searchpath for objectfiles
#-Foc:\lazarus\fpc\2.2.4/source/rtl/inc;c:\lazarus\fpc\2.2.4/source/rtl/i386
#IFDEF FPCAPACHE_1_13
-Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/httpd-1.3/
#ELSE
#IFDEF FPCAPACHE_2_0
-Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/httpd-2.0
#ELSE
-Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/httpd-2.2
#ENDIF
#ENDIF
# searchpath for units and other system dependent things
-Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/
-Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/*
-Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/rtl
# searchpath for libraries
#-Flc:\lazarus\fpc\2.2.4/lib
#-Fl/lib;/usr/lib
# searchpath for tools
-FDc:\lazarus\fpc\2.2.4/bin/$FPCTARGET
# binutils prefix for cross compiling
#IFDEF FPC_CROSSCOMPILING
-XP$FPCTARGET-
#ENDIF
# -------------
# Linking
# -------------
# generate always debugging information for GDB (slows down the compiling
# process)
# -gc generate checks for pointers
# -gd use dbx
# -gg use gsym
# -gh use heap trace unit (for memory leak debugging)
# -gl use line info unit to show more info for backtraces
# -gv generates programs tracable with valgrind
# -gw generate dwarf debugging info
#
# Enable debuginfo and use the line info unit by default
#-gl
# always pass an option to the linker
#-k-s
# Always strip debuginfo from the executable
-Xs
# -------------
# Miscellaneous
# -------------
# Write always a nice FPC logo ;)
-l
# Verbosity
# e : Show errors (default) d : Show debug info
# w : Show warnings u : Show unit info
# n : Show notes t : Show tried/used files
# h : Show hints m : Show defined macros
# i : Show general info p : Show compiled procedures
# l : Show linenumbers c : Show conditionals
# a : Show everything 0 : Show nothing (except errors)
# b : Show all procedure r : Rhide/GCC compatibility mode
# declarations if an error x : Executable info (Win32 only)
# occurs
#
# Display Info, Warnings, Notes and Hints
-viwn
# If you don't want so much verbosity use
#-vw
-FiC:\TS\Source\
-FuC:\TS\Units\
-----------------------------------------------------------
Compilation Batch File : X-FPC.BAT :
\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe %1
used as
X-FPC Test-Record-Type.PAS > \TZ\Test-Output-1.TXT
-----------------------------------------------------------
File Name : \TZ\Test-Output-1.TXT
C:\TW\Progs>\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe Test-Record-Type.PAS
Compiling Release Version
Free Pascal Compiler version 2.2.4 [2009/04/26] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win32 for i386
Compiling Test-Record-Type.PAS
Compiling C:\TS\Units\PROCUNIT.PAS
Compiling C:\TS\Units\TYPEUNIT.PAS
Linking Test-Record-Type.exe
84 lines compiled, 0.1 sec , 28624 bytes code, 1528 bytes data
-----------------------------------------------------------
Compilation Batch File : X-FPC.BAT
used as :
X-FPC Test-Record-Type.PAS > \TZ\Test-Output-2.TXT
-----------------------------------------------------------
File Name : \TZ\Test-Output-2.TXT
C:\TW\Progs>\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe Test-Record-Type.PAS
Compiling Release Version
Free Pascal Compiler version 2.2.4 [2009/04/26] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win32 for i386
Compiling Test-Record-Type.PAS
Linking Test-Record-Type.exe
14 lines compiled, 0.1 sec , 28624 bytes code, 1528 bytes data
-----------------------------------------------------------
The following file edited as follows :
{ File Name : \TS\Typing\A-Record-Type.PAS }
Type Values = record
A : Integer ;
B : Real ;
X : Integer ;
Y : Boolean ;
End ;
-----------------------------------------------------------
The following file edited as follows :
{ File Name : \TS\Source\ProcPart.PAS }
Procedure Assign_a_Value ;
Var V : TypeUnit . Values ;
Begin
V . A := 1 ;
V . B := 1.0 ;
V . X := 5 ;
V . Y := True ;
Writeln ( 'V . A = ' , V . A ) ;
Writeln ( 'V . B = ' , V . B ) ;
{
Writeln ( 'V . X = ' , V . X ) ;
Writeln ( 'V . Y = ' , V . Y ) ;
}
End ;
-----------------------------------------------------------
File Name : \TZ\Dir-List-TS-2.TXT
Volume in drive C has no label.
Volume Serial Number is 6CC1-77E2
Directory of C:\ts
12/12/2009 01:32 AM .
12/12/2009 01:32 AM ..
12/12/2009 03:22 AM Source
12/12/2009 03:21 AM Typing
12/12/2009 03:13 AM Units
0 File(s) 0 bytes
Directory of C:\ts\Source
12/12/2009 03:22 AM .
12/12/2009 03:22 AM ..
12/12/2009 02:56 AM 355 PROCPART.BAK
12/12/2009 03:22 AM 349 PROCPART.PAS
2 File(s) 704 bytes
Directory of C:\ts\Typing
12/12/2009 03:21 AM .
12/12/2009 03:21 AM ..
12/12/2009 02:56 AM 217 A-RECORD-TYPE.BAK
12/12/2009 03:21 AM 217 A-RECORD-TYPE.PAS
2 File(s) 434 bytes
Directory of C:\ts\Units
12/12/2009 03:13 AM .
12/12/2009 03:13 AM ..
12/12/2009 03:13 AM 1,561 PROCUNIT.o
12/12/2009 02:30 AM 199 PROCUNIT.PAS
12/12/2009 03:13 AM 878 PROCUNIT.ppu
12/12/2009 03:13 AM 982 TYPEUNIT.o
12/12/2009 02:31 AM 148 TYPEUNIT.PAS
12/12/2009 03:13 AM 788 TYPEUNIT.ppu
6 File(s) 4,556 bytes
Total Files Listed:
10 File(s) 5,694 bytes
11 Dir(s) 13,750,067,200 bytes free
-----------------------------------------------------------
File Name : \TZ\Dir-List-TW-2.TXT
Volume in drive C has no label.
Volume Serial Number is 6CC1-77E2
Directory of C:\tw
12/12/2009 01:09 AM .
12/12/2009 01:09 AM ..
12/12/2009 03:13 AM Progs
0 File(s) 0 bytes
Directory of C:\tw\Progs
12/12/2009 03:13 AM .
12/12/2009 03:13 AM ..
12/12/2009 02:54 AM 6,463 FPC.CFG
12/12/2009 03:19 AM 32,832 Test-Record-Type.exe
12/12/2009 03:19 AM 2,273 Test-Record-Type.o
12/12/2009 02:31 AM 152 TEST-RECORD-TYPE.PAS
12/12/2009 12:51 AM 48 X-FPC.BAT
5 File(s) 41,768 bytes
Total Files Listed:
5 File(s) 41,768 bytes
5 Dir(s) 13,750,067,200 bytes free
-----------------------------------------------------------
Compilation Batch File : X-FPC.BAT
used as :
X-FPC Test-Record-Type.PAS > \TZ\Test-Output-3.TXT
-----------------------------------------------------------
File Name : \TZ\Test-Output-3.TXT
C:\TW\Progs>\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe Test-Record-Type.PAS
Compiling Release Version
Free Pascal Compiler version 2.2.4 [2009/04/26] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win32 for i386
Compiling Test-Record-Type.PAS
Compiling C:\TS\Units\PROCUNIT.PAS
PROCPART.PAS(13,5) Error: Unknown record field identifier "X"
PROCPART.PAS(14,5) Error: Unknown record field identifier "Y"
PROCUNIT.PAS(19) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
Error: C:\lazarus\fpc\2.2.4\bin\i386-win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)
-----------------------------------------------------------