Gå til innhold

Anbefalte innlegg

Heisann

 

Driver å lager et lite program i VB 2005 Express, men har litt problemer.

 

Jeg har et ganske enkelt grensesnitt som består av en knapp, en tekstboks som man ikke kan skrive i og en tekstboks som kan kan skrive i.

 

Planen er at når man skriver inn brukernavn i tekst boksen (ett navn pr linje) og klikker på knappen skal følgene linjer genereres i den andre tekstboksen:

 

"en fast frase" + første navn i listen +"en fast frase +første navn i listen +en fast frase

"en fast frase" + andre navn i listen +"en fast frase +andre navn i listen +en fast frase

"en fast frase" + tredje navn i listen +"en fast frase +tredje navn i listen +en fast frase

 

osv osv

 

Jeg får fint til at den lager en linje basert på alt som står i tekstboksen, men ikke hatt den skiller mellom linjene.

 

Noen som har noen gode tips?

Lenke til kommentar
Videoannonse
Annonse

Jeg vil at den skal ta hensyn til linjeskiftene i den tekstboksen som man skal kunne skrive til.

 

Slik ser koden på knappen ut nå:

RichTextBox1.Text = "Dette er en" + RichTextBox2.Text + "test"

 

Dette fungerer, men alt fra RichTextbox2.text blir satt inn, ikke bare 1.st linje.

:(

 

Edit: når jeg tenker meg om blir kansje alt man skriver i en tekstbox lest som en linje selv om det ser ut som flere? Jeg kan fikse dette med å lage en boks pr navn som skal skrives inn, men da blir en del av poenget borte.

Det skal bli et lite program som setter brukernavn inn i faste settninger for script bruk, men da må det jo finnes en måte å få den til å forstå at det bare er en linje som skal brukes pr setning.

Endret av Svar
Lenke til kommentar

Prøvde å legge inn all den koden til når man klikker på knappen, men får opp en haug med feilmeldinger:

 

A first chance exception of type 'System.IndexOutOfRangeException' occurred in til filnavn

A first chance exception of type 'System.NullReferenceException' occurred in til filnavn

A first chance exception of type 'System.IndexOutOfRangeException' occurred in til filnavn

A first chance exception of type 'System.IndexOutOfRangeException' occurred in til filnavn

A first chance exception of type 'System.NullReferenceException' occurred in til filnavn

 

Er for lenge siden jeg drev med VB ja :no:

Lenke til kommentar

Nå har jeg prøve å legge:

Dim strLinjer() as String = RichTextBox2.Text.Split(Controlchars.NewLine)

til når form1 lastes også, mener å huske at slike ting var smart å ha i begynnelsen av programmet men da får jeg bare opp feil:

Error 3 Name 'strLinjer' is not declared.

Lenke til kommentar

Nå får jeg kjørt programmet, men linjene blir ikke lest som en og en. :(

Eks vist jeg skriver dette i tekst boksen:

 

"morsomm

dum"

 

blir resultaret:

Dette er enmorsomm

dum test"

 

mens resulatet skulle blitt:

 

Dette er en morsomm test

Dette er en dum test

Lenke til kommentar

Det er fordi .Split() ikke klarer å splitte skikkelig. Jeg prøver å finne ut hva newline er og har til nå prøvd følgende:

Environment.Newline

Controlchars.Cr

Controlchars.CrLf

Controlchars.Lf

Controlchars.NewLine

Controlchars.VerticalTab

 

... begynner å gå tom for idéer...

Lenke til kommentar

Nå har jeg prøvd meg på følgende kode:

 Dim strLinjer() As String = RichTextBox1.Text.Split


       For i As Integer = 0 To strLinjer.GetLength(0) - 1
           RichTextBox2.Text = "Dette er en" & strLinjer(i) & "test" & ControlChars.NewLine
       Next

 

men det som skjedde da var at den bruker den siste linjen uansett hvor mange linjer jeg skriver.

Lenke til kommentar

Og jeg er totalt idiot! Koden skal være slik:

 

       Dim strLinjer() As String = RichTextBox2.Text.Split

       For i As Integer = 0 To strLinjer.GetLength(0) - 1
           RichTextBox1.Text = RichTextBox1.Text & "Dette er en " & strLinjer(i) & " test" & ControlChars.NewLine
       Next

Lenke til kommentar

Takker det fungerte :w00t:

Men den lager også en tom setning på slutten: "dette er en(ikke noe navn her) test"

Den skulle jeg likt at den ikke tar med, men det er ikke så veldig falig :thumbup:

Edit: min feil, den la inn den linjen fordi jeg hadde laget en tom linje :blush:

 

Nå mangler jeg bare on exit slett programmet fra minnet koden :)

Endret av Svar
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...