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