Jump to content
danielfonseca

Repetir For Loop

Recommended Posts

danielfonseca

Boas tenho aqui dois problemas que já me fartei de procurar e não encontrei nada que me ajude, Postei o codigo em baixo com o que quero meter (não todo , penso que está só o necessario):

 [...]
ElseIf CheckBox2.Checked = False And CheckBox1.Checked = True Then
            For i = 1 To num33
                TextBox4.Text = i
                Dim str7 As String = "&key="
                Dim str5 As String = "&frhk="
                Dim str4 As String = "&Name="
                Dim pqp2 As String = "00"
                If i > 9 Then
                    pqp2 = "0"
                End If
                If SQLonnection.State = ConnectionState.Closed Then
                    SQLonnection.Open()
                End If
                Dim sql As String = "SELECT fbui FROM ids ORDER BY RAND() LIMIT 1"
                Dim command As New MySqlCommand(sql, SQLonnection)
                Dim id As String = command.ExecuteScalar()
                Dim request As WebRequest = HttpWebRequest.Create("http://localhost/getKey.php?id=1:" + id & str4 & TextBox1.Text & "&chl=1")
                Dim response As HttpWebResponse = request.GetResponse()
                Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
                Dim key As String = sr.ReadToEnd()
                Dim sourcecode As String = key
                If key.Contains("HashKey") Then
                    Continue For
                Else
'aqui quero que quando não contenha o HashKey que repita a FOR que tava a fazer e assim vai buscar id para testar se aparece
                End If
                Dim code() As String = Split(sourcecode, """")
                    Dim writetha As String = "[size=large][url=http://localhost/ft/rew.php?id=1:" + id & str5 & code(3) & "] " & pqp2 & i & ") " & TextBox3.Text & " [/url][/size] "
                    Dim writetha2 As String = "[size=large][url=http://localhost/ft/rew.php?id=1:" + id & str5 & code(3) & "] " & pqp2 & i & ") " & TextBox3.Text & " [/url][/size]" & vbNewLine
                    Dim wrt As String
'esta aqui deve ser muito coisa mas pronto sou noob nisto ainda  , queria que a cada 5 links escritos no txt muda-se a string pois quero fazer com + de 500  e com isto tenho de andar aqui a escrever tudo :S
                    If i = 5 Or i = 10 Or i = 15 Or i = 20 Or i = 25 Or i = 30 Or i = 35 Or i = 40 Or i = 45 Or i = 50 Or i = 55 Or i = 60 Or i = 65 Or i = 70 Or i = 75 Or i = 80 Or i = 85 Or i = 90 Or i = 95 Then
                        wrt = writetha2
                    Else
                        wrt = writetha
                    End If
                    writer.Write(wrt)
               
            Next
            writer.Close()
            SQLonnection.Close()
            If MessageBox.Show("Do you want to see the links?", "Atention", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then System.Diagnostics.Process.Start("notepad", fileName)


        End If

Acho que me fiz entender, se não digam !

Agradeço ajuda .

Daniel.

Share this post


Link to post
Share on other sites
Andrepereira9

boas.

Experimenta assim.

Sempre que não encontrar, pega no numero do i e diminui 1, voltando ao valor anterior.

If key.Contains("HashKey") Then
                    Continue For
                Else
                     i = i - 1
                    debug.WriteLine(i)

               End If


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
danielfonseca

boas.

Experimenta assim.

Sempre que não encontrar, pega no numero do i e diminui 1, voltando ao valor anterior.

If key.Contains("HashKey") Then
                    Continue For
                Else
                     i = i - 1
                    debug.WriteLine(i)

               End If

Não funcionou pois no write dá indexOutOfRange pois o codigo pede para dividir a key Haskkey e quando essa dividida dá a key mas quando não tem nada fica null e acho que é por causa disso que dá erro :S

Share this post


Link to post
Share on other sites
Andrepereira9

e se meteres o código assim ?

If key.Contains("HashKey") Then
                 
       Dim code() As String = Split(sourcecode, """")
       Dim writetha As String = "[size=large][url=http://localhost/ft/rew.php?id=1:" + id & str5 & code(3) & "] " & pqp2 & i & ") " & TextBox3.Text & " [/url][/size] "
       Dim writetha2 As String = "[size=large][url=http://localhost/ft/rew.php?id=1:" + id & str5 & code(3) & "] " & pqp2 & i & ") " & TextBox3.Text & " [/url][/size]" & vbNewLine
       Dim wrt As String
'esta aqui deve ser muito coisa mas pronto sou noob nisto ainda  , queria que a cada 5 links escritos no txt muda-se a string pois quero fazer com + de 500  e com isto tenho de andar aqui a escrever tudo :S
       If i = 5 Or i = 10 Or i = 15 Or i = 20 Or i = 25 Or i = 30 Or i = 35 Or i = 40 Or    i = 45 Or i = 50 Or i = 55 Or i = 60 Or i = 65 Or i = 70 Or i = 75 Or i = 80 Or i = 85 Or i = 90 Or i = 95 Then
           wrt = writetha2
      Else
           wrt = writetha
      End If
      writer.Write(wrt)

Else
       i = i - 1
       debug.WriteLine(i)
End If


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
danielfonseca

e se meteres o código assim ?

If key.Contains("HashKey") Then
                 
       Dim code() As String = Split(sourcecode, """")
       Dim writetha As String = "[size=large][url=http://localhost/ft/rew.php?id=1:" + id & str5 & code(3) & "] " & pqp2 & i & ") " & TextBox3.Text & " [/url][/size] "
       Dim writetha2 As String = "[size=large][url=http://localhost/ft/rew.php?id=1:" + id & str5 & code(3) & "] " & pqp2 & i & ") " & TextBox3.Text & " [/url][/size]" & vbNewLine
       Dim wrt As String
'esta aqui deve ser muito coisa mas pronto sou noob nisto ainda B) , queria que a cada 5 links escritos no txt muda-se a string pois quero fazer com + de 500  e com isto tenho de andar aqui a escrever tudo :S
       If i = 5 Or i = 10 Or i = 15 Or i = 20 Or i = 25 Or i = 30 Or i = 35 Or i = 40 Or    i = 45 Or i = 50 Or i = 55 Or i = 60 Or i = 65 Or i = 70 Or i = 75 Or i = 80 Or i = 85 Or i = 90 Or i = 95 Then
           wrt = writetha2
      Else
           wrt = writetha
      End If
      writer.Write(wrt)

Else
       i = i - 1
       debug.WriteLine(i)
End If

Funciona 5 estrelas agora estás a ver aquele comment no meio?Podes me ver isso tambem?

Muito obrigado táva a ver que nunca mais arranjava aquilo  :)

Share this post


Link to post
Share on other sites
Andrepereira9

boas

If (i / 5) Mod 2 = 0 Or (i / 5) Mod 2 = 1 Then
     wrt = writetha2
Else
     wrt = writetha
End If



A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
danielfonseca

boas

If (i / 5) Mod 2 = 0 Or (i / 5) Mod 2 = 1 Then
     wrt = writetha2
Else
     wrt = writetha
End If


Perfeito Obrigado  :) B)

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.