-         

Ergebnis 1 bis 6 von 6

Thema: var1 = "" was steht dahinter

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    42
    Beiträge
    379

    var1 = "" was steht dahinter

    Anzeige

    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ß

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    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

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    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.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    42
    Beiträge
    379
    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

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    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 = ""

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich würde mir allerdings vom Compiler wünschen...
    Ich glaub, dieser Wunsch wird er dir erfüllen
    Du hast recht, man ist in die Irre gegangen
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •