VB 2010 Ordnerinhalt in Listview OHNE komplett Pfad anzeigen

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    VB 2010 Ordnerinhalt in Listview OHNE komplett Pfad anzeigen

    Hallo liebe VB-Paradise Comunity,

    ich bin neu im Forum und das hier ist mein erster Beitrag und nun möchte ich auch gleich zu meiner Frage kommen.

    Ich möchte für meinen kleinen Just4Fun Desktop in ein Listview den Inhalt eines Ordners auflisten der dann den Desktop darstellen soll, soweit so gut ging auch alles ganz gut.

    Icons werden ordentlich angezeigt alles geht, aber das Problem ist nun es wird der gesammte Dateipfad angezeigt ich möchte aber nur das der Dateiname und die Dateiendung angezeigt wird also z.B. soll da nicht stehen X:\ICH\BIN\EIN\NERVIGER\PFAD\ich_bin_die_datei.exe sondern da soll einfach nur stehen ich_bin_die_datei.exe :cursing: :cursing: :cursing: :cursing: :cursing: :cursing: Ich bin langsam am verzweifeln.

    Hier ist der Code:

    VB.NET-Quellcode

    1. Dim desk_phad As New System.IO.DirectoryInfo(user_phad + akt_user + "/" + "Desktop")
    2. If (desk_phad.Exists) Then
    3. For Each dateien As System.IO.FileInfo In desk_phad.GetFiles()
    4. NECO.desktop.Items.Add(New ListViewItem() With {.Text = dateien.Name, .Tag = dateien.FullName})
    5. Next
    6. Else
    7. 'Nichts
    8. End If


    Bitte nur sinnvolle Antworten und keine blöden Bemerkungen.

    Gruß Win8Error :)

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

    Schnapp Dir DirectoryInfo und arbeite mit Bindings.
    Für den Dateinamen alleine schaust Du ​Path.GetFileName mal an.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Win8Error schrieb:

    Dim desk_phad As New System.IO.DirectoryInfo(user_phad + akt_user + "/" + "Desktop")

    1. Strings bitte mit & verketten und nicht mit +
    2. Der selbstzusammengebaute Pfad funktioniert so nicht auf allen Systemen. Für systemabhängige Verzeichnisse gibt es SpecialFolders.

    Win8Error schrieb:

    ich möchte aber nur das der Dateiname und die Dateiendung angezeigt wird

    Verwende Name anstatt FullName.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ok erstmal Danke für die Antworten, ich habe mich glaube ich etwas falsch ausgedrückt :) (nicht eure sondern meine schuld)

    Der Dateiname wird ohne nervigen Pfad sondern nur mit dem eigendlichen Namen und der Endung angezeigt mein promlem ist das die Icons nicht angezeigt werden :(

    Link zu einem Screenshot ist hier

    gl-senage.sytes.net/abc.png

    Der Code ist auch hier nochmal

    VB.NET-Quellcode

    1. Imports System.IO
    2. Module Befehle
    3. Dim akt_user As String = ""
    4. Dim user_phad As String = ""
    5. Dim Uhr_Status As String = "0"
    6. Dim Hindergrund_Pfad As String = ""
    7. Sub Erster_Start()
    8. Uhr_Zeigen()
    9. user_phad = System.IO.File.ReadAllText("settings/user_phad")
    10. akt_user = System.IO.File.ReadAllText("settings/akt_user")
    11. Desktop_Aufbauen()
    12. Hindergrund()
    13. End Sub
    14. Sub Uhr_Zeigen()
    15. Uhr_Status = System.IO.File.ReadAllText("settings/clock")
    16. If Uhr_Status = "1" Then
    17. NECO.uhr_timer.Start()
    18. ElseIf Uhr_Status = "0" Then
    19. NECO.uhr_timer.Stop()
    20. End If
    21. End Sub
    22. Sub Uhr_Event()
    23. NECO.uhr_label.Text = TimeOfDay
    24. End Sub
    25. Sub Desktop_Aufbauen()
    26. Dim desk_phad As New System.IO.DirectoryInfo(user_phad + akt_user + "\" + "Desktop")
    27. If (desk_phad.Exists) Then
    28. For Each dateien As System.IO.FileInfo In desk_phad.GetFiles()
    29. NECO.desktop.Items.Add(New ListViewItem() With {.Text = dateien.Name, .Tag = dateien.FullName})
    30. Next
    31. Else
    32. 'Nichts
    33. End If
    34. End Sub
    35. Sub Hindergrund()
    36. Hindergrund_Pfad = user_phad + akt_user + "\" + System.IO.File.ReadAllText(user_phad + akt_user + "/" + "settings" + "/" + "Hindergrund")
    37. NECO.desktop.BackgroundImage = Image.FromFile(Hindergrund_Pfad)
    38. End Sub
    39. End Module



    Nun hoffe ich auf Antworten :rolleyes:
    Warum eigentlich ne Listview? Wie Du siehst, ist das für dein Vorhaben hier nicht geeignet, denn das wird so nicht gehen. Was Du brauchst ist etwas eigenes mit GDI+, das du selber zeichnen müsstest.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Warum eigentlich ne Listview? Wie Du siehst, ist das für dein Vorhaben hier nicht geeignet, denn das wird so nicht gehen. Was Du brauchst ist etwas eigenes mit GDI+, das du selber zeichnen müsstest.



    Wieso eine Listview ist sehr wohl dafür geeignet und es funktioniert ja auch alles was ich will nur die Icons werden nicht angezeigt. Und in YT Videos sieht man auch das es funktioniert :(

    Bitte um Hilfe :(
    @Win8Error Genau! Das ist es ja, das mit den Icons geht nicht. Und das wird auch nicht gehen. Fertig. Du brauchst was eigenes.
    Klar sieht man, dass es auf YT geht, aber das ist da kompletter Bullshit, die Strukturen, die Codes, alles kommt von Leuten, die selbst noch Anfänger sind.
    Tipp: Vergiss YouTube, beschäftige Dich mit Büchern und Du wirst sehen(!), alles geht viel leichter und verständlicher.
    Weißt Du, es geht beim Programmieren nicht nur darum, dass es geht, sondern auch drum, dass alles gut läuft, ganz funktioniert und(!), dass man sich ne Struktur baut, mit der man zurecht kommt, denn sonst kann es sein, dass man alles irgendwann nochmal schreibt. Also, leg Dir das ans Herz, YT ist Ranz, mach was mit Büchern, zum Beispiel dem "Microsoft Visual Basic 2010 - Das Entwicklerbuch", dann wird das... ;)
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    petaod schrieb:

    Was ist NECO?
    Eine Form, deren Controls du vom Modul aus modifizierst?
    Wer ruft denn die Subs in dem Modul auf?


    Die einzelnen Subs werden über die Form "NECO" geladen und ja "NECO" ist eine Form das ist genau so wenn du zum Beispiel auf einer Form einen Sub erstellst und dann mit einem Button Klick den Inhalt des Subs ausführst.

    VB.NET-Quellcode

    1. Sub Beispiel
    2. 'Beispiel
    3. End Sub


    Trade schrieb:

    @Win8Error Genau! Das ist es ja, das mit den Icons geht nicht. Und das wird auch nicht gehen. Fertig. Du brauchst was eigenes.
    Klar sieht man, dass es auf YT geht, aber das ist da kompletter Bullshit, die Strukturen, die Codes, alles kommt von Leuten, die selbst noch Anfänger sind.
    Tipp: Vergiss YouTube, beschäftige Dich mit Büchern und Du wirst sehen(!), alles geht viel leichter und verständlicher.
    Weißt Du, es geht beim Programmieren nicht nur darum, dass es geht, sondern auch drum, dass alles gut läuft, ganz funktioniert und(!), dass man sich ne Struktur baut, mit der man zurecht kommt, denn sonst kann es sein, dass man alles irgendwann nochmal schreibt. Also, leg Dir das ans Herz, YT ist Ranz, mach was mit Büchern, zum Beispiel dem "Microsoft Visual Basic 2010 - Das Entwicklerbuch", dann wird das... ;)


    Villeicht hast du Recht, ich Programmiere die ganze Zeit so das es einfach nur funktioniert und nicht irgendwie ordentlich "aussieht" und wenn ich mir ein Buch hole währe es denn Sinnvoll mir ein Buch über C# oder sogar c++ zu holen ???
    Also C++ würde ich noch nicht machen, das ist noch etwas zu Overkill für Neulinge, aber C# kannste gerne machen. Ist wie VB.NET, nur mit anderer Syntax und mächtiger. Und Du kannst damit nicht sooo viel falsch machen, wie mit VB.

    Zudem hat C# einfach nur Vorteile, denn es ist insgesamt einfach beliebter und somit findet man mehr bzgl. Problemen, aber auch für später kann es nützlich sein.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Gar keins, komplett kostenlos.
    openbook.galileocomputing.de/csharp/
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Egal welche Programmiersprache du wählst, der Unterschied ist nur die Syntax.
    Murksprogramme lassen sich in allen Sprachen programmieren.
    Wenn du den objektorientierten Ansatz nicht intus hast, wird das auch in C# nichts.
    Konzentrier dich ein wenig darauf.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Trade schrieb:

    Gar keins, komplett kostenlos.
    openbook.galileocomputing.de/csharp/


    Dann arbeite ich mich da mal ein. Danke Trade

    petaod schrieb:

    Egal welche Programmiersprache du wählst, der Unterschied ist nur die Syntax.
    Murksprogramme lassen sich in allen Sprachen programmieren.
    Wenn du den objektorientierten Ansatz nicht intus hast, wird das auch in C# nichts.
    Konzentrier dich ein wenig darauf.


    Wie meinst du das ???
    Auf deutsch: Du sollst auch auf genaues zur objektorientierten Programmierung achten.
    Im Übrigen stimmt es nicht, dass immer nur die Syntax anders ist, es gibt zwischen Sprachen sehr wohl Unterschiede, aich bei .NET.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: