Announcement

Collapse
No announcement yet.

Zu schnelles durchlaufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zu schnelles durchlaufen

    Hallo zusammen

    Da mir in letzter Zeit schon so viel geholfen wurde frage ich einfach nochma


    Es geht um folgendes:

    Public Function urltest() As String


    Dim url1 As String = textboxurl.Text


    If url1.Substring(52, 4) = "done" Then

    MsgBox("gleiche URL")
    guthaben()

    Else

    MsgBox("ungleiche URL")
    Sleep(100)
    urltest()
    End If

    End Function
    Das funktioniert alles bestens, wenn ich nun aber die MsgBox en wegnehme, kommt das Programm in den dauer Sleep.

    Könnte mir jemand eine andere Problemlösung geben, denn ich weis dieser aufbau ist überhaupt nicht "sauber" ....


    Danke!
    --
    http://www.vic-fontaine.com/

  • #2
    Hallo,

    beschreib bitte kurz was geprüft werden soll.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Also

      Die URL aus der textbox ändert sich immer wieder.

      Wenn nun eine Url in die textbox kommt die ein "done" enthält, will ich eine andere funktion aufrufen.

      der abfragerhytmuss ist eigentlich egal, es darf einfach das laden de webbrowsers nicht unterbrechen.
      --
      http://www.vic-fontaine.com/

      Comment


      • #4
        Arbeite doch mit dem Ereignis der Textbox. Zum Beispiel wenn das Textchange Ereignis eintritt oder TextboxLeave oder ähnliches dann brauchst du nicht in einem Zeitrhytmus prüfen sondern es wird immer geprüft wenn sich die Url ändert.
        Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

        Comment


        • #5
          Hallo,

          dazu würde ich eine Liste verwenden die die bereits verarbeiteten URLs protokolliert.
          Wird eine neue URL eingegeben wird zuerst gegen diese Liste geprüft ob bereits verarbeitet oder nicht.

          Die Wahl der Liste ist eigentlich egal - ich hab hier aber ein HashSet verwendet -> ist für viele URLs effizienter.

          [highlight=vb.net]
          Imports System.Collections.Generic
          Imports System.ComponentModel
          Imports System.Windows.Forms

          Namespace WindowsFormsApplication1
          Public Partial Class Form1
          Inherits Form
          ' Liste für URLs
          Private _urls As New HashSet(Of String)()

          Public Sub New()
          InitializeComponent()
          End Sub

          Private Sub textBox1_Validating(sender As Object, e As CancelEventArgs)
          ' Prüfen gegen URL-Liste:
          If _urls.Contains(textBox1.Text) Then
          ' URL bereits verarbeitet!
          Else
          ' URL verarbeiten!

          ' URL hinzufügen zur Prüfung:
          _urls.Add(textBox1.Text)
          End If
          End Sub
          End Class
          End Namespace
          [/highlight]

          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment


          • #6
            Originally posted by das-d View Post
            Arbeite doch mit dem Ereignis der Textbox. Zum Beispiel wenn das Textchange Ereignis eintritt oder TextboxLeave oder ähnliches dann brauchst du nicht in einem Zeitrhytmus prüfen sondern es wird immer geprüft wenn sich die Url ändert.
            Wow das wäre auch gut, kannst du mir ein beispiel geben?


            E:// @gfoidl vielen dank! Ist sicherlich eine sehr gute möglichkeit. in meinem fall müsste ich nur eine Url vergleichen.
            --
            http://www.vic-fontaine.com/

            Comment


            • #7
              Siehe oben.

              mfG Gü
              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

              Comment


              • #8
                mit timer programmieren wäre auch eine möglichkeit...

                Comment


                • #9
                  mit timer programmieren wäre auch eine möglichkeit...
                  ...aber keine sinnvolle -> Ereignisse werden gefeuert wenn es eintritt, Timer habe ein festes Intervall.

                  Ein Klick auf einen Button wird ja auch nicht per Timer überwacht sondern das Klick-Ereignis verwendet.

                  mfG Gü
                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                  Comment


                  • #10
                    ist mir schon klar (ich progge natürlich auch event-orientated), aber das ist die lösung, die am nächsten am dem mit dem sleep dran wäre...

                    Comment


                    • #11
                      @levu: Wenn du den Thread verfolgt hättest wüsstest du auch dass die Sleep-Möglichkeit nicht mehr verwendet wird.

                      Es gibt natürlich 100.000e Möglichkeiten (oder doch weniger) wie man etwas machen kann. Alle unnötigen Möglichkeiten zu posten macht keine Sinn!

                      mfG Gü
                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                      Comment

                      Working...
                      X