30. april 2008 - 22:31Der er
15 kommentarer og 1 løsning
Hvorfor kan man ikke dettet
Public Sub Hentraa(Felt As Variant, linje1 As Variant) sted = linje1
Dim Linje As Variant, I As Integer, Uddata As Variant Linje = Split(Felt, "$") For I = 0 To UBound(Linje) If Left(Linje(I), 5) = linje1 Then Uddata = Split(Linje(I), ",") End If Next Msg = "$" & linje1 For I = 0 To UBound(Uddata) Msg = Msg & I & "," & Uddata(I) & vbCrLf & "$" & linje1 Next Msg = Left(Msg, Len(Msg) - 7) sted = Msg Text1 = sted End Sub
Sub test() Dim linje1 As Variant, felt As Variant felt = "abcdx$def12345" linje1 = "abcdx" Hentraa felt, linje1 End Sub Public Sub Hentraa(felt As Variant, linje1 As Variant) sted = linje1
Dim Linje As Variant, I As Integer, Uddata As Variant Linje = Split(felt, "$") For I = 0 To UBound(Linje) If Left(Linje(I), 5) = linje1 Then Uddata = Split(Linje(I), ",") End If Next Msg = "$" & linje1 For I = 0 To UBound(Uddata) Msg = Msg & I & "," & Uddata(I) & vbCrLf & "$" & linje1 Next Msg = Left(Msg, Len(Msg) - 7) sted = Msg Text1 = sted End Sub
Jeg har denne kode, som tager noget text ud af et felt, og lægger det over i et andet felt. det er her den går galt, der kommer ingen data over i det felt som står ved sted i toppen af koden. men kan den ikke tag og lægge ned ned i bunden ud fra hvis man skriver sted. ?
Public Sub Hentraa(felt As Variant, linje1 As Variant) sted = "GPGGA.text"
Dim Linje As Variant, I As Integer, Uddata As Variant Linje = Split(felt, "$") For I = 0 To UBound(Linje) If Left(Linje(I), 5) = linje1 Then Uddata = Split(Linje(I), ",") End If Next Msg = "$" & linje1 For I = 0 To UBound(Uddata) Msg = Msg & I & "," & Uddata(I) & vbCrLf & "$" & linje1 Next Msg = Left(Msg, Len(Msg) - 7) sted = Msg End Sub
oki. det jeg vil med den i koden er. at når jeg kaler på den så jeg kan skrive hvilke felt den skal lægge de data i som er blevet splittet op altså i dettet tilfelle skal den ligge det i et felt der hedder GPGGA.TEXT. altså jeg vil kunne kalde den på denne måde:
Public Function Hentraa(felt As Variant, linje1 As String)
Dim Linje As Variant, I As Integer, Uddata As Variant Linje = Split(felt, "$") For I = 0 To UBound(Linje) If Left(Linje(I), 5) = linje1 Then Uddata = Split(Linje(I), ",") End If Next Msg = "$" & linje1 For I = 0 To UBound(Uddata) Msg = Msg & I & "," & Uddata(I) & vbCrLf & "$" & linje1 Next Msg = Left(Msg, Len(Msg) - 7) Hentraa = Msg End Function
Det virker. ar lige en lille ting mere. fx hvis der ikke er noget data at finde som hedder det der GPGGA så skal den bare gå vider i koden. hvordan får jeg den til det? har du en ide tl mig? :S eller skal jeg lave et nyt spm?
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.