Dateiendungen in einer Listbox entfernen?

  • VB.NET

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von FormFollowsFunction.

    Dateiendungen in einer Listbox entfernen?

    Guten Tag.
    Ich habe diesen Code hier:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. Dim OFD As New OpenFileDialog
    4. OFD.Multiselect = True
    5. OFD.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png"
    6. If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
    7. For Each File As String In OFD.FileNames
    8. Dim F As New MyFile(File)
    9. ListBox1.Items.Add(F)
    10. Next
    11. End If
    12. End Sub
    13. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    14. Try
    15. Dim SelectedFile As MyFile = DirectCast(ListBox1.SelectedItems(0), MyFile)
    16. PictureBox1.BackgroundImage = Image.FromFile(SelectedFile.FullName)
    17. Catch ex As Exception
    18. MsgBox(ex.Message)
    19. End Try
    20. End Sub
    21. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    22. For x As Integer = 0 To ListBox1.Items.Count - 1
    23. If ListBox1.Items(x).ToString = TextBox1.Text$ Then
    24. ListBox1.SelectedIndex = x
    25. Return
    26. End If
    27. Next
    28. End Sub
    29. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    30. End Sub
    31. End Class
    32. Class MyFile
    33. Public Property FullName As String
    34. Public Property ShortName As String
    35. Public Overrides Function ToString() As String
    36. Return ShortName
    37. End Function
    38. Sub New(ByVal FilePath As String)
    39. Me.FullName = FilePath
    40. Me.ShortName = IO.Path.GetFileName(FilePath)
    41. End Sub
    42. End Class


    Wie entferne ich die Dateiendung .jpeg aus der Listbox bzw. die letzten 4 Buchstaben?

    *Code-Tag eingefügt, bitte demnächst selbst dran denken*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    docs.microsoft.com/de-de/dotne…ion?view=netframework-4.8
    Eine einfache Suche im Netz, hätte es auch getan, das setzt aber Eigeninitiative vorraus !

    Bitte nutze Code-tags (und zwar die richtigen) zum formatieren von code, poste nur relevanten code und auf keinen Fall leere Methoden.
    Überhaupt empfehle ich dir, dich hier erstmal umzusehen, was hier wie und warum, so geht und was nicht.
    Es sei denn, du willst hier von einem Fettnäpfchen ins nächste (mindestens drei haste schon geschaft) stapfen. ;)
    *unnötiges Vollzitat entfernt*

    Was ist jetzt dein Problem? Ich habe hier einen Code gepostet, damit mir jemand hilft und mir zeigen kann, wo und wie ich den Code einbauen kann, weil ich ne komplette Niete darin bin.
    Ins Fettnäpfchen gestapft? hab ich denn jetzt irgendwas verbrochen? Was willst du mir damit sagen?
    Falls du mir nicht weiterhelfen kannst, bitte gar nicht erst antworten. Danke.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Und gleich noch zwei Näpfchen erwischt ! :thumbsup:
    Falls du nicht in der lage bist Hilfe zu erkennen, die ich gegeben habe,
    denn ich habe eine Lösung deines angegebenen Problems und konstruktive Kritik geliefert,
    bitte keine Threads mer aufmachen.
    Bevor sich die zwei hier prügeln... ungetestet aus dem Kopf

    VB.NET-Quellcode

    1. Dim fi as New IO.FileInfo(„C:\myfile.pdf“)
    2. Dim FileNameWithoutExtension As String = fi.FileName.Replace(fi.Extension.““)
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Das ist der umständliche weg, die einfache Variante, die das Framework liefert,
    und die ich auch schon gepostet habe, würde ich aber auf jeden Fall vorziehen.

    Wenn übehaupt so, dann doch lieber String.Empty, anstatt "", das empfinde ich als wesentlich sauberer.
    fi.FileName.Replace(fi.Extension, String.Empty)

    Off topic rant
    Das ist hier mal wieder so ein ...... Thread !
    Eine Minute Netzrecherche hätte es auch getan, aber nein .... !
    Und die Moderation putzt immer nur hinterher, anstatt mal die Ursachen anzugehen !
    Zum Haare raufen ! :S

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FormFollowsFunction“ ()

    FormFollowsFunction schrieb:

    lieber String.Empty, anstatt "", das empfinde ich als wesentlich sauberer.
    Wieso soll das denn "sauberer" sein? Es ist schlicht und ergreifend dasselbe.
    Ich für mein Teil finde "" zwar nicht sauberer, aber leserlicher als String.Empty, weil ist kürzer, und man sieht ja direkt, dass der String empty ist.
    Aber ist imo Korintenkackerei, bei derlei Unwichtigkeiten anzufangen herumzuverfechten "dieses ist richtig - jenes nicht".
    Wofür ich aber hier herumverfechte ist, dass man bei (derlei) Geschmacksachen eben nicht herumverfechten soll - in anneren Worten: das Herumverfechten ist in diesen Fällen nicht richtig.

    (Noch zu den Begrifflichkeiten "sauber" und "richtig": Stehen keine anderen Gründe entgegen, so ist immer die sauberere Möglichkeit zu wählen - diese ist also richtig, und die weniger saubere ist falsch.
    Diese binäre (und bewusst rigide) Logik ergibt sich aus der Vorraussetzung, man wolle so gut wie möglich programmieren. Gilt für einen diese Vorraussetzung nicht, sollers besser ganz lassen)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    preis09 schrieb:

    Super, danke dir, hat mir geholfen! Schade das ich nicht gleich raufgekommen bin...

    Du weißt das dir @FormFollowsFunction die Methode GetFileNameWithoutExtension bereits im. 2. Post per Link mitgeteilt hatte?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    ErfinderDesRades schrieb:

    Wieso soll das denn "sauberer" sein? Es ist schlicht und ergreifend dasselbe. ...

    Ich sagte ja auch "ich empfinde es als sauberer", mir geht es mit der Lesbarkeit nähmlich genau andersrum.
    " " und "" können z.B. leichter verwechselt werden.
    Auch Unterschiede gibt es, denn "" ist eine Konstante und String.Empty nicht,
    was sich z.B. in einem Select Case Block bemerkbar macht und eher für "" spricht.
    Dafür kann String.Empty keine unsichbaren Zeichen enthalten.
    Aber klar, letztendlich ist es Geschmacksache.

    preis09 schrieb:


    Falls du mir nicht weiterhelfen kannst, bitte gar nicht erst antworten. Danke.


    Willkommen im Forum. Ich verstehe, warum du den Link gar nicht erst angeklickt hast, bei solch einer Antwort hätte ich als Neuling auch eher weniger Lust darauf, mir solch einen Post gar durchzulesen. Es ist leider zu selbstverständlich in diesem Forum geworden, Google Treffer sofort zu verstehen und nutzen zu können. Mit der Antwort von @Dksksm hast du eine direkte Lösung erhalten, was sich sehr stark von einem Link und ihrer Erklärung unterscheidet (was nicht jeder versteht). Gib nicht dir die Schuld, in meinen Augen siehst du für mich wie ein Frischling aus, der solche Seiten / Links auf Anhieb nicht versteht, denn so erging es mir auch Anfangs. Egal, welchen Link man mir gab, ich wusste nicht, was ich damit anfangen sollte, weil man den Unterschied zwischen Funktionen, Klassen und sonstige Geschichten nicht perfekt verstanden hat.

    Jedenfalls: Freut mich, dass du deine Lösung gefunden hast. Wenn du weitere Fragen hast und Angst vor solchen Antworten hast, dann schicke mir in Zukunft gerne deine Fragen privat. Ich kann dir sehr schnell helfen, deine Anforderungen scheinen nicht zu hoch. :)
    Wenn ich eine Frage stelle, habe ich sie bereits gegooglet. Ja, es kommt vor, dass ich die Antwort übersehe. Ja, es kommt vor, dass ich sie nicht verstehe. Deshalb bin ich hier. Wenn dies eure Frage war, dann antwortet bitte nicht. Es stiehlt sämtliche Motivation.

    preis09 schrieb:

    Falls du mir nicht weiterhelfen kannst, bitte gar nicht erst antworten. Danke.
    Ich täte sehr von solchen Äusserungen abraten - nicht um dich zu massregeln oder sowas, sondern aus 2 ganz praktischen Erwägungen:
    1. Manchmal überreagiert man, und ein als unfreundlich empfundener Post war eiglich garnet so schlimm gemeint.
      Oder der Schreiber hat einen schlechten Tag.
    2. Auch unfreundlich formulierte Posts können höchst hilfreich sein. Tatsächlich finden sich in Internet-Foren wahre "Kotzbrocken", die wirklich nicht zu normalen Umgangsformen fähig zu sein scheinen.
      Aber dennoch inhaltlich höchst kompetent sind, und ihr Wissen eben doch grosszügig teilen, wenn auch mit unfreundlichem Gehabe.
      Da schädigst du dich sehr, wenn du solche Leute davon abbringst, dir zu antworten.
    Ich empfehle immer, zwischen sachlichen Inhalten und emotionaler Interpretation zu trennen, und letztere einfach nicht wichtig zu nehmen.
    In einem Programmierer-Forum gehts in erster Linie um technische Inhalte, nicht um Sozialkompetenz.
    Und Programmierer sind eben nicht unbedingt Frauenversteher, Sozialpädagogen oder Telefon-Seelsorger, sondern tendenziell vor allem Nerds, insbesondere fähige Programmierer.

    Ansonsten muss man sich auch nicht alles gefallen lassen, es gibt bei den Posts einen "Melde"-Button, da kann man sich bei der Forum-Administration über extreme Unverschämtheiten beschweren, die löschen dann auch mal einen Post, oder schliessen den Thread oder sowas, weil auf FlameWar hat hier keiner Bock.

    Sekki schrieb:

    ... mir solch einen Post gar durchzulesen.

    Bitte was !?
    Was ich geschrieben habe beinhaltet gleich mehrere wertvolle Informationen und ist auch sachlich formuliert.

    Irgentwie schnallt hier scheinbar keiner, den Unterschied zwischen Ursache und Wirkung !?
    Ursache: TE ist zu faul, doof, unselbständig, oder ähnliches und "stielt" die Zeit und Energie anderer.
    Wirkung: Kritiker, kommt hinzu und kritisiert eben die Verhaltenweise.
    Quizfrage: Wer trägt die Verantwortung für die Situation ?

    Daß die Meißten Leute dann gleich sauer werden, liegt daran,
    daß ihnen ein Spiegel vorgehalten wird und was sie da (unterbewust) erkennen,
    gefällt ihnen verständlicherweise nicht !
    Lassen wir gut sein. Die Sache ist gegessen, war Anfangs etwas "enttäuscht", aber habe jetzt schon das, was ich brauche. Vielen Dank.
    @Sekki Ja du hast recht! Bin kompletter Anfänger und kann mit links nicht viel Anfangen, da ich noch komplett neu bin und die Sprache nicht ganz versteh.
    Da ich vb 2010 nutze kann ich Codes, deren Struktur anders ist, nicht umwandeln. Und somit eine weitere Herausforderung für mich :D
    Aber Danke für deinen Einsatz. Tut mir Leid, da ich auf Anhieb nicht alles checke!