Hur gör man här ?? Här är mitt tips... först en funktion som returnerar filändelsen : Hej, Fil ändelse
Jag vill ha olika "Me.Caption" beroende på vilken fil som öppnas
CommonDialog1.Filter = "Dat filer (*.dat)|*.dat|Text filer (*.txt)|*.txt"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowOpen
RichTextBox1.LoadFile (CommonDialog1.FileName)
RichTextBox1.SetFocus
Me.Caption = "Du har öppnade en dat fil"
Me.Caption = "Du har öppnat en text fil"
SörenSv: Fil ändelse
<code>
public function GetFileExtension(byval Path as string) as string
GetFileExtension=mid(instrrev(path,".")+1)
end function
</code>
Observera att denna funktion bara fungerar i idealfallet...den behöver eventuellt kunna hantera fallet då en fil inte har en filändelse (dvs ingen punkt hittas), men i ditt exempel så kräver du ju antingen txt eller dat som filändelse och då bör ovanstående fungera.
Har för mig att det finns en funktion i FileSystemObjekt som gör samma sak så du kan ju överväga att använda den i stället för min funktion ovan.
Är inte 100% på att InStrRev finns i VB6...tänker jag VB.Net nu? Hjälp mig här, någon som har VB6 på sin maskin...
Sedan är det bara att kolla filändelsen :
<code>
if LCase(GetFileExtension(Path))="txt" Then
Me.Caption="txt..."
else if LCase(GetFileExtension(Path))="dat" Then
Me.Caption="dat..."
else
...
end if
</code>
/Per HultqvistSv: Fil ändelse
Jag förstår inte varför ni hårdkodar filtypen. Är det inte bättre att göra en funktion
som returnerar det som finns efter "." som en sträng (om det finns en punkt, annars
returneras en tom sträng)
Den returnerade textsträngen skrivs ut på fördefinierad plats i önskad rubrik.
På så sätt behöver du bara ändra i vilka filer som får visas i din fillista och behöver inte
gå in och koda om övriga funktioner.
Hoppas det löser sig! =)
/Emma