<?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[Kommandozeile]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich möchte meinen Prog einen Parameter (genauer: Dateiname) mitgeben.</p>
<p>In meinem Haupt-Dialog hab ich zwar eine &quot;Datei öffnen...&quot;-Funktionalität drin, aber wenn man den Dateinamen meinem Prog gleich als Parameter mitgeben kann, muss der User gar nicht erst den &quot;Datei öffnen...&quot;-Dialog nutzen.</p>
<p>Gefunden habe ich, dass ich in InitInstance()</p>
<pre><code class="language-cpp">CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
</code></pre>
<p>machen soll, aber was mache ich denn dann? Wie bekomme ich das, was geparst wird, in meinen Dialog rein? (MSDN hab ich gelesen, aber aufgrund schlechter Englischkenntnisse wohl nicht verstanden. <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>Danke für Tipps.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145231/kommandozeile</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 00:11:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145231.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Apr 2006 08:32:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 08:32:30 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich möchte meinen Prog einen Parameter (genauer: Dateiname) mitgeben.</p>
<p>In meinem Haupt-Dialog hab ich zwar eine &quot;Datei öffnen...&quot;-Funktionalität drin, aber wenn man den Dateinamen meinem Prog gleich als Parameter mitgeben kann, muss der User gar nicht erst den &quot;Datei öffnen...&quot;-Dialog nutzen.</p>
<p>Gefunden habe ich, dass ich in InitInstance()</p>
<pre><code class="language-cpp">CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
</code></pre>
<p>machen soll, aber was mache ich denn dann? Wie bekomme ich das, was geparst wird, in meinen Dialog rein? (MSDN hab ich gelesen, aber aufgrund schlechter Englischkenntnisse wohl nicht verstanden. <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>Danke für Tipps.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1045445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045445</guid><dc:creator><![CDATA[vollkommenegal]]></dc:creator><pubDate>Wed, 26 Apr 2006 08:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 10:36:17 GMT]]></title><description><![CDATA[<p>Dein Objekt cmdInfo hat nun einen ausgefüllten Member m_strFileName.<br />
Wenn der Dateiname angegeben wurde ist m_nShellCommand auf FileOpen gesetzt.</p>
<p>Nun könntest Du diesen Wert in eine Variable Deines Dialoges umladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1045561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045561</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 26 Apr 2006 10:36:17 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 11:57:28 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Nun könntest Du diesen Wert in eine Variable Deines Dialoges umladen.</p>
</blockquote>
<p>Soweit war ich auch schon. Die Frage, die mich aber nun seit Stunden beschäftigt ist: wie mache ich das? Wie bekomme ich cmdInfo aus der test.cpp rüber in die testDlg.cpp??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1045612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045612</guid><dc:creator><![CDATA[vollkommenegal]]></dc:creator><pubDate>Wed, 26 Apr 2006 11:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 12:39:37 GMT]]></title><description><![CDATA[<p>Wenn Du Daten eines Objektes woander ebnötigst dann musst Du die Daten eben dorthin schaffen, über kopieren der Daten, Zeigerübergabe oder eben Referenzen.</p>
<p>Du brauchst doch gar nicht das ganze CCmdInfo!<br />
Wenn das eine dialogbasierende Anwendung ist, dann existiert das Objekt um das es geht in Deiner InitInstance. In der Dialogklasse deklarierst Du eine CString Variable. Den Wert aus Deinem cmdInfo kopierst Du dann in diese Variable und dann kannst Du innerhalb des Dialoges darauf zugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1045663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045663</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 26 Apr 2006 12:39:37 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 13:04:44 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Den Wert aus Deinem cmdInfo kopierst Du dann in diese Variable und dann kannst Du innerhalb des Dialoges darauf zugreifen.</p>
</blockquote>
<p>Meinst Du nicht, dass ich das schon versucht hätte, bevor ich hier um Rat frage?? Aber es funktioniert einfach nicht. (Oder besser gesagt: so wie ich es versuche, funktioniert es nicht. <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>Im Moment hab ich es so (Auszug):</p>
<p><strong>test.cpp</strong></p>
<pre><code class="language-cpp">BOOL testApp::InitInstance()
{
 [ . . . ]
 testDlg* pdlg = new testDlg;

 CCommandLineInfo cmdInfo;
 ParseCommandLine(cmdInfo);
 pdlg-&gt;MachDochEndlichMal(cmdInfo.m_strFileName);
 [ . . . ]
}
</code></pre>
<p><strong>testDlg.cpp</strong></p>
<pre><code class="language-cpp">void testDlg::MachDochEndlichMal( CString _filename )
{
  if (IsFile(_filename))
  {
    MessageBox(_filename);
    m_strMyFilename = _filename;
  }
}
</code></pre>
<p>An sich funktioniert es (Es wird das ausgegeben, was in der Kommandozeile übergeben wurde), aber m_strMyFilename ist in testDlg::OnInitDialog() leer und ich verstehe nicht, wieso, denn wenn ich m_strMyFilename=&quot;blah&quot; in OnInitDialog() setze, ist es in einer anderen Methode ja auch bekannt und ich kann auf &quot;blah&quot; zugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1045684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045684</guid><dc:creator><![CDATA[vollkommenegal]]></dc:creator><pubDate>Wed, 26 Apr 2006 13:04:44 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 13:30:27 GMT]]></title><description><![CDATA[<p>Also ist m_strMyFilename eine Membervariable in testDlg?<br />
Dann geht:</p>
<pre><code>BOOL testApp::InitInstance()
{
 [ . . . ]
 testDlg* pdlg = new testDlg;

 CCommandLineInfo cmdInfo;
 ParseCommandLine(cmdInfo);

 pDlg-&gt;m_strMyFileName = cmdInfo.m_strFileName;
 pdlg-&gt;DoModal();
 [ . . . ]
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1045710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045710</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 26 Apr 2006 13:30:27 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 13:36:19 GMT]]></title><description><![CDATA[<p>Funktioniert auch nicht. Das Projekt wird kompiliert, aber m_strMyFileName ist in OnInitDialog() leer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1045713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045713</guid><dc:creator><![CDATA[vollkommenegal]]></dc:creator><pubDate>Wed, 26 Apr 2006 13:36:19 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 13:37:47 GMT]]></title><description><![CDATA[<p>Ich hab's mal über eine Funktion gemacht, die ich in InitInstance() aufgerufen hab:</p>
<pre><code class="language-cpp">CString CMyApp::getCommandLineArgs()
{
	// Kommandozeile ermitteln
	CString strArgs = ::GetCommandLine();
	// Aufrufende Anwendung entfernen
	int nPos = strArgs.Find(&quot; &quot;);
	if (nPos&lt;1)
		return &quot;&quot;;
	strArgs.Delete(0, nPos);
	strArgs.TrimLeft();

	return strArgs;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1045714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045714</guid><dc:creator><![CDATA[don_basto]]></dc:creator><pubDate>Wed, 26 Apr 2006 13:37:47 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 14:00:38 GMT]]></title><description><![CDATA[<p>So würde ich es auf keinen Fall machen!<br />
Was passiert denn, wenn Deine Anwendung unter &quot;C:\Program Files\Firma\Anwendung&quot; steht???</p>
<p>Warum machst Du nicht folgendes in InitInstance:</p>
<pre><code class="language-cpp">CCommandLineInfo cmd;
ParseCommandLine(cmd);
CString fileName = cmd.m_strFileName;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1045726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045726</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 26 Apr 2006 14:00:38 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Wed, 26 Apr 2006 14:39:33 GMT]]></title><description><![CDATA[<p>vollkommenegal schrieb:</p>
<blockquote>
<p>Funktioniert auch nicht. Das Projekt wird kompiliert, aber m_strMyFileName ist in OnInitDialog() leer.</p>
</blockquote>
<p>Und was steht in cmdInfo.m_strFileName?<br />
Sofern Du den DoModal nach der Zuweisung gemacht hast müsste die entsprechende Info in OnInitDialog zur Verfügung stehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1045754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045754</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 26 Apr 2006 14:39:33 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Thu, 27 Apr 2006 08:06:48 GMT]]></title><description><![CDATA[<p>Wie genau hast du denn deinen Dialog gestartet? Ich hoffe, per &quot;pdlg-&gt;DoModal();&quot;. (pdlg ist zumindest die Dialog-Instanz, die den Dateinamen bekommen hat - wenn dein Programm also mit einer anderen Instanz arbeitest, ist das Problem nicht weiter verwunderlich)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046163</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 27 Apr 2006 08:06:48 GMT</pubDate></item><item><title><![CDATA[Reply to Kommandozeile on Thu, 27 Apr 2006 08:16:37 GMT]]></title><description><![CDATA[<p>Hab's hinbekommen: ich hatte einen zweiten Dialog erzeugt und dem die Daten gegeben. Aber ich hab mit dem ersten &quot;gearbeitet&quot;, so dass er natürlich nichts von den Daten wissen konnte.</p>
<p>Danke an alle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046171</guid><dc:creator><![CDATA[vollkommenegal]]></dc:creator><pubDate>Thu, 27 Apr 2006 08:16:37 GMT</pubDate></item></channel></rss>