Stringübergabe von vb in c++
-
Hallo Leute,
ich will eine 8Bit Binärzahl in eine Dezimalzahl umwandeln.
In VB wird die rechnung aufgerufen die in C++ gemacht wurde.
Ist ja quasi nur addieren. Bloß mit dem Parameter habe ich Probleme.
C++ Code:
long _stdcall summe(char *str)
{
long x;
x=str[1]+str[2]+str[3]+str[4]+str[5]+str[6]+str[7]+str[8];
return x;}
VB Code:
dualzahllaenge = Len(Text1.Text)
bit = 128
i = 1If IsNumeric(Text1.Text) And dualzahllaenge = "8" Then
Do
Feld(i) = zahl * bit
bit = bit / 2
i = i + 1Loop Until i = 9
dezimalzahl = summe(Feld(8))
Text2.Text = dezimalzahl
...
Dezimalzahl = Long , der Rest Integer. Bei Fragen schreiben?!
Hoffe ihr könnt ihr helfen.
-
Wie ist 'Feld' deklariert? Aufgrund der Benutzung gehe ich von einem Integer-Array aus, Deine C++-Funktion erwartet aber einen Zeiger auf char. Das kann nicht klappen. Abgesehen davon sollten Deine Indizes nullbasiert sein, daher ist Dein C++-Code falsch -- 'str[8]' verweist auf das 9. Zeichen und das sollte es bei einer 8-Bit-Zahl nicht geben.