Einen Satz in einer Variable Speichern?



  • Hi Kann man einen ganzen Satz in einer Variable speichern?

    Ich möchte das in einer If Abfrage mir rein bringen z.b.

    nochmal: ;
    if (a = "Wer seid ihr")
    {
    Anweisung
    }
    else
    {
    goto nochmal;
    }

    Wie könnte man das machen ?
    Danke schonmal im vorraus.



  • Du kannst sogar ne ganze Seit in einer Variable packen, wenn es Type "String" ist.

    Hat das mit dem BCB zu tun?

    Hast du in deiner if Abfrage eine Zuweisung oder ein Vergleich? -> if(a="der satz") <-



  • ups

    if (a == "Wer seid ihr")
    {
    Anweisung
    }
    else
    {
    goto nochmal;
    }

    So meinte ich das.
    Mit 2 ==.
    Also wenn er diesen Satz eingibt, dann soll es erst weiter gehen.
    Ich habs mal versucht aber er springt da nie rein, er geht immer weiter.
    Den Versuch habe ich schon leider überarbeiter. Aber so bekomme ich das nicht hin.

    Ja, hat mit BCB zu tun. Konsolenanwendung.



  • Groß-/Kleinschreibung beachten!
    Um sicher zu gehen, eine zusätzliche variable nehmen und
    in ihr alle buchstaben klein setzten (LowerCase()), am besten
    auch die Leerzeichen rausnehmen.

    PS: Code-Tags benutzen

    String a = "Wer seid Ihr";
            //--
            String temp = a;
            temp = temp.LowerCase(); //alle buchstaben klein machen
            temp = StringReplace(temp, " ", "", TReplaceFlags() << rfReplaceAll << rfIgnoreCase); // Leerzeichen löschen
            nochmal:
            if (temp == "werseidihr") // klein schreiben alles und zusammen
            {
                    //Anweisung
            }
            else
            {
                    goto nochmal;
            }
    


  • Hi !
    Ich versteh das hier nicht:

    temp = StringReplace(temp, " ", "", TReplaceFlags() << rfReplaceAll << rfIgnoreCase);
    

    Was machen die einzelnden Sachen genau.
    Danke für die Antwort.



  • RückgabeString = StringReplace(QuellString,SuchString,ErsetzString,Flags);

    ReplaceFlags:
    rfReplaceAll = jedes vorkommen von SuchString ersetzten
    rfIgnoreCase = Groß-/Kleinschreibung ignorieren

    Bitte auch die Borland-Hilfe benutzen!



  • Apokalyps schrieb:

    Ich versteh das hier nicht:

    Dann solltest du zuallererst mal einen Blick in die Hilfe werfen.

    promicha:
    Der gleichzeitige Einsatz von LowerCase und rfIgnoreCase sieht irgendwie komisch aus, oder? 😉

    PS.
    Achja, vielleicht meinte Apokalyps ja auch nur, dass er nicht versteht, wozu du die Leerzeichen entfernst. Das verstehe ich nämlich auch nicht.



  • Apokalyps schrieb:

    Hi Kann man einen ganzen Satz in einer Variable speichern?

    Ich möchte das in einer If Abfrage mir rein bringen z.b.

    nochmal: ;
    if (a = "Wer seid ihr")
    {
    Anweisung
    }
    else
    {
    goto nochmal;
    }

    Wie könnte man das machen ?
    Danke schonmal im v******.

    Erstmal geb ich dir den Tipp nicht mit dem goto X zu arbeiten das kann zu einem Spagetti Code führen und dein Code wird nicht mehr überschaubar sein 🙂

    Dann hier die Auflösung wie es besser geht:

    string a="Wer seid ihr");
    while (a=="Wer seid ihr")
    {
        // Hier deine Anweisung wenn es True ist!
        cout a;
    }
    


  • Jansen schrieb:

    promicha:
    Der gleichzeitige Einsatz von LowerCase und rfIgnoreCase sieht irgendwie komisch aus, oder? 😉

    PS.
    Achja, vielleicht meinte Apokalyps ja auch nur, dass er nicht versteht, wozu du die Leerzeichen entfernst. Das verstehe ich nämlich auch nicht.

    Ja, sieht komisch aus und ist auch nicht notwendig rfIgnoreCase dabei zu verwenden,
    das liegt darann das ich die StringReplace funktion in meinem letzten Projekt oft
    verwenden mußte und halt mit diesem Flag.

    Warum es vieleicht besser ist, die Leerzeichen weg zu machen, liegt ebenfalls
    an meinem letzten Projekt, dort muß ich auch Strings vergleichen die leerzeichen
    beinnhalten, aber obwohl 1:1 true, kommt false, nehme ich die Leerzeichen weg
    geht es.
    Bei meinem Projekt wird z.B. "<font color...etc.>" eines HTML-Dokuments verglichen
    keine chance nur false, nimm ich die Leerzeichen weg und vergleiche mit
    "<fontcolor...etc.>" habe ich true. Obwohl in mein VergleichsString das
    Leerzeichen den Wert Hex 20 hat und im Quellstring auch. Warum->Keine Ahnung.

    Für seine Anwendung ist es "vieleicht" nicht notwendig, aber wenn es
    denoch nicht geht, kann man es als alternativen Test hinzu ziehen.

    Ich sollte mir mal angewöhnen meine Post mit einem "Warum" direkt zu belegen.

    gruß Micha

    PS:
    @Ag3nt
    Schaue mal nach und vergleiche dein Code mit dem von Apokalyps und versuche
    zu verstehen warum dein Code nicht das bewirkt, wie das von Apokalyps!



  • ich weiß noch immer nicht was er will.


Anmelden zum Antworten