![]() |
Strings subtrahieren?
Ich lasse mir über opendialog den gesamten dateipfad ausgeben(in einer listbox), jedoch möchte ich bloß den Dateinamen haben ohne den kompletten Pfad. ist dies irgendwie möglich?
Ich hatte es bisher nur damit versucht alles vor dem letzte "\" zu löschen (beim Pfadnamen). das hat aber nicht funktioniert. also habe ich es wieder verworfen. MfG Pitch-Bull |
Re: Strings subtrahieren?
Delphi-Quellcode:
sFileName := ExtractFileName(OpenDialog1.FileName);
|
Re: Strings subtrahieren?
nichts desto trotz zeigt er mir immernoch den kompletten pfad in der listbox an!!!
also so geht das nicht! oder muss man noch was anderes schreiben? trotzdem Danke! |
Re: Strings subtrahieren?
Hi,
zeig mal deinen code. Es geht schon so, wie es gezeigt wurde. |
Re: Strings subtrahieren?
Hai Pitch-Bull,
wir können grundsätzlich besser helfen wenn Du uns auch den Codeausschnitt zeigst den Du verwendest ;-) |
Re: Strings subtrahieren?
was heist denn kompletter pfad bei dir?
"C:\Foo\Bar\blah.txt" oder "blah.txt" ?
Delphi-Quellcode:
var
sFileName: string = 'C:\Foo\Bar\Blah.txt'; begin sFileName := SysUtils.ExtractFileName(sFileName); Dialogs.ShowMessage(sFileName); // ergibt "Blah.txt" end; |
Re: Strings subtrahieren?
Code:
procedure TForm1.Playlistffnen1Click(Sender: TObject);
var Playlistopen:TFileName; begin if (OpenDialog1.Execute) then begin Playlistopen := ExtractFileName(OpenDialog1.FileName); // Playlistopen:=OpenDialog1.FileName; ListBox1.items.LoadFromFile(Playlistopen); end; end; |
Re: Strings subtrahieren?
Zitat:
bitte nimm die [ delphi] [ /delphi] Tags (ohne das leerzeichen). Ausserdem, kannst du deinen Code so schreiben:
Delphi-Quellcode:
procedure TForm1.Playlistffnen1Click(Sender: TObject);
begin if (OpenDialog1.Execute) then begin ListBox1.items.Add(ExtractFileName(OpenDialog1.FileName); // Nimm Add. wenn du das hinzufügen willst und nicht laden willst. end; end; |
Re: Strings subtrahieren?
ist klar das dann in der listbox der INHALT von der DATEI mit dem DATEINAMEN der in der variable "playlistopen" steht geladen wird ... und DA werden dann komplette pfade drin stehn ^^ -.-°
|
Re: Strings subtrahieren?
Hai Pitch-Bull,
Wenn in deiner Datei die Dateinamen mit dem gesamten Pfad stehen werden Sie natürlich auch wieder in der ListBox angezeigt.
Code:
procedure TForm1.Playlistffnen1Click(Sender: TObject);
var Playlistopen:TFileName; begin if (OpenDialog1.Execute) then begin Playlistopen := ExtractFileName(OpenDialog1.FileName); // Das ist ganz ganz schlecht. Hier sollte der // gesamte Pfad aus dem Dialog verwendet werden. ListBox1.items.LoadFromFile(Playlistopen); end; end; |
Re: Strings subtrahieren?
naja, ehh. Ich check das nicht. ich freu mich ja, dass darauf so stark geantwortet wird, aber irgendwie ist noch keiner auf den punkt gekommen, wie ich nun genau NUR den Dateinamen ohne den langen Pfad in die Listbox schreibe.
Oder habe ich da was übersehen??????????ß Sollte ich vielleicht lieber ne andere Komponente als die Listbox verwenden? SORRY HAT SICH SCHON ALLES ERLEDIGT- DANKE NOCHMAL!!! |
Re: Strings subtrahieren?
Hai Pitch-Bull,
schaue Dir mal diesen Code an. Du brauchst drei Buttons:
Ausserdem einen OpenDialog, einen SaveDialog und eine ListBox.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin ListBox1.Clear; // Inhalt der LB löschen end; procedure TForm1.B_AddFileToListBoxClick(Sender: TObject); var mp3File : String; begin OpenDialog1.Filter := 'MP3|*.mp3'; // Nur MP3s anzeigen if (OpenDialog1.Execute) then begin mp3File := ExtractFileName(OpenDialog1.FileName); Listbox1.Items.Add(mp3File) end; end; procedure TForm1.B_SaveListBoxToFileClick(Sender: TObject); begin if (SaveDialog1.Execute) then begin ListBox1.Items.SaveToFile(SaveDialog1.FileName); end; end; procedure TForm1.B_LoadListBoxFromFileClick(Sender: TObject); begin OpenDialog1.Filter := ''; if (OpenDialog1.Execute) then begin ListBox1.Clear; ListBox1.Items.LoadFromFile(OpenDialog1.FileName); end; end; |
Re: Strings subtrahieren?
Hi,
lad den Inhalt der Datei erstma in ne Stringliste. In dieser stehen dann also mehrere Dateinamen inkl. Pfadangaben. Dann fügst Du einfach immer nur den Dateinamen selbst der einzelnen Einträge an die Listbox an:
Delphi-Quellcode:
Ist eigentlich das Gleiche wie von Sharky, nur eben in einer Routine zusammengefasst und die Pfadangaben werden in der Listbox nie angezeigt werden.
var
SL : TStringList; i : integer; begin SL := TStringList.Create; // Stringliste erzeugen // Hier kommt das OpenDialog-Zeugs SL.LoadFromFile(OpenDlg.FileName); FOR i:=0 TO Pred(SL.Count) DO // Alle Einträge der Stringliste durchlaufen ListBox.Items.Add( ExtractFileName(SL[i]) ); // Hier noch sonstiger Code FreeAndNil(SL); // Freigeben end; Gruß Stephan :dance: |
Re: Strings subtrahieren?
Na wunderbar. Ihr seit echt spitze. Klappt alles, wie am schnürchen. Muss mich jetzt eigentlich nur noch mit der bass.dll auseinandersetzen und dann funktioniert der mist.
hat vielleicht einer von euch ne ahnung, was ich mit der bass.dll alles so machen kann? und wie ich die parameter ansteuern kann? |
Re: Strings subtrahieren?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz