/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
sprintf ekvivalent ?
Fra : Lasse Madsen


Dato : 02-08-04 08:26

Hej !

Jeg skal modtage nogle GPS informationer på seriel porten og ville ønske at
der fandtes en Visual Basic ekvivalent til "C"'s sprintf funktion så jeg
kunne gøre noget i denne stil ...

// $GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70 //
terminereret med CR/LF
sprintf ( gps_buffer ,
"$GPGSV,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,,%u,%u,%u,%u*%u",
variabler....)

Hvordan griber man dette an i visual basic ?

M.v.h.
Lasse Madsen



 
 
Lasse Madsen (02-08-2004)
Kommentar
Fra : Lasse Madsen


Dato : 02-08-04 08:30

Lige et praktisk eksempel ..


dim buffer as string

buffer = _
"$GPRMC,225546,A,5725.9595,N,01030.9086,E,0.0,0.0,010804,0.9,E,A*1D" + """"
+ _
"$GPRMB,A,9.99,L,,Hanstholm,5706.780,N,00837.704,E,64.395,253.4,,V,A*03" + _
"$GPGGA,225546,5725.9595,N,01030.9086,E,1,05,2.7,15.3,M,42.0,M,,*71" + _
"$GPGSA,A,3,01,,,13,16,,,23,25,,,,3.8,2.7,2.4*38" + _
"$GPGSV,3,1,10,01,06,286,45,06,62,090,00,10,25,059,00,13,12,343,40*70" + _
"$GPGSV,3,2,10,16,42,294,50,17,27,048,00,21,44,174,00,23,08,303,42*73" + _
"$GPGSV,3,3,10,25,32,229,49,30,22,135,00*7E" + _
"$GPGLL,5725.9595,N,01030.9086,E,225546,A,A*45" + _
"$GPBOD,274.0,T,273.1,M,Hanstholm,*07" + _
"$PGRME,20.2,M,15.0,M,25.2,M*1F" + _
"$PGRMZ,50,f,3*2E" + _
"$PGRMM,European 1979*78" + _
"$GPRTE,1,1,c,*37"""

Hvis jeg så vil udlede alle variabler i $GPGLL hvordan gøres dette ?

På forhånd tak.

m.v.h.
lasse madsen



Lars Holm Jensen (02-08-2004)
Kommentar
Fra : Lars Holm Jensen


Dato : 02-08-04 09:16

> dim buffer as string
>
> buffer = _
> "$GPRMC,225546,A,5725.9595,N,01030.9086,E,0.0,0.0,010804,0.9,E,A*1D" +
""""
> + _
> "$GPRMB,A,9.99,L,,Hanstholm,5706.780,N,00837.704,E,64.395,253.4,,V,A*03" +
_
> "$GPGGA,225546,5725.9595,N,01030.9086,E,1,05,2.7,15.3,M,42.0,M,,*71" + _
> "$GPGSA,A,3,01,,,13,16,,,23,25,,,,3.8,2.7,2.4*38" + _
> "$GPGSV,3,1,10,01,06,286,45,06,62,090,00,10,25,059,00,13,12,343,40*70" + _
> "$GPGSV,3,2,10,16,42,294,50,17,27,048,00,21,44,174,00,23,08,303,42*73" + _
> "$GPGSV,3,3,10,25,32,229,49,30,22,135,00*7E" + _
> "$GPGLL,5725.9595,N,01030.9086,E,225546,A,A*45" + _
> "$GPBOD,274.0,T,273.1,M,Hanstholm,*07" + _
> "$PGRME,20.2,M,15.0,M,25.2,M*1F" + _
> "$PGRMZ,50,f,3*2E" + _
> "$PGRMM,European 1979*78" + _
> "$GPRTE,1,1,c,*37"""

I dette specifikke tilfælde ville jeg nok bruge Split-funktionen først med
CRLF som delimiter, bagefter med komma på de enkelte elementer i det første
array.

Men hvis du er meget tændt på at bruge den der sprintf, så findes der nogle
forsøgte implementationer i VB her:
http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?optSort=Alphabetical&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&txtCriteria=sprintf&lngWId=1

Håber det hjælper..
/Lars



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408915
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste