Filnavn vs. filsti

Tags:    c#

Hej!

Jeg har et program, der kan afspille musik, og jeg har en label, der viser hvilken sang, der bliver spillet.. Jeg bruger openfiledialog til at åbne filerne med, men når jeg sætter labelen til at være lig med openfiledialog.filename, får jeg hele stien.

Kan jeg på en måde gøre sådan, at man kun ser selve filens navn uden placeringen? Eller endda bruge titel og kunstner fra filens detaljer, som fx itunes gør?



8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Ikke for at hakke ned på dig på nogen måde, men hvis du ikke ved hvordan man behandler strenge i det sprog du benytter, burde du nok få det lært Det kommer du nok til at bruge en del. Det du vil gøre er finde positionen på det sidste "\", tage substringen derfra og til strengens længde og vupti, så har du filnavnet.

Derudover findes der nok nogle ID3 biblioteker allerede Ellers skal du nok til at rode lidt for meget for at få gravet det ud.


Det var da en forfærdelig løsning, hvad hvis filen nu både kan ligge sådan her:
C:\noget\noget.mp3

Og sådan her:
C:\noget\noget\noget\noget.mp3

--

Den rette løsning er at bruge:
Fold kodeboks ind/udKode 


MVH\Jeppe.



Indlæg senest redigeret d. 05.09.2009 11:16 af Bruger #13488
Ikke for at hakke ned på dig på nogen måde, men hvis du ikke ved hvordan man behandler strenge i det sprog du benytter, burde du nok få det lært Det kommer du nok til at bruge en del. Det du vil gøre er finde positionen på det sidste "\", tage substringen derfra og til strengens længde og vupti, så har du filnavnet.

Derudover findes der nok nogle ID3 biblioteker allerede Ellers skal du nok til at rode lidt for meget for at få gravet det ud.


Det var da en forfærdelig løsning, hvad hvis filen nu både kan ligge sådan her:
C:\noget\noget.mp3

Og sådan her:
C:\noget\noget\noget\noget.mp3

--

Den rette løsning er at bruge:
Fold kodeboks ind/udKode 


MVH\Jeppe.


Err - min løsning ville give strengen "noget.mp3" i begge tilfælde.. Læste du overhovedet hvad jeg skrev, før du svarede?



Hej!

Du kan jo bare tage hele filename og bare forkorte fra det sidste "\" og til slutningen af filename. Så har du kun navnet på filen.
Titel og kunstner er noget der skal ligge i selv mp3filen - der skal du bare finde ud af hvordan C# kan hente ID3 tags fra mp3-filen. Går ud fra at vi snakker mp3-filer her, forresten :)



Ja okay, men nu ved jeg så ikke helt, hvordan man forkorter. Kan du måske forklare lidt? :)



Ikke for at hakke ned på dig på nogen måde, men hvis du ikke ved hvordan man behandler strenge i det sprog du benytter, burde du nok få det lært :) Det kommer du nok til at bruge en del. Det du vil gøre er finde positionen på det sidste "\", tage substringen derfra og til strengens længde og vupti, så har du filnavnet.

Derudover findes der nok nogle ID3 biblioteker allerede :) Ellers skal du nok til at rode lidt for meget for at få gravet det ud.



Tak for svarene. Jeg brugte safefilename, da det er noget mindre kode ;)

Min kode kom til at se sådan her ud:

Fold kodeboks ind/udKode 


Dog fik jeg også substring til at virke ved brug af LastIndexOf :)

Fold kodeboks ind/udKode 



Jeg googler lidt videre på det med ID3 tags.



Undskyld, jeg tror, at jeg har misforstået.

Det du vil gøre er finde positionen på det sidste "\", tage substringen derfra og til strengens længde og vupti, så har du filnavnet.


Jeg forstod det som, at han skulle finde positionen på "\" og skrive den som et tal, eks:
Fold kodeboks ind/udKode 


Jeg beklager meget..



t