<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[delphi code umwandeln in BCB code]]></title><description><![CDATA[<p>Hallo kann mir vielleicht einer dabei helfen?<br />
Was mach ich hier falsch?</p>
<p>Delphi code:</p>
<pre><code class="language-cpp">private
    FDoChangeEvents: Boolean;
    FFileName: String;
    FModified: Boolean;
    HistoryList : TStringList;
    procedure PopulateHistoryMenu;
    procedure LoadIniSettings;
    procedure SaveIniSettings;
    procedure SetDoChangeEvents(const Value: Boolean);
    procedure SetFileName(const Value: String);
    procedure SetModified(const Value: Boolean);
    { Private declarations }
  public
    { Public declarations }
    property Modified : Boolean read FModified write SetModified;
    property FileName : String read FFileName write SetFileName;
    procedure DrawXML( Data : Pointer = nil );
    function  DrawXMLItem( XMLItem : TXMLItem; Node : TTreeNode; Data : Pointer ) : Pointer;

    property DoChangeEvents : Boolean read FDoChangeEvents write SetDoChangeEvents;
  end;

procedure TfrmMain.DrawXML( Data : Pointer = nil );
var
  p : Pointer;
begin
  p := Data;
  if (tvXML.Selected &lt;&gt; nil) and
     (p = nil) then
    p := tvXML.Selected.Data;

  tvXML.Items.Clear;
  p := DrawXMLItem(XML.Root, nil, p);
  tvXML.FullExpand;

  if p = nil then
    tvXML.Selected := tvXML.Items[0]
  else
    tvXML.Selected := p;
end;

function TfrmMain.DrawXMLItem(XMLItem: TXMLItem; Node: TTreeNode; Data : Pointer) : Pointer;
var
  n : TTreeNode;
  i : Integer;
  p : Pointer;
begin
  Result := nil;
  p := nil;
  n := tvXML.Items.AddChild(Node, XMLItem.Name);
  n.Data := XMLItem;
  if Integer(n.Data) = Integer(Data) then
    p := n;

  for i := 0 to XMLItem.SubItemCount -1 do
    if p = nil then
      p := DrawXMLItem(XMLItem.SubItems[i], n, Data)
    else
      DrawXMLItem(XMLItem.SubItems[i], n, Data);

  if p &lt;&gt; nil then
    Result := p;
end;
</code></pre>
<p>Übersetzt in BCB<br />
Unit1.h</p>
<pre><code class="language-cpp">private:	// Anwender-Deklarationen
AnsiString FileName;
bool Modified;
public:		// Anwender-Deklarationen

void __fastcall DrawXML( void * Data = NULL ); //nil=Null
void __fastcall DrawXMLItem  ( TXMLItem * XMLItem , TTreeNode * Node , void * Data  );
        __fastcall TForm1(TComponent* Owner);
</code></pre>
<p>Unit1.cpp</p>
<pre><code class="language-cpp">void __fastcall TForm1::DrawXML( void * Data )
{
void * p;
p = Data;
if (tvXML-&gt;Selected == NULL &amp;&amp; p ==NULL)
{
  p = tvXML-&gt;Selected-&gt;Data; //tvXML = TreeView
}
tvXML-&gt;Items-&gt;Clear();
p = DrawXMLItem(XML-&gt;Root, NULL, p);
tvXML-&gt;FullExpand();

    if (p = NULL)
    {
    tvXML-&gt;Selected = tvXML-&gt;Items[0] ;
    }
    else
    {
    tvXML-&gt;Selected = p;
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DrawXMLItem( TXMLItem * XMLItem , TTreeNode * Node , void * Data  )
{
  TTreeNode * n;
  int i;
  void * p;

  Result = NULL;
  p = NULL;
  n = tvXML-&gt;Items-&gt;AddChild(Node, XMLItem-&gt;Name);
  n-&gt;Data = XMLItem;
  if Integer(n-&gt;Data) = int(Data) then
  p = n;

  for (i=0;i&lt;XMLItemSubItemCount-1;i++')
    if( p == NULL)
    {
    p = DrawXMLItem(XMLItem.SubItems[i], n, Data)
    }
    else
    {
      DrawXMLItem(XMLItem-&gt;SubItems[i], n, Data);
     }
  if (p == NULL)
    {
    Result = p;
    }
}
</code></pre>
<p>Vorab schonmal danke</p>
<p>Gruss Lisa</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148114/delphi-code-umwandeln-in-bcb-code</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 15:59:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148114.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 May 2006 14:33:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Tue, 23 May 2006 14:33:33 GMT]]></title><description><![CDATA[<p>Hallo kann mir vielleicht einer dabei helfen?<br />
Was mach ich hier falsch?</p>
<p>Delphi code:</p>
<pre><code class="language-cpp">private
    FDoChangeEvents: Boolean;
    FFileName: String;
    FModified: Boolean;
    HistoryList : TStringList;
    procedure PopulateHistoryMenu;
    procedure LoadIniSettings;
    procedure SaveIniSettings;
    procedure SetDoChangeEvents(const Value: Boolean);
    procedure SetFileName(const Value: String);
    procedure SetModified(const Value: Boolean);
    { Private declarations }
  public
    { Public declarations }
    property Modified : Boolean read FModified write SetModified;
    property FileName : String read FFileName write SetFileName;
    procedure DrawXML( Data : Pointer = nil );
    function  DrawXMLItem( XMLItem : TXMLItem; Node : TTreeNode; Data : Pointer ) : Pointer;

    property DoChangeEvents : Boolean read FDoChangeEvents write SetDoChangeEvents;
  end;

procedure TfrmMain.DrawXML( Data : Pointer = nil );
var
  p : Pointer;
begin
  p := Data;
  if (tvXML.Selected &lt;&gt; nil) and
     (p = nil) then
    p := tvXML.Selected.Data;

  tvXML.Items.Clear;
  p := DrawXMLItem(XML.Root, nil, p);
  tvXML.FullExpand;

  if p = nil then
    tvXML.Selected := tvXML.Items[0]
  else
    tvXML.Selected := p;
end;

function TfrmMain.DrawXMLItem(XMLItem: TXMLItem; Node: TTreeNode; Data : Pointer) : Pointer;
var
  n : TTreeNode;
  i : Integer;
  p : Pointer;
begin
  Result := nil;
  p := nil;
  n := tvXML.Items.AddChild(Node, XMLItem.Name);
  n.Data := XMLItem;
  if Integer(n.Data) = Integer(Data) then
    p := n;

  for i := 0 to XMLItem.SubItemCount -1 do
    if p = nil then
      p := DrawXMLItem(XMLItem.SubItems[i], n, Data)
    else
      DrawXMLItem(XMLItem.SubItems[i], n, Data);

  if p &lt;&gt; nil then
    Result := p;
end;
</code></pre>
<p>Übersetzt in BCB<br />
Unit1.h</p>
<pre><code class="language-cpp">private:	// Anwender-Deklarationen
AnsiString FileName;
bool Modified;
public:		// Anwender-Deklarationen

void __fastcall DrawXML( void * Data = NULL ); //nil=Null
void __fastcall DrawXMLItem  ( TXMLItem * XMLItem , TTreeNode * Node , void * Data  );
        __fastcall TForm1(TComponent* Owner);
</code></pre>
<p>Unit1.cpp</p>
<pre><code class="language-cpp">void __fastcall TForm1::DrawXML( void * Data )
{
void * p;
p = Data;
if (tvXML-&gt;Selected == NULL &amp;&amp; p ==NULL)
{
  p = tvXML-&gt;Selected-&gt;Data; //tvXML = TreeView
}
tvXML-&gt;Items-&gt;Clear();
p = DrawXMLItem(XML-&gt;Root, NULL, p);
tvXML-&gt;FullExpand();

    if (p = NULL)
    {
    tvXML-&gt;Selected = tvXML-&gt;Items[0] ;
    }
    else
    {
    tvXML-&gt;Selected = p;
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DrawXMLItem( TXMLItem * XMLItem , TTreeNode * Node , void * Data  )
{
  TTreeNode * n;
  int i;
  void * p;

  Result = NULL;
  p = NULL;
  n = tvXML-&gt;Items-&gt;AddChild(Node, XMLItem-&gt;Name);
  n-&gt;Data = XMLItem;
  if Integer(n-&gt;Data) = int(Data) then
  p = n;

  for (i=0;i&lt;XMLItemSubItemCount-1;i++')
    if( p == NULL)
    {
    p = DrawXMLItem(XMLItem.SubItems[i], n, Data)
    }
    else
    {
      DrawXMLItem(XMLItem-&gt;SubItems[i], n, Data);
     }
  if (p == NULL)
    {
    Result = p;
    }
}
</code></pre>
<p>Vorab schonmal danke</p>
<p>Gruss Lisa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063581</guid><dc:creator><![CDATA[lisa001]]></dc:creator><pubDate>Tue, 23 May 2006 14:33:33 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Tue, 23 May 2006 14:40:42 GMT]]></title><description><![CDATA[<blockquote>
<p>Was mach ich hier falsch?</p>
</blockquote>
<p>Keine Ahnung, was geht denn nicht?</p>
<p>Wie sollte dir jemand helfen? Was sollte man mit deinen Codefragmenten tun? Wo sollte man sie einfügen??</p>
<p>Irgendwie wäre so ein Hinweis auf Compiler oder Linkermeldungen hilfreich, die Zeilennummer wo es Probleme gibt usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063588</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Tue, 23 May 2006 14:40:42 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Tue, 23 May 2006 14:54:38 GMT]]></title><description><![CDATA[<p>zum einen möchte ich gerne wissen ob ich die Codezeilen richtig übersetzt habe</p>
<p>und dann tauchen beim compilieren immer wieder fehler auf<br />
z.B.</p>
<pre><code class="language-cpp">p = DrawXMLItem(XML-&gt;Root, NULL, p);
</code></pre>
<p>[C++ Fehler] Unit1.cpp(27): E2109 Kein zulässiger Typ</p>
<pre><code class="language-cpp">if (p = NULL)
    {
    tvXML-&gt;Selected = tvXML-&gt;Items[0] ;
    }
    else
    {
    tvXML-&gt;Selected = p;
    }
</code></pre>
<p>[C++ Fehler] Unit1.cpp(32): E2034 Konvertierungvon 'TTreeNodes'nach 'TTreeNode *' nicht möglich<br />
[C++ Fehler] Unit1.cpp(36): E2034 Konvertierung von 'void *' nach 'TTreeNode *' nicht möglich</p>
<p>gruss lisa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063600</guid><dc:creator><![CDATA[lisa001]]></dc:creator><pubDate>Tue, 23 May 2006 14:54:38 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Tue, 23 May 2006 15:01:32 GMT]]></title><description><![CDATA[<p>Die Fehlermeldung besagt, dass ein Zeiger erwartet wird und XML-&gt;Root offenbar keiner ist. Des Weiteren wird der Funktion DrawXMLItem die als 2. Parameter ebenfalls einen Zeiger vom Typ 'TTreeNode * erwartet ein void übergeben. Hier könnte ein casten helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063604</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Tue, 23 May 2006 15:01:32 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Tue, 23 May 2006 15:39:11 GMT]]></title><description><![CDATA[<p>wie würdet ihr denn diesen code übersetzen?</p>
<pre><code>private 
    FDoChangeEvents: Boolean; 
    FFileName: String; 
    FModified: Boolean; 
    HistoryList : TStringList; 
    procedure PopulateHistoryMenu; 
    procedure LoadIniSettings; 
    procedure SaveIniSettings; 
    procedure SetDoChangeEvents(const Value: Boolean); 
    procedure SetFileName(const Value: String); 
    procedure SetModified(const Value: Boolean); 
    { Private declarations } 
  public 
    { Public declarations } 
    property Modified : Boolean read FModified write SetModified; 
    property FileName : String read FFileName write SetFileName; 
    procedure DrawXML( Data : Pointer = nil ); 
    function  DrawXMLItem( XMLItem : TXMLItem; Node : TTreeNode; Data : Pointer ) : Pointer; 

    property DoChangeEvents : Boolean read FDoChangeEvents write SetDoChangeEvents; 
  end; 
//----------------------------------------------------------------------------
procedure TfrmMain.DrawXML( Data : Pointer = nil ); 
var 
  p : Pointer; 
begin 
  p := Data; 
  if (tvXML.Selected &lt;&gt; nil) and 
     (p = nil) then 
    p := tvXML.Selected.Data; 

  tvXML.Items.Clear; 
  p := DrawXMLItem(XML.Root, nil, p); 
  tvXML.FullExpand; 

  if p = nil then 
    tvXML.Selected := tvXML.Items[0] 
  else 
    tvXML.Selected := p; 
end; 
//------------------------------------------------------------------------
function TfrmMain.DrawXMLItem(XMLItem: TXMLItem; Node: TTreeNode; Data : Pointer) : Pointer; 
var 
  n : TTreeNode; 
  i : Integer; 
  p : Pointer; 
begin 
  Result := nil; 
  p := nil; 
  n := tvXML.Items.AddChild(Node, XMLItem.Name); 
  n.Data := XMLItem; 
  if Integer(n.Data) = Integer(Data) then 
    p := n; 

  for i := 0 to XMLItem.SubItemCount -1 do 
    if p = nil then 
      p := DrawXMLItem(XMLItem.SubItems[i], n, Data) 
    else 
      DrawXMLItem(XMLItem.SubItems[i], n, Data); 

  if p &lt;&gt; nil then 
    Result := p; 
end;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1063626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063626</guid><dc:creator><![CDATA[lisa001]]></dc:creator><pubDate>Tue, 23 May 2006 15:39:11 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Tue, 23 May 2006 15:45:57 GMT]]></title><description><![CDATA[<p>Und wozu diesen Code nochmal gepostet? Zeitschleife?</p>
<p>Ich würde ihn gar nicht übersetzen, ich würde</p>
<p>- eine XML Klasse des C++Builders nehmen oder<br />
- die pas-Datei in das Projekt mit aufnehmen und sie dann von dort direkt nutzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063629</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Tue, 23 May 2006 15:45:57 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Wed, 24 May 2006 06:20:48 GMT]]></title><description><![CDATA[<p>Gibt es den keine Möglichkeit diesen Code zu Übersetzen?<br />
Die *.pas mit einzubinden würde ich als letzte Möglichkeit in Betracht ziehen.<br />
Kann mir denn keiner dabei helfen disen Code zu Übersetzen?<br />
Bitte helft mir!!!!</p>
<p>Gruß Lisa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063946</guid><dc:creator><![CDATA[lisa001]]></dc:creator><pubDate>Wed, 24 May 2006 06:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Wed, 24 May 2006 06:28:50 GMT]]></title><description><![CDATA[<p>Sorry, aber man hat ja angefangen -&gt; du postet einfach den Code nochmal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063952</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Wed, 24 May 2006 06:28:50 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Wed, 24 May 2006 06:54:07 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich vermute mal so (ich übersetzte quasi Zeile für Zeile, da die Auszüge aus dem Kontext gerissen wurden und keine abschließende Korrektur ermöglichen)</p>
<pre><code class="language-cpp">private :
    bool FDoChangeEvents;
    AnsiString FFileName;
    bool FModified;
    TStringList* HistoryList; // Die Instanz dieser StringList mus irgendwo erstellt und auch wieder gelöscht werden!
    void PopulateHistoryMenu();
    void LoadIniSettings();
    void SaveIniSettings();
    void SetDoChangeEvents(const bool Value);
    void SetFileName(const AnsiString&amp; Value);
    void SetModified(const bool Value);
//    { Private declarations }
  public :
//    { Public declarations }
    __property bool Modified = {read = FModified, write = SetModified};
    __property AnsiString FileName =  {read = FFileName, write = SetFileName};
    void DrawXML(void* Data = NULL);
    void* DrawXMLItem(TXMLItem* XMLItem, TTreeNode* Node, void* Data);

    __property bool DoChangeEvents = {read = FDoChangeEvents, write = SetDoChangeEvents};
  };
//----------------------------------------------------------------------------

void TfrmMain::DrawXML(void* Data);
{
  void* p = Data;
  if ((tvXML-&gt;Selected) &amp;&amp; (!p))
    p = tvXML-&gt;Selected-&gt;Data;

  tvXML-&gt;Items-&gt;Clear();
  p = DrawXMLItem(XML-&gt;Root, 0, p);
  tvXML-&gt;FullExpand();

  if (!p) then
    tvXML-&gt;Selected = tvXML-&gt;Items[0];
  else
    tvXML-&gt;Selected = p;
  }
//------------------------------------------------------------------------
void* TfrmMain::DrawXMLItem(XMLItem* XMLItem, TTReeNode* Node, void* Data)
{
  TTreeNode* n = tvXML-&gt;Items-&gt;AddChild(Node, XMLItem-&gt;Name);
  int i;
  void* p = 0;

  n-&gt;Data = XMLItem;
  if (int(n-&gt;Data) == int(Data)) p = n;

  for (int i = 0; i &lt; XMLItem-&gt;SubItemCount; i++)
    if (!p)
      p = DrawXMLItem(XMLItem-&gt;SubItems[i], n, Data);
    else
      DrawXMLItem(XMLItem-&gt;SubItems[i], n, Data);

  return p;
  }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1063955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063955</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 24 May 2006 06:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to delphi code umwandeln in BCB code on Wed, 24 May 2006 08:57:30 GMT]]></title><description><![CDATA[<p>Erstmal danke!!!!</p>
<p>Aber leider komme ich immer noch nicht weiter!!!</p>
<p>Wenn einer Lust hat sich das ganze mal anzuschauen, ich habe die Komponente mit dem Demoprojekt(welches ich Übersetzen möchte) auf dem Server meines Bruders geladen.</p>
<p>Die *.pas heißt &quot;MainForm.pas&quot;<br />
<a href="http://www.autogas-emsland.de/XMLParser.zip" rel="nofollow">http://www.autogas-emsland.de/XMLParser.zip</a></p>
<p>Gruß Lisa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064032</guid><dc:creator><![CDATA[lisa001]]></dc:creator><pubDate>Wed, 24 May 2006 08:57:30 GMT</pubDate></item></channel></rss>