Seite 1 von 1

Variablentyp in Structure

Verfasst: 03.08.2011 19:12
von ullmann
Mal nur so interessehalber:

Man kann einer Variablen vom Typ .a eine Zufallszahl zuweisen.

Code: Alles auswählen

Zufallszahl.a = Random(255)
Debug Zufallszahl
Steht aber die Variable innerhalb einer Struktur, geht das nicht (Syntaxfehler):

Code: Alles auswählen

Structure Farben
  Rot.a
EndStructure

With Farben
  /Rot = Random(255)
EndWith
Und hier gibts einen Division durch Null Fehler:

Code: Alles auswählen

Structure Farben
  Rot.a
EndStructure

Farben/Rot = Random(255)
Habe ich hier etwas übersehen, oder gibt es eine Konvertierungsfunktion von .l (Long) (welchen Typ liefert
eigentlich Random() zurück?) auf .a oder ist das ein Bug?

Re: Variablentyp in Structure

Verfasst: 03.08.2011 19:16
von ts-soft

Code: Alles auswählen

EnableExplicit

Structure Farben
  Rot.a
EndStructure

Define Farben.Farben
With Farben
  \Rot = Random(255)
  Debug \Rot
EndWith 
Ich denke damit sind alle Fragen auf einem schlag beantwortet <)

Re: Variablentyp in Structure

Verfasst: 03.08.2011 19:33
von ullmann
Gut, danke. Dumm von mir, nur den Typ zu definieren, aber keine Variable anzulegen.

Aber nun noch etwas:

Code: Alles auswählen

EnableExplicit

Structure Farben
  Rot.a
EndStructure

Define Farben.Farben

Farben/Rot = Random(255)
Fehler: Bei EnableExplicit müssen Variablen definiert werden: Rot.

Ich denke With:EndWith ist optional? Auszug aus der Hilfe:
Bei der Verwendung vieler Strukturfelder können Sie den Umfang einzugebenden Codes vereinfachen und seine Lesbarkeit erhöhen, wenn Sie die With : EndWith Schlüsselwörter benutzen.
EnableExplicit ist doch auch optional? Lasse ich es weg, kommt "Fehler: Kann einer Struktur keinen Wert zuweisen". Irgendwas ist hier faul.

Re: Variablentyp in Structure

Verfasst: 03.08.2011 19:42
von ts-soft
EnableExplicit ist leider Optional, es gäbe hier weniger Fragen, wenn dem nicht so wäre, dann würde man
sehr viele Fehler selber finden, wie auch in Deinem Beispiel.

With - EndWith ist ein Makro, das nur die Schreibarbeit vermindert, indem es den Variablennamen autom.
vor dem Backslash setzt.

Slash ist zum teilen und Backslash für Strukturen!
Durch Rot möchte der Compiler nicht teilen, da im diese Variable nicht bekannt ist.
Wenn EnableExplicit nicht wäre, wäre rot = 0 und es wäre trotzdem falsch :mrgreen:

Ich hoffe das hilft erstmal.

Re: Variablentyp in Structure

Verfasst: 03.08.2011 19:47
von ullmann
Ja danke. Der Backslash wars.

Re: Variablentyp in Structure

Verfasst: 03.08.2011 19:55
von ts-soft
ullmann hat geschrieben:Ja danke. Der Backslash wars.
Ich weiß :mrgreen:

Re: Variablentyp in Structure

Verfasst: 03.08.2011 21:20
von jojo1541
ts-soft hat geschrieben:
ullmann hat geschrieben:Ja danke. Der Backslash wars.
Ich weiß :mrgreen:
Du weißt eben einfach alles, was? :lol: