Var1 wird hier ein leerer String, "", zugewiesen.
Nur wunderts mich, warum das dann ein Byte-Array und kein String ist.
Was ist Var2 für ein Typ? Auch Byte-Array oder ein String?
Hi Ihr's,
ich habe in meine Code einen Ausdruck:
var1 = ""
und var1 ist:
dim var1( As Byte At var2 Overlay
was wird nun mit = "" bewirkt?
Kann mir jemand mal auf die Sprünge helfen?
Danke & Gruß
Var1 wird hier ein leerer String, "", zugewiesen.
Nur wunderts mich, warum das dann ein Byte-Array und kein String ist.
Was ist Var2 für ein Typ? Auch Byte-Array oder ein String?
#ifndef MfG
#define MfG
Konkret schreibt er an die Adresse von "var1" ein Byte mit &H00
Wegen "Overlay" auch in das erste Byte von "var1"
Je nachdem, als was "var1" definiert ist, hat das nun recht unterschiedliche Bedeutungen.
WORD, INTEGER, FLOAT, LONG, DOUBLE werden ins Unleserliche verstümmelt.
Da aber meistens "STRING" auf ein CHAR-Array "overlayed" wird (oer umgekehrt) sag ich dir gleich: bei der CHAR-Array wird NUR das erste Byte auf null gesetzt.
Es wird NICHT das ganze Array gelöscht !!!!!
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hi,
Danke für Eure Antworten! Richtig ist, dass Var1 ein String ist. Mir war nur nicht der Ausdruck = "" geläufig. Und gut zu wissen auch, dass nur das erste Byte gelöscht wird.
Grüße
Ihr meint sicherlich beide, dass var2 ein String ist. Var1 ist ein Array aus 8 Bytes, das steht oben.
Ich würde mir allerdings vom Compiler wünschen, das er die Zuweisung
Var1 = ""
zurückweist, weil man einem Byte keinen String zuweisen kann und außerdem Var1 ein Array ist und man dem nur auf einen bestimmten Index etwas zuweisen darf.
Richtig wäre daher und hätte beides den gleichen Effekt
Var(1) = 0 oder
Var2 = ""
Ich glaub, dieser Wunsch wird er dir erfüllenIch würde mir allerdings vom Compiler wünschen...
Du hast recht, man ist in die Irre gegangen
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Lesezeichen