Autor Beitrag
AlanWake
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75
Erhaltene Danke: 2



BeitragVerfasst: Fr 10.09.10 09:53 
Hallo Leute,

ich versuche schon seit längerer Zeit, mir einen Dateinamen in einer Textbox anzeigen zu lassen, die ich voher durch einen openFileDialog1 auswählen konnte.

Das ist was ich bis jetzt habe:

ausblenden C#-Quelltext
1:
2:
3:
4:
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openFileDialog1.FileName;
            }


Bei dem Code wird leider der komplette Pfad + Dateiendung angezeigt :(

Bei Google konnte ich keine Lösung für mein Problem finden :cry:

Gibt es eine Möglichkeit, nur den Dateinamen anzeigen zu lassen ohne Pfad und Endung :?:

gruß Alan
12profi
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 170

Win 7
C# (VS 2010, #Develop)
BeitragVerfasst: Fr 10.09.10 09:59 
Hmm der Code scheint richtig zu sein was hast du denn als Filname eingestellt ?

_________________
Mit was ich programmierer wollt ihr wissen ? Ich , ich programmiere mit c#
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 10.09.10 10:02 
Schneid dir doch einfach den String zurecht oder benutz die FileInfo Klasse (System.IO Namespace), da gibts dann direkt Properties für Name, Fullname, Extension usw.
AlanWake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75
Erhaltene Danke: 2



BeitragVerfasst: Fr 10.09.10 10:02 
@12profi Ich öffne den openFileDialog1 und wähle eine Datei aus.

@bakachan Kannst du mir ein Code Beispiel geben :?:

gruß Alan


Zuletzt bearbeitet von AlanWake am Fr 10.09.10 10:05, insgesamt 1-mal bearbeitet
Greenberet
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: Fr 10.09.10 10:03 
Du bekommst den kompletten Pfad mit, weil du normalerweise mit der Datei etwas machen willst( öffnen z.B ) und dafür brauchst du halt den Pfad.

Wenn du wirklich nur den Namen ohne Änderung haben willst würde ich mit Suche im MSDN STRING.LASTINDEXOF und Suche im MSDN STRING.SUBSTRING arbeiten, oder der einfachere Weg -> Suche im MSDN FILEINFO
AlanWake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75
Erhaltene Danke: 2



BeitragVerfasst: Fr 10.09.10 10:20 
Habe so etwas voher noch nie gemacht, kann mir jemand ein Code Beispiel geben :?:

gruß Alan
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 10.09.10 10:37 
Du hast gerade jede Menge an Codebeispielen bekommen, klick doch einfach mal die Links an und schau, was die MSDN dazu schreibt :roll:

Edit: Die Klasse FileInfo ist vielleicht ein bisschen zu komplex dafür, einfacher ist es mit der Suche im MSDN SYSTEM.IO.PATH-Klasse.

Für diesen Beitrag haben gedankt: Kha
Necaremus
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 203
Erhaltene Danke: 18

Win > XP, Vista, 7; Android 2.1
C# > VS '08,'10; Delphi7
BeitragVerfasst: Fr 10.09.10 12:22 
kleiner tipp, der zumindest mir immer hilft:
wenn du eine klasse nicht kennst erstell dir einfach kurz eine instanz und guck dir alles mögliche von dem ding an ;)
ausblenden C#-Quelltext
1:
2:
FileInfo f = new FileInfo("");
f.
und das dropdownmenü durchstöbern ;)

Für diesen Beitrag haben gedankt: 12profi, AlanWake
AlanWake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75
Erhaltene Danke: 2



BeitragVerfasst: Fr 10.09.10 12:43 
Vielen dank Necaremus, hat super funktioniert, danke das du dir die Mühe gemacht hast und ein Code Beispiel gepostet hast, bei den Links habe ich nur Bahnhof verstanden :)


Code:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
            if(openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                FileInfo f = new FileInfo(openFileDialog1.FileName);
                textBox1.Text = f.Name;
            }


gruß Alan

ps. Das durchstöbern des Dropdownmenüs brauche ich immer :)

Für diesen Beitrag haben gedankt: 12profi
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Fr 10.09.10 21:55 
Und das Ganze nochmal ohne FileInfo...
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
  textBox1.Text = ofd.FileName.Substring(ofd.FileName.LastIndexOf('\\')+1);
}

Gruss, Marko
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 10.09.10 22:13 
user profile iconTrashkid2000 hat folgendes geschrieben Zum zitierten Posting springen:
Und das Ganze nochmal ohne FileInfo...

Naja, der Eigenimplementierung würde ich eine fertige Bibliothek vorziehen, doppelter Code ist nie gut. Die Methode Path.GetFileName macht genau das, was du geschrieben hast.

Für diesen Beitrag haben gedankt: Kha
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 10.09.10 22:20 
Es soll übrigens Plattformen geben, die keinen Backslash als Verzeichnistrenner benutzen.

_________________
>λ=
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Fr 10.09.10 22:31 
user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
Die Methode Path.GetFileName macht genau das, was du geschrieben hast.

Du hast ja Recht, habe das auch nur geschrieben, weil oben SubString und LastIndexOf genannt wurden. Aber ansonsten ist es schon gut, dass es für sowas vorgefertigte Methoden oder auch Eigenschaften gibt.

user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Es soll übrigens Plattformen geben, die keinen Backslash als Verzeichnistrenner benutzen.

Ist mir bekannt, z.B. Linux mit '/'. Aber auf den Plattformen läuft ja auch nicht .NET-Code, oder :wink:
Lasse mich gerne etwas anderes belehren.

Marko
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 10.09.10 23:30 
user profile iconTrashkid2000 hat folgendes geschrieben Zum zitierten Posting springen:
Lasse mich gerne etwas anderes belehren.
Ok ;) .

_________________
>λ=