Veröffentlicht 13. November 200717 j Hallo, Ich möchte gerne, dass die Dateien, die ich gesucht habe in einer Listbox ausgegeben werden. Das habe ich auch umgesetzt mit dem Code str = FData.cFileName; if (str != "IDAPI.CFG" && str != "IDAPI32.CFG") [COLOR="#ff0000"]ListBox1->Items->Add(FData.cFileName);[/COLOR] Nur ich möchte nicht das auch die Dateibezeichnung mit angezeigt wird, in diesem Fall sucht er alle .CFG Dateien, sondern ich möchte das er nur den Dateinamen in der Listbox anzeigt. Hab dazu Befehle gefunden , wie ChangeFileExt aber ich weiß 1. nicht ob dieser stimmt 2. wie ich ihn einsetze das er funktioniert Habt ihr eine Lösung wie man nur den Dateinamen in der Listbox ausgibt?! Mfg Alex
13. November 200717 j Es reicht doch, wenn du einfach die letzten 4 Zeichen abschneidest. str = str.Left( str.Len() - 4 );oder etwas in der Art. Du musst dann natürlich auch bei Add str benutzen.
13. November 200717 j Autor Die Idee hatte ich auch, nur ich hab gedacht mit Bit- und Schiebeoperationen. Mit deinem Vorschlag hab ich jetzt nur das Problem das Left und Len keine Member von AnsiString sind. Eine Konvertierung durch .c_str() ? Wie sieht die dann aus?! str = str.c_str(Left( str.c_str(Lenght() - 4 ))); Ich weiß das ist nicht richtig Wie meinst du das mit bei ADD auch?! In der Zeile wo Add die Daten in die Liste einschreibt auch diese Zeile anfügen?!
13. November 200717 j Mit deinem Vorschlag hab ich jetzt nur das Problem das Left und Len keine Member von AnsiString sind.Ich kenne AnsiString nicht genau, aber es gibt sicher Methoden, die etwas entsprechendes tun. Du darfst auch gern mal selbst in die Dokumentation schauen, das ist nicht verboten Das hier könnte funktionieren: str = str.SubString( 0, str.Length() - 4 ); Kann sein, dass du statt 0 eine 1 benutzen musst. Irgendwas war da bei Borland, IIRC.
13. November 200717 j Autor Danke Klotzkopp, der SubString war die Lösung, Und da es sich um einen AnsiString handelt benötigt man die 1. Hab es aber etwas anders gelöst. Hab keine Routine gefunden die nur den Dateinamen ausgibt, und wie du schon gesagt hast das mit dem wegschneiden in betracht gezogen. Aber anders rum. Ich lese die Dateibezeichnung aus und dann lösche ich diese und lasse den Rest davon ausgeben. str = str.SubString(1, str.Pos(ExtractFileExt(str))-1); // Ausgabe der Dateibezeichnung unterbinden ListBox1->Items->Add(str) ; Mit Dokumentation meinst du die Hilfe?! Da hab ich leider das Problem das ich hier in der Firma derzeit noch einen etwas älteren Pc bekommen habe, auf den jemand die Hilfen nicht komplett und nur in Englisch aufgespielt hat. Hab jetzt noch nicht nachgekuckt , aber gibt es die Borland Hilfe auch Online?! Also außerhalb und unabhängig vom Compiler? Danke das du mich auf den richtigen Weg gebracht hat.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.