| Autor |
Beitrag |
AlanWake
      
Beiträge: 75
Erhaltene Danke: 2
|
Verfasst: 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:
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
Gibt es eine Möglichkeit, nur den Dateinamen anzeigen zu lassen ohne Pfad und Endung
gruß Alan
|
|
12profi
      
Beiträge: 170
Win 7
C# (VS 2010, #Develop)
|
Verfasst: 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
      
Beiträge: 503
Erhaltene Danke: 34
W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
|
Verfasst: 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 
      
Beiträge: 75
Erhaltene Danke: 2
|
Verfasst: 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
      
Beiträge: 339
Erhaltene Danke: 20
Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
|
Verfasst: 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 STRING.LASTINDEXOF und STRING.SUBSTRING arbeiten, oder der einfachere Weg -> FILEINFO
|
|
AlanWake 
      
Beiträge: 75
Erhaltene Danke: 2
|
Verfasst: Fr 10.09.10 10:20
Habe so etwas voher noch nie gemacht, kann mir jemand ein Code Beispiel geben
gruß Alan
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: 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
Edit: Die Klasse FileInfo ist vielleicht ein bisschen zu komplex dafür, einfacher ist es mit der SYSTEM.IO.PATH-Klasse.
Für diesen Beitrag haben gedankt: Kha
|
|
Necaremus
      
Beiträge: 203
Erhaltene Danke: 18
Win > XP, Vista, 7; Android 2.1
C# > VS '08,'10; Delphi7
|
Verfasst: 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
C#-Quelltext 1: 2:
| FileInfo f = new FileInfo(""); f. | und das dropdownmenü durchstöbern 
Für diesen Beitrag haben gedankt: 12profi, AlanWake
|
|
AlanWake 
      
Beiträge: 75
Erhaltene Danke: 2
|
Verfasst: 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:
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
      
Beiträge: 561
Erhaltene Danke: 137
|
Verfasst: Fr 10.09.10 21:55
Und das Ganze nochmal ohne FileInfo...
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
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Fr 10.09.10 22:13
Trashkid2000 hat folgendes geschrieben : | | 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
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Fr 10.09.10 22:20
Es soll übrigens Plattformen geben, die keinen Backslash als Verzeichnistrenner benutzen.
_________________ >λ=
|
|
Trashkid2000
      
Beiträge: 561
Erhaltene Danke: 137
|
Verfasst: Fr 10.09.10 22:31
Yogu hat folgendes geschrieben : | | 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.
Kha hat folgendes geschrieben : | | 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
Lasse mich gerne etwas anderes belehren.
Marko
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Fr 10.09.10 23:30
|
|