Hej! 1. Du bör inte använda en egen funktion för att visa formen. Visa den med VB:s inbyggda versioner (frmShowAscii.Show) och använd något av initieringseventen. Oki..men så långt har jag kommit, har ju använt mig av en liknande loop för att få ut att asci värden.. Gör inte så... Det är onödigt och krångligt.Returnera ascii i ByRef
Jag har en frmShowAscii och en Public Function ShowAsciiForm(ByRef lAscii As Long, ByRef sChar As String) As Boolean.
När man anropar funktionen frmShowAscii.ShowAsciiForm så visas alla ascii värden i frmShowAscii...så långt e det lugnt..
Men sen så vill jag att ascii värderna ska returneras i ByRef som både tal och bokstav...
Någon som har ngt tips på hur det ska gå till?
Tack på förhand!!Sv: Returnera ascii i ByRef
2. Du kan inte returnera _alla_ tecken och ascii-koder i vanliga variabler. Du måste ha arrayer eller varianter för det.
Du behöver inte returnera ascii-värdena och tecknen från funktionen överhuvudtaget. Det är såpass kort kod att du kan använda
Dim i As Long
For i = 1 to 255
'Ascii-koden är i. Tecknet är Chr$(i)
Next
där du behöver.
/Niklas JanssonSv: Returnera ascii i ByRef
Men sen att jag vill returnera ascii värderna i ByRef, hur skulle det gå till i form av en array..?Sv: Returnera ascii i ByRef
Men om du måste kan du göra så här:
<code>
Public Function ShowAsciiForm(ByRef lAscii(1 to 255) As Long, ByRef sChar(1 to 255) As String) As Boolean
Dim i As Long
For i = 1 to 255
lAscii(i) = i
sChar(i) = Chr$(i)
'Och vad du skall göra mer
Next
End Function
</code>
Observera att de arrayer du skickar i detta fall måste vara deklarerade som "Dim l(1 to 255) as long", annars funkar det inte. <br><br>
Det är ändå inte speciellt rekommenderat. Du behöver väl knappast ha mer än sChar. Då får du fram tecken "i" med sChar(i). <br><br>
Berätta bakgrunden till det du gör så finns det nog en vettigare metod att göra det på. <br>
/Niklas Jansson