tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
2756
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Lehne Lehne ist offline Grünschnabel
    Registriert seit
    Oct 2007
    Beiträge
    4
    Als Neueinsteiger In VB .net habe ich folgendes Problem:
    Beim Starten meines Programmes wird in einer Textbox der folgende Text generiert, der später für Registrierungseinträge weiterverwendet werden soll.

    [Elemente\000]


    [Elemente\000\IOBits]


    [Elemente\000\Zeiten]


    [Elemente\001]


    [Elemente\001\IOBits]


    [Elemente\001\Zeiten]


    [Elemente\002]

    usw.

    Das Schema des Textes ist also:

    Überschrift
    Leerzeile 1
    Leerzeile 2

    Wie kann ich in der Textbox entsprechende Einträge (durch Auswahl von Radiobuttons) in 'Leerzeile 1' nach der Überschrift machen?

    Für Hilfe und Anregungen wäre ich sehr dankbar.
     

  2. #2
    Avatar von Danielku15
    Danielku15 Danielku15 ist offline Mitglied Platin
    Registriert seit
    Feb 2004
    Ort
    Österreich
    Beiträge
    731
    Blog-Einträge
    3
    Ich würde dir empfehlen anhand von deinen Optionen (Radiobuttons etc.) einen kompletten String zu generieren welchen du in die Textbox schreibst. Solche Textmanipulationen sind umständlich und fehleranfällig.
     

  3. #3
    Lehne Lehne ist offline Grünschnabel
    Registriert seit
    Oct 2007
    Beiträge
    4
    Vielen Dank für die Antwort, die nun schon einige Zeit zurückliegt. Für meine späte Reaktion bitte ich um Entschuldigung, dienstliche Zwänge mussten mein Projekt ruhen lassen.
    Leider führt mich diese Lösung nicht zum benötigten Ergebnis. Ich bin darauf angewiesen, in eine bestimmte Zeile nach der "Überschrift" zu springen, was ich mit meinen Kenntnissen nicht schaffe.

    Würde mich über weitere Hilfe sehr freuen.
     

  4. #4
    engelmarkus engelmarkus ist offline Mitglied Brokat
    Registriert seit
    Sep 2007
    Beiträge
    473
    Also eventuell würde ich eine "Dictionary(Of String, List(Of String))" hernehmen... vielleicht gehts auch einfacher, aber zumindest sollte man damit arbeiten können.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
            Dim Inhalt As New Dictionary(Of String, List(Of String))
     
            Inhalt.Add("Oberpunkt1", New List(Of String))
            Inhalt.Item("Oberpunkt1").Add("Eintrag1")
            Inhalt.Item("Oberpunkt1").Add("Eintrag1")
     
            Inhalt.Add("Oberpunkt2", New List(Of String))
            Inhalt.Item("Oberpunkt2").Add("Eintrag2")
            Inhalt.Item("Oberpunkt2").Add("Eintrag3")
     
            Dim sb As New System.Text.StringBuilder()
     
            For Each oberpunkt In Inhalt
                sb.AppendLine(oberpunkt.Key)
                For Each eintrag In oberpunkt.Value
                    sb.AppendLine(eintrag)
                Next
            Next
     
            TextBox1.Text = sb.ToString()

    Die Ausgabe sieht jetzt folgendermaßen aus:

    Oberpunkt1
    Eintrag1
    Eintrag1
    Oberpunkt2
    Eintrag2
    Eintrag3
    Jetzt musst du nur noch ein paar Leerzeilen einbauen, und die eckigen Klammern, und schon funktionierts.
     

  5. #5
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Zitat Zitat von Lehne Beitrag anzeigen
    Leider führt mich diese Lösung nicht zum benötigten Ergebnis. Ich bin darauf angewiesen, in eine bestimmte Zeile nach der "Überschrift" zu springen, was ich mit meinen Kenntnissen nicht schaffe.
    Könntest du das "springen" näher erläutern.
    Ich habs immer wieder gelesen verstehe aber nicht wirklich worauf du hinaus willst.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  6. #6
    Lehne Lehne ist offline Grünschnabel
    Registriert seit
    Oct 2007
    Beiträge
    4
    Zitat von Spyke:
    Könntest du das "springen" näher erläutern.
    Hallo Spyke,
    vielen Dank, dass du dir Zeit für mein Problem nimmst. Ich hoffe, dass ich mein Anliegen hiermit verständlicher erläutere:
    Das fertige Programm soll ein Editor werden, mit dem Registry-Daten generiert werden können.
    Beim Start des Programms werden ein Rasterfeld mit 5 Zeilen und 26 Spalten (130 Felder) und eine Textbox erzeugt. Der Inhalt der Textbox wird nach dem Programmstart wie folgt dargestellt:

    [HKEY_CURRENT_USER\Software\...\Elemente\000]

    [HKEY_CURRENT_USER\Software\...\Elemente\000\IOBits]

    [HKEY_CURRENT_USER\Software\...\Elemente\000\Zeiten]

    [HKEY_CURRENT_USER\Software\...\Elemente\001]

    [HKEY_CURRENT_USER\Software\...\Elemente\001\IOBits]

    [HKEY_CURRENT_USER\Software\...\Elemente\001\Zeiten]

    [HKEY_CURRENT_USER\Software\...\Elemente\002]

    [HKEY_CURRENT_USER\Software\...\Elemente\002\IOBits]

    [HKEY_CURRENT_USER\Software\...\Elemente\002\Zeiten]

    usw.

    Jedes dieser o. g. Felder repräsentiert ein Element, für das noch "IOBits" und "Zeiten" definiert werden können.
    Jedem Feld/Element kann eine Funktionalität A, B, C oder D zugewiesen werden. Dazu wird als erstes die gewünschte Funktionalität (z. B. "A") ausgewählt, was zum Öffnen eines entsprechenden Auswahldialogfensters führt. In diesem Fenster muss eingetragen werden, welches Rasterfeld die Funktionalität "A" erhalten soll (z. B. Feld 002), womit die Koordinaten ("X" und "Y") der Funktionalität "A" festgelegt werden. Mit Radiobuttons können weitere Eigenschaften gewählt werden, die in der Registry mit "Typ_1", "Typ_2", "Typ_3" und "Bedienbar" bezeichnet sind. Weiterhin werden verschiedene Ein- und Ausgabebits (IOBits) festgelegt und die Länge der Kommandozeiten.

    Im Registry-Eintrag sieht das dann in etwa so aus:

    [HKEY_CURRENT_USER\Software\...\Elemente\002]
    "X"=dword:0000001a
    "Y"=dword:00000001
    "Funktionalitaet"="A"
    "Typ_1"="G_W_"
    "Typ_2"=""
    "Typ_3"="B_R_EIN_"
    "Bedienbar"=dword:00000001

    [HKEY_CURRENT_USER\Software\...\Elemente\002\IOBits]
    "R"=dword:00000074
    "S"=dword:0000007c
    "T"=dword:00000051
    "U"=dword:00000059

    [HKEY_CURRENT_USER\Software\...\Elemente\002\Zeiten]
    "V"=dword:00000004


    Und jetzt zu meinem Problem:
    Ich habe es bisher nicht geschafft, dass nach der Auswahl mit den Radiobuttons im Auswahldialogfenster die Registry-Werte, z. B.
    "X"=dword:0000001a
    "Y"=dword:00000001
    "Funktionalitaet"="A"
    "Typ_1"="G_W_"
    "Typ_2"=""
    "Typ_3"="B_R_EIN_"
    "Bedienbar"=dword:00000001
    an die richtige Stelle in der Textbox geschrieben werden - im Beispiel also unter die Zeile "[HKEY_CURRENT_USER\Software\...\Elemente\002]". Das hatte ich mit "springen" zu einer bestimmten Zeile in der Textbox gemeint.
    Ich hoffe, das trägt zum besseren Verständnis meines Problems bei.
     

  7. #7
    Lehne Lehne ist offline Grünschnabel
    Registriert seit
    Oct 2007
    Beiträge
    4
    Zitat von engelmarkus:
    Also eventuell würde ich eine "Dictionary(Of String, List(Of String))" hernehmen... vielleicht gehts auch einfacher, aber zumindest sollte man damit arbeiten können.
    Hallo engelmarkus,

    danke für deine Hinweise und Mühe. Ich werde es ausprobieren, brauche aber noch ein bisschen Zeit, um das bei mir zu implementieren.
    Ich hoffe, ich habe mich als Anfänger mit meinem Programm nicht übernommen.
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 30.09.09, 23:10
  2. Multiline Textbox String an BESTIMMTER stellen einfügen
    Von Crav3X im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 17.03.09, 14:44
  3. Antworten: 0
    Letzter Beitrag: 03.08.08, 21:36
  4. Text-Datei an bestimmter Stelle trennen
    Von deinertsche im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 01.06.06, 16:03
  5. jpg an bestimmter stelle einfügen?
    Von vaporizer im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 24.03.04, 18:37