Dropbox

Status
Niet open voor verdere reacties.

hanonymouss

Gebruiker
Lid geworden
7 sep 2011
Berichten
283
Hallo allemaal

Ben bezig met een klein programma met een textbox en een button. Ik heb een txt bestand aangemaakt en geupload naar dropbox. Nu wil ik weten als er Bv "fhif3256" in die txt bestand zit en wanneer ik een textbox "fhif3256" intik en op een button druk dat
er ineens msgbox te verschijn te komt met ("Deze tekst is herkend") maar hij geeft constant aan dat hij de teskt niet herkend.

dit is de code die ik gebruik.

Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim client
        client = WebClient1.DownloadString("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/Tool%20update.txt")
        If client.ToString.Contains(TextBox1.Text) Then
            My.Settings.Activated = True
            My.Settings.Save()
            My.Settings.Reload()
            MsgBox("Tekst is herkend.")
        ElseIf client.ToString.Contains(TextBox1.Text) Then
            MsgBox("Tekst is niet herkend")
            Me.Close()
        Else
            MsgBox("Tekst in niet herkend")
        End If
    End Sub
 
Laatst bewerkt door een moderator:
ja code bevat 2x dezelfde if statement namelijk "If client.ToString.Contains(TextBox1.Text) Then"

is het niet beter om te kijken of de textbox de gedownloade text bevat ipv te kijken of de gedownloade text de text van textbox bevat.
 
ja code bevat 2x dezelfde if statement namelijk "If client.ToString.Contains(TextBox1.Text) Then"

is het niet beter om te kijken of de textbox de gedownloade text bevat ipv te kijken of de gedownloade text de text van textbox bevat.

Nu is het helemaal raar: als ik gewoon op een button druk met in de textbox niks! dan zegt hij dat de tekst herkend is terwijl in de txt bestand "test" instaat.
" ??
 
Dit is niet wat ik zoek mighty atom. Ik wil alleen dat de txt bestand overeen komt met de
tekst dat ik in de textbox vul. BV: het bestand bevat de string test123 en van wanneer ik in de texbox test123 vul dat er ineens een msgbox tevoorschijn komt en zegt tekst komt overeen met het bestand. Begrijp je ?
 
Oh zo. Ik dacht dat je aan een Updater werkte omdat ik zag dat er een serie getallen in die txt stonden die een versienummer konden voorstellen.

Je online txt bestand bevat naast de tekst 1.0.2.0 ook 2 lege regels (witregels) Die worden ook gelezen en als jij alleen maar 1.0.2.0 invoert dan is het logisch dat de string niet klopt.
 
Hmm?

Ik heb jouw code gekopieerd en gekeken of het bij mij werkte en dat doet het.
Dus bij mij werkt het dit is mijn code:
[CPP]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim client As String
Application.DoEvents()
Console.WriteLine("download gestart")
client = WebClient1.DownloadString("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/Tool%20update.txt")
Console.WriteLine("ClientString = " + client.ToString())
If client.ToString.Contains(TextBox1.Text) Then
MsgBox("Tekst is herkend.")
ElseIf Not client.ToString.Contains(TextBox1.Text) Then
MsgBox("Tekst is niet herkend")
Me.Close()
Else
MsgBox("Tekst in niet herkend")
End If
End Sub
[/CPP]

om het programma niet te laten freezen tijdens het zoeken raad ik aan om een multithread te gebruiken.
 
Check even de waarde van client.ToString() met een breakpoint.
 
Vraag is opgelost volgens mij

Oh zo. Ik dacht dat je aan een Updater werkte omdat ik zag dat er een serie getallen in die txt stonden die een versienummer konden voorstellen.

Je online txt bestand bevat naast de tekst 1.0.2.0 ook 2 lege regels (witregels) Die worden ook gelezen en als jij alleen maar 1.0.2.0 invoert dan is het logisch dat de string niet klopt.
Ik denk dat 'TheMightyAtom' de vraag heeft opgelost want hij had inderdaad 2 witregels waar ik ook niet aan gedacht had. En toen ik het teste had hij ze al verwijderd daarmee dat het met mij wel werkte
 
Met de breakpoints werkt ook niet. Ik wil alleen de tekst die je intypt in de textbox overeen moet komen met het txt bestand. Hebben jullie misschien geen alternatieve code?


dit is de code:

Code:
 Dim client
        client = WebClient1.DownloadString("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/test.txt")
        If client.ToString().Contains(TextBox1.Text) Then
            My.Settings.act = True
            My.Settings.Save()
            My.Settings.Reload()
            MsgBox("Tekst is herkend.")
        ElseIf client.ToString().Contains(TextBox1.Text) Then
            MsgBox("Tekst is niet herkend")
            Me.Close()
        Else
            MsgBox("Tekst in niet herkend")
        End If
 
Laatst bewerkt door een moderator:
Weet je wel wat breakpoints zijn/waar ze voor dienen? Je kunt eenvoudig zien wat de waarde van client.ToString() is en je oplossing daarop baseren.

PS. Codetags maken je post duidelijker.
 
Het ligt toch echt aan die twee witregels in je tekstbestandje.

Heb net zelf effe een test gedaan en het werkt prima:

Code:
        Dim sTxt As String = New WebClient().DownloadString("http://www.themightyatom.nl/stuff/helpmij.txt")

        If TextBox1.Text = sTxt Then
            MessageBox.Show("Tekst is herkend.")
        Else
            MessageBox.Show("Tekst is niet herkend")
        End If

De tekst in het tekstbestand is hanonymouss.

Als WebClient() een error geeft, importeer dan even System.Net of maak van WebClient() -> Net.WebClient()
 
Laatst bewerkt:
bij mij werkt het ook ik zou niet wete wat hij fout doet

Alleen dan een paar dingetjes dat niet logisch zijn..
[CPP]
Dim client
client = WebClient1.DownloadString("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/test.txt")
If client.ToString().Contains(TextBox1.Text) Then
My.Settings.act = True
My.Settings.Save()
My.Settings.Reload()
MsgBox("Tekst is herkend.")
ElseIf client.ToString().Contains(TextBox1.Text) Then
MsgBox("Tekst is niet herkend")
Me.Close()
Else
MsgBox("Tekst in niet herkend")
End If
[/CPP]

in

[CPP]
Dim client as string
client = WebClient1.DownloadString("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/test.txt")
If client.ToString().Contains(TextBox1.Text) Then
My.Settings.act = True
My.Settings.Save()
My.Settings.Reload()
MsgBox("Tekst is herkend.")
ElseIf not client.ToString().Contains(TextBox1.Text) Then
MsgBox("Tekst is niet herkend")
Me.Close()
Else
MsgBox("Tekst in niet herkend")
End If
[/CPP]
 
Het ligt toch echt aan die twee witregels in je tekstbestandje.

Heb net zelf effe een test gedaan en het werkt prima:

Code:
        Dim sTxt As String = New WebClient().DownloadString("http://www.themightyatom.nl/stuff/helpmij.txt")

        If TextBox1.Text = sTxt Then
            MessageBox.Show("Tekst is herkend.")
        Else
            MessageBox.Show("Tekst is niet herkend")
        End If

De tekst in het tekstbestand is hanonymouss.

Als WebClient() een error geeft, importeer dan even System.Net of maak van WebClient() -> Net.WebClient()

Dank u wal Mighty atom het werkt nu :thumb:

Nog één vraagje? is het ook mogelijk om meer txt in het txt bestand te zetten.

Bijvoorbeeld: test en dan deronder test1, test2 enzoverder.
Ik heb het geprobeerd maar die herkend alleen de eerste.
 
Je zou dan voorbeeld het textbestandje kunnen downloaden naar de 'Temp' map en dan zo het bestandje lezen met een streamreader ofzo :D
 
Even een loop door de regels maken. :)

[cpp]Dim Reader As New IO.StreamReader("...")
Do While Reader.Peek() <> -1
MsgBox(Reader.ReadLine)
Loop
Reader.Close()[/cpp]
 
Je zou dan voorbeeld het textbestandje kunnen downloaden naar de 'Temp' map en dan zo het bestandje lezen met een streamreader ofzo :D

Hoe moet ik dit dan samenvoegen met de code van atom ?

zo heb ik dat gedaan:

Code:
Dim sTxt As String = New Net.WebClient().DownloadString("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/test.txt")

        If TextBox1.Text = sTxt Then
            Dim Reader As New IO.StreamReader("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/test.txt")
            Do While Reader.Peek() <> -1
                MsgBox(Reader.ReadLine)
            Loop
            Reader.Close()
            MessageBox.Show("Tekst is herkend.")
        Else
            MessageBox.Show("Tekst is niet herkend")
        End If
Mijn breakpoint geeft aan dat er iets mis is met dit: Dim Reader As New IO.StreamReader("http://dl.dropbox.com/u/38016137/Pay%20visual%20studio%20software/test.txt")
en die kan ook geen enkele teskt lezen.

PS: wat bedoelen jullie met (2 lege witregels) ?
 
Laatst bewerkt door een moderator:
@hanonymouss Code dient tussen codetags geplaatst te worden. Oftewel selecteer de code en klik op #
 
Waarom lees je test.txt twee keer? Waar dient die Reader As New IO.StreamReader etc voor?
Zowiezo geloof ik dat een StreamReader geen online bestanden kan inlezen, alleen bestanden op de lokale schijf of schijven.

Een witregel is een gewoon een regel zonder enige tekst of tekens.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan