Avatar billede christian_h Nybegynder
05. maj 2002 - 14:38 Der er 5 kommentarer og
1 løsning

Option og text felt

Hej Alle.

Jeg er ved at lave et program som ved tryk på 2 optionbottoms skal erstatte nogle værdier i et text felt, men det skal være på et bestemt sted i text feltet (der står nemlig allerede noget i tekst feltet i forvejen), jeg har skrevet noget kode som PT bare indsætter det der skal ind sættes, men som koden er nu sletter den først tekst feltet og det skal den ikke, det skal være sådan, at hvis man feks. trykker på option1 skal den stætte en værdi på linie 37 til "1", og hvis man herefter trykker på option2 skal den ændre væriden som option1 har lavet i linie 37 til "0" samtidig med at den sætter væriden (for option2) til "1" i linie 40 og vise versa, samtidig skal den ved tryk på option2 overføre værdien fra text1 til linie 38 i text2.

Lidt svært at forklare, men jeg håber i kan forstå det, jeg har indsæt lidt kode for at gøre det lidt mere forståeligt, men som koden er nu virker det ikke rigtigt, håber det er nogen som kan modificere / omskrive koden så den viker.

På forhånd tak.

Christian_H

Private Sub Option1_Click()
If Option1 = True Then
Text1.Enabled = False
End If
If Option1 = True Then
Text2 = "1" 'Den forud definerede værdi der bliver indsat i text2 hvis option1 = true
Else
Text2 = "0" 'Den forud definerede værdi der bliver indsat i text2 hvis option1 = false (viker ikke)
End If
End Sub

Private Sub Option2_Click()
If Option2 = True Then
Text1.Enabled = True
End If
If Option2 = True Then
Text2 = Text1.Text 'text1 værdi som bliver indsat hvis option2 er = true ( men her skal der samtidig også indsættes en værdig på en anden linie som har værdien "1"
else
Text2 = "0" 'Den forud definerede værdi der bliver indsat i text2 hvis option2 = false (viker ikke)
End If
End Sub
05. maj 2002 - 14:51 #1
Bare et tip,
prøv at se om du kan bruge funktionerne left() right() og len() til nået, slå dem op i dokumationen- Mpske er inStr også et gik vær.
Avatar billede christian_h Nybegynder
05. maj 2002 - 14:54 #2
Prøver at kigge på det, havde dog håbet på lidt mere uddybende, da jeg er ret ny i VB, men tak for tippet.

:-)

Christian_H
Avatar billede terry Ekspert
05. maj 2002 - 14:54 #3
I'm not going to use too much time looking at your question but if I understand it correctly you have a problem concatenating text fields!

You can concatenate fields using the & character for example:

Dim sStr as String

sStr = text1.text & text2.text
or
sStr = "Some text" & vbTab & "Some more text" & vbCrlf
sStr = sStr "The next line"
05. maj 2002 - 15:07 #4
christian_h
>> nej, kan jeg godt forstå med havde ikke lige tid til det :).

men len() kan tælle alle karaktere i enstreng,

eksempel
Dim streng as string
streng = "abcde"
msgbox len(streng)

left() kan udskrive Xantal tegn fra venstre, selvom strngen er længere.
Eksempel:
Dim strengleft As String
strengleft = "abcdsdsdsde sdsds dfdfdf ddff df dffdfdfd  dff df d"
MsgBox Left(String:=strengleft, length:=17)

det samme kan right() så bare fra den anden side:
Dim strengright As String
strengright = "abcdsdsdsde sdsds dfdfdf ddff df dffdfdfd  dff df d"
MsgBox Right(String:=strengright, length:=17)

desuden er der mid()
eksempel
Dim strengmid As String
strengmid = "abcdsdsdsde sdsds dfdfdf ddff df dffdfdfd  dff df d"
MsgBox Mid(String:=strengmid, start:=7, length:=1)

her får du udskrevet tegn 3, i strengen og ikke mere. Så kan du ikke bruge noget ala

Text1.Text = "abcdsdsdsde sdsds dfdfdf ddff df dffdfdfd  dff df d"
Text1.Text = Left(String:=Text1.Text, length:=6) & Mid(String:=Text1.Text, start:=7, length:=1) & Right(String:=Text1.Text, length:=Len(Text1.Text) - 8)

hvis du kan se ide'en?


Casper // http://ildstorm.dk
Avatar billede christian_h Nybegynder
05. maj 2002 - 23:40 #5
Denne kode virker:
Her ændre den 0 til 1 og vice versa, nu mangler jeg bare at få den til at indsætte værdien fra text1.text

Private Sub Option1_Click()
If Option1 = True Then
Text1.Enabled = False
End If
If Option1 = True Then
Text2.Text = Replace(Text2.Text, "Linie 09 = 0", "Linie 09 = 1")
End If
If Option2 = False Then
Text2.Text = Replace(Text2.Text, "Linie 08 = 1", "Linie 08 = 0")
End If
End Sub

Private Sub Option2_Click()
If Option2 = True Then
Text1.Enabled = True
End If
If Option2 = True Then
Text2.Text = Replace(Text2.Text, "Linie 08 = 0", "Linie 08 = 1")
End If
If Option1 = False Then
Text2.Text = Replace(Text2.Text, "Linie 09 = 1", "Linie 09 = 0")
End If
End Sub
Avatar billede christian_h Nybegynder
06. maj 2002 - 12:34 #6
Er der virkelig ikke andre forslag til dette ?????

Christian_H
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