Rosetta Stone

From Free Pascal wiki
Revision as of 13:42, 12 February 2012 by BigChimp (talk | contribs) (Helps people familiar with performing tasks in other languages/environments to find FPC/Lazarus equivalents)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Introduction

Often, people new to a programming language/library have trouble mapping the things they know how to do in other environments to the new environments.

It can be handy to have a sort of "Rosetta stone" that roughly translates tasks from one environment/language into another.

Programming languages

If you have experience in other programming languages (such as C++, Visual Basic), there are some Rosetta stone web pages that might help you. As FreePascal/Lazarus syntax and library is fairly consistent with Delphi's, sites that "translate" to Delphi are also a valuable resource.

Some useful pages: [1] This page has some explanation of the concepts involved [2] A huge amount of languages, even esoteric, and tasks make this site special

Operating systems

If you know how to do something in an operating system, chances are you can do the same with FPC/Lazarus.

The table below gives a rough mapping of some tasks:

Windows/DOS Unix/Linux Description FreePascal/Lazarus
copy cp Copy file Lazarus fileutil.copyfile; roll your own with filestreams
del, erase rm Delete file sysutils.deletefile, erase
deltree, rmdir /s rm -r Remove directories with subdirectories Lazarus fileutil.deletedirectory
dir ls Find files in a directory Lazarus FindAllFiles
mkdir mkdir Create directory mkdir; forcedirectories (creates entire path, if necessary)
move mv Move file to another directory Within partition/disk: sysutils.renamefile; otherwise copy and delete original
rename, ren mv Rename file sysutils.renamefile (can also \"move\" file between directories, but only on same partition/disk
wget, curl wget, curl Download file from HTTP/FTP Multiple optons, e.g. use synapse httpsend or ftpsend units