Avatar billede semaine Nybegynder
29. maj 2006 - 21:14 Der er 28 kommentarer og
1 løsning

Problemer med tekstbox

Hey,

Har et stort problem. Det er lidt svært for mig at forklare, men jeg gør det så godt jeg kan ;-)

Jeg har en Textbox, hvor der står noget.. F.eks. står der: "Hey, jeg hedder Semaine, og jeg er 16 år..", en del af den tekst, skal jeg så ha' over i en anden textbox.
Problemet er, at jeg kun "ved" at der står "Hedder semaine, og jeg". Det er det eneste jeg ved står i teksboxen.

Håber jeg har forklaret det godt nok. Ellers så sig det lige, så forklarer jeg det igen :-)
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:19 #1
Mener du f.eks. TextboxNr2.Text = TextboxNr1.Text ?
Avatar billede semaine Nybegynder
29. maj 2006 - 21:22 #2
Det mener jeg ikke at jeg gør.. :)

Et eksempel kunne være:

text1_len = Len("Hey, jeg hedder Semaine, og jeg er 16 år..")

If Left(Text1, text1_len) = "Hey, jeg hedder Semaine, og jeg er 16 år.." Then
navn = Right(Text1, Len(Text1) - text1_len)
Text2.text = (navn)
End If

Men det kan jeg ikke bruge til noget, når jeg ikke kender hele sætningen..
Avatar billede morhan Novice
29. maj 2006 - 21:27 #3
Det lyder lidt som om du leder efter InStr funktionen

http://msdn2.microsoft.com/en-us/library/8460tsh1.aspx
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:28 #4
Du vil altså KUN kopierer teksten, vhis den indeholder "Hey, jeg hedder Semaine, og jeg er 16 år"?
Så skal du bruge InStr: http://www.w3schools.com/vbscript/func_instr.asp
Avatar billede joern Nybegynder
29. maj 2006 - 21:30 #5
Hej Semaine.

Taler vi om 'rigtig' Visual Basic eller noget VBA?  Er det så VB6, hvis det er VB?  Så kan du bruge split-kommandoen.  Læs i online-hjælpen, hvordan den bruges, eller søg her på Eksperten.  Der er mange spørgsmål om opsplitning af strenge.
http://www.eksperten.dk/spm/Programmering/Visual-Basic/?sort=&order=DESC&status_3=on&spm_creator=&spm_part=&spm_answer=&find=split&engine=exp
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:35 #6
Eksempel:

text1_len = Len("Hey, jeg hedder Semaine, og jeg er 16 år..")

if instr(LCase(Text1), "hey, jeg hedder semaine, og jeg er 16 år..") > -1 then
navn = Right(Text1, Len(Text1) - text1_len)
Text2.text = (navn)
End If

Læg mærke til at jeg bruger LCase, for bedre at kunne sammenligne.. man kunne også bare vælge case-insensitive.. :-)
Avatar billede semaine Nybegynder
29. maj 2006 - 21:37 #7
mmmh.. Nu må i lige bærer over med at jeg er nybegynder med vb6 ;-)
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:42 #8
semaine> Jeg kom lige i tanke om, at InStr er case-insensitive fra start af.. så du kan nøjes med:

text1_len = Len("Hey, jeg hedder Semaine, og jeg er 16 år..")

if instr(Text1, "Hey, jeg hedder Semaine, og jeg er 16 år..") > -1 then
navn = Right(Text1, Len(Text1) - text1_len)
Text2.text = (navn)
End If
Avatar billede semaine Nybegynder
29. maj 2006 - 21:42 #9
[code]text1_len = Len("Hey, jeg hedder Semaine, og jeg er 16 år..")

if instr(LCase(Text1), "hey, jeg hedder semaine, og jeg er 16 år..") > -1 then
navn = Right(Text1, Len(Text1) - text1_len)
Text2.text = (navn)
End If[/code]

Men jeg "ved" ikke at der står: "hey, jeg hedder semaine, og jeg er 16 år..", kun at der står: "Hedder semaine, og jeg"

Og jo forresten, det jeg vil ha over i den anden Tekstboks er at jeg hedder Semaine..

Men det er jo self noget random navn, der står i den, hver gang..
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:42 #10
Hvis Text1 er navnet på textbox'en, skal du lige huske .Text (mener jeg at det er).. bare for god ordensskyld..
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:43 #11
Ang "Hedder semaine, og jeg":

text1_len = Len("Hey, jeg hedder Semaine, og jeg er 16 år..")

if instr(Text1, "Hedder semaine, og jeg") > -1 then
navn = Right(Text1, Len(Text1) - text1_len)
Text2.text = (navn)
End If
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:44 #12
Kig på Left, Mid, Right, InStr og InStrRev på: http://www.w3schools.com/vbscript/vbscript_ref_functions.asp#string
Avatar billede semaine Nybegynder
29. maj 2006 - 21:46 #13
Men så er der jo stadig:
text1_len = Len("Hey, jeg hedder Semaine, og jeg er 16 år..")

Det er endnu ikke besluttet hvad der står før "Hedder"...
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:51 #14
Jeg tror at du bliver nødt til at give et par eksempler, på hvad teksten kan være..

Det lyder også som om, at vi skal ud i noget RegExp..

Eksempler, tak..
Avatar billede thesurfer Nybegynder
29. maj 2006 - 21:55 #15
Man kunne jo lave nogle separate check, på f.eks. "hedder" og "og jeg"..
Hvis teksten opfylder begge krav:
- position der skal bruges med left: hop til "hedder" + længden af "hedder" (muligvis + 2)
- navn = left med en tmp variabel, og indtil ","

Men det er meget nemmere med RegExp, hvis man kan finde ud af det.. og det kan jeg ikke.. :-)
Så kan man bruge Left, Mid, Right, InStr, InStrRev..
Avatar billede semaine Nybegynder
29. maj 2006 - 21:57 #16
mmh..

En bruger af mit program skriver et tilfældigt tal, i en textbox, i det her tilfælde 123..
Så skriver så skriver han sit navn, semaine. Også sit efternavn, Woche også til sidst sin alder, 16..

Så blir det til: 123,semaine,woche,16.

Men hver gang er det et tildældigt tal og en tilfældig alder. Så jeg kender altså kun hans fornavn, og hans efternavn..

De to ting vil jeg ha over i en anden textbox.. Textbox2..
Avatar billede morhan Novice
29. maj 2006 - 21:59 #17
str = "... hedder Semaine, og jeg ..."

pos1 = InStr(1, str, "hedder ", 1)
pos2 = InStr(pos1, str, ", og jeg", 1)
resultat = Mid(str, pos1, pos2-pos1)


kan muligvis bruges
Avatar billede thesurfer Nybegynder
29. maj 2006 - 22:02 #18
Nu er det noget helt andet..

Dvs, du har 4 textboxe og en skabelon?

Eksempel: "Hey, jeg hedder <navn>, og jeg er <antal år> år.."

Er det rigtigt?
Avatar billede thesurfer Nybegynder
29. maj 2006 - 22:03 #19
Hvis du har en strenge der ligner "123,semaine,woche,16" kan du bare bruge Split: http://www.w3schools.com/vbscript/vbscript_ref_functions.asp#array
Avatar billede semaine Nybegynder
29. maj 2006 - 22:03 #20
Jeg har 2 textboxe.. Textbox1 Og textbox2.

Og i Textbox1 Der skriver han: 123,semaine,woche,16.
Avatar billede thesurfer Nybegynder
29. maj 2006 - 22:04 #21
Kom til at sende lidt for tidligt..

Hvis du har en strenge der ligner "123,semaine,woche,16" kan du bare bruge Split: http://www.w3schools.com/vbscript/vbscript_ref_functions.asp#array

streng = "123,semaine,woche,16"
data = split(streng, ",")

Du har så:
data(0): 123
data(1): semaine
data(2): woche
data(3): 16
Avatar billede semaine Nybegynder
29. maj 2006 - 22:05 #22
Men problemet er at, 123 og 16 er "Ukendt"..
Avatar billede thesurfer Nybegynder
29. maj 2006 - 22:05 #23
streng = Textbox1.Text
data = split(streng, ",")

Du har så:
data(0): 123
data(1): semaine
data(2): woche
data(3): 16
Avatar billede thesurfer Nybegynder
29. maj 2006 - 22:06 #24
Ang Men problemet er at, 123 og 16 er "Ukendt"..:

Det er lige meget.
Den kigger på plads 0, 1, 2, og 3, som er:

data(0): 123
data(1): semaine
data(2): woche
data(3): 16

Hvis du havde skrevet "754,hugo,noget,77", ville du få:

data(0): 754
data(1): hugo
data(2): noget
data(3): 77
Avatar billede semaine Nybegynder
29. maj 2006 - 22:07 #25
Når ja, sry.. Er lidt langsom :)

Kigger lige på det, også vender jeg tilbage imorgen ;-)
Avatar billede thesurfer Nybegynder
29. maj 2006 - 22:08 #26
Du skal vist lige kigge på Array (lektion 8) http://www.html.dk/tutorials/asp/lektion8.asp ! :-)
Avatar billede semaine Nybegynder
30. maj 2006 - 15:20 #27
Det virker sq godt :)

Mange tak thesurfer ;-)

Hvordan gir man point ? :P
Avatar billede thesurfer Nybegynder
30. maj 2006 - 18:18 #28
Man kan kun give points, hvis der er lagt et svar.

Hvis vedkommende ikke har lagt et svar, beder du bare ham/hende om at gøre det.. :-)

Så skal du bare markere navnet/navnene på dem du vil give points til, i boksen til venstre, og derefter klikker på Accepter-knappen.

Husk: Rækkefølgen er vigtigt.

- Svar.
Avatar billede semaine Nybegynder
15. juni 2006 - 07:13 #29
Troede sq at jeg havde accepteret det, sry :p
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester