<?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[TStringList und if Strukturen]]></title><description><![CDATA[<p>Also in meinem Programm verwende ich TStringList Variablen um Text in Textdateien zu speichern, doch wenn ich am Programmstart automatisch lade, kann ich auf TStringList keine if Strukturen und Vergleichsoperatoren wie == benutzen. Borland gibt zwar keine Fehlermeldung doch berücksichtigt er keineswegs meine Anweisung, so ist es mir nicht möglich die Seriennummer, die eingegen wurde zu überprüfen. Gibt es da eine Lösung??? <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/98052/tstringlist-und-if-strukturen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 14:23:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/98052.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Jan 2005 08:45:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 08:45:43 GMT]]></title><description><![CDATA[<p>Also in meinem Programm verwende ich TStringList Variablen um Text in Textdateien zu speichern, doch wenn ich am Programmstart automatisch lade, kann ich auf TStringList keine if Strukturen und Vergleichsoperatoren wie == benutzen. Borland gibt zwar keine Fehlermeldung doch berücksichtigt er keineswegs meine Anweisung, so ist es mir nicht möglich die Seriennummer, die eingegen wurde zu überprüfen. Gibt es da eine Lösung??? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/697760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697760</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Sun, 16 Jan 2005 08:45:43 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 09:03:13 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>zeig doch mal, wie deine Vergleiche und Zugriffe auf die TStringList aussehen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/697765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697765</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 16 Jan 2005 09:03:13 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 10:06:57 GMT]]></title><description><![CDATA[<p>Gut also in ein Programm gibt man den Freischaltcode ein, der wird dann in &quot;Freischaltcode.KJT&quot; gespeichert und das andere Programm greift darauf zu. Das Rätselprogramm sieht so aus:</p>
<pre><code class="language-cpp">------------------------------------------------------------------------------
|  Dieses Rätselprogramm stellt ihnen auf Knopfdruck ein Rätsel, welches sie |
|  durch eine Eingabe in das Eingabefeld lösen können, bei jeder falschen Ant|
|  wort wird ein Versuch hinzuaddiert, bei jeder richtigen Antwort wird ein  |
|  Punkt hinzuaddiert. Schon gelöste Rätsel können nicht nocheinmal gelöst   |
|  werden. Diese werden als gelöst gekennzeichnet.                           |
|                                                                            |
|  Den Quellcode habe ich komplett selbst geschrieben und somit ist er       |
|  geistiges Eigentum von Kevin Jakob.										

  Copyright by: Kevin Jakob						Version: 1.1    									
------------------------------------------------------------------------------*/
#include &lt;vcl\vcl.h&gt;
#pragma hdrstop

#include &quot;Basis.h&quot;
//---------------------------------------------------------------------------
#pragma resource &quot;*.dfm&quot;
TForm1 *Form1;
int Raetselnummer,Versuche,Versuchegesamt,Punkte,Start=1,Messagebox1,Messagebox2;
String Antwort;
TStringList *Raetsel1,*Freischaltcode, *Raetsel2,*Leer,*Weiter,*Geloest,*SicherRaetsel1,*SicherRaetsel2;
const String DRaetsel1=&quot;Rätsel1.KJT&quot;;
const String DRaetsel2=&quot;Rätsel2.KJT&quot;;
const String Freischaltung=&quot;Freischaltcode.KJT&quot;;
const int Raetselanzahl=2;
bool Klick=false,Raetselloesung=false;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
Leer=new TStringList;
Leer-&gt;Add(&quot; &quot;);
SicherRaetsel1=new TStringList;
SicherRaetsel2=new TStringList;
Weiter=new TStringList;
Weiter-&gt;Add(&quot;Für das nächste Rätsel drücken sie auf Weiter oder auf beenden. &quot;);
Geloest=new TStringList;
Geloest-&gt;Add(&quot;Dieses Rätsel ist bereits gelöst !&quot;);
Raetsel1=new TStringList;
Raetsel2=new TStringList;
Freischaltcode=new TStringList;
randomize();
try
{
	Raetsel1-&gt;LoadFromFile(DRaetsel1);
}
catch(...)
{
	Application-&gt;MessageBox(&quot;Fehler beim Laden der Datei: Rätsel1.KJT, stellen sie sicher, dass diese Datei vorhanden ist!&quot;,&quot;Fehler&quot;,0+16);
	Raetsel1-&gt;Add(&quot;Fehler beim Laden dieses Rätsels!&quot;);
}
try
{
	Raetsel2-&gt;LoadFromFile(DRaetsel2);
}
catch(...)
{
 	Application-&gt;MessageBox(&quot;Fehler beim Laden der Datei: Rätsel2.KJT, stellen sie sicher, dass diese Datei vorhanden ist!&quot;,&quot;Fehler&quot;,0+16);
	Raetsel2-&gt;Add(&quot;Fehler beim Laden dieses Rätsels!&quot;);
}
try
{
//Hier will ich die if Abfrage, doch das geht nicht.
	Freischaltcode-&gt;LoadFromFile(Freischaltung);
}
catch(...)
{
	Application-&gt;MessageBox(&quot;Sie können das Programm nicht benutzen, da kein Freischaltcode vorhanden ist. Drücken sie auf beenden und geben sie im Freischaltprogramm einen gültigen Freischaltcode ein.&quot;,&quot;Achtung!&quot;,0+16);
}
SicherRaetsel1=Raetsel1;
SicherRaetsel2=Raetsel2;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Application-&gt;MessageBox(&quot;Copyright by: Kevin Jakob, Version: 1.1&quot;,&quot;Info&quot;,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Sicher;
Sicher=Application-&gt;MessageBox(&quot;Sind sie sicher?&quot;,&quot;Beenden&quot;,4+32);
if(Sicher==IDYES)Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
if(Start==1)
{
	Klick=true;
	Raetselnummer=random(2);
	if(Raetselnummer==0)
	{
		RichEdit1-&gt;Lines=Raetsel1;
    	Label2-&gt;Caption=&quot;Lösen sie dieses Rätsel !&quot;;
	}
	if(Raetselnummer==1)
	{
		RichEdit1-&gt;Lines=Raetsel2;
   	 	Label2-&gt;Caption=&quot;Lösen sie dieses Rätsel !&quot;;
	}
}
if(Start==2)
{
    Messagebox1=Application-&gt;MessageBox(&quot;Wollen sie neu starten?&quot;,&quot;Neustart&quot;,4+32);
    if(Messagebox1==IDYES)
    {
    	Application-&gt;MessageBox(&quot;Alle Werte wurden zurück gesetzt!&quot;,&quot;Hinweis&quot;,0+48);
        Raetselloesung=false;
        Raetsel1=SicherRaetsel1;
        Raetsel2=SicherRaetsel2;
        Label2-&gt;Caption=&quot;Hier wird ihnen das Rätsel gestellt.&quot;;
        Edit1-&gt;Text=&quot;&quot;;
        RichEdit1-&gt;Lines=Leer;
        Versuche=0;
        Label6-&gt;Caption=IntToStr(Versuche);
        Versuchegesamt=0;
        Label8-&gt;Caption=IntToStr(Versuchegesamt);
        Punkte=0;
        Label4-&gt;Caption=IntToStr(Punkte);
        Start=1;
   	}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Start=2;
if(Klick==false)
	Application-&gt;MessageBox(&quot;Sie müssen zuerst auf Start klicken !&quot;,&quot;Starten&quot;,0+48);
if(Klick==true &amp;&amp; Raetselloesung==false)
{
	Antwort=Edit1-&gt;Text;
	if(Raetselnummer==0)
    {
    	if(Antwort==&quot;Luft&quot; || Antwort==&quot;luft&quot; || Antwort==&quot;die Luft&quot; || Antwort==&quot;die luft&quot;)
        {
        	Versuchegesamt=Versuchegesamt+1;
            Label8-&gt;Caption=IntToStr(Versuchegesamt);
        	Versuche=Versuche+1;
            Label6-&gt;Caption=IntToStr(Versuche);
            Punkte=Punkte+1;
            Label4-&gt;Caption=IntToStr(Punkte);
            Label2-&gt;Caption=&quot;Diese Antwort ist richtig !&quot;;
            RichEdit1-&gt;Lines=Weiter;
            Raetsel1=Geloest;
            Edit1-&gt;Text=&quot;&quot;;
            Raetselloesung=true;
        }
        if(Antwort!=&quot;Luft&quot; &amp;&amp; Antwort!=&quot;luft&quot; &amp;&amp; Antwort!=&quot;die Luft&quot; &amp;&amp; Antwort!=&quot;die luft&quot;)
        {
        	Label2-&gt;Caption=&quot;Diese Antwort ist falsch !&quot;;
            Versuchegesamt=Versuchegesamt+1;
            Label8-&gt;Caption=IntToStr(Versuchegesamt);
            Versuche=Versuche+1;
            Label6-&gt;Caption=IntToStr(Versuche);
        }
    }
    if(Raetselnummer==1)
    {
    	if(Antwort==&quot;Ziel&quot; || Antwort==&quot;ziel&quot; || Antwort==&quot;das Ziel&quot; || Antwort==&quot;das ziel&quot;)
        {
        	Versuche=Versuche+1;
            Versuchegesamt=Versuchegesamt+1;
            Label6-&gt;Caption=IntToStr(Versuche);
            Label8-&gt;Caption=IntToStr(Versuchegesamt);
            Punkte=Punkte+1;
            Label4-&gt;Caption=IntToStr(Punkte);
        	Label2-&gt;Caption=&quot;Diese Antwort ist richtig !&quot;;
            RichEdit1-&gt;Lines=Weiter;
            Raetsel2=Geloest;
            Edit1-&gt;Text=&quot;&quot;;
            Raetselloesung=true;
        }
        if(Antwort!=&quot;Ziel&quot; &amp;&amp; Antwort!=&quot;ziel&quot; &amp;&amp; Antwort!=&quot;das Ziel&quot; &amp;&amp; Antwort!=&quot;das ziel&quot;)        {
        	Label2-&gt;Caption=&quot;Diese Antwort ist falsch !&quot;;
        	Versuche=Versuche+1;
            Versuchegesamt=Versuchegesamt+1;
            Label8-&gt;Caption=IntToStr(Versuchegesamt);
            Label6-&gt;Caption=IntToStr(Versuche);
        }
    }
}
if(Punkte==Raetselanzahl)
{
	Messagebox2=Application-&gt;MessageBox(&quot;Sie haben alle Rätsel richtig gelöst. Drücken sie OK für einen Neustart und Abrechen für beenden.&quot;,&quot;Neustart&quot;,4+16);
    if(Messagebox2==IDYES)
    {
    	Start=2;
    	Button5Click(Sender);
    }
    if(Messagebox2!=IDYES)
    	Button2Click(Sender);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Klick==false)
	Application-&gt;MessageBox(&quot;Sie müssen zuerst auf Start klicken !&quot;,&quot;Starten&quot;,0+48);
if(Klick==true)
{
    Versuche=0;
    Label6-&gt;Caption=IntToStr(Versuche);
    Raetselloesung=false;
	Raetselnummer=random(2);
    if(Raetselnummer==0)
	{
		RichEdit1-&gt;Lines=Raetsel1;
    	Label2-&gt;Caption=&quot;Lösen sie dieses Rätsel !&quot;;
	}
	if(Raetselnummer==1)
	{
		RichEdit1-&gt;Lines=Raetsel2;
   	 	Label2-&gt;Caption=&quot;Lösen sie dieses Rätsel !&quot;;
	}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label1Click(TObject *Sender)
{
Application-&gt;MessageBox(&quot;Geben sie in das Eingebefeld neben diesem Text ihre Antwort ein!&quot;,&quot;Hinweis&quot;,0);	
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label2Click(TObject *Sender)
{
Application-&gt;MessageBox(&quot;In dem Eingabefeld unter diesem Text wird ihnen das Rätsel gestellt !&quot;,&quot;Hinweis&quot;,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label3Click(TObject *Sender)
{
Application-&gt;MessageBox(&quot;Hier wird ihnen die Punktzahl angezeigt.&quot;,&quot;Hinweis&quot;,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label5Click(TObject *Sender)
{
Application-&gt;MessageBox(&quot;Hier wird ihnen die Versuchszahl angezeigt, die sie für das aktuelle Rätsel bisher gebraucht haben.&quot;,&quot;Hinweis&quot;,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label7Click(TObject *Sender)
{
Application-&gt;MessageBox(&quot;Hier wird ihnen die Gesamtversuchszahl, des derzeitigen Spiels angezeigt.&quot;,&quot;Hinweis&quot;,0);
}
//---------------------------------------------------------------------------
</code></pre>
<p>Dort wo Hier will ich die If Abfrage, dort wollte ich sie machen, doch der Builder reagiert nicht. Bitte helft mir. Ich bin noch Anfänger also nicht über die Form aufregen, falls sie irgendwie schlecht ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/697787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697787</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Sun, 16 Jan 2005 10:06:57 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 10:17:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>und wie sehen deine Daten in Freischaltcode.kjt aus? Was genau soll mit der if-Bedingung in den Daten geprüft werden?<br />
Allgemein gilt :</p>
<pre><code class="language-cpp">AnsiString Buffer;
int Lines;
TStringList *List;
Buffer = List-&gt;Text; // gesamter Text der StringList
Lines = List-&gt;Count; // Anzahl der Zeilen des Textes
Buffer = List-&gt;Strings[0]; // Zugriff auf erste Zeile, Zeilen gehen von 0 bis Count -1
Buffer = List-&gt;Values[&quot;ValueName&quot;]; 
// Zugriff auf den Wert mit der Bezeichnung ValueName, wenn in der 
// Datei so ein Eintrag vorhanden ist :
// &lt;Zeilenende&gt;ValueName=Value&lt;Zeilenende&gt;
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/697796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697796</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 16 Jan 2005 10:17:21 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 10:45:11 GMT]]></title><description><![CDATA[<p>Also in den KJT Dateien steht der Freischaltcode. Das Rätselprogramm soll, nachdem es registriert hat, dass Freischaltcode.KJT vorhanden ist, überprüfen ob TStringList Freischaltcode nach der Übergabe aus der Textdatei == dem Code iost oder nicht. Soll ich da lieber eine Direktüberprüfung wie</p>
<pre><code class="language-cpp">if(Freischaltcode==&quot;DVNDEFK&quot;)
</code></pre>
<p>machen oder lieber mit einer anderen Variable überprüfen lassen wie hier:</p>
<pre><code class="language-cpp">if(Freischaltcode==Ueberpruefer)
</code></pre>
<p>???<br />
Der Freischaltcode ist nur ein Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/697819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697819</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Sun, 16 Jan 2005 10:45:11 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 10:48:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>da du schon einige const String hast, nimm noch mal einen. Wenn dann in der Datei nur der Code steht, reicht dann das :</p>
<pre><code class="language-cpp">const String Code = &quot;LegalCopy&quot;;
...
if (Freischaltcode-&gt;Text == Code)
{
  // Dateiinhalt ist korrekt
  }
else
{
  // Dateiinhalt ist nicht korrekt
  }
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/697825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697825</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 16 Jan 2005 10:48:37 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 11:01:10 GMT]]></title><description><![CDATA[<p>Also das funzt immer noch nicht. Wenn ich schreibe</p>
<pre><code class="language-cpp">Freischaltcode-&gt;Text==RealCode;
</code></pre>
<p>und der Code stimmt in der KJT Datei und in der const string überein. Macht er trotzdem nicht. Er sagt immer erwäre ungültig, obwohl er richtig ist, ich verstehe das nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/697840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697840</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Sun, 16 Jan 2005 11:01:10 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Sun, 16 Jan 2005 11:04:45 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dann stehen in der Datei noch zusätzliche Zeichen drin (z.B. Zeilenumbruch).<br />
Nimm als Überprüfung mal :</p>
<pre><code class="language-cpp">if (Freischaltcode-&gt;Text.AnsiPos(Code) &gt; 0)
</code></pre>
<p>dann wird geschaut, ob Code überhaupt in der Datei ist.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/697846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/697846</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 16 Jan 2005 11:04:45 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Mon, 17 Jan 2005 20:20:56 GMT]]></title><description><![CDATA[<p>Ne keine zusätzlichen Zeichen sind drin aber ich probiers mit deiner Methode ich werde schon eine Methode finden doch ich bin für weitere Vorschläge offen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/698908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/698908</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Mon, 17 Jan 2005 20:20:56 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Mon, 24 Jan 2005 16:37:00 GMT]]></title><description><![CDATA[<p>Gut ich hab es jetzt ausprobiert und es funktioniert!!! Nur wollte ich Fragen was bei diesem Stück Quellcode:</p>
<pre><code class="language-cpp">AnsiString Buffer;
int Lines;
TStringList *List;
Buffer = List-&gt;Text; // gesamter Text der StringList
Lines = List-&gt;Count; // Anzahl der Zeilen des Textes
Buffer = List-&gt;Strings[0]; // Zugriff auf erste Zeile, Zeilen gehen von 0 bis Count -1
Buffer = List-&gt;Values[&quot;ValueName&quot;]; 
// Zugriff auf den Wert mit der Bezeichnung ValueName, wenn in der 
// Datei so ein Eintrag vorhanden ist :
// &lt;Zeilenende&gt;ValueName=Value&lt;Zeilenende&gt;
</code></pre>
<p>die Lines Variable für einen Sinn hat. Eigentlich gar keinen oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/704822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/704822</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Mon, 24 Jan 2005 16:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to TStringList und if Strukturen on Mon, 24 Jan 2005 16:45:56 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>In den Zeilen, die du gepostet hats, brauchst du es wirklich nicht. Kommentier es doch einmal aus, dann wirst du schon sehen, ob du es endgültig rausnehmen kannst.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/704825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/704825</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 24 Jan 2005 16:45:56 GMT</pubDate></item></channel></rss>