int in String wandeln



  • Hallo!

    Ich will erreichen, dass auf einem Button ein bestimmtes Bild angezeigt wird.
    Die Dateinamen der Bilder sind fortlaufend nummeriert, also 1.gif, 2.gif usw.

    Jetzt wollte ich das so machen:

    button[i]->Image = Image::FromFile(S"Grafiken\\***Hier soll die Zahl stehen***.gif");
    

    Die Zahl steht in dem int-Array numbers.
    Ich könnte also das Element numbers[i] in einen String umwandeln und dann an "Grafiken\" konkatenieren.

    Aber ich blicke nicht, wie ich das machen muss.
    mit __itoa() hab ich es versucht, aber das klappt nicht, da ich mich in dem managed Code wieder verheddere.

    Ach ja, ich verwende C++ und .NET. Ich hoffe, das ist das richtige Unterforum hier.

    P.S.: Was macht eigentlich das S vor "Grafiken\..." ?



  • S macht aus dem String-Literal ein Literal vom Typ System::String, so wie L ein Literal vom Typ const wchar_t* macht und kein Präfix ein Literal vom Typ const char* macht.

    itoa() geht natürlich nicht, weil es keinen System::String zurückgibt. Wenn ich mich jetzt nicht völlig täusche, müsstest du dein int an den String mit + konkatenieren können? Amsonsten ein von System::Int32 ToString() aufrufen und diesen anhängen.



  • Und nochwas: Verwende als Trennzeichen zwischen verschiedenen Verzeichnissen den normalen Schrägstrich '/'. Immer.



  • String.Format() hilft nicht?



  • System::String::Concat & System::ValueType::ToString()


Anmelden zum Antworten