Pokouším se vylepšit prorgram z článku
http://www.vbnet.cz/…em_http.aspx
tak, abych si mohl vybrat měnu, kterou chci.
Po stisknutí tlačítka se zobrazí dialog, ve kterém si pomocí ComboBoxu vyberu jednu z měn.
Kód jsem upravil takto
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim dlg As New Dialog2
Dim VyberMeny As String = dlg.ComboBox1.ValueMember
Dim kurz As Single = 0
dlg.ShowDialog()
Try
'vystavit požadavek na dnešní den
Dim url As String = String.Format("http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt?date={0:dd.MM.yyyy}", Now)
Dim rq As HttpWebRequest = HttpWebRequest.Create(url)
'odeslat jej na server a získat odpověď
Dim rs As HttpWebResponse = rq.GetResponse()
'vytvořit StreamReader pro pohodlnou práci
Dim sr As New IO.StreamReader(rs.GetResponseStream())
'projít řádky
While Not sr.EndOfStream
Dim s As String = sr.ReadLine()
Select Case VyberMeny
Case dlg.ComboBox1.ValueMember("USD")
If s.StartsWith("USA|") Then
kurz = CDbl(s.Substring(s.LastIndexOf("|") + 1))
MsgBox(String.Format("Aktuální kurz: 1 USD = {0:c}", kurz))
End If
Case dlg.ComboBox1.ValueMember("EUR")
If s.StartsWith("EMU|") Then
kurz = CDbl(s.Substring(s.LastIndexOf("|") + 1))
MsgBox(String.Format("Aktuální kurz: 1 EUR = {0:c}", kurz))
End If
Case dlg.ComboBox1.ValueMember("GBP")
If s.StartsWith("Velká Británie|") Then
kurz = CDbl(s.Substring(s.LastIndexOf("|") + 1))
MsgBox(String.Format("Aktuální kurz: 1 GBP = {0:c}", kurz))
End If
End Select
End While
'zavřít StreamReader
sr.Close()
'zavřít spojení
rs.Close()
Catch ex As Exception
MsgBox("", , ex.Message)
End Try
End Sub
Ale po vybrání měny mi to hodí chybovou hlášku "Převod řetězce USD na typ Integer není platný". Přemýšlel jsem nad tím nevím si rady, jak to udělat aby mi to šlo.
Neví prosím někdo co mám upravit? (jsem začátečník, tak mi to kdyžtak vysvětlete nějak polopaticky)
Děkuji za odpověď