Problem mit Webclient

08/27/2013 15:11 LikeAKev#1
Ich downloade den String von einer Website dort stehen in einer Textdatei Codes.

Beispiel:

Code:
1234-abcd-4567-efgh
5844-abcd-wrge-efgh
1234-abcd-4567-efgh
1234-sgwe-4567-efgh
Jeder Code ist anders. Jetzt will ich den String auslesen.

Mein Code:

Code:
Public Class Form2
    Dim web As New System.Net.WebClient
    Dim Serials As String = ""

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Serials = web.DownloadString("https://www.domain.de")
        If Serials.Contains(TextBox1.Text) Then
            MsgBox("Seriennummer ist korrekt!", MsgBoxStyle.Information)
            Me.Hide()
            Form1.Show()
        Else
            MsgBox("Seriennummer ist falsch!", MsgBoxStyle.Information)
        End If
    End Sub
End Class
Es soll dann so sein:
- Wenn der Code der in der Textbox eingegeben wird 1:1 mit einem der Codes in der Textdatei übereinstimmt dann soll eine MsgBox mit "Korrekt" geöffnet werden.
- Wenn der Code nicht übereinstimmt soll eine MsgBox mit "Falsch" geöffnet werden.


Mein Problem:


Egal was ich in der Textbox eingebe, es wird immer korrekt angezeigt.

Könnt ihr mir pls helfen?
08/27/2013 15:28 Ludder231#2
.Contains heist einfach das irgend was in der Textbox in der Txt enthalten sein muss...Glaub ich zmd :D
Du musst die Serial.txt Zeile für Zeile durchloopen und dann mit If Serial = txtb1.text ...
08/27/2013 15:34 'Heaven.#3
Lösch den ganzen code und nutz php und ne Datenbank zur Überprüfung der Seriennummer...

Contains prüft lediglich ob der gehebene text in irgendeinerweise vorhanden ist.
08/27/2013 15:40 LikeAKev#4
Quote:
Originally Posted by 'Heaven. View Post
Lösch den ganzen code und nutz php und ne Datenbank zur Überprüfung der Seriennummer...

Contains prüft lediglich ob der gehebene text in irgendeinerweise vorhanden ist.
Ist mir für ein einfaches kleines Programm aber zu kompliziert.
08/27/2013 15:47 Ludder231#5
Quote:
Originally Posted by LikeAKev View Post
Ist mir für ein einfaches kleines Programm aber zu kompliziert.
Dann machs wie ich es gesagt habe :)
08/27/2013 15:50 LikeAKev#6
Quote:
Originally Posted by Ludder231 View Post
Dann machs wie ich es gesagt habe :)
Weiß nicht genau wie das gehen soll
08/27/2013 16:08 tolio#7
Quote:
Originally Posted by LikeAKev View Post
Weiß nicht genau wie das gehen soll
dann lerne die grundlagen
mehr als nen split, ne for schleife und nen gleichheitszeichen brauchst du nicht

trotzdem ist es falsch; und unsicher ist kein ausdruck dafür

Heaven hat schon recht wie man es machen sollte, das sind im endeffekt auch nicht mehr als 10 zeilen
08/27/2013 19:43 Demon-777#8
hier ein Beispiel in C#, viel Spaß
Ich würde aber lieber auf 'Heaven. hören ;)

Code:
    internal static class Program
    {
        private const string Url = "http://m.uploadedit.com/b020/1377624635419.txt";

        internal static void Main()
        {
            Console.WriteLine(IsCodeValid("1234-sgwe-4567-efgh") ? "Valid!" : "Invalid!");
        }

        private static bool IsCodeValid(string enteredCode)
        {
            bool result = false;

            using (var client = new WebClient())
            {
                string data = client.DownloadString(Url);
                string[] codes = data.Split(new[] {"\r\n", "\n"}, StringSplitOptions.None);

                if (codes.Any(code => enteredCode == code))
                {
                    result = true;
                }
            }

            return result;
        }
    }