Jump to content
Chamuanza

[Resolvido] Transferir dados para Cx. de Texto

Recommended Posts

Chamuanza

Um Bem aja

Agradeço desde já uma ajuda

Tenho este código onde vou buscar os dados que pretendo ao site da santa casa, com apresentação numa MsgBox

Pretendo transferir os valores individuais para caixas de texto.

Consigo fazer para o primeiro valor, com o remove no entanto não sei como fazer para os valores intermédios.

Agradeço uma dica.

Provavelmente nem estarei a utilizar o melhor processo

Private Sub butObterChaveTotoloto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butObterChaveTotoloto.Click
	Dim oWebRequest As WebRequest
	Dim oWebResponse As WebResponse = Nothing
	Dim strBuffer As String = ""
	Dim objSR As StreamReader = Nothing
	Dim leitor As Object
	Dim ler As Boolean = False
	Dim valores As String = String.Empty
	Dim i As Integer = 0
	Dim num_final As String = String.Empty
	Dim estrela_final As String = String.Empty
	'conecta com o website
	Try
		oWebRequest = HttpWebRequest.Create("https://www.jogossantacasa.pt/web/SCCartazResult/totolotoNew")
		oWebResponse = oWebRequest.GetResponse()
		'Le a resposta do web site e armazena em uma stream
		objSR = New StreamReader(oWebResponse.GetResponseStream)
		strBuffer = objSR.ReadToEnd
		leitor = Split(strBuffer, vbNewLine)
		For Each linha In leitor
			If ler = True Then
				valores += linha.ToString + vbNewLine
				i += 1
			End If
			'If linha.Contains("Ordem Saída:") Then
			'	ler = True
			'End If
			If linha.Contains("Chave") Then
				ler = True
			End If
			If linha.Contains("Data do Sorteio") Then
				'Obtem o valor da linha Retira caracteres a string
				Label15.Text = (linha.ToString.Remove(0, 58))
			End If

			If i > 8 Then
				ler = False
			End If
		Next
	Catch ex As Exception
		MsgBox(ex.ToString)
	Finally
		objSR.Close()
		oWebResponse.Close()
	End Try
	'Retira caracteres a string
	Label16.Text = Label15.Text.Remove(28, 7)
	Dim WC1 As New Net.WebClient
	Dim Rsp1 As String = WC1.DownloadString("https://www.jogossantacasa.pt/web/SCCartazResult/totolotoNew")
	Dim m As Match = Regex.Match(Rsp1, "<li>(\d|\d\d) (\d|\d\d) (\d|\d\d) (\d|\d\d) (\d|\d\d) \+ (\d|\d\d)</li>", RegexOptions.IgnoreCase)

	MsgBox(Label16.Text & vbNewLine & vbNewLine & "Chave: " & m.ToString.Replace("<li>", "").Replace("</li>", ""), MsgBoxStyle.Information, "Obter Chave Totoloto da Santa Casa")

	TextBox1.Text = m.ToString.Replace("<li>", "").Remove(2, 19)

End Sub

Edited by Chamuanza

Share this post


Link to post
Share on other sites
nelsonr

Boas,

experimenta assim:

Dim WC1 As New net.WebClient
Dim Rsp1 As String = WC1.DownloadString("https://www.jogossantacasa.pt/web/SCCartazResult/totolotoNew")
Dim m As Match = Regex.Match(Rsp1, "<li>(?<resultado>(?<num1>\d+) (?<num2>\d+) (?<num3>\d+) (?<num4>\d+) (?<num5>\d+) \+ (?<sup>\d+))</li>", RegexOptions.IgnoreCase)

MsgBox(Label16.Text & vbNewLine & vbNewLine & "Chave: " & m.Groups("resultado").ToString(), MsgBoxStyle.Information, "Obter Chave Totoloto da Santa Casa")

'
txtNumero1.Text = m.Groups("num1").ToString()
txtNumero2.Text = m.Groups("num2").ToString()
txtNumero3.Text = m.Groups("num3").ToString()
txtNumero4.Text = m.Groups("num4").ToString()
txtNumero5.Text = m.Groups("num5").ToString()
txtSuplente.Text = m.Groups("sup").ToString()

Share this post


Link to post
Share on other sites
Guilherme Santos

Em regex,você pode usar as chaves para determinar o número de uma sequencia

\d{2} = \d\d

E você tem os parenteses,que permitem que você pegue o valor entre eles

(\d{2})
TextBox1.Text = m.Groups(1).Value

Share this post


Link to post
Share on other sites
Chamuanza

Obrigado pela Ajuda

Era isto que de facto pretendia, não chegava lá por mim

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.