t2t-soft

This article can be obsolete: Actual documentation online

Procedures and functions


Procedures are translated to void-functions:

procedure foo; -> void foo();


The translation of functions is more complicated, because there aren't return-statements in Object-Pascal. Instead, the return value is assigned to a variable "Result", which is implicitely declared in each function. In C++ this variable must be declared explicitly and returned at the end of the function. Also to the Exit-function has to be replaced by a return-statement in C++.


function foo(i : Integer) : bar;
begin                        
  Result := 0;              
  if i < 0  then             
    EXIT              
  else         
    Result := 1;                      
end;
->

bar __fastcall foo ( int i ) 
{                            
  bar result;                
  result = 0;                
  if ( i < 0 )               
    return result;           
  else                       
    result = 1;              
  return result;             
}                            

In addition, the function name itself acts as a special variable that holds the function’s return value, as does the predefined variable Result. So the same translation as above results from:

function foo(i : Integer) : bar;
begin 
  foo := 0;
  if i < 0  then
    EXIT
  else
    foo := 1;
end;

   deutsch Deutsch


 
Latest News
05/18/26
Delphi2Cpp 2.7: Translation heuristics [more...]

11/18/25
Delphi2Cpp 2.6: Delphi Interfaces [more...]



"We have successfully completed the projects, and the applications are (for the most part) already running at our customers' sites."





"Thanks for your great work, really appreciate the work you have done on zlib and compiling ... test case."


Mattewada, Udayabhaskar
Nokia India 02/01/2021




[from case study...]

"A masterpiece -- Delphi2Cpp has exceeded all my expectations by far."


Tony Hürlimann
virtual-optima 08/20/2011



"First off, I have to say WOW! Delphi2Cpp is doing a *fantastic* job!"


Daniel Flower
linkrealms 01/15/2011



"Though we have not finished the conversion yet, I'm glad that we've found you and could transform Eurocap to C++ with the help of Delphi2CB and you. (And I'm also glad that we could help you to make Delphi2CB better😉)"


Gáspár Huba


 
This website is generated from plain text with [Minimal Website]

Minimal Website
 
Minimal Website is made with TextTransformer

TextTransformer
 
TextTransformer is made with Borland C++Builder

  Borland