kikki <kikki.news@kandu.dk> wrote in message
news:sYWZ6.2849$lf5.476668@news010.worldonline.dk...
> Jeg har en funktion som skal bruge et array af bytes, byval. Hvordan gør
> jeg dette?
> Og lige en anden ting, hvordan kan jeg konvertere et array af bytes til
> en string, og tilbage igen?
>
> Kikke
>
> --
> Leveret af:
>
http://www.kandu.dk/
> "Vejen til en hurtig løsning"
Hej Kikke
Nedenstående er klippet fra Word VBA hjælpfil, så
mon ikke det også gælder for VB.
Matrixer, der er erklæret med Dim, ReDim eller Static
kan ikke overføres med ByVal. Denne fejl har følgende
årsag og løsning:
· Du har forsøgt at overføre en hel matrix med ByVal.
Et enkelt element i en matrix kan overføres ByVal
(som værdi), men en hel matrix skal overføres med
ByRef (som reference). Bemærk, at ByRef er standard.
Hvis du skal overføre en matrix med ByVal for at
forhindre, at ændringer i matrixens elementer forplantes
tilbage til det program, der foretager kaldet, skal du
overføre matrixargumentet i sine egne parenteser, eller
du kan anbringe det i en Variant og derefter overføre
Variant til parameteren ByVal, som vist nedenfor:
Dim MyVar As Variant
MyVar = OldArray()
Mht. til en funktion, der kan konvertere et array af bytes til
en string, kan se på nedenstående. Kode er dog _smidt_ ud
af ærmet, så det kan godt være, at der er fejl i den
.
Public Function ArrayToString(varInput As Variant) As String
Dim MyInput() As Byte
MyInput = varInput
Dim output As String
Dim i As Integer
For i = LBound(MyInput) To UBound(MyInput)
output = output + Chr(MyInput(i))
Next i
ArrayToString = output
End Function
Det kan godt være at der findes en lettere måde, men ikke
en som jeg lige kan komme på
.
--
Mvh.
Mikkel Bundgaard
RUC Datalogi
http://officehelp.gone.dk