SKulle behöva hjälp med att kontrollera vad filen heter som man försöker öppna.
Har provat:
Dim OpenDlg As New OpenFileDialog()
If OpenDlg.FileName.CompareTo("test") Then
'gör något
ElseIf OpenDlg.FileName.CompareTo("test2") Then
'gör något
Else
Call Error_file()
End If
När jag öppnar "test" så funkar det, men när jag öppnar "test2" händer ingenting. Utan den går in i den första iaf, även att den inte ska det x(
Dim OpenDlg As New OpenFileDialog()
If OpenDlg.FileName.Equals("test") Then
'gör något
ElseIf OpenDlg.FileName.Equals("test2") Then
'gör något
Else
Call Error_file()
End If
Den går in i else-satsen hela tiden, o då öppnar jag rätt fil : :OO
Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
Dim sr As IO.StreamReader
Dim OpenDlg As New OpenFileDialog()
OpenDlg.Filter = "Text File (*.txt)|*.txt"
OpenDlg.InitialDirectory = IO.Directory.GetCurrentDirectory
If OpenDlg.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
lblResult.Text = ""
Dim txt, txt2 As String
Dim start1, minPrice As Integer
'### KONTROLLERAR VILKEN FIL SOM ÖPPNAS
If OpenDlg.FileName.Equals("test") Or OpenDlg.FileName.Equals("test2") Then
If OpenDlg.FileName.Equals("test") Then
minPrice = 100
Else
minPrice = 10
End If
sr = IO.File.OpenText(OpenDlg.FileName)
Do While sr.Peek <> -1
txt = sr.ReadLine
start1 = txt.IndexOf(";")
txt2 = txt.Substring(start1 + 1)
If CDbl(txt2) > minPrice Then
txt = txt.Substring(0, start1)
lblResult.Text &= txt & vbCrLf
End If
Loop
sr.Close()
Else
Call Error_file()
End If
End If
End Sub
FileName returnerar hela sökvägen, så en jämförelse med bara "test1" och "test2" (trodde det var exempelvärden..) kommer inte att funka. Använd Path.GetFileNameWithoutExtension(OpenDlg.FileName) så kommer du att få ut "test1" och "test2".