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}}
| align="center" style="background:#f0f0f0;"|'''Windows/DOS'''
+
| style="background:#f0f0f0;"|'''Windows/DOS'''
| align="center" style="background:#f0f0f0;"|'''Unix/Linux'''
+
| style="background:#f0f0f0;"|'''Unix/Linux'''
| align="center" style="background:#f0f0f0;"|'''Description'''
+
| style="background:#f0f0f0;"|'''Description'''
| align="center" style="background:#f0f0f0;"|'''FreePascal/Lazarus'''
+
| 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  
 
|-
 
|-
|?||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]
+
|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:

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