String types

Top  Previous  Next

User interface > Translation options > Type options > String types


At the type options you can chose how the string types AnsiString, WideString and String are translated.






If Delphi string is selected, the translated code will use classes for AnsiString, WideString and UnicodeString. In C++Builder these classes are provided. If you chose this option for other compilers, you have to create these classes yourself. They have to be 1 based and have to obey the specifications from Embarcadero:




If Standard string is selected, the following typedef's are needed:



typedef std::string  AnsiString

typedef std::wstring WideString

typedef std::wstring UnicodeString



Delphi functions for strings will be converted to  functions for AnsiString/UnicodeString or std::string/std::wstring. Examples:




  s1, s2 : String;



  SetLength(s1, 10);      

  s1 := '12345678';

  s2 := copy(s1, 3, 4); 

  Delete(s1, 3, 2);      

  Pos(s1, s2);      




  Delphi string                       Standard string


  s1.Length();                        s1.size();           

  s1.SetLength(10);                   s1.resize(10);         

  s1 = L"12345678";                   s1 = L"12345678";      

  s2 = s1.SubString(3, 4);            s2 = s1.substr(3-1, 4);

  s1.Delete(3,  2);                   s1.erase(3-1,  2);     

  s2.Pos(s1);                         s2.find(s1);           





d2c string is an experimental own AnsiString/UnicodeString based on std::string/std::wstring




According to the chosen "String" as option String will be treated either as AnsiString or as UnicodeString.



S: String:


S := 'hallo';


is translated for an Ansi association to:


String S;

S = "hallo";


and for the Unicode association to


String S;

S = L"hallo";






This page belongs to the Delphi2Cpp Documentation

Delphi2Cpp home  Content