Ausgelesene txt items in listbox UNTEREINANDER anzeigen

  • VB.NET

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von markus.obi.

    Ausgelesene txt items in listbox UNTEREINANDER anzeigen

    Wie kann ich aus einer txt Namen auslesen ,

    diese dann in einer Listbox auslesen lassen.

    mfg

    VB.NET-Quellcode

    1. Dim Text As String = File.ReadAllText(TextBox1.Text) ListBox1.Items.Add(Text)



    Dabei wird jedoch der ganze text in einer Linie angezeigt.

    Nach jeder Zeile sollte auch in der Listbox eine neue anfange, bitte um hilfe.

    mfg

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Center“ ()

    Was heißt gestapelt? Wie ist die Datei aufgebaut? Muss da was geparst/ersetzt werden?

    Einlesen geht so:

    1. Den gesamten Text in einen String: msdn.microsoft.com/de-de/library/ms143368.aspx

    VB.NET-Quellcode

    1. Dim readText As String = File.ReadAllText(path)


    2. In ein Array, Ein Element pro Zeile: msdn.microsoft.com/de-de/library/s2tte0y1.aspx

    VB.NET-Quellcode

    1. Dim readText() As String = File.ReadAllLines(path)
    gestapelt in sinne von

    Baum
    Kuchen
    Apfel
    Zuckerstange

    und nicht BaumKuchenApfelPferdZuckerStange

    mfg

    In der txt steht es so drin:

    Pferd
    Kuchen
    Zuckerstange

    und net so

    Pferd Kuchen Zuckerstange


    -------------------------

    Ersetzt nicht , einfach nur in die Listbox übertragen.

    -----------------------

    2. Frage:

    Die listbox items sollen alle nacheinander benutzt werden , bzw in ein Webbrowserlement geschrieben werden.

    Will nur das jede sekunde immer ein anderes item ausgewählt werden soll , wende es verstehst ;)

    mfg²

    Ich meine das die Nachrichten ja immer abgesendet werden.

    Das die textbox mit dem Namen wo die geschickt wird immer aktuallisiert wird.

    bzw. Das alle Items durchgegangen werden.

    Ich dachte an den Befehl Selected Item ...

    mfg

    Hab da eben noch ein anderes Problem

    Der Timer geht alle 10sek.

    Und dabei macht er das:


    WebBrowser1.Document.Forms(0).InvokeMember("inbox_compose_button")
    For i As Integer = 0 To ListBox1.Items.Count - 1
    TextBox1.Text = ListBox1.Items(i)
    Next

    Er soll bei youtube auf Nachrichte Senden klicken nur geht das nit.

    Mit submit geht es auch net..

    Quellcode:

    Spoiler anzeigen

    Quellcode

    1. <button id="inbox_compose_button" class=" yt-uix-button yt-uix-button-default" role="button" onclick="inbox.compose();;return false;" type="button">



    mfg

    Ich versuche mal zusammenzufassen, was du machen willst:
    Du willst ein und die selbe Nachricht an alle Personen schicken.

    Dazu ist es strenggenommen nicht notwendig eine Listbox zu erstellen, da ja alle Name in dem Array sind.
    Natürlich hat man bei der Listbox eine Bestätigung, ob die Namen richtig eingelesen wurden. Deswegen würd ichs auch so lassen.
    Wenn du jetzt eine Aktion mit jedem Element des Arrays machen willst, dann musst du nicht jedes Element in eine Textbox schreiben. Du schreibst einfach ne Prozedur (sub) die eine Nachricht an jemanden verschickt.
    Diese Prozedur rufst du dann in der for each Schleife auf.
    Das sieht etwa so aus:

    VB.NET-Quellcode

    1. For each name As String in readText
    2. NachrichtSchicken(name)
    3. Next
    4. '...
    5. Private Sub NachrichtSchicken(ByVal empfaenger as String)
    6. 'Hier Der Code, der die Nachricht an empfaenger schickt
    7. End Sub


    Um die Nachricht zu schicken, würde ich einen HTTPWebrequest verwenden. Das erfordert jedoch einige Grundlagen in Vb.net.
    Ich versteh deinen Code gerade nicht.
    Was hat das dann damit auf sich das von oben nach unten gezählt wird.
    Ich würde es gerne mit GetElement By Id machen hat bei meiner Anmelde funktion auch wunderbar geklappt.
    Nur ich weis nicht was das Problem bei diesen button ist.
    Ich muss erstmal auf eine Seite , auf dieser dann einen button klicken damit ich auf das Nachrichtenfeld komme.
    Da sollen dann Empfänger mit einem Listboxitem gefüllt werden was wiederum in textbox1.text stehen soll
    und Titel , Beitrag sollten dann auch seperat von 2 Textboxen abgefragt werden.
    Wenn eine Nachricht abgeschickt wird kommt er wieder auf die normale Menü Seite wo er wieder auf
    Nachricht Verfassen klicken muss, ich weiß ich schreib hiern großen unverständlichen Text aber anders
    kann ich es mit eigenen Worten nicht erklären.
    Er soll einfach automatisch auf den button klicken , dann alles füllen , und von oben nach unten immer einen Namen
    rausnehmen und den bei Empfänger reinpacken und abschicken immer so weiter bis die Listbox lehr ist.

    mfg


    Anmeldefenster:

    Den Nachricht schicken Button könntest du anklicken über:

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("inbox_send_message").InvokeMember("click")


    Du wirst allerdings auf ein großes Problem stoßen: Die Zeit! (bzw das timing)
    Du musst ja warten bis der Webbrowser fertig geladen hat (nach jeder Nachricht).
    Dafür wirst du das DocumentCompleted Event brauchen!

    Sauberer und vor allem schneller (!) geht das alles mit nem HTTPWebrequest. Da kannste dann in nem Bruchteil einer Sekunde aller Nachrichten auf einmal schicken.
    Vorrausgesetzt Youtube identifiziert dich nicht als Spammer.

    Edit:
    Wenn du die Listbox durchläufst und gleichzeitig das aktuelle Element entfernen willst, dann musst du einen Index verwenden, der rückwärts läuft.
    Die Elemente "rücken" nämlich automatisch nach, wenn man von 0 bis Ende zählt und immer das i.te Element löscht.
    Es muss also heißen:

    VB.NET-Quellcode

    1. For i = ListBox1.Items.Count - 1 To 0 Step -1
    2. NachrichtSchicken(ListBox1.Items(i))
    3. ListBox1.Items.RemoveAt(i)
    4. Next

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „markus.obi“ ()

    Der wohl beste Weg Nachrichten in Youtube zu versenden ist die Youtube API für .NET zu verwenden.
    in der FAQ steht:

    Getting Started

    What functionality is available through the YouTube API?
    The API provides the ability to retrieve feeds related to videos, users, and playlists. It also provides the ability to manipulate these feeds, such as creating new playlists, adding videos as favorites, and sending messages. The API is also able to upload videos.

    Hier gibts ein Tutorial dazu.

    €: Noch einfacher: youtube.com/address_book -> Email schreiben
    Dann einfach alle Empfänger in das Empfängerfeld (durch Komma getrennt).

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „markus.obi“ ()