Difference between revisions of "Rosetta Stone"
From Free Pascal wiki
Jump to navigationJump to search (Additional examples) |
m (→Operating systems: Active Directory, ldap stuff, formatting) |
||
Line 17: | Line 17: | ||
The table below gives a rough mapping of some tasks: | The table below gives a rough mapping of some tasks: | ||
{| {{table}} | {| {{table}} | ||
− | | | + | | style="background:#f0f0f0;"|'''Windows/DOS''' |
− | | | + | | style="background:#f0f0f0;"|'''Unix/Linux''' |
− | | | + | | style="background:#f0f0f0;"|'''Description''' |
− | | | + | | style="background:#f0f0f0;"|'''FreePascal/Lazarus''' |
|- | |- | ||
| copy||cp||Copy file||Lazarus fileutil.copyfile; roll your own with filestreams | | copy||cp||Copy file||Lazarus fileutil.copyfile; roll your own with filestreams | ||
Line 30: | Line 30: | ||
| dir||ls||Find files in a directory||Lazarus FindAllFiles | | dir||ls||Find files in a directory||Lazarus FindAllFiles | ||
|- | |- | ||
− | | | + | |ldifde||ldapsearch||Search through Active Directory/LDAP||Use Synapse ldapsend unit to work with LDAP queries; see e.g. [http://leonardorame.blogspot.com/2007_02_01_archive.html example code on Leonardo Ramé's blog] |
|- | |- | ||
| mkdir||mkdir||Create directory||mkdir; forcedirectories (creates entire path, if necessary) | | mkdir||mkdir||Create directory||mkdir; forcedirectories (creates entire path, if necessary) |
Revision as of 08:54, 13 February 2012
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:
- http://mc-computing.com/Languages/ This page has some explanation of the concepts involved
- http://rosettacode.org/wiki/Category:Pascal 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 using 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, rm -f | Delete file | sysutils.deletefile, erase |
deltree, rmdir /s | rm -r,rm -rf | Remove directories with subdirectories | Lazarus fileutil.deletedirectory |
dir | ls | Find files in a directory | Lazarus FindAllFiles |
ldifde | ldapsearch | Search through Active Directory/LDAP | Use Synapse ldapsend unit to work with LDAP queries; see e.g. example code on Leonardo Ramé's blog |
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" a file between directories, but only on same partition/disk |
shutdown | shutdown | Shut down computer | ? |
wget, curl | wget, curl | Download file from HTTP/FTP | Multiple options, e.g. use synapse httpsend or ftpsend units |