Avatar billede hitman3k Nybegynder
30. april 2008 - 22:31 Der 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
Avatar billede supertekst Ekspert
30. april 2008 - 23:06 #1
Måske ville det være en hjælp, hvis du lige viste de data, der anvendes som parametre til Hentraa.
Avatar billede hitman3k Nybegynder
30. april 2008 - 23:15 #2
nååå ikke det som er mit problem det er det med "sted = Msg"

Public Sub Hentraa(Felt As Variant, linje1 As Variant)
sted = linje1

det er det jeg vil høre.. bare mig der var forhurtig :p
Avatar billede Slettet bruger
30. april 2008 - 23:39 #3
Får du en fejl? Hvilken?
Det er jo ikke lige til at gætte sig til hvad der går galt for dig :-)
Avatar billede supertekst Ekspert
30. april 2008 - 23:41 #4
Dette eks. giver ikke fejl- måske kan det hjælpe:

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
Avatar billede hitman3k Nybegynder
01. maj 2008 - 10:00 #5
jeg får ingen fejl ved det jeg har lavet der kommer bare ingen data i felstet sted.

Hvis i ikke forstår mig må jeg hellere lukke og lave et nyt nu når jeg er frisk :-p
Avatar billede hitman3k Nybegynder
01. maj 2008 - 12:35 #6
ok. jeg prøver at forklar det der sker:

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

Håber der er en som forstår.
Avatar billede kabbak Professor
01. maj 2008 - 13:24 #7
hvad sender du med :
linje1 As Variant
hvis det er "GPGGA",
så kald den
linje1 As String,
i stedet



du bruger også

sted = "GPGGA.text"

hvis der et en tekstboks du henviser til, skal du ikke have "" omkring
sted = GPGGA.text

Jeg kan ikke se hvad du skal bruge den til i koden ??
Avatar billede kabbak Professor
01. maj 2008 - 13:26 #8
Eller er det skrevet med stort begge steder, det kan der laves om på sådan her:

  If Ucase(Left(Linje(I), 5)) = Ucase(linje1) Then
Avatar billede hitman3k Nybegynder
01. maj 2008 - 13:47 #9
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:

hentraa incommendata, "GPGGA", GPGGA.text

Eller kan man ikke det?
Avatar billede kabbak Professor
01. maj 2008 - 14:17 #10
Jeg prøver lige at lave den om til en Funktion

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


så kald den med

GPGGA = (hentraa incommendata, "GPGGA")
Avatar billede kabbak Professor
01. maj 2008 - 15:31 #11
skal vist være

GPGGA = hentraa (incommendata, "GPGGA")
Avatar billede hitman3k Nybegynder
02. maj 2008 - 00:37 #12
tester det i morgen
Avatar billede hitman3k Nybegynder
02. maj 2008 - 23:02 #13
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?
Avatar billede hitman3k Nybegynder
02. maj 2008 - 23:14 #14
ok fandt selv en løsning:

On Error Resume Next
Avatar billede hitman3k Nybegynder
02. maj 2008 - 23:15 #15
læg et svar :D
Avatar billede kabbak Professor
02. maj 2008 - 23:47 #16
et svar ;-))
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