<?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[Übersetzungsfrage Delphi -&amp;gt; Builder]]></title><description><![CDATA[<p>Hallo,<br />
könnte mir jemand sagen, wie ich die in Delphi geschriebenen unten stehenden Zeilen in C++ übertragen kann? Vor allem die Variablendeklarationen erzeugen bei mir immer wieder Fehlermeldungen, so als wenn es z. B. PDevMode nicht geben würde. Auch das ^. bereitet mir Schwierigkeiten.</p>
<p>Kriege das leider einfach nicht hin. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">procedure TForm1.Button1Click(Sender: TObject);
var
    device,driver,port : array [0..255] of Char;
	hdmode             : THandle;
	pdmode             : PDevMode;
begin
	Printer.PrinterIndex := -1;
    Printer.GetPrinter(device, driver, port, hdmode);
	if hdmode &lt;&gt; 0 then begin
		pdmode := GlobalLock(hdmode);
		if pdmode &lt;&gt; nil then begin
			pdmode^.dmFields := pdmode^.dmFields or dm_PaperSize;
			//Werte gültig für HP LaserJet 2100 PCL6. Schacht 1 = 260
			Printer.Orientation := poPortrait;
			pDMode^.dmFields := pDMode^.dmFields or dm_PaperSize;
			pDmode^.dmPaperSize := dmPaper_A4;
			pDMode^.dmDefaultSource := 260;
			Printer().BeginDoc();
			Printer().Canvas.TextOut(100, 100, &quot;Hallo&quot;);
            Printer().EndDoc();
        end;
		GlobalUnlock(hdmode);
	end;
end;
</code></pre>
<p>Ich danke für jede Antwort!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/115888/übersetzungsfrage-delphi-gt-builder</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 16:45:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/115888.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jul 2005 08:38:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Übersetzungsfrage Delphi -&amp;gt; Builder on Wed, 20 Jul 2005 08:38:03 GMT]]></title><description><![CDATA[<p>Hallo,<br />
könnte mir jemand sagen, wie ich die in Delphi geschriebenen unten stehenden Zeilen in C++ übertragen kann? Vor allem die Variablendeklarationen erzeugen bei mir immer wieder Fehlermeldungen, so als wenn es z. B. PDevMode nicht geben würde. Auch das ^. bereitet mir Schwierigkeiten.</p>
<p>Kriege das leider einfach nicht hin. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">procedure TForm1.Button1Click(Sender: TObject);
var
    device,driver,port : array [0..255] of Char;
	hdmode             : THandle;
	pdmode             : PDevMode;
begin
	Printer.PrinterIndex := -1;
    Printer.GetPrinter(device, driver, port, hdmode);
	if hdmode &lt;&gt; 0 then begin
		pdmode := GlobalLock(hdmode);
		if pdmode &lt;&gt; nil then begin
			pdmode^.dmFields := pdmode^.dmFields or dm_PaperSize;
			//Werte gültig für HP LaserJet 2100 PCL6. Schacht 1 = 260
			Printer.Orientation := poPortrait;
			pDMode^.dmFields := pDMode^.dmFields or dm_PaperSize;
			pDmode^.dmPaperSize := dmPaper_A4;
			pDMode^.dmDefaultSource := 260;
			Printer().BeginDoc();
			Printer().Canvas.TextOut(100, 100, &quot;Hallo&quot;);
            Printer().EndDoc();
        end;
		GlobalUnlock(hdmode);
	end;
end;
</code></pre>
<p>Ich danke für jede Antwort!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/834985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/834985</guid><dc:creator><![CDATA[Ingo]]></dc:creator><pubDate>Wed, 20 Jul 2005 08:38:03 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfrage Delphi -&amp;gt; Builder on Wed, 20 Jul 2005 09:00:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>PDevMode ist halt ein irgendwo definierter Typ (wahrscheinlich Pointer auf DevMode). Schau doch mal nach ob du die Deklaration dafür findest. Es scheint mir auf jeden Fall kein Standard zu sein. Das ^ ist die Pascal-Variante einer Pointer-Dereferenzierung.<br />
also mal als Beispiel</p>
<pre><code>pDMode^.dmFields := pDMode^.dmFields or dm_PaperSize;
</code></pre>
<p>müsste wohl so aussehen</p>
<pre><code class="language-cpp">pDMode-&gt;dmFields = pDMode-&gt;dmFields | dm_PaperSize;
</code></pre>
<p>[edit]<br />
Ich hab noch etwas nachgeschaut und den Typen <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_8nle.asp" rel="nofollow">DEVMODE</a> in der WinAPI gefunden. Ich vermute mal das PDevMode ein typedef auf einen Pointer auf DEVMODE ist.<br />
[\edit]</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/835004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/835004</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 20 Jul 2005 09:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfrage Delphi -&amp;gt; Builder on Wed, 20 Jul 2005 09:13:35 GMT]]></title><description><![CDATA[<p><a href="http://www.marquardtnet.info/cecke/quickies.1/1_quicky_30.html" rel="nofollow">http://www.marquardtnet.info/cecke/quickies.1/1_quicky_30.html</a></p>
<p>Könnte als Grundlage bessere Dienste leisten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/835034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/835034</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Wed, 20 Jul 2005 09:13:35 GMT</pubDate></item></channel></rss>