<?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[spagetticode herr werden]]></title><description><![CDATA[<p>wie werd ich nur herr mit diesem spagetticode.</p>
<p>ich habe das nudelgericht dort schon beschrieben:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-190441-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-190441-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html</a></p>
<blockquote>
<p>void __fastcall TForm1::FormPaint(TObject *Sender)<br />
{<br />
Canvas-&gt;Pen-&gt;Color = panel_1_to_65_;<br />
Canvas-&gt;MoveTo(Panel1-&gt;Left + (Panel1-&gt;Width/2),Panel1-&gt;Top + (Panel1-&gt;Height/2));<br />
Canvas-&gt;LineTo(Panel65-&gt;Left + (Panel65-&gt;Width/2),Panel65-&gt;Top + (Panel65-&gt;Height/2));</p>
<p>bis zu</p>
<p>Canvas-&gt;Pen-&gt;Color = panel_1_to_109_;<br />
Canvas-&gt;MoveTo(Panel1-&gt;Left + (Panel1-&gt;Width/2),Panel1-&gt;Top + (Panel1-&gt;Height/2));<br />
Canvas-&gt;LineTo(Panel109-&gt;Left + (Panel109-&gt;Width/2),Panel109-&gt;Top + (Panel109-&gt;Height/2));</p>
<p>und dann das ganze nochmal mit pannel 2 bis pannel 64.</p>
<p>und das alles nochmal für jede schicht.</p>
<p>geht das nicht irgendwie eleganter ?<br />
kann man nen variablennamenteil mit anderen variablen angeben<br />
die man inkrementiert (+1) z.b. mit (++[variablennahme];)<br />
(in alten, simplen batch scripts ging das).<br />
gibt es wenn nicht wenigstens ein tool das die zahlen<br />
in aufsteigender reihenfolge einträgt ?</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/topic/190456/spagetticode-herr-werden</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 14:47:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190456.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Aug 2007 20:11:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to spagetticode herr werden on Wed, 22 Aug 2007 20:20:51 GMT]]></title><description><![CDATA[<p>wie werd ich nur herr mit diesem spagetticode.</p>
<p>ich habe das nudelgericht dort schon beschrieben:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-190441-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-190441-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html</a></p>
<blockquote>
<p>void __fastcall TForm1::FormPaint(TObject *Sender)<br />
{<br />
Canvas-&gt;Pen-&gt;Color = panel_1_to_65_;<br />
Canvas-&gt;MoveTo(Panel1-&gt;Left + (Panel1-&gt;Width/2),Panel1-&gt;Top + (Panel1-&gt;Height/2));<br />
Canvas-&gt;LineTo(Panel65-&gt;Left + (Panel65-&gt;Width/2),Panel65-&gt;Top + (Panel65-&gt;Height/2));</p>
<p>bis zu</p>
<p>Canvas-&gt;Pen-&gt;Color = panel_1_to_109_;<br />
Canvas-&gt;MoveTo(Panel1-&gt;Left + (Panel1-&gt;Width/2),Panel1-&gt;Top + (Panel1-&gt;Height/2));<br />
Canvas-&gt;LineTo(Panel109-&gt;Left + (Panel109-&gt;Width/2),Panel109-&gt;Top + (Panel109-&gt;Height/2));</p>
<p>und dann das ganze nochmal mit pannel 2 bis pannel 64.</p>
<p>und das alles nochmal für jede schicht.</p>
<p>geht das nicht irgendwie eleganter ?<br />
kann man nen variablennamenteil mit anderen variablen angeben<br />
die man inkrementiert (+1) z.b. mit (++[variablennahme];)<br />
(in alten, simplen batch scripts ging das).<br />
gibt es wenn nicht wenigstens ein tool das die zahlen<br />
in aufsteigender reihenfolge einträgt ?</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1350038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350038</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Wed, 22 Aug 2007 20:20:51 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Wed, 22 Aug 2007 20:16:03 GMT]]></title><description><![CDATA[<p>Stichwort: Array</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350041</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Wed, 22 Aug 2007 20:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Wed, 22 Aug 2007 20:23:33 GMT]]></title><description><![CDATA[<p>Spaghetticode ist Code, dessen Kontrollfluss bis zur Unübersichtlichkeit verschlungen ist. Eine Sequenz einzelner Anweisungen mag manchmal unelegant sein, ist aber so ziemlich das Gegenteil davon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350048</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 22 Aug 2007 20:23:33 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Wed, 22 Aug 2007 20:51:24 GMT]]></title><description><![CDATA[<p>ja gut spagetticode ist auch kein code der objektorientiert ist,<br />
aber trotzdem ist der abschnitt lang wie ein spagetti.</p>
<p>auch wenn es ein spagetti mit übersichtlichen schlaufen ist.</p>
<p>wie würdest du sowas denn dann nennen ?</p>
<p>ich kenne ein array als wertetabelle,<br />
aber außer durch oberflächliches probieren<br />
noch nie für nötig befunden win array zu verwenden<br />
und fände es nun interessant wie man ein array da einbetten würde.</p>
<p>es geht ja nicht nur um die variable/array<br />
sondern auch um das entsprechende panelx.</p>
<p>mit welche syntax kann man das Panel[nummer] so ansprechen,<br />
daß die sache scheifenfähig wird ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350049</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Wed, 22 Aug 2007 20:51:24 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Wed, 22 Aug 2007 21:03:14 GMT]]></title><description><![CDATA[<p>fuse schrieb:</p>
<blockquote>
<p>ja gut spagetticode ist auch kein code der objektorientiert ist,<br />
aber trotzdem ist der abschnitt lang wie ein spagetti.</p>
</blockquote>
<p>Das hat nichts mit der Länge zu tun, nur mit der Verschlungenheit. Und OOP-Code kann auch Spaghetti-Code sein, das geht sogar sehr schnell.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350070</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 22 Aug 2007 21:03:14 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Wed, 22 Aug 2007 23:21:04 GMT]]></title><description><![CDATA[<p>danke für die wortdefinition <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
und wie sagt man nun zu code der unnötig lang ist<br />
und den man vielleichti neiner schleife kürzer lösen könnte ?</p>
<p>ich habe nun die variable durch nen array ersetzt</p>
<p>das mit arrays war aber einfach..<br />
das hatte ich doch schonmal verwendet<br />
aber da es array heißt hab ich mir nicht gemerkt.<br />
man hätte auch mehrdimensionale variablen sagen können oder ?</p>
<p>und wie mach ich das nun mit den panel objekten ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350081</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Wed, 22 Aug 2007 23:21:04 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Thu, 23 Aug 2007 07:13:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich würde einfach die drei Zeilen in eine Funktion stecken und die jeweils mit den Argumenten Color und Panel aufrufen. Obs mit nem Array wirklich übersichtlicher ist ist die Frage, denn das muß ja auch erst mal gefüllt werden, wird also auch nicht kürzer.</p>
<p>void __fastcall TForm1::ZeichnePanel(TColor ColorWert, TPanel * AktuPanel )<br />
{<br />
Canvas-&gt;Pen-&gt;Color = ColorWert;<br />
Canvas-&gt;MoveTo(Panel1-&gt;Left + (Panel1-&gt;Width/2),Panel1-&gt;Top + (Panel1-&gt;Height/2));<br />
Canvas-&gt;LineTo(AktuPanel-&gt;Left + (AktuPanel-&gt;Width/2),AktuPanel-&gt;Top + (AktuPanel-&gt;Height/2));<br />
}</p>
<p>ZeichnePanel( panel_1_to_65_, Panel65 );<br />
ZeichnePanel( panel_1_to_66_, Panel66 );<br />
...</p>
<p>Gruß Mümmel das Mümmel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350200</guid><dc:creator><![CDATA[muemmel]]></dc:creator><pubDate>Thu, 23 Aug 2007 07:13:07 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Thu, 23 Aug 2007 08:15:12 GMT]]></title><description><![CDATA[<p>Es ist schon deswegen kürzer, weil man dann den Aufruf in eine Schleife packen kann.<br />
Bezüglich Array von panels siehe unsere FAQ (Komponenten benutzen).</p>
<pre><code class="language-cpp">std::vector&lt;TPanel*&gt;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1350230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350230</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 23 Aug 2007 08:15:12 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Thu, 23 Aug 2007 08:53:32 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>jaja, ist mir schon klar, aber sich selbst füllende Arrays gibts noch nicht, man muß also irgendwo auch das Array mit Werten füllen. Bei den Farben ist das nicht so das Problem, die muß man ja sowieso definieren, kanns also auch gleich in Arrayform machen. Aber wenn die einzelnen Panels nicht zur Laufzeit sondern zur Entwurfszeit erstellt werden ists nur Mehrarbeit.<br />
Kommt immer auf die konkrete Situation an.<br />
Nur um ein Array benutzen zu können extra erst den ganzen quelltext umstellen macht nicht immer Sinn. Da geht die Variante von mir sicher besser, auch wenn sie nicht optimal ist.<br />
Wenn man aber noich in der Konzeptionsphase ist, ist der Arrayweg sicher besser.</p>
<p>Gruß Mümmel das Mümmel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350254</guid><dc:creator><![CDATA[muemmel]]></dc:creator><pubDate>Thu, 23 Aug 2007 08:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Fri, 24 Aug 2007 00:30:31 GMT]]></title><description><![CDATA[<p>genau und da es eine übung ist läuft es richtung array hinaus.<br />
wenn sich der index im laufe der bearbeitung nicht schnell mal ändern würde<br />
könnt man es ja auch so machen:</p>
<pre><code class="language-cpp">for(int zielindex=101; zielindex&lt;146;++zielindex)
  {
  Canvas-&gt;Pen-&gt;Color = (TColor)verbindung_von_zu_[1][zielindex-36];
  Canvas-&gt;MoveTo(Panel1-&gt;Left + (Panel1-&gt;Width/2),Panel1-&gt;Top + (Panel1-&gt;Height/2));
  Canvas-&gt;LineTo(dynamic_cast&lt;TPanel*&gt;(Form1-&gt;Components[zielindex])-&gt;Left + (dynamic_cast&lt;TPanel*&gt;(Form1-&gt;Components[zielindex])-&gt;Width/2),dynamic_cast&lt;TPanel*&gt;(Form1-&gt;Components[zielindex])-&gt;Top + (dynamic_cast&lt;TPanel*&gt;(Form1-&gt;Components[zielindex])-&gt;Height/2));
  Memo2-&gt;Lines-&gt;Add(IntToStr(zielindex));
  }
</code></pre>
<p>um die panels in ein array zu gießen muß ich noch bissel knabbern.</p>
<p>muß ich die komponenten dynamisch erstellen um die in arrayform zu haben ?<br />
haben die koponenten denn keinen eigenen index ?</p>
<p>wie lässt sich dies auf diesen code anwenden ?:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39211.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39211.html</a><br />
kann jemand ein beispiel machen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1350602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1350602</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Fri, 24 Aug 2007 00:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Tue, 28 Aug 2007 21:49:54 GMT]]></title><description><![CDATA[<p>ah hm ja array über pointer.<br />
wir hatten 3 jahre c/c++ unterricht<br />
und keiner kam auf die idee pointer durchzunehmen.</p>
<p>nunja bisher gings auch ganz gut ohne aber praktisch können sie snscheinend schon sein.</p>
<p>wenn ich was nicht wiß frag ich lieber.<br />
obs peinlich ist spielt keine rolle.</p>
<p>wenn ab und zu einer was schreiebt ist es allerdings schon nett <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354205</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Tue, 28 Aug 2007 21:49:54 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Tue, 28 Aug 2007 22:06:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Siehe FAQ hier im BCB-Forum, Abschnitt Komponenten benutzen, den Thread über Arrays von dynamische Controls.</p>
<p>Übrigens ist hier</p>
<pre><code class="language-cpp">dynamic_cast&lt;TPanel*&gt;(Form1-&gt;Components[zielindex])-&gt;Left
</code></pre>
<p>der dynamic_cast sinnlos. Sinn macht nur wenn nach dynamic_cast die Rückgabe auf 0 überprüft wird. Wenn du es nicht machst reicht auch ein einfacher static_cast</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354218</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 28 Aug 2007 22:06:21 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Wed, 29 Aug 2007 07:44:17 GMT]]></title><description><![CDATA[<p>Zumal man diese Zeile auch ein wenig kürzen könnte</p>
<pre><code class="language-cpp">TPanel* pan = dynamic_cast&lt;TPanel*&gt;(Form1-&gt;Components[zielindex]);
if( pan )
  Canvas-&gt;LineTo(pan-&gt;Left + pan-&gt;Width/2,pan-&gt;Top + pan-&gt;Height/2);
</code></pre>
<p>Sieht doch gleich viel übersichtlicher aus. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354310</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 29 Aug 2007 07:44:17 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Tue, 04 Sep 2007 02:17:44 GMT]]></title><description><![CDATA[<p>cool <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>ich werd die komponenten dann wahrscheinlich bei zeiten zur laufzeit erzeugen,<br />
da es anders nicht so sauber codierbar zu sein scheint.</p>
<p>außerdem kann die variante ja auch vorteile haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358401</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Tue, 04 Sep 2007 02:17:44 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Fri, 07 Sep 2007 09:04:17 GMT]]></title><description><![CDATA[<p>Du kannst die Komponente über ihren Namen identifizieren, das erfordert allerdings, dass du die Panels im ObjectInspector mit fortlaufenden Nummern versiehst (bzw. sie bennenst).</p>
<pre><code>std::vector&lt;TPanel*&gt; Panels;

// Platz im Vektor reservieren
Panels.reserve( PANEL_COUNT );

for( unsigned int uiPanelID = 0; uiPanelID &lt; PANEL_COUNT; ++uiPanelID )
{

   // Panelnamen bilden
   AnsiString strPanelName = &quot;PANEL&quot; + IntToStr( uiPanelID );

   // Panel bestimmen
   TPanel* pPanel = dynamic_cast&lt;TPanel*&gt;( FindComponent( strPanelName ) );
   if( NULL != pPanel )
   {
      Panels.push_back( pPanel );
   }
}
</code></pre>
<p>Jetzt benutzt du noch die Methode von Braunstein und hast den kompletten Code auf 20 Zeilen reduziert.</p>
<p>MfG<br />
Doc</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1360645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360645</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 07 Sep 2007 09:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Fri, 07 Sep 2007 09:15:08 GMT]]></title><description><![CDATA[<p>Nachtrag:<br />
Wenn du es auch noch schaffen solltest, die Farbe des Panels im Panel selbst zu setzen kannst du über einen Functor und for_each den ganzen Abwasch erledigen:</p>
<pre><code>class PaintPanelFunctor
{
   TCanvas* m_pCanvas;

public:
   PaintPanelFunctor( TCanvas* pCanvas ) :
      m_pCanvas( pCanvas )
   {
      assert( NULL != pCanvas );
   }

   void operator()( const TPanel* pPanel ) const
   {
      // Zeichne Panel auf Canvas
   }
};
</code></pre>
<p>Der Aufruf zum Zeichnen der Panels sieht dann so aus (benutze std::vector&lt;TPanel*&gt; aus obigem Post)</p>
<pre><code>for_each( Panels.begin(), Panels.end(), PaintPanelFunctor( Canvas ) );
</code></pre>
<p>for_each(</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1360652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1360652</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 07 Sep 2007 09:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to spagetticode herr werden on Thu, 13 Sep 2007 20:49:53 GMT]]></title><description><![CDATA[<p>hey das sind ja richtig cool tipps. danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364921</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Thu, 13 Sep 2007 20:49:53 GMT</pubDate></item></channel></rss>