Introduction
Installation
Examples
Tetris
SyneditDemo
ConsoleDemo
Registration
How to start
User interface
Toolbar
Additional menu items
Log panel
User options
Window positions
Customization
Translation options
Input options
Search paths
Paths to the source files
Paths to the VCL\RTL
Files, not to translate
Special  headers
Definitions
Windows.pas
Unit scope names
Extended "System.pas"
SetString
Memory management
Inc and Dec
RTL/VCL cover file
Processor options
Unification of CPP-sections
Stop om message directive
Substitution options
Unification of upper and lower case
Preprocessor identifiers
Match declaration case
Unify all cases
Fixed identifiers
Substitutions in the preprocessor
Substitutions of the translator
Prefixes for properties
Type options
String types
Meta capabilities
Type-map
Namespace options
Normalize namespaces
Suppressed namespaces
Forced namespaces
Ignore NODEFINE
TMessage
Tuning options
Special treatment of some RTL functions
Use stop-variable in for-loop
Treat typed constants as non-typed constants
Initialize Variables
Try to make const correct
Apply EXTERNALSYM directive
Apply NODEFINE directive
Make classes non-abstract
Write message-map as macro
Create additional 'this' parameter for class methods
Virtual class methods as static methods
Target options
Compiler
Precompiled header
pch.inc
Target platform
Output options
Verbose
Create units order file
Create dummy code
Refactoring
Load/Save refactoring
DFM Conversion
Load/Save DFM routines
Start parameter
Translation
Preprocessing
Conditional compilation
Unification of notations
Scanning dependencies
Writing the C++ code
Translation manager
Translation options
Selecting source files
Preview of the target files
Starting the translation
Results
Management
Use in command line mode
Parameter
What is translated
Tokens
Case sensitivity
Ampersand
Simple substitutions
String constants and single characters
Simple type identifiers
File layout
System Namespace
Uses clauses
Comments
Namespaces
extern variables
Indexes
ZEROBASEDSTRINGS
Types
Records, Classes, Interfaces
Record
Variant parts in records
Class
Ancestors
Constructors
Constructor of the base class
Constructor delegation
Initialization lists
Addition of missing constructors
Problems with constructors
Constructors with the same signature
Virtual functions at construction
Virtual constructors
Destructors
class methods
C++Builder __classmethod
Other compilers cllass methods
non virtual class methods
virtual class methods
Self instance
abstract methods
Visibility of class members
Creation of instances of classes
Interfaces
Multiple interfaces
Arrays
Static arrays
Dynamic arrays
Array indices
Initializing arrays
Array parameters
Open array parameters
Open array var parameters
Static array parameter
Dynamic array parameter
array of const
array of const for C++Builder
array of const for other compilers
array of const vs. set's
Returning arrays
Enumerated types
Ranges
Sets
Order of type definitions
Order of lookup
API Integration
BOOL
DWORD
PByte
THandle
Variables
threadvars
Resource strings
Operators
boolean vs. bitwise operators
operator precedence
is-operator
in-operator
Assignments
Explicit casts
void pointer casts
Special assignments
Multi-line strings
Routines
Procedures and functions
Parameter types
Adaption of parameters
Temporary variables
Calls of inherited procedures and functions
Nested routines
Nested routines with C++11
Nested routines with C++98
Special RTL/VCL-functions
I/O routines
Read(Ln)/Write(Ln) routines
Formatting parameters
RegisterComponents
Properties
Field properties
Changing the property prefixes
Indexed properties
Default array-property
Array property
Statements
for loop's
for-in loop
loop variable
case statements
finally
with-statements
Initialization/Finalization
class-reference type
C++Builder __classid
Other compiler ClassRef
_CreatingClassInstance
Reading and Writing
Message handlers
Absolute address
Method pointers
Libraries
New features since Delphi 7
Unicode
Unit scope names
Operator Overloading
binary operators
unary operators
conversion operators
more operators
Class helpers
Class-like records
Nested classes
Anonymous Methods
Assignment to a method reference
Assignment to a method
Using anonymous methods
Variable binding
Use as events
Generics
Declaration
Nested types
Base types
Procedural types
Parameterized methods
Redeclaration
Inline variable declarations
DFM-Translator
Normal assignments
Special assignments
DefineProperties
DFM conversion routines
Internally used properties
Design time only properties
Binary data
TClientDataSet
TImageList
Protected properties
TDataSet
TSplitter
TToolBar
Requires parent
Sets
Lists
Simple lists
List items
Collections
Setting the parent
List of predefined DFM routines
Creating Forms dynamically
EResNotFound
Main form
Creating Frames dynamically
Recursive translation
What is partially translated
API parameter casts
What is not translated
inline assembler
const-correctness
Low level code
Unit tests
Format
TDictionary
TStringList
Pretranslated C++ code
Delphi RTL/VCL
C++ code for C++Builder
d2c_convert
d2c_openarray
d2c_sysexcept
d2c_sysfile
d2c_syshelper
d2c_sysiter
d2c_sysmath
d2c_sysstring
d2c_system
d2c_systypes
C++ code for other compilers
d2c_config
d2c_convert
d2c_openarray
d2c_smallstring
d2c_sysconst
d2c_syscurr
d2c_sysdate
d2c_sysfile
d2c_sysiter
d2c_sysmac
d2c_sysmarshal
d2c_sysmath
d2c_sysmem
d2c_sysmonitor
d2c_sysmeta
d2c_sysobject
d2c_sysstring
d2c_system
d2c_systypes
d2c_sysvariant
DelphiSets
OnLeavingScope
RTL core
System.h
Visual C++ configuration
Special Delphi units
Preparing Delphi code
Bugs in the Delphi RTL/VCL
Frequent re-translation
Comments (*#_ ... _#*)
Predefined identifier Cpp
Delphi directives to support C++Builder
$HPPEMIT
$EXTERNALSYM
$NODEFINE
$NOINCLUDE
Impact on notations
Delphi projects
Clang
dpr Files
dfm Files
Tools
ExtractIdentifiers
MainFormExchange
ExtractReworked
Formatting
Delphi2Cpp 2 compared to Delphi2Cpp 1
Delphi2Cpp 2.x versus Delphi2CB
Delphi2Cpp 2.x versus Aurora2Cpp
TextTransformer
Service
Contact

© 2024 Dr. Detlef Meyer-Eltz