tokenpocketapp官网下载|freepascal
tokenpocketapp官网下载|freepascal
Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal - Home Page
Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal - Home Page
Home
News
Download
Wiki
Forum
Documentation
Bug tracker
free pascal
Open source compiler for Pascal and Object Pascal
General
Home
News
Download
Wiki
Forum
Documentation
Bug tracker
Coding
Development
Future Plans
Known Problems
FAQ
Contributed Units
More information
Mailing Lists
Porting from TP7
Authors
Credits
Links/mirrors
Tools
Tools
Delp
FPCMake
H2Pas
PPDep
PPUDump
PPUMove
PtoP
RSTConv
TPLY
FCL
Packages
Search
Search documentation, forums & mailing lists.
Introduction
Overview
Free Pascal is a mature, versatile, open source Pascal compiler.
It can target many processor architectures: Intel x86 (16 and 32 bit), AMD64/x86-64,
PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, Motorola 68k, AVR, and the JVM.
Supported operating systems include Windows (16/32/64 bit, CE, and native NT), Linux,
Mac OS X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16 bit, or 32 bit DPMI),
OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, AmigaOS, MorphOS, AROS, Atari TOS, and various
embedded platforms. Additionally, support for RISC-V (32/64), Xtensa, and Z80 architectures,
and for the LLVM compiler infrastructure is available in the development version.
Additionally, the Free Pascal team maintains a transpiler for pascal to Javascript called pas2js.
Latest News
Jan 4, 2024
The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st.
Free Pascal would not have existed without the work of Niklaus Wirth.
We mourn a pioneer and a source of inspiration.
August 8th, 2021
FPC has moved to Gitlab!
All SVN repositories have been converted to git and moved to gitlab.
The Mantis bugtracker has also been converted to gitlab.
You can find instructions in the Development page
or in the Wiki.
Bugs can be reported here.
May 20th, 2021
FPC version 3.2.2 has been released!
This version is a point update to 3.2.0 and contains bugfixes and updated packages,
some of which are high priority. In this case a new target was also backported
from trunk.
There is a list of changes that may break backward compatibility.
You can also have a look at the FPC 3.2.2 documentation.
Downloads are available at the download section. Some links might be stale but will be updated in the coming days.
If you have trouble using FTP due to recent browser updates, try the sourceforge mirror.
June 19th, 2020
FPC version 3.2.0 has been released!
This version is a major new release and contains bugfixes and updates packages, new features and new targets. Due to the
age of the FPC 3.0 branch (5 years!) it is recommended to upgrade as soon as possible.
There is a list of changes that may break backward compatibility.
You can also have a look at the FPC 3.2.0 documentation.
Downloads are available at the download section. Some links might be stale but will be updated in the coming days.
July 20, 2019
FPC has gained several new features lately in trunk (which will not be in the upcoming FPC 3.2.0 release):
Multiple helper types can now be active at the same time
Support has been added for custom attributes
The compiler can now generate LLVM bitcode for select platforms (Darwin/x86-64, Linux/x86-64, Linux/AArch64, Linux/ARMHF)
While FPC 3.2.0 will not have support for the above list, it will have its own collection of new features and fixes!
June 8, 2018
Today FPC celebrates its 25th birthday !
25 years have passed since 8 june 1993, and FPC still does not only exists, but is more alive and kicking than ever!
May 28, 2018
As required by the European GDPR, we have published a privacy statement
Older news...
Current Version
Version 3.2.2 is the latest stable version of Free Pascal.
Hit the download link and select a mirror close
to you to download your copy.
The development releases have version numbers 3.3.x.
See the development page how to obtain the latest sources and support development.
Features
The language syntax has excellent compatibility with TP 7.0 as well as
with most versions of Delphi (classes, rtti, exceptions, ansistrings, widestrings, interfaces).
A Mac Pascal mode, largely compatible with Think Pascal and MetroWerks Pascal, is also available.
Furthermore Free Pascal supports function overloading, operator overloading, global properties and
several other extra features.
Requirements
x86 architecture:
For the 80x86 version at least a 386 processor is required, but a 486
is recommended. The Mac OS X version requires Mac OS X 10.4 or later,
with the developer tools installed.
PowerPC architecture:
Any PowerPC processor will do. 16 MB of RAM is required. The Mac OS
classic version is expected to work System 7.5.3 and later. The Mac OS X version
requires Mac OS X 10.3 or later (can compile for 10.2.8 or later), with the developer tools installed.
On other operating systems Free Pascal runs on any system that can run the operating
system.
ARM architecture
16 MB of RAM is required. Runs on any ARM Linux installation.
Sparc architecture
16 MB of RAM is required. Runs on any Sparc Linux installation (solaris is experimental).
License
The packages and runtime library come under a modified Library GNU Public
License to allow the use of static libraries when creating applications. The
compiler source itself comes under the GNU General Public License. The sources
for both the compiler and runtime library are available; the complete compiler
is written in Pascal.
✓ Multilingual website
Privacy statement. Copyright Free Pascal team 1993-2023.
Page design by 6ix Shooter Media, additional modifications by Pos3idon.
Free Pascal - Pascal 和 Object Pascal 高级开源 Pascal 编译器 - 主页
Free Pascal - Pascal 和 Object Pascal 高级开源 Pascal 编译器 - 主页
首页
新闻
下载
Wiki
论坛
文档
Bug 反馈
free pascal
开源的 Pascal 和 Object Pascal 编译器
常规
首页
新闻
下载
Wiki
论坛
文档
Bug 反馈
编码
开发
未来计划
已知问题
FAQ
贡献单位
更多信息
邮件列表
从TP7移植
作者
贡献
链接/镜像
工具
工具
Delp
FPCMake
H2Pas
PPDep
PPUDump
PPUMove
PtoP
RSTConv
TPLY
FCL
组件
搜索
搜索文档,论坛和邮件列表。
介绍
概述
Free Pascal 是成熟、通用、开源的 Pascal 编译器。它针对多种处理器架构:Intel x86(16和32位)、AMD64/x86-64、PowerPC、PowerPC64、SPARC、ARM、AArch64、MIPS、Motorola 68k、AVR 和 JVM。支持操作系统包括 Windows(16/32/64位、CE 和 native NT)、Mac OS X/iOS/iPhoneSimulator/Darwin、FreeBSD 和其他 BSD 版本,DOS(16和32位 DPMI)、OS/2、AIX、Android、Haiku、Nintendo GBA/DS/Wii、AmigaOS、MorphOS、AROS、Atari TOS 和各种嵌入式平台。此外,支持 RISC-V(32/64)、Xtensa、Z80 架构,在开发版本中提供 LLVM 编译器基础结构。另外 Free Pascal 团队维护着一个用于 pascal 到 Javascript 的编译器,称为 pas2js。
最新消息
2021年8月8日
FPC 已迁移至 Gitlab!
所有 SVN 存储库都已转换为 git 并移至 gitlab。
Mantis bugtracker 也转换为 gitlab。
你可以在开发页面或 Wiki 中找到说明。
错误可以在这里报告。
2021年5月20日
FPC 3.2.2 发布!
此版本是对 3.2.0 的更新,包含错误修正和更新包,其中一些是高优先级。在这种情况下,一个新目标也从主干向后移植。
这里列出了可能会破坏向后兼容性的更改。你也可以查看 FPC 3.2.2 文档。
在下载页下载。有些链接可能会过时,但会在未来几天内更新。
如果因浏览器近期更新造成在使用 FTP 时遇到问题,请尝试使用 sourceforge 镜像。
2020年6月19日
FPC 3.2.0 发布!
该版本是一个重要的新版本,包含错误修复和更新包、新功能和新目标。FPC 3.0 分支使用年限为5年!建议尽快升级。
这里列出了可能会破坏向后兼容性的更改。你也可以查看 FPC 3.2.0 文档。
在下载页下载。有些链接可能会过时,但会在未来几天内更新。
2019年7月20日
FPC 最近在主干中增加了几个新功能(即将发布的 FPC 3.2.0 中不会包含这些功能):
现在可以同时激活多个助手类型
添加了对自定义属性的支持
编译器现在可以为特定平台(Darwin/x86-64,Linux/x86-64,Linux/AArch64,Linux/ARMHF)生成 LLVM 位码
FPC 3.2 虽然不支持上述列表,但是它将具有自己的新功能和修复补丁!
2018年6月8日
今天,FPC 庆祝成立 25 周年!
自1993年6月8日以来已经过去了25年,FPC 不仅仍然存在,而且比以往任何时候都活跃、充满活力!
2018年5月28日
根据欧洲 GDPR 的要求,我们已经发布了隐私声明
旧消息...
当前版本
3.2.2 是 Free Pascal 最新的稳定版本。点击下载链接并选择较近镜像下载副本。开发版的版本号为 3.3.x。请参阅开发页面,了解如何获取最新的源代码并支持开发。
特点
语法与 TP 7.0 以及大多数版本的 Delphi 具有很好的兼容性(classes、rtti、exceptions、ansistrings、 widestrings、 interfaces)。
还提供 Mac Pascal 兼容模式以方便 Apple 用户。
此外,Free Pascal 还支持函数重载,运算符重载,全局属性和其他此类功能。
要求
x86 架构
对于 80x86 系列,至少是 386 处理器,推荐 486。
PowerPC 架构
任何 PowerPC 处理器都可以,需要 16MB 内存。
Mac OS classic 预计可适用于 System 7.5.3 及更高版本。
Mac OS X 版本需要 Mac OS X 10.1 或更高版本,需要安装开发人员工具。
在其他操作系统中,Free Pascal 可在任何操作系统上运行。
ARM 架构
目前只支持交叉编译到 ARM。
Sparc 架构
在任何 Sparc Linux 上安装运行至少需要 16MB 内存。
许可
包和运行时库属于修改后的 GNU 库公共许可证,允许在创建应用程序时使用静态库。
编译器源代码本身属于 GNU 通用公共许可证。
编译器和运行时库的源代码都可用;
完整的编译器是用 Pascal 编写的。
✓
多语言网站
Privacy statement. Copyright Free Pascal team 1993-2019.
Page design by 6ix Shooter Media, additional modifications by Pos3idon.
豫公网安备 41010402002616号
豫ICP备2020029609号-2
Free Pascal - Download
Free Pascal - Download
Home
News
Download
Wiki
Forum
Documentation
Bug tracker
free pascal
Open source compiler for Pascal and Object Pascal
General
Home
News
Download
Wiki
Forum
Documentation
Bug tracker
Coding
Development
Future Plans
Known Problems
FAQ
Contributed Units
More information
Mailing Lists
Porting from TP7
Authors
Credits
Links/mirrors
Tools
Tools
Delp
FPCMake
H2Pas
PPDep
PPUDump
PPUMove
PtoP
RSTConv
TPLY
FCL
Packages
Search
Search documentation, forums & mailing lists.
Download
Official releases
These are ready made packages, together with an install program, to
get you up and running in no time. All packages contain a README file,
which you should read for installation instructions and latest news.
The latest release is 3.2.2.
Because of a lack of release builders and testers, 3.2.2 is only available for a limited
number of platforms and not in all package formats. If you want to change this and build and test future
releases, contact us via the mailing lists.
Binaries
You can download the 3.2.2 release for the following cpu and operating systems:
ARM
Linux
Android
Windows CE
Game Boy Advance
Nintendo DS
AROS
ARM64 (aarch64)
Linux
Android
macOS
Intel x86/i386
Windows 32-bit (and a cross-compiler ARM/MIPS/i386-Android)
Linux
Mac OS X/OS X/macOS (and cross-compilers for ARM64, PowerPC(64), iOS & iPhoneSimulator, JVM/Java and JVM/Android).
FreeBSD
Solaris
OS/2 (and eComStation)
DOS (GO32v2 extender)
Haiku
AROS
AMD64/Intel 64/x86_64
Windows 64-bit
Linux
Mac OS X/OS X/macOS (and cross-compilers for PowerPC(64)/Mac OS X, iOS & iPhoneSimulator, JVM/Java and JVM/Android).
FreeBSD
Solaris
Intel i8086
MS-DOS
PowerPC
AmigaOS
AIX
Linux
Mac OS X
MorphOS
Nintendo Wii
PowerPC64
AIX
Linux
Mac OS X
PowerPC64 Little Endian
Linux
SPARC
Linux
Solaris
MIPS
Linux
MIPSEL
Linux (Experimental, not tested)
Motorola 68k
Amiga
Linux
Source
The source can be downloaded separately in a zip file or a tar.gz from one of the download sites.
Documentation
The documentation can be downloaded in several formats from one of our
download sites.
Snapshots
In addition to the official releases, we also offer so-called "snapshots" of the compiler, RTL,
IDE and a couple of other packages on the development page. These
are compiled versions of the current sources with all fixes and improvements since the last
official release, so please try them if you have any problems. Of course, they may also contain
new bugs.
Old releases
Links to some old releases (not supported any more) of FPC for platforms for
which no better alternative exists at the moment can be found
here. Don't bother to report any bugs
with these old releases - we will not fix them. The main reason why these
platforms aren't supported any more is lack of maintainers - if you are
interested to bring them up to date, contact us (e.g. using fpc-devel mailing
list).
✓ Multilingual website
Privacy statement. Copyright Free Pascal team 1993-2023.
Page design by 6ix Shooter Media, additional modifications by Pos3idon.
Free Pascal - 下载
Free Pascal - 下载
首页
新闻
下载
Wiki
论坛
文档
Bug 反馈
free pascal
开源的 Pascal 和 Object Pascal 编译器
常规
首页
新闻
下载
Wiki
论坛
文档
Bug 反馈
编码
开发
未来计划
已知问题
FAQ
贡献单位
更多信息
邮件列表
从TP7移植
作者
贡献
链接/镜像
工具
工具
Delp
FPCMake
H2Pas
PPDep
PPUDump
PPUMove
PtoP
RSTConv
TPLY
FCL
组件
搜索
搜索文档,论坛和邮件列表。
下载
官方发布
这些现成的软件包以及安装程序可让你立即开发使用。
所有软件包都包含 README 文件,你应该阅读该文件以获取安装说明和最新消息。
最新版本是
3.2.2.
由于缺少发布构建器和测试器,因此 3.2.2 仅适用于有限的平台,而并非适用于所有软件包格式。如果你想改变它并构建和测试未来的发行版,请通过邮件列表与我们联系。
二进制
你可以下载适用于以下 cpu 和操作系统的 3.2.2 版本:
ARM
Linux
Android
Windows CE
Game Boy Advance
Nintendo DS
AROS
ARM64 (aarch64)
Linux
Android
macOS
Intel x86/i386
Windows 32-bit (
以及交叉编译器 ARM/MIPS/i386-Android
)
Linux
Mac OS X/OS X/macOS (
以及用于 ARM64、PowerPC(64)、iOS 和 iPhoneSimulator、JVM/Java 和 JVM/Android 的交叉编译器
).
FreeBSD
Solaris
OS/2 (
以及 eComStation
)
DOS (
GO32v2 扩展器
)
Haiku
AROS
AMD64/Intel 64/x86_64
Windows 64-bit
Linux
Mac OS X/OS X/macOS (
和 PowerPC(64)/Mac OS X、iOS & iPhoneSimulator、JVM/Java 以及 JVM/Android 的交叉编译器
).
FreeBSD
Solaris
Intel i8086
MS-DOS
PowerPC
AmigaOS
AIX
Linux
Mac OS X
MorphOS
Nintendo Wii
PowerPC64
AIX
Linux
Mac OS X
PowerPC64 Little Endian
Linux
SPARC
Linux
Solaris
MIPS
Linux
MIPSEL
Linux (
实验性,未经测试
)
Motorola 68k
Amiga
Linux
源代码
可以从下载站点下载 zip 或 tar.gz 格式的源文件。
文档
在下载站点选择需要的格式下载文档。
快照
除官方发布外,我们还在开发页面上提供编译器、RTL、IDE 和其它几个包的“快照”。
这是当前源代码的编译版本,自上次正式发布以来,所有修复和改进,如果你有任何问题请试一试。
当然,它们也可能包含新的问题。
旧版本
现在能找到一些 FPC 旧版本(不再支持)的链接,这些版本目前还没有更好的替代品。
不要报告这些旧版本的任何错误 - 我们不会修复它们。
这些平台不再受支持的主要原因是缺乏维护者 - 如果你有兴趣让它们更新,请联系我们(例如使用 fpc-devel 邮件列表)。
✓
多语言网站
Privacy statement. Copyright Free Pascal team 1993-2019.
Page design by 6ix Shooter Media, additional modifications by Pos3idon.
豫公网安备 41010402002616号
豫ICP备2020029609号-2
Free Pascal - Online documentation
Free Pascal - Online documentation
Home
News
Download
Wiki
Forum
Documentation
Bug tracker
free pascal
Open source compiler for Pascal and Object Pascal
General
Home
News
Download
Wiki
Forum
Documentation
Bug tracker
Coding
Development
Future Plans
Known Problems
FAQ
Contributed Units
More information
Mailing Lists
Porting from TP7
Authors
Credits
Links/mirrors
Tools
Tools
Delp
FPCMake
H2Pas
PPDep
PPUDump
PPUMove
PtoP
RSTConv
TPLY
FCL
Packages
Search
Search documentation, forums & mailing lists.
Online documentation
Remark:you must have javascript and style sheets enabled in order
to view the html documentation correctly.
The following documents are online available:
PDFHTMLDocument
HTML
User's guide
HTML
Programmer's guide
HTML
Language reference guide
HTML
Run-Time Library (RTL) units reference manual
HTML
Free Component Library (FCL) units reference manual
HTML
Free Component Library (FCL) Resource units reference manual
HTML
fpdoc documentation tool reference manual
N/A
Reference chart with all compiler options and switches (PDF only)
You can also search the documentation.
You can also download the documentation in some alternative formats.
See the Download page.
The above is the documentation of the latest released version of Free Pascal.
The documentation is also generated daily based on the current status of
the source repositories. You can find that documentation here.
The Free pascal 2.2 manuals have been translated to German by C&L, and can be purchased
from the C&L website. Updated!
User contributed documentation
The following user contributed documents are available:
DocumentPDFHTML
class chart in PDF format(Thanks to Tiziano!)
-
More information
Additional information, user contributed documentation and links can be found on the More Information page.
✓ Multilingual website
Privacy statement. Copyright Free Pascal team 1993-2023.
Page design by 6ix Shooter Media, additional modifications by Pos3idon.
Free Pascal - 在线文档
Free Pascal - 在线文档
首页
新闻
下载
Wiki
论坛
文档
Bug 反馈
free pascal
开源的 Pascal 和 Object Pascal 编译器
常规
首页
新闻
下载
Wiki
论坛
文档
Bug 反馈
编码
开发
未来计划
已知问题
FAQ
贡献单位
更多信息
邮件列表
从TP7移植
作者
贡献
链接/镜像
工具
工具
Delp
FPCMake
H2Pas
PPDep
PPUDump
PPUMove
PtoP
RSTConv
TPLY
FCL
组件
搜索
搜索文档,论坛和邮件列表。
在线文档
备注:您必须启用 javascript 和样式表才能正常查看这些页面。
以下 PDF 文档可在线获取:
PDFHTML
文档
HTML
用户指南
HTML
程序员指南
HTML
语言参考指南
HTML
运行时库(RTL)单元参考手册
HTML
自由组件库(FCL)单元参考手册
HTML
Free 组件库(FCL)资源单元参考手册
HTML
fpdoc 文档工具参考手册
N/A
包含所有编译器选项和开关的参考图表
你也可以搜索文档。
你也可以下载其它格式的文档。参见下载页。
以上是最新发布的 Free Pascal 文档。
文档每天根据当前源存储库的状态生成。
你可以在这里找到文档。
Free pascal 手册已由 C&L 翻译为德语,可从 C&L 网站购买。
用户贡献的文档
以下用户提供的文档可用
:
文档PDFHTML
PDF 格式的类图(感谢 Tiziano!)
-
更多信息
其他信息,用户提供的文档和链接可在更多信息页面上找到。
✓
多语言网站
Privacy statement. Copyright Free Pascal team 1993-2019.
Page design by 6ix Shooter Media, additional modifications by Pos3idon.
豫公网安备 41010402002616号
豫ICP备2020029609号-2
Main Page/zh CN - Free Pascal wiki
Main Page/zh CN - Free Pascal wiki
Main Page/zh CNFrom Free Pascal wikiJump to navigationJump to search
│ Afrikaans (af) │
العربية (ar) │
català (ca) │
čeština (cs) │
Deutsch (de) │
English (en) │
español (es) │
فارسی (fa) │
suomi (fi) │
français (fr) │
magyar (hu) │
Bahasa Indonesia (id) │
italiano (it) │
日本語 (ja) │
한국어 (ko) │
Nederlands (nl) │
polski (pl) │
português (pt) │
română (ro) │
русский (ru) │
slovenčina (sk) │
svenska (sv) │
Türkçe (tr) │
українська (uk) │
Tiếng Việt (vi) │
中文(中国大陆) (zh_CN) │
中文(台灣) (zh_TW) │
欢迎来到 Free Pascal 和 Lazarus Wiki
这个Wiki的目标是为 Free Pascal, Lazarus 和相关项目.的生产性使用收集和存储必要的知识。这个Wiki打算成为查找如何使用这些项目提供的工具的信息的用户的第一门户。
Free Pascal 编译器已经有多种格式的 用户文档。FPC 开发者信息,和尚未恰当地文档化的主题,被存储在这个 Wiki 中。Lazarus 在其 用户文档上有一些空白,因此,这个 Wiki 是任何人都可以编辑,改善和扩增 Lazarus 文档的地方。
Wiki 新手?没问题。查看 WikiPedia 教程。新手 Wiki 用户可以在编辑真实内容之前使用 沙盒 练习。
如果你有任何与 Wiki 相关的问题,在网站反馈页面留言或提出建议, 或者在 这个论坛上发表文章。
Free Pascal
官方网站
可以在 Free Pascal 网站找到有关 Free Pascal 编译器的当前版本和开发状态的新闻和信息
你也可以在网站上阅读关于 未来计划 和 已知问题。
下载
Free Pascal 编译器的官方发布版本,源文件代码和文档可以从 Free Pascal 网站下载。
编译器的快照,RTL和其它大量的软件包也可以从 开发者页面下载。你对这些快照的测试总是受到开发者的感谢。
安装说明.
社区参与
欢迎新老用户的加入:
Free Pascal 邮件列表
Free Pascal 公告邮件列表
Free Pascal 开发者邮件列表
Free Pascal 其他邮件列表
Pascal to JavaScript 编译器邮件
MacPascal 邮件列表
Free Pascal Forums - 也请参考 如何使用论坛
教程
Free Pascal 视频教程 - 包括斯温伯恩理工大学(澳大利亚)课程。
基础 Pascal 教程 使用 Free Pascal。
基础 Pascal 教程 使用 Free Pascal 和 Lazarus 。
Lazarus
官方网站
可以在 Lazarus IDE 网站找到有关 Lazarus IDE 状态的新闻和信息,以及一个 会议和事件列表。
路线图
官方的 Lazarus 路线图显示了 Lazarus 各个版本的当前状态。
下载
Lazarus IDE,Free Pascal 编译器和 Free Pascal 源文件的最新发布版本可以从 Lazarus 文件区下载。
详尽的 安装说明是可用的。
新的功能和突破性更改,查看发行说明。
社区参与
欢迎新老用户的用户加入:
Lazarus IDE 邮件列表
Lazarus 组件和代码存储库邮件列表
Lazarus IDE IRC 频道
Lazarus Forums - 也请参考如何使用论坛
教程
Lazarus 视频教程
面向对象教程 使用Free Pascal + Lazarus。
所有的其它的教程
相关网站
Delphi/Kylix 相关网站的集合可以在 代码网站页面找到。如果你知道没有被列出的网站,请添加到它。
Wiki 门户
Wiki 门户是为 Free Pascal 和 Lazarus 支持的平台和主题的选区而创建的。 该门户聚集特定平台或主题的所有相关的信息到一个地方,以便使其更容易准确定位。所支持平台的完整列表可以在 这里找到。
Android 系统
嵌入式系统
FreeBSD
iOS 系统
Linux 系统
macOS 系统
WinCE 系统
Windows 系统
新手用户
数据库开发
游戏开发
硬件和机器人
如何演示
科学和技术
网页开发
时事新闻
Free Pascal 和 Lazarus 的最近的新闻报道摘要,可以在这里找到.
应用程序库
大量使用 Lazarus 和 Free Pascal 创建的应用程序的具体情况和屏幕截图可以在这里找到。这里还有很多源文件代码,可以在 这里找到。
错误追踪系统
错误追踪系统是检查你所遇到的异常是否已经被记录为 Free Pascal 编译器或 Lazarus IDE 错误的地方,并且,如果没有记录的话,你可以提交一个错误报告(查看如何创建一个错误报告), 以便它可以被修复。更好的方法是,如果你能 (查看创建一个补丁) 提交一个补丁。
Retrieved from "http://wiki.freepascal.org/index.php?title=Main_Page/zh_CN&oldid=156319"
Categories: zhMain/zh CNNavigation menuPage actionsPageDiscussionView sourceHistoryPage actionsPageDiscussionMoreToolsIn other languagesPersonal toolsCreate accountLog inNavigationMain PageDocumentationFAQDownloadsGlossaryIndexRecent changesRandom pageHelpToolsWhat links hereRelated changesSpecial pagesPrintable versionPermanent linkPage informationSearch This page was last edited on 24 April 2023, at 23:14.Content is available under unless otherwise noted.Privacy policyAbout Free Pascal wikiDisclaimers
Free Pascal wiki
Free Pascal wiki
Main PageFrom Free Pascal wikiJump to navigationJump to search
│ Afrikaans (af) │
العربية (ar) │
català (ca) │
čeština (cs) │
Deutsch (de) │
English (en) │
español (es) │
فارسی (fa) │
suomi (fi) │
français (fr) │
magyar (hu) │
Bahasa Indonesia (id) │
italiano (it) │
日本語 (ja) │
한국어 (ko) │
Nederlands (nl) │
polski (pl) │
português (pt) │
română (ro) │
русский (ru) │
slovenčina (sk) │
svenska (sv) │
Türkçe (tr) │
українська (uk) │
Tiếng Việt (vi) │
中文(中国大陆) (zh_CN) │
中文(台灣) (zh_TW) │
Welcome to the Free Pascal and Lazarus Wiki
The goal of this Wiki is to collect and store the knowledge necessary for the productive use of Free Pascal, Lazarus and related projects. The Wiki is intended to be the first port of call for users looking for information on how to use the tools provided by those projects.
The Free Pascal Compiler already has user documentation available in several formats. FPC developer information, and subjects not yet properly documented, is stored in this Wiki. Lazarus has some gaps in its user documentation and so this Wiki is a place where anyone can edit, improve and expand the Lazarus documentation.
New to Wikis? No problem. See the WikiPedia Tutorial. A Sand Box is available for new Wiki users to practise in before editing real content.
If you have any Wiki-related problems, leave a note or suggestion on the Site Feedback page or make a post in this Forum.
Free Pascal
Official Website
News and information about the current version and development status of the Free Pascal Compiler can be found on the Free Pascal website.
You can also read about future plans and known problems on the website.
Downloads
The official releases of the Free Pascal Compiler, source code and documentation can be downloaded from the Free Pascal site.
Snapshots of the compiler, RTL and a couple of other packages may be downloaded from the development page. Your testing of these snapshots is always appreciated by the developers.
See Installation Instructions and Release Notes.
Community Participation
New and experienced users alike are invited to join:
Free Pascal mailing list
Free Pascal Announcement mailing list
Free Pascal Developers mailing list
Free Pascal Other Mailing List
Pascal to JavaScript Compiler mailing
MacPascal Mailing List
Free Pascal Forums - also see how to use the Forums
Tutorials
Free Pascal Video Tutorials - includes Swinburne University of Technology (Australia) course.
Basic Pascal Tutorial using Free Pascal.
Object Oriented Pascal Tutorial using Free Pascal + Lazarus.
Books and Magazines
Pascal and Lazarus Books and Magazines - free and commercial.
Lazarus
Official Website
News and information about the status of the Lazarus IDE can be found on the Lazarus IDE website, along with a listing of conferences and events.
Roadmap
The official Lazarus Roadmap shows the current status of the various parts of Lazarus.
Downloads
The latest releases of the Lazarus IDE, the Free Pascal compiler and the Free Pascal Compiler source can be downloaded from the Lazarus file area.
Comprehensive installation instructions are available.
See the Release Notes for new features and breaking changes.
Community Participation
New and experienced users alike are invited to join:
Lazarus IDE mailing list
Lazarus Component and Code Repository mailing lists
Lazarus IDE IRC Channel
Lazarus Forums - also see how to use the Forums
Tutorials
Lazarus Video Tutorials
Object Oriented Tutorial using Free Pascal + Lazarus.
All Other Tutorials
Books and Magazines
Pascal and Lazarus Books and Magazines - free and commercial.
Related Sites
A collection of Delphi/Kylix related sites can be found on the Page Of Code Sites. Please add to it if you know of a good site that is not listed.
Wiki Portals
Wiki Portals have been created for a selection of the platforms and topics that Free Pascal and Lazarus support. The Portals gather together all the related information for the particular platform or topic in one place to make it easier to locate. The full list of supported platforms may be found here.
Android
Embedded
FreeBSD
iOS
Linux
macOS
WinCE
Windows
New Users
Database Development
Game Development
Hardware and Robotics
HowTo Demos
Science and Technology
Web Development
In the News
A summary of recent news stories about Free Pascal and Lazarus can be found here.
Projects using Free Pascal and Lazarus
Details and screenshots of an extensive number of applications created with Free Pascal and Lazarus may be found here. There is also plenty of source code that can be found here.
Bug Tracker
The Lazarus Bug Tracker and the Free Pascal Bug Tracker are the places to go to check if the anomaly you have encountered has already been recorded as a Free Pascal Compiler or Lazarus IDE bug and, if not, you can lodge a bug report (see How do I create a bug report) so that it can be fixed. Even better, lodge a patch if you can (see Creating A Patch) with the bug report.
Retrieved from "http://wiki.freepascal.org/index.php?title=Main_Page&oldid=156322"
Category: MainNavigation menuPage actionsMain pageDiscussionView sourceHistoryPage actionsMain pageDiscussionMoreToolsIn other languagesPersonal toolsCreate accountLog inNavigationMain PageDocumentationFAQDownloadsGlossaryIndexRecent changesRandom pageHelpToolsWhat links hereRelated changesSpecial pagesPrintable versionPermanent linkPage informationSearch This page was last edited on 24 April 2023, at 23:15.Content is available under unless otherwise noted.Privacy policyAbout Free Pascal wikiDisclaimers
Free Pascal_百度百科
Pascal_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心收藏查看我的收藏0有用+10Free Pascal播报讨论上传视频32位和64位专业Pascal编译器Free Pascal(全称 FPK Pascal)是一个32位和64位专业Pascal编译器。它可以在多个处理器架构中运行:Intel x86,AMD64/x86-64,PowerPC32/64, SPARC和 ARM。它支持的操作系统有Linux,FreeBSD,Haiku,Mac OS X/ iOS/Darwin,DOS,Windows32/64/CE,OS/2,MorphOS,Nintendo GBA,Nintendo DS和 Nintendo Wii。另外,在JVM,MIPS 和 Motorola 68k处理器架构或操作系统中使用的Free Pascal正在研发开发版本。在全国信息学奥林匹克大赛(简称NOI)中,Pascal是被采用的三种编程语言之一。由于它具有良好的结构程序设计特性,特别适合于学生掌握自顶向下逐步求精的结构化程序设计思想和方法,并能构建出良好的程序设计风格和习惯,因此,Pascal是在NOI中最受选手青睐的语言。同样,许多大学都把Pascal作为一门重要的信息学语言来进行授课。外文名Free Pascal IDE语言标准ANSI Pascal支持平台Windows、Linux、Mac、FreeBSD等最新版本3.0.0目录1简介2主要区别▪与TP▪扩充3程序设计介绍4报错号▪运行错误▪编译错误5注意事项6乱码解决简介播报编辑Free Pascal IDEFree Pascal是个由国际组织开发的完全的win32的pascal语言编译器,类似delphi,可编写windows程序。此前被广泛使用的PASCAL编译器普遍为Turbo Pascal&Borland pascal。但是它们可用的空间十分有限。而Free Pascal理论上可以使用4GB内存。所以在利用Free Pascal编程的时候,可以改变原有思路,将大量时间转嫁给空间,提高效率。 [1]主要区别播报编辑与TPFree Pascal虽然Free Pascal尽量设计得和Turbo Pascal接近,但是由于以下的两个原因,两者之间还是有一些区别的:1.Free Pascal是一个32位的编译器,而Turbo Pascal只是16位编译器;2.Free Pascal是一个跨平台的编译器,而Turbo Pascal只在windows和DOS上使用。如果你的代码遵守ANSI Pascal标准,那么将代码从Turbo Pascal移植到Free Pascal是没有问题的。下面是在Turbo Pascal上可以使用,但是在Free Pascal就不能使用的一些语言特性:1.函数和过程在使用时,参数的类型必须和定义时完全一致。原因是在Free Pascal中添加了函数重载功能(可以用完全相同的多个标识符定义多个函数,只要它们的参数不同,就是不同的函数;在没有此功能时,非整实型的实在参数可以与整形的形式参数赋值相容);2.Protected、Public、Published、Try、Finally、Except、Raise成了关键字,不能作为标识符的名字;3.Far、Near不再是关键字了,原因是Free Pascal是32位系统,不再需要这些关键字;4.布尔表达式不一定要全部进行计算。只要最终结果已经能够确定,就不再计算其它还没有计算的部分了——比如布尔表达式exp1 and exp2 and exp3,如果已知exp1的结果是false,那么怎么表达式的结果肯定是false,exp2和exp3就不用进行计算了;5.在Free Pascal中,集合中的元素都是4个字节长的;6.表达式执行的顺序是不确定的。比如对于表达式a:=g(2)+f(3); 不保证g(2)一定在f(3)之前执行;7.如果用Rewrite打开文件,那么文件就只能被写入了。如果需要读取这个文件,要对文件执行Reset;8.Free Pascal在程序结束之前一定要关闭输出文件,否则输出文件可能不能被正确的写入;9.Free Pascal理论上可以使用4GB的内存,因此实际上几乎可以使用系统中的所有剩余内存(除非系统中有内存限制),这是由于Free Pascal是32位的编译器。但是对于Turbo Pascal来说,由于是16位的编译器,因此不能定义大小超过64KB的数据类型和变量,并且在DOS实模式下可以使用的内存总数只有640KB。 [1]扩充1.函数可以返回复杂的类型,比如记录和数组。2. 在函数中,函数的返回值通常可以作为一个变量来处理。比如:function a : longint;begina:=12;while a>4 dobegin{...}end;end;这个例子在Turbo Pascal中,a>4会被认为是函数的递归调用,但是在Free Pascal中会认为a只是一个变量。如果想在Free Pascal中实现递归调用,就要写成下面的形式:function a : longint;begina:=12;{ this is the recursive call }if a()>4 thenbegin{...}end;end;3. exit可以接受一个参数作为函数的返回值。比如:function a : longint;begina:=12;if a>4 thenbeginexit(a*67); {函数的返回值就是a*67 }end;end;4. Free Pascal支持函数重载。可以用相同的名字定义不同的函数,只要这些函数的参数不同,就是不同的函数。比如:procedure DoSomething (a : longint);begin{...}end;Free Pascalprocedure DoSomething (a : real);begin{...}end;可以使用不同的参数类型longint或者real来调用不同的DoSomething过程。由于这个功能,函数的提前声明必须有完整的参数声明:procedure x (v : longint) : forward;{...}procedure x;{ 这里定义的过程x重载了前面声明的过程x。因此这里的两个x是不同的}begin{...}end;5. Free Pascal容许运算符重载。比如,可以自己为矩阵运算定义一个“+”运算。6. Free Pascal在windows 95及其以上的windows版本上支持长文件名。对于文件名,由于windows系统对大小写不敏感,因此在程序中,文件名的大小写是无关的。但是对于其它大小写敏感的系统,比如linux,程序中用到的文件名必须和系统中的文件名完全一致。但是由于信息学竞赛的评测系统一般是linux,因此要求程序中的文件名和系统中的文件名一样。 [1]程序设计介绍播报编辑PASCAL语言是由瑞士的沃斯(N.Wirth)教授于1971年提出来的。它的命名是为了纪念法国数学家Pascal。它是世界上第一个结构化的高级程序设计语言。结构化程序设计主要由三种基本结构(顺序结构、选择结构、循环结构)组成。后来有人把函数和过程作为第四种基本结构。这四种结构对外看都只有一个入口和一个出口,结构清晰,避免了由GOTO语句所引起的混乱。另外在程序设计方法方面,主张采用自顶向下,逐步求精的方法。即将一个大的复杂问题,划分成若干少的易解决的问题。每个小问题,又可划分成一些更小的更易解决的问题。这样,只要把每个小问题都解决了,整个大问题也就解决了。这种方法也为多个人合作编程提供方便。例1-1:输入半径求圆的周长和面积?program circle(input,output);constPi=3.14;varr,L,s:real;beginwrite('r=');readln(r);L:=2*pi*r;s:=pi*r*r;writeln('R=',r:8:2,' L=',L:8:2,' S=',s:8:2);end .集成环境编辑程序、保存程序1. 请确定Turbo.exe文件所在磁盘目录。假如它是放在F:盘的TP7文件夹(又称子目录)中。2. 把您要保存程序文件的盘设为当前盘,并保存文件于当前盘的当前目录中。假如您的程序文件要存在H:盘的当前目录,则在DOS方式提示符“>;”后输入下面命令。> h:←┘3.调入并执行Turbo.exe,进入Turbo Pascal集成环境。> f:\tp7\turbo.exe←┘4.在程序编辑窗口中,输入例1-1程序。注意一个编辑窗口只能编辑一个程序文件。常用的编辑键有:← ↑ → ↓ :光标移动键。Delete :删除光标所在字符。←┘ :回车键,用于换行或在光标处插入一行之用。5.程序编辑完后,按F10 键,执行主菜单[File]中的[Save]项目菜单保存程序到磁盘中,并试用“yz1-1.PAS”作为例1-1程序存盘文件名。运行程序观察运行结果、跟踪调试程序1. 按F10 键,执行主菜单[ RUN ]中的[Run]项目菜单,运行程序,然后在提示后输入一个调试用的半径值:r= 10←┘2. 按F10 键,执行主菜单[Debug]中的[ output ]项目菜单,打开输出窗口观察到结果如下:R= 10.00 L= 62.80 S= 314.00如果有错,请找出错误并修改它,重复第1步,再执行直到有正确输出结果。3.重复第1步,再次运行程序,输入另一个园的半径值5,观察输出结果是否也正确,从而确定该程序能否正确解决不同半径的园的周长和面积的求解问题。程序调试中我们常用的操作还有:双线框的窗口称为“当前活动窗口”。F1 键:得到光标所在位置的项目的帮助信息。F4 键:要求运行到当前光标处暂停。F5 键:放大或缩小当前活动窗口。F6 键:切换其它窗口为当前活动窗口。F7 键:单步执行程序并能跟踪进入子程序(或开始单步执行)。F8 键:单步执行程序但不能跟踪进入其子程序(或开始单步执行)。F9键:运行、编译程序。F10 键:在菜单和活动窗口间转换。CTRL + Break 键:强制终止当前程序的运行。其它功能按键请同学们以后自己查看英文帮助说明,出色的程序员都习惯查看英文帮助。4.学习跟踪调试方法,它可帮助我们检查分析出算法上存在的错误。1. 按F10 键,执行主菜单[Debug]中的[ Watch ]项目菜单,打开监视窗口(2) 按 Insert 键,输入常量pi ←┘Insert 键,输入变量r ←┘Insert 键,输入变量l ←┘Insert 键,输入变量s ←┘3. 请按F8 键或F7单步执行程序直到程序结束,观察上述常量和变量如何变化。4. 观察程序执行过程中Watch监视窗口中常量和变量的值变化,分析算法是否正确。说明:如果想在程序还未结束前终止程序的单步执行或跟踪调试,可按F10 键,执行主菜单[Run]中的[ Program Reset ]项目菜单。1.1.5 关闭当前活动窗口、退出Turbo Pascal集成环境1. 按 F6 键切换当前活动窗口,执行主菜单[Windows]中的[Close]菜单项关闭当前活动窗口,如果当前活动窗口是程序编辑窗,在关闭前可能因程序已修改过而提问用户是否需要保存编辑窗口中的被更改后的程序。试逐一关闭所有窗口。2. 执行主菜单[File]中的[Exit]菜单项可退出Turbo Pascal集成环境,返回DOS提示符状态。1.1.6 深入理解例1-1程序各语句意义保留字Free Pascal 2.6.2用户手册附录-保留字1. 在Pascal中有些词具有特定的含义,用户必须正确理解其含义和正确使用,否则会运行出错。这些具有特定含义的词称为“保留字”。“保留字”不能做常量名、变量名或程序名。在Turbo Pascal7.0编辑窗口中,保留字默认用白色显示。例1-1中的包含的保留字有:program,const,var,begin,end,它们的特定含义分别是:program 指出后面定义的是程序名;const指出后面定义的是程序将用到的常量;var指出后面定义的是程序将用到的变量;begin指出程序执行代码开始;end指出程序执行代码结束。用户必须了解其含义,以便正确的使用,否则会造成错误,这些具有特定含义的保留字不能作其它用途,如作变量名等。在Free Pascal 2.6.2中,保留字共有93个,默认用白色显示,保留字如下:absolute,abstract,and,array,as,asm,assembler,begin,break,case,cdecl,class,const,constructor,continue,cppclass,deprecated,destructor,div,do,downto,else,end,except,exit,export,exports,external,experimental,fail,false,far,file,finally,for,forward,function,goto,if,implementation,in,index,inherited,initialization,inline,interface,interrupt,is,label,library,mod,name,near,nil,not,object,of,on,operator,or,otherwise,packed,popstack,private,procedure,program,property,protected,public,raise,record,reintroduce,repeat,self,set,shl,shr,stdcall,string,then,to,true,try,type,unimplemented,unit,until,uses,var,virtual,while,with,xor。标识符2. 除了保留字外,还用到标识符,用于表示常量、变量、类型、文件、函数、过程或程序的名字。标识符是以字母开头的字母、数字组合,标识符又分为标准标识符和用户自定义标识符。如例1-1中,用户自定义标识符有:程序名为circle,常量pi,实数型变量r、l和s,它们由程序设计者定义的;标准标识符有:实数标准类型名real,读数标准过程名readln,输出标准过程名write和writeln,标准输入文件input,标准输出文件output。在Pascal编译系统中,标准标识符也具有特殊的含义,我们定义标识符时也应尽量避免与标准标识符取相同名字。PASCAL中的保留字及标识符是不区分大小写的。在PASCAL中有些标识符已定义了特定的含义,称为标准标识符,它们是:标准常量:false,true,maxint等;标准类型:integer,real,char,boolean,string,text等;标准文件:input,output等;标准函数:abs,chr,cos,eof,eoln,round,trunc等;标准过程:read,readln,write,writeln,new,reset等;书写格式程序名说明:program <;用户自定义的程序名>(input,output);其中圆括号的内容称为程序的参数。程序参数指明程序与外部联系的文件名。input是标准输入文件,例如键盘;output是标准输出文件,例如屏幕、打印机等。对于标准设备常可省略(input,output)的说明,简写为:program <;用户自定义的程序名>;;如例1-1可省略简写为:“ program circle; ”常量定义:const [常量标识符]=[常量]:变量定义:var [变量表]:[类型];主程序语句部分:begin[语句1];[语句2];......[语句n]end.赋值语句:[变量名标识符]:=[表达式\变量常量\值];; 其意义是把右边:=后面的表达式、变量常量或值送到左边变量名所对应的数据区中。读数据标准过程(又称读语句):read(变量表)或readln,园括符内必须是已定义过的变量标识符,有多个时变量时可用逗号分隔构成变量表。read和readln的区别是readln完成所有必要的读取后会丢掉这一行的数据,不再进行读取.输出数据标准过程(又称写语句):write(数据项表)或writeln(数据项表),有多个数据项时要用逗号分隔。数据项可以是字符串(如:'L=',' S=')、变量(如:l、s),如:s:8:2,表示要求输出时数据保留2位小数位,总长度包括小数点为8位;write与writeln区别是writeln完成所有输出后自动换行。1.2 PASCAL基本组成1.2.1 PASCAL语言使用的几类基本符号(ASCII码)(1) 大小写英文字母:A,B,...Z,a,b,..z(2) 数字:0,1,2,3,4,5,6,7,8,9(3) 其它符号:+,-,*,/,=,< >,>=,<=,<,>,(,),[,],:=,',,. :,..,∧ 等。注意:PASCAL的标识符及保留字定义只能采用上述基本符号,其它特殊符号。例如:αβε∮∞≈,汉字等只能在字符型常量中使用。常量与变量程序中数据分为两类:一类是在程序执行过程中其值保持不变的量,称为常量;另一类是在程序执行过程中,其值可以改变的,这类数据称为变量。根据使用方式的不同,常量又可以分为直接常量和用户定义常量两种。1.直接常量指程序中直接引用的常数,在PASCAL中经常使用的常量有:整型常数,实型常数,字符型常数和布尔型常数等。1.整型常数语法图如下:如:100,+120,-199,0等。2. 实型常数语法图如下:如:100 , +120 ,2.5,0,0.005,+2.418,1.24E+3 ,-1.24E+3这里E表示用科学记数法表示,1.24E+3相当于数学的1.24×10^(+3)。3. 字符型常数语法图如下:如:'A','a','?','4','aBbc','12.5'等。4.布尔型常量布尔型常量简称为布尔型常数,它只有两个:true和false,分别表示逻辑判断的结果是真(True)和假(False)。2.用户自定义常量在程序中,如果一个常数反复多次出现在程序中,用户可以通过说明语句来定义一个标识符来代表这个常量。常量说明语法图如下:如:constpi=3.14;country='China';success=true;另外,还有一种“强型常量”定义方式,其语法为:CONST<常量标示符>:<常量类型>=<常量值>;如CONSTa:real=12;这说明a这个常量是实型常量,即a=1.2000000000E+001而不是a=12(这个整型)。强型常量常常在与精确度有关的场合用得上!3.变量说明PASCAL程序中数值可以改变的量称为变量,由于变量可以取不同的值,因此变量必须通过标识符来代表。程序中出现的每个变量都必须在程序的变量说明部分进行类型说明.变量说明语法图如下:如:varx,y,z:real;i,j,k:integer;ch:char;t,f:boolean;name:string;数据类型数据的类型确定了该类数据的表示形式和取值范围,而且确定了其所能参加的各种运算。一个数存放在计算机中都要占用固定的存储空间,这决定了在计算机中的每种数据类型定义的数的大小是有限的,这点与数学中的定义不同,为了节省空间和提高处理速度,我们通常要根椐处理的数的最大可能决定选用不同的数据类型。Byte(字节)为信息存储单位。PASCAL语言提供了丰富的数据类型,这里我们先介绍标准类型和部分构造类型,其它类型以后用到时才介绍。此处“占用存储空间”单位均为字节(byte)。1.整型整型类型名称类型标识符十进制数据表示范围2的整数幂数据表示范围占用存储空间整型integer-32,768~+32,767-2^15~+2^15-12短整型shortint-128~+127-2^7~+2^7-11长整型longint-2,147,483,648~+2,147,483,647-2^31~+2^31-1464位长整型int64-9,223,372,036,854,775,808~+9,223,372,036,854,775,807-2^63~+2^63-18字型word0~65,5350~+2^16-12字节型byte0~2550~+2^8-11双字型qword0~4,294,967,2950~+2^32-14longint四字型qword0~18,446,744,073,709,551,6150~+2^64-182.实型实型类型名称类型标识符2的整数幂数据表示范围有效位占用存储空间实型real-2.9*10^39~+1.7*10^3811~126单精度型single-1.5*10^45~+3.4*10^387~84双精度型double-5.0*10^324~+1.7*10^30815~168扩展精度型extended-1.9*10^4,932~+1.1*10^4,93219~2010装配十进制型comp-2^63~+2^63-119~208注:在Free Pascal中,single,double,extended,comp需要计算机的数学协处理器支持,即要在程序首行加入编译开关{$N+},若计算机为486SX以下,没有协处理器,可采用仿真办法,即在程序首行加入编译开关{$N+,$E+}。3.字符型和字符串型字符型类型名称类型标识符数据表示范围占用存储空间字符型charASCII码字符集中的全部字符1字符串型string长度不超过255的任一串字符字符串长度shortstring长字符串型ansistring长度不超过2,147,483,647的任一串字符开放字符串型openstring???注:char是标准类型,string是构造类型。string相当于packed array[x..y] of char。ansistring不能输入空格。4. 布尔型布尔型名称类型标识符数据表示范围占用存储空间布尔型booleantrue,false(真,假)1运算符在PASCAL中提供的运算符有算术运算符、关系运算符和逻辑运算符等。不同的运算符都规定了其运算对象的数据类型和运算结果的类型。如下表:运算符定义运算符运算类型运算对象类型结果类型+、-、*(代表×)算术运算整型、实型整型、实型/(代表÷)算术运算整型、实型实型div(整除)、mod(求余)算术运算整型整型not(非)、and(与)、or(或)、xor(异或)逻辑运算布尔型布尔型*<、>、<=、>=、=、<>关系运算所有标准类型**布尔型注1:逻辑运算的运算结果具体说明请看下表。注2:在关系运算中,整型与实型的比较点是数值大小,字符型的比较点是字符的ASCII码的值的大小,字符串型的比较点是从两个字符串的第一个字符起的ASCII码比较,若一样则往后,第二位,第三位类推。若前面都一样,其中一个字符串已没有可以继续比较的字符,那么另一个字符串大。其中,最基本情况的逻辑运算的运算结果如下表所示:基本逻辑运算的结果ABnot AA and BA or BA xor Btruetruefalsetruetruefalsetruefalsefalsefasletruetruefalsetruetruefalsetruetruefalsefalsetruefalsefalsefalse备注:and/or/xor也可对于integer进行计算,即按位进行and/or/xor计算标准函数和过程PASCAL中提供了很多标准函数和过程给用户直接使用,方便了我们编程,下面介绍一些常用的标准函数和标准过程,其它函数和过程可以在Trurbo Pascal的帮助文件中查阅。(1) 算术标准函数函数名称 X类型 结果类型 说明abs(x) 绝对值整型,实型整型,实型 Abs(-25)=25sqr(x) 平方值整型,实型整型,实型 Sqr(5)=25sqrt(x) 平方根 整型,实型 实型 sqrt(25)=5.0000000000E+00trunc(x) 取整整型,实型 整型 截取整数部分。trunc(-2.3)=-2round(x) 取整整型,实型 整型 四舍五入取整。round(-2.6)=-3 round(-2.3)=-2int(x) 取整整型,实型 实型 截取整数部分int(2.5)=2.0000000000E+00int(-2.5)=-2.000000000E+00frac(x) 取小数整型,实型 实型 frac(2.5)=5.0000000000E-01exp(x) 指数整型,实型 实型 例:求e3 即,e为2.718exp(3)=2.0085536923E+01ln(x) 对数整型,实型 实型 例:求log10(2)ln(2)=6.9314718056E-01random 随机数 无 实型 随机产生(0,1)间的随机数random(x) 随机数整型整型 随机产生[0,x-1]间的随机数其它函数还有正弦函数sin(x),余弦函数cos(x),反正切函数arctan(x),自然对数函等等,请需要时从Free Pascal中的英文帮助中查阅。注:在PASCAL中没有定义幂运算函数xn。但可采用下面式子计算:exp(n*ln(x))。(2) 算术标准过程[1] dec(x) 相当于 x:=x-1[2] dec(x,n) 相当于 x:=x-n[3] inc(x) 相当于 x:=x+1[4] inc(x,n) 相当于 x:=x+n(3)字符处理标准函数为了说明方便,设s,str,str1,str2为字符串型(string),ch为字符型(char)变量。[1] concat(str1,str2)作用:把两字符串连接成新字符中串。例:concat('abc','def') 结果:'abcdef'[2] copy(str,a,b)作用:从字符串str的左边第a(整数)位开始截取b(整数)位字符串。例:copy('abcdef',2,4) 结果:'bcde'[3] length(str)作用:求字符串str的长度。例:length('abcdef') 结果:6 ;length('') 结果:0 ;length(' ') 结果:1[4] chr(x)作用:求x(x为整数1--255)表示的ASCII代码对应的字符例:chr(65) 结果:'A' ;chr(66) 结果:'B'[5] ord(x)作用:求x的序号,其中x必须为有序类型。有序类型如:字符型、布尔型、整型、枚举型、子界型等。例:ord('A') 即'A'的ASCII码值为:65 ;ord('B') 即'B'的ASCII码值为:66ord(true) 结果:1; ord(false)结果:0ord(1) 结果:49;ord(0)结果:48[6] pos(str1,str2)作用:求字符串str1在字符串str2中的开始位置,结果为整数。例:pos('abc','efabcdg') 结果:3 ;pos('abc','efabfgh') 结果:0[7] upcase(ch)作用:把ch对应的字符转为大写字母。例:upcase('a') 结果:'A'(4) 字符串处理标准过程[1] delete(str,a,b)作用:从字符串str的左边第a(整数)个字符开始向右连续删除b(整数)位字符,并把剩余字符串赋给str例:str:='abcdefgh';delete(str,4,3); 最后str结果为:'abcgh'str:='abcdef';delete(str,8,3); 最后str结果为:'abcdef'[2] insert(str1,str,a)作用:把字符串str1插入字符串str中由第a(整数)位字符之前,并把新字符串赋给字符串变量str。例:str:='efghy';insert('abc',str,3);最后str结果为:'efabcghy'str:='efghy';insert('abc',str,8);最后str结果为:'efghyabc'[3] str(x,s)作用:将x(x为整数或实数)转化为数字字符串,结果存入S。例:str(12.4,s) s的结果为:'1.2400000000E+01'str(12.4:5:1,s) s的结果为:' 12.4'。str(124,s) s的结果为:'124'[4] val(str,a,code)作用:将数字字符串转换成数字,并将该数字存入实型或整型变量a中,code为返回的错误代码,code=0 表示转换成功,无错误。例:val('12',a,code) 若a为实型,a的结果为:1.2000000000E+01;若a为整型,a的结果为:12(5)布尔型标准函数[1] odd(x)作用:判断自变量x的奇偶特性,其中x为整型。奇数为true,偶数为false。例:odd(13) 结果:true ;odd(10)结果:false。[2] eof(x)作用:判断文件x是否处于结束状态。其中x为文件型变量。文件结束为true,否则为false。[3] eoln(x)作用:判断文件x是否处于行结束状态。其中x为文件型变量。行结束为true,否则为false。(6) 顺序类型函数[1] pred(x)作用:求x的前一个量值,其中x为字符型、布尔型、整型、枚举型、子界型等有序类型。例:pred(6)=5 ;pred('b')='a' ;pred(true)=false ; pred(false)=true[2] succ(x)作用:求x的后一个量值,其中x为字符型、布尔型、整型、枚举型、子界型等有序类型。例:succ(5)=6 ;pred('a')='b' ;pred(true)=false; pred(false)=true(7) 标准单元中常用标准过程Turbo Pascal中系统提供了八个标准单元,分别是:system(系统单元)、printer(打印单元)、dos(dos单元)、crt(显示单元)、overlay(覆盖单元)、graph(图形单元)、turbo3(与3.0版兼容单元)、graph3(3.0海龟图形单元)。这些单元中分别定义了大量的函数和过程供用户使用。但注意在使用标准单元的函数和过程前,除system单元可省略说明外,其它要在程序开头说明。说明格式如下:uses 标准单元; 或 uses 标准单元1,...,标准单元n;另外,前面介绍过的标准函数和过程都在system单元中。下面补充一些常用标准函数和过程。[1] clrscr 过程 在crt单元格式:clrscr 作用:清文本屏幕,并将光标移到屏幕左上角。[2] delay 过程 在crt单元格式:delay(ms) 作用:延迟ms毫秒数,其中ms为word型。[2] gotoxy 过程 在crt单元格式:gotoxy(x,y) 作用:称光标到y行x列上,其中x,y为byte型。[3] sound 过程 在crt单元格式:sound(hz) 作用:按hz(word型)指定的频率发音,调用该过程后会一直响,直到调用nosound过程将其关闭。[4] nosound 过程 在crt单元格式:nosound 作用:关闭扬声器。[5] readkey函数在crt单元格式:readkey 作用:从键盘读入一个字符,函数类型结果为char。[6] exit 过程 在system单元格式:exit 作用:退出当前过程或模块。[7] halt 过程 在system单元格式:halt 作用:停止程序执行。[8] getdate 过程 在dos单元格式:getdate(y,m,d,dw) 作用:返回当前日期(年,月,日,星期),其中y,m,d,dw为word型。1980<=y<=2099,1<=m<=12,1<=d<=31,0<=dw<=6(星期日为0)。[9] gettime 过程 在dos单元格式:gettime(h,m,s,se) 作用:返回当前时间(时,分,秒,毫秒),其中h,m,s,se为word型。0<=h<=24,0<=m<=59,0<=s<=59,0<=se<=99秒。还有setdate(y,m,d,dw),settime(h,m,s,se),请读者查阅Turbo Pascal的帮助文件。[10] read或readln过程 在system单元格式:read(f,v1,v2,...,vn)或readln(f,v1,v2,..vn) 其中f为文件型变量,标准输入文件input(如键盘输入)时可省,v1,v2,...,vn为变量名表。作用:从标准输入文件(如键盘输入)或磁盘文件中读入数据到变量中,多个变量时,要用逗号分隔。read与readln的区别是:readln会掉丢当前输入行中多余的数据。而read不会,多余的数据可留待下一个read或readln使用。[11] write或writeln过程 在system单元格式:write(f,v1,v2,...,vn)或writeln(f,v1,v2,...,vn) 其中f为文件型变量,标准输出文件OUTPUT(如显示器)可省,v1,v2,...,vn为表达式,且每个表达式的必须有唯一确定值,类型为标准类型。write与writeln区别是:writeln输完所有数据项后,光标自动移动到下一行,即自动换行。pascal函数集abort函数引起放弃的意外处理abs函数绝对值函数addexitproc函数将一过程添加到运行时库的结束过程表中addr函数返回指定对象的地址adjustlinebreaks函数将给定字符串的行分隔符调整为cr/lf序列align 属性 使控件位于窗口某部分alignment 属性 控件标签的文字位置allocmem函数在堆栈上分配给定大小的块allowgrayed 属性 允许一个灰度选择ansicomparestr函数比较字符串(区分大小写)ansicomparetext函数比较字符串(不区分大小写)ansilowercase函数将字符转换为小写ansiuppercase函数将字符转换为大写append函数以附加的方式打开已有的文件arctan函数余切函数assignfile函数给文件变量赋一外部文件名assigned函数测试函数或过程变量是否为空autosize 属性 自动控制标签的大小backgrounddi2001.jpg 属性 背景色beginthread函数以适当的方式建立用于内存管理的线程bevelinner 属性 控件方框的内框方式bevelouter 属性 控件方框的外框方式bevelwidth 属性 控件方框的外框宽度blockread函数读一个或多个记录到变量中blockwrite函数从变量中写一个或多个记录borderstyle 属性 边界类型borderwidth 属性 边界宽度break 命令 终止for、while、repeat循环语句brush 属性 画刷caption 属性 标签文字的内容changefileext函数改变文件的后缀chdir函数改变当前目录checked 属性 确定复选框选中状态chr函数返回指定序数的字符closefile 命令 关闭打开的文件color 属性 标签的颜色columns 属性 显示的列数comparestr函数比较字符串(区分大小写)concat函数合并字符串continue 命令 继续for、while、repeat的下一个循环copy函数返回一字符串的子串cos函数余弦函数ctl3d 属性 是否具有3d效果cursor 属性鼠标指针移入后的形状date函数返回当前的日期datetimetofiledate函数将delphi的日期格式转换为dos的日期格式datetimetostr函数将日期时间格式转换为字符串datetimetostring函数将日期时间格式转换为字符串datetostr函数将日期格式转换为字符串dayofweek函数返回星期的数值dec函数递减变量值decodedate函数将日期格式分解为年月日decodetime函数将时间格式分解为时、分、秒、毫秒delete函数从字符串中删除子串deletefile 命令删除文件diskfree函数返回剩余磁盘空间的大小disksize函数返回指定磁盘的容量dispose函数释放动态变量所占的空间disposestr函数释放字符串在堆栈中的内存空间ditherbackgrounddi2001.jpg?使背景色的色彩加重或减少50%dragcursor 属性 当鼠标按下时光标的形状dragmode 属性 按动的作用方式dropdowncount 属性 容许的显示数据项的数目editmask 属性 编辑模式enabled 属性 是否使标签呈现打开状态encodedate函数将年月日合成为日期格式encodetime函数将时、分、秒、毫秒合成为时间格式endmargin 属性 末尾边缘eof函数对有类型或无类型文件测试是否到文件尾eoln函数返回文本文件的行结束状态erase 命令 删除外部文件exceptaddr函数返回引起当前意外的地址exclude函数从集合中删除一些元素exceptobject函数返回当前意外的索引exit 命令 立即从当前的语句块中退出exp函数指数函数expandfilename函数返回包含绝对路径的字符串extendedselect 属性是否允许存在选择模式,true时,multiselect才有意义extractfiledir函数返回驱动器和路径extractfileext函数返回文件的后缀extractfilename函数返回文件名extractfilepath函数返回指定文件的路径fileage函数返回文件已存在的时间fileclose 命令 关闭指定的文件filecreate 命令 用指定的文件名建立新文件filedatetodatetime函数将dos的日期格式转换为delphi的日期格式fileexists函数检查文件是否存在filegatattr函数返回文件的属性filegetdate函数返回文件的dos日期时间标记fileopen 命令 用指定的存取模式打开指定的文件filepos函数返回文件的当前指针位置fileread 命令 从指定的文件读取filesearch 命令 在目录中搜索指定的文件fileseek函数改变文件的指针filesetattr函数设置文件属性filesetdate函数设置文件的dos日期时间标记filesize函数返回当前文件的大小filewrite函数对指定的文件做写操作fillchar函数用指定的值填充连续字节的数findclose 命令 终止findfirst/findnext序列findfirst命令 对指定的文件名及属性搜索目录findnext 命令 返回与文件名及属性匹配的下一入口floattodecimal函数将浮点数转换为十进制数floattostrf函数将浮点数转换为字符串floattostr函数将浮点数转换为字符串floattotext函数将给定的浮点数转换为十进制数floattotextfmt函数将给定的浮点数转换为十进制数flush函数将缓冲区的内容刷新到输出的文本文件中fmtloadstr函数从程序的资源字符串表中装载字符串fmtstr函数格式化一系列的参数,其结果以参数result返回font 属性 设置字体format函数格式化一系列的参数并返回pascal字符串formatbuf函数格式化一系列的参数formatdatetime 函数用指定的格式来格式化日期和时间formatfloat函数指定浮点数格式frac函数返回参数的小数部分freemem 函数按给定大小释放动态变量所占的空间getdir 返回指定驱动器的当前目录getheapstatus 返回内存管理器的当前状态getmem建立一指定大小的动态变量,并将指针指向该处getmemorymanager 返回内存管理器的入口点glyph函数按钮上的图象halt 停止程序的执行并返回到操作系统hi 返回参数的高地址位high 返回参数的上限值hint 属性 提示信息int 返回参数的整数部分include 添加元素到集合中insert 在字符串中插入子串inttohex 将整型数转换为十六进制数inttostr 将整型数转换为字符串ioresult 返回最新的i/o操作完成状态isvalidident 测试字符串是否为有效的标识符items 属性 默认显示的节点kind 属性 摆放样式largechange属性 最大改变值layout 属性 图象布局length函数返回字符串的动态长度lines 属性 缺省显示内容ln函数自然对数函数lo函数返回参数的低地址位loadstr 函数从应用程序的可执行文件中装载字符资源lowercase函数将给定的字符串变为小写low函数返回参数的下限值max 属性 最大值maxlength 属性 最大长度min 属性 最小值mkdir 命令 建立一子目录move函数从源到目标复制字节multiselect 属性 允许同时选择几个数据项name 属性 控件的名字new函数建立新的动态变量并设置一指针变量指向它newstr函数在堆栈上分配新的字符串now函数返回当前的日期和时间odd 测试参数是否为奇数onactivate 事件 焦点移到窗体上时触发onclick 事件 单击窗体空白区域触发ondblclick 事件 双击窗体空白区域触发onclosequery 事件 使用者试图关闭窗体触发onclose 事件窗体关闭后才触发oncreate 事件窗体第一次创建时触发ondeactivate 事件 用户切换到另一应用程序触发ondragdrop 事件 鼠标拖放操作结束时触发ondragover 事件 有其他控件从他上面移过触发onmousedown 事件 按下鼠标键时触发onmouseup 事件 释放鼠标键时触发onmousemove 事件 移动鼠标时触发onhide 事件 隐藏窗体时触发onkeydown 事件 按下键盘某键时触发onkeypress 事件 按下键盘上的单个字符键时触发onkeyup 事件 释放键盘上的某键时触发onpaint 事件窗体上有新部分暴露出来触发onresize 事件 重新调整窗体大小触发onshow 事件 在窗体实际显示之前瞬间触发ord 返回序数类的序数outlinestyle 属性 类型outofmemoryerror 引起outofmemory意外pageindex 属性 页索引pages 属性 页paramcount函数返回在命令行上传递给程序的参数数量paramstr 函数 返回指定的命令行参数pen 属性 画刷设置pi函数返回圆周率pipicture 属性 显示图象pictureclosed 属性 设置closed位图pictureleaf 属性 设置leaf位图pictureminus 属性 设置minus位图pictureopen 属性 设置open位图pictureplus 属性 设置plus位图pos函数在字符串中搜索子串pred函数返回先前的参数random函数返回一随机函数randomize 函数用一随机数初始化内置的随机数生成器read 函数对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中readln函数执行read过程,然后跳到文件下一行readonly 属性 只读属性reallocmem函数分配一动态变量rename 函数重命名外部文件renamefile函数对文件重命名reset函数打开已有的文件rewrite函数建立并打开一新的文件rmdir函数删除空的子目录round函数将实数值舍入为整型值runerror函数停止程序的执行scrollbars 属性 滚动条状态seek函数将文件的当前指针移动到指定的组件上seekeof函数返回文件的文件结束状态seekeoln函数返回文件的行结束状态selectedcolor 属性 选中颜色setmemorymanager函数设置内存管理器的入口点settextbuf函数给文本文件指定i/o缓冲区shape 属性 显示的形状showexception函数显示意外消息与地址sin函数正弦函数sizeof函数返回参数所占的字节数smallchange 属性 最小改变值sorted 属性 是否允许排序sqr函数平方函数sqrt函数平方根函数startmargin 属性 开始边缘state 属性 控件当前状态str函数将数值转换为字符串stralloc函数给以null结束的字符串分配最大长度-1的缓冲区strbufsize 函数返回存储在由stralloc分配的字符缓冲区的最大字符数strcat 函数将一字符串附加到另一字符串尾并返回合并的字符串strcomp函数比较两个字符串strcopy函数将一个字符串复制到另一个字符串中strdispose函数释放堆栈上的字符串strecopy 函数将一字符串复制到另一个字符串并返回结果字符串尾部的指针strend函数返回指向字符串尾部的指针stretch 属性 自动适应控件的大小strfmt函数格式化一系列的参数stricomp函数比较两个字符串(不区分大小写)stringtowidechar 函数将ansi字符串转换为unicode字符串strlcat 函数将一字符串中的字符附加到另一字符串尾并返回合并的字符串strlcomp函数以最大长度比较两个字符串strlcopy 函数将一个字符串中的字符复制到另一个字符串中strlen函数返回字符串中的字符数strlfmt 函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针strlicomp函数以最大长度比较两个字符串(不区分大小写)strlower函数将字符串中的字符转换为小写strmove 函数将一个字符串中的字符复制到另一个字符串中strnew函数在堆栈上分配一个字符串strpas函数将以null结束的字符串转换为pascal类的字符串strpcopy 函数将pascal类的字符串复制为以null结束的字符串strplcopy 函数从pascal类的最大长度字符串复制为以null结束的字符串strpos 函数返回一个字符串在另一个字符串中首次出现指针strrscan函数返 回字符串中最后出现字符的指针strscan函数返回字符串中出现首字符的指针strtodate函数将字符串转换为日期格式strtodatetime函数将字符串转换为日期/时间格式strtofloat函数将给定的字符串转换为浮点数strtoint函数将字符串转换为整型strtointdef函数将字符串转换为整型或默认值strtotime函数 将字符串转换为时间格式strupper函数将字符串中的字符转换为大写style 属性 类型选择suce函数返回后继的参数swap函数交换参数的高低地址位tabs 属性 标记每一项的内容tabindex 属性 标记索引text 属性 显示的文本texttofloat 函数将字符串(以null结束的格式)转换为浮点数time函数返回当前的时间timetostr函数将时间格式转换为字符串trim函数从给定的字符串中删除前导和尾部的空格及控制字符trimleft函数从给定的字符串中删除首部的空格及控制字符trimright函数从给定的字符串中删除尾部的空格及控制字符trunc函数将实型值截取为整型值truncate函数截去当前文件位置后的内容unselectedcolor 属性 未选中颜色upcase 将字符转换为大写uppercase 将给定的字符串变为大写val函数将字符串转换为整型值vararraycreate 函数以给定的界限和维数建立变体数组vararraydimcount函数返回给定变体的维数vararrayhighbound函数返回给定变体数组维数的上界vararraylock函数锁定给定的变体数组vararraylowbound函数返回给定变体数组维数的下界vararrayof函数返回指定变体的数组元素vararrayredim函数通过改变上限来调整变体的大小vararrayunlock函数解锁指定的变体数组varastype函数将变体转换为指定的类型varcase函数将变体转换为指定的类型并保存它varclear函数清除指定的变体varcopy函数将指定的变体复制为指定的变体varformdatetime函数返回包含日期时间的变体varisarray函数测试变体是否为数组varisempty函数测试变体是否为unassignedvarisnull函数测试变体是否为nullvartodatetime函数将给定的变体转换为日期时间vartype函数将变体转换为指定的类型并保存它visible 属性 控件的可见性wantreturns 属性为true时,按回车键产生一个回车符;为false时,按下ctrl+enter才产生回车符write 命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中writeln 命令执行write过程,然后输出一行结束标志widecharlentostring 函数将ansi字符串转换为unicode字符串widecharlentostrwar函数将unicode字符串转换为ansi字符串变量widechartostring 函数将unicode字符串转换为ansi字符串widechartostrvar函数将unicode字符串转换为ansi字符串变量外部文件链接函数适用于所有文件类型名字类型功能assign过程将一个外部文件赋予文件变量close过程关闭一个一打开的文件eof函数确认文件是否结束erase过程删除一个外部文件rename过程重命名一个外部文件reset过程打开一个已存在的文件rewrite过程建立一个新文件并打开只适用于文本文件名字类型功能append过程打开已存在的文件从尾部添加eoln函数确认文件是否行结束read过程从文本文件读取变量readln过程从文本文件读取变量并换行write过程从文本文件写入变量writeln过程从文本文件写入变量并换行只适用于类型文件名字类型功能read过程从类型文件读取变量write过程从类型文件写入变量filepos函数返回指定文件位置filesize函数返回文件长度seek过程将指针移动到指定位置表达式PASCAL中表达式是由常量、变量、函数、运算符及圆括号(只能用圆括号)连接起来的算式。与普通的算术运算式不同,表达式书写必须符合PASCAL语言规定。语法图如下:例如:数学式子:的PASCAL表达式为:abs(a-sqtr(c+1))/(a*b)+dPASCAL中运算的优先顺序如下:(1) 括号内表达式优先处理(2)函数(3) NOT(4) AND,*,/,DIV,MOD(5) +,-,OR(6) <,<=,=,>,>=,<>,IN注:同一个子表达式中,同一优先级的运算按从左到右的次序进行。而且不能用中括号和大括号,只能用圆括号。PASCAL结构一个较完整和PASCAL程序结构如下:program程序名(参数表);{$E-,$F+,.....}(编译开关)
uses使用单元
label标号说明;
const常量说明;
type类型说明;
var变量说明;
function函数说明;
procedure过程说明;
operator运算符说明;
begin
语句;
...
语句;
end.报错号播报编辑free pascal报错号对应翻译运行错误1 无效DoS功能号2.文件末找到3.路径未找到4.打开文件过多5.禁止文件存取6.无效文件句柄12.无效文件存取代码15.无效驱动器号16.不能删除当前目录17.不能跨驱动器改文件名100.Disk read error 磁盘读错误101.Disk write error 磁盘写错误102.文件变量末赋值103.File not open 文件未打开104.File not open for input 文件未用输入方式打开105.File not open for output 文件末用输出方式打开106.Invalid numeric format 无效数字格式150.磁盘写保护151.未知单元152.驱动器未准备好153.未知命令154.数据CRC校验错155.驱动器请求的结构长度错156.磁盘定位错157.未知媒介类型158.扇区末找到159.打印机缺纸160.设备写失败161.设备读失败162.硬件故障200.Division by zero 被零除201.Range check error 数据范围检查错202.Stack overflow error 堆栈溢出错203.Heap overflow error 堆溢出错204.Invalid pointer operation 无效指针操作205.Floating point overflow 浮点上溢出206.Floating point underflow 浮点下溢出207.Invalid floating point operation 无效浮点运算208.未安装覆盖管理程序209.覆盖文件读错210.Object not initialized 对象未初始化211.Call to abstract method 调用抽象方法212.Stream registration error 流登计错213.Collection index out of range 集合下标越界214.Collection overflow error集合溢出215.Arithmetic overflow error 算术上溢错误216 General protection fault 存取非法217.控制-C218.授权指令219.无效的TYPECAST220.无效的变体TYPECAST221.无效的变体操作222.没有变体方法调用DISPATCHER223.不能建立变体数组224.变体不包含数组225.变体数组边界错误226.TLS初始化错误编译错误l内存溢出2缺标识符3标识符未定义4标识符重定义5语法错误6实型常量错7整型常量错8字符串常量跨行9文件嵌套过多10非正常文件结束11行过长12缺类型标识符13打开文件过多14无效文件名15文件未找到16磁盘满17无效编译指示18文件过多19指针定义中未定义类型20缺变量标识符21类型错误22结构过长24文件分量不能为文件25无效字符串长度26类型不匹配27无效子界基类型28下界大于上界29缺有序类型30缺整型常数31缺常数32缺整型或实型常数33缺指针类型标识符34无效的函数结果类型35缺标号标识符36缺BEGIN37缺END38缺整型表达式39缺有序表达式40缺布尔表达式41操作数类型与操作符不匹配42表达式错43非法赋值44缺字段标识符45目标文件过长46未定义外部标识符47无效*.OBJ文件记录48代码段过长49数据段过长50缺DO51无效PUBLIC定义52无效EXTRN定义53EXTRN定义过多54缺0F55缺INTERFACE56无效重定位引用57缺THEN58缺T0或DOWNTO59未定义的向前引用60过程过多61无效类型转换62被零除D63无效文件类型64不能读写该类型的变量65缺指针变量66缺字符串变量67缺字符串表达式68单元循环引用69单元名不匹配70单元版本不匹配71单元重名72单元文件格式错误73缺IMPLEMENTATl0N74常数与CASE类型不相匹配75缺记录变量76常数越界77缺文件变量78缺指针变量79缺整型或实型表达式80标号不在当前块中81标号已定义82标号未定义83无效参数84缺UNIT85缺“;”86缺“:”87缺“,”88缺“(”89缺“)”90缺“=”91缺“:=”92缺“[”或“(.”93缺“]”或“.)”94缺“.”96变量过多97无效FOR控制变量98缺整型变量99此处不允许用文件和100字符串长度不匹配101无效字顺序102缺字符串常数103缺整型或实型变量104缺有序变量105INLINE错106缺字符表达式107重定位项过多112CASE常量越界113语句错114不能调用中断过程116必须在8087方式下编译117未找到目标地址118此处不允许包含文件120缺NIL121无效限定符122无效变量引用123符号过多124语句部分过长126文件必须为变量参数127条件符号过多128条件指令错位130初始条件定义错13l过程和函数头与前面定义的不匹酉132严重磁盘错误133不能计算该表达式134表达式错误结束l35无效格式说明符136无效间接引用137此处不允许结构变量138无SYSTEM单元不能计算l39不能存取该符号140无效浮点运算141不能将覆盖编译至内存142缺过程和函数变量143无效过程或函数引用144不能覆盖该单元147缺对象类型148不允许局部对象类型149缺VIRTUAL150缺方法标识符151不允许虚拟构造方法152缺构造方法标识符153缺释放方法标识符154FAIL只允许在构造方法内使用155无效的操作符和操作数组合156缺内存引用l57不能加减可重定位符号158无效寄存器组合159未激活286/287指令160无效符号引用161代码生成错162缺ASM166缺过程或函数标识符167不能输出该符号168外部文件名重复169可执行文件头太长170段太多注意事项播报编辑在NOIP比赛中使用Free Pascal的注意事项1.对于文件名,程序中用到的文件名必须和系统中的文件名完全一致。由于信息学竞赛的评测系统一般是linux,因此要求程序中的文件名和系统中的文件名一样。即:比赛中涉及的所有文件名(包括源程序名、输入文件名、输出文件名、答案文件名),都必须严格按照题目要求命名,严格区分大小写。2. 在NOIP比赛中,程序中不得使用题目规定外的其他任何库(unit),一般在试机时确认;3.在NOIP比赛中,源代码中不得使用编译选项(开关);乱码解决播报编辑对于windows10无效如果打开Free Pascal时显示的是一堆乱码,这是因为错误地使用中文编码所导致的。解决过程解决方案如下:1.在Free Pascal图标上单击右键,弹出快捷菜单,选择“属性”;2.弹出“Free Pascal IDE” 属性对话框,单击“选项”选项卡;3.把“默认代码页”改为“437 (OEM - 美国)”,单击“应用”,关闭对话框;针对windows10在完成“乱码解决(对于windows10无效)”第三步逗号以前的内容后,选择“使用旧版控制台”单击“应用”,然后关闭对话框。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000
Basic Pascal Tutorial/Introduction/zh CN - Free Pascal wiki
Basic Pascal Tutorial/Introduction/zh CN - Free Pascal wiki
Basic Pascal Tutorial/Introduction/zh CNFrom Free Pascal wiki(Redirected from Basic Pascal Introduction/zh CN)Jump to navigationJump to search
│
العربية (ar) │
български (bg) │
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
italiano (it) │
日本語 (ja) │
한국어 (ko) │
русский (ru) │
svenska (sv) │
中文(中国大陆) (zh_CN) │
简介 (原作者: Tao Yue, 状态: 未更改)
欢迎学习Pascal语言!本教程是对Pascal程序设计语言的一个简单而完整性的介绍。它涵盖了标准Pascal语言包括指针在内的所有语法。
如果你想要快点开始正式学习,或者如果你正在查找关于Pascal语言的某个特定特点的信息,你可以直接到本教程的目录表中去选择任何章节。
我已经尽可能地把所有的事情讲清楚。如果你仍然有不明白的地方,请在你的Pascal编译器里试一试并稍微做一些修改。Pascal是一种语法严格的语言。这就意味着如果你犯了错误,编译器会停止继续编译,然后报告错误给你。除了文件操作,你几乎没办法彻底搞砸你的计算机系统。
如果你想更加深入或更多地了解基本数据结构之外的东西,你可以购买在下面这个页面中列出的关于Pascal程序设计的书籍和杂志:Pascal和Lazarus的相关书籍和杂志
为了能够用Pascal(或者任何高级语言)编程,你需要一个编译器。本教程中你可以使用任何标准的Pascal编译器。如果你要下载一个编译器,或者如果你完全是第一次接触编程并且不知道编译器是干嘛的,点击这里了解更多信息。
上一页
目录
下一页
Retrieved from "http://wiki.freepascal.org/index.php?title=Basic_Pascal_Tutorial/Introduction/zh_CN&oldid=153642"
Categories: zhBasic Pascal Introduction/zh CNNavigation menuPage actionsPageDiscussionView sourceHistoryPage actionsPageDiscussionMoreToolsIn other languagesPersonal toolsCreate accountLog inNavigationMain PageDocumentationFAQDownloadsGlossaryIndexRecent changesRandom pageHelpToolsWhat links hereRelated changesSpecial pagesPrintable versionPermanent linkPage informationSearch This page was last edited on 20 August 2022, at 15:15.Content is available under unless otherwise noted.Privacy policyAbout Free Pascal wikiDisclaimers