Dynamisches Array

Ein Forum zum Erfahrungsaustausch und Hilfestellung in deutscher Sprache.

Re: Dynamisches Array

Postby pappawinni » Thu Sep 30, 2010 6:42 pm

Hi Pan,

okok.. als Rückgabewert einer Funktion, da gibt es Probleme, aber du kannst ein Array immerhin als Parameter übergeben.
Man muss halt manche Dinge anders angehen als in VB.

/Winni
Pappa makes everything what otherwise none likes :)
pappawinni
 
Posts: 192
Joined: Tue Jan 19, 2010 11:27 pm
Location: Germany

Re: Dynamisches Array

Postby Henning » Fri Oct 01, 2010 9:40 am

Try this
Code: Select all
Dim aKey[32] As Byte

Private Sub CommandButton1_OnEvent()
  Dim i As Integer
   If cv_BytesFromHex(tbKey.Value, aKey) Then
  For i = 0 To 32
    print akey[i]
  Next i
  End If
End Sub

Public Function cv_BytesFromHex(ByVal sInputHex As String, ByRef aBytes[] As Byte) As Boolean
' Returns array of bytes from hex string in big-endian order
' E.g. sHex="FEDC80" will return array {&HFE, &HDC, &H80}

Dim i As Integer
Dim M As Integer
Dim s as String
 
  If Len(sInputHex) Mod 2 <> 0 Then
    sInputHex = "0" & sInputHex
  End If

  M = Len(sInputHex) \ 2
  If M <= 0 Then
' Version 2: Returns empty array
    Return False
  End If


  For i = 0 To M - 1
    s = Mid$(sInputHex, i * 2 + 1, 2)
    aBytes[i] = Val("&H" & Mid$(sInputHex, i * 2 + 1, 2))
'    Print aBytes[i]
  Next i

  Return True

End Function



/Henning
Henning
 
Posts: 262
Joined: Mon Feb 09, 2009 12:03 am
Location: Sweden

Re: Dynamisches Array

Postby berndnoetscher » Mon Oct 04, 2010 6:38 pm

Hallo zusammen,

die Fehlerkorrektur gestaltet sich sehr schwierig. Habe schon etliche Stunden damit verbracht, denke aber spätestens morgens ist es geschaft :-)
berndnoetscher
Site Admin
 
Posts: 1059
Joined: Tue Sep 25, 2007 9:37 am

Re: Dynamisches Array

Postby berndnoetscher » Tue Oct 05, 2010 11:08 am

pappawinni wrote:ändert sich nicht nur das erste Feldelement, sondern ich erhalte dann für das 3te Feldelement, das ursprünglich 500 war, nur noch 244
( 244+256 = 500)
Aber ok, das geht am Thema vorbei, denn das kannst du als dynamisches Array ohnehin nicht gebrauchen.


Der Fehler wurde korrigiert.
berndnoetscher
Site Admin
 
Posts: 1059
Joined: Tue Sep 25, 2007 9:37 am

Re: Dynamisches Array - Bug bei Übergabe

Postby berndnoetscher » Tue Oct 05, 2010 11:20 am

PMan wrote:Routine die Reihenfolge der Dimensionen vertauscht ist. .


Dieser Fehler ist jetzt auch korrigiert.
berndnoetscher
Site Admin
 
Posts: 1059
Joined: Tue Sep 25, 2007 9:37 am

Re: Dynamisches Array

Postby PMan » Mon Oct 25, 2010 11:35 am

Hallo Bernd,

vielen Dank für Deine Bemühungen. Ich habe ein kleines Test-Projekt gebaut, da ich in meinen anderen Projekten noch Fehler bekommen habe. Dabei konnte ich folgendes feststellen:
- Array sind jetzt von der Dimension richtig, wenn sie in eine Routine und im selben Modul übergeben werden
- Array lassen sich nicht über eine Modulgrenze hinweg übergeben
- einem Array lässt sich kein Typ in der Routine zuweisen, z.B. sArray[] as String
- Return Array aus Funktionen haben nach wie vor nur den ersten Wert, alle anderen sind 0

Siehe Dir bitte das kleine Testprogramm an.
Attachments
Array_Test.kbasic_project.zip
(1.93 KiB) Downloaded 134 times
PMan
 
Posts: 145
Joined: Sat Jul 03, 2010 12:31 pm
Location: Switzerland

Re: Dynamisches Array

Postby berndnoetscher » Thu Oct 28, 2010 9:39 am

PMan wrote:Hallo Bernd,

vielen Dank für Deine Bemühungen. Ich habe ein kleines Test-Projekt gebaut, da ich in meinen anderen Projekten noch Fehler bekommen habe. Dabei konnte ich folgendes feststellen:
- Array sind jetzt von der Dimension richtig, wenn sie in eine Routine und im selben Modul übergeben werden
- Array lassen sich nicht über eine Modulgrenze hinweg übergeben
- einem Array lässt sich kein Typ in der Routine zuweisen, z.B. sArray[] as String
- Return Array aus Funktionen haben nach wie vor nur den ersten Wert, alle anderen sind 0

Siehe Dir bitte das kleine Testprogramm an.


Danke für die Rückmeldung. Werde bei Gelegenheit mich darum kümmern...
berndnoetscher
Site Admin
 
Posts: 1059
Joined: Tue Sep 25, 2007 9:37 am

Re: Dynamisches Array

Postby PMan » Wed Nov 03, 2010 3:07 pm

Hallo Bernd,

ich habe leider noch eine schlechte Nachricht bezüglich Array Übergaben an Routinen. Ich habe in einem anderen Projekt die Array-Übergaben innerhalb eines Moduls. Dort hat die erste Übergaben reibungslos funktioniert. Bei der zweite Übergebe im selben Modul erkennt der Compiler die übergebene Variable leider nicht mehr als Array.

Daraufhin habe ich das Testprogramm so erweitert, dass jetzt in Formular eine Arrayübergabe stattfindet und im Formular und im Modul je eine zweite Übergabe hinzugefügt.
Attachments
Array_Test.kbasic_project.zip
(2.26 KiB) Downloaded 141 times
PMan
 
Posts: 145
Joined: Sat Jul 03, 2010 12:31 pm
Location: Switzerland

Re: Dynamisches Array

Postby berndnoetscher » Thu Nov 04, 2010 8:30 am

PMan wrote:Hallo Bernd,

ich habe leider noch eine schlechte Nachricht bezüglich Array Übergaben an Routinen. Ich habe in einem anderen Projekt die Array-Übergaben innerhalb eines Moduls. Dort hat die erste Übergaben reibungslos funktioniert. Bei der zweite Übergebe im selben Modul erkennt der Compiler die übergebene Variable leider nicht mehr als Array.

Daraufhin habe ich das Testprogramm so erweitert, dass jetzt in Formular eine Arrayübergabe stattfindet und im Formular und im Modul je eine zweite Übergabe hinzugefügt.


Hallo PMan,

danke für deine Hilfe. Wird aber noch etwas dauern bis ich mich daran machen kann. Bitte um mehr Geduld.
berndnoetscher
Site Admin
 
Posts: 1059
Joined: Tue Sep 25, 2007 9:37 am

Previous

Return to Deutsches Forum (in German only)

cron