Benutzung von strukturierten Variablen

Tom2
2010-08-12
2010-08-23
  • Tom2 - 2010-08-12

    Hallo zusammen,

    wenn man eine Struktur anlegt:

    TYPE Daten_Typ :
    STRUCT
    B : Real ;
    C : bool ;
    D : int ;
    END_STRUCT
    END_TYPE
    

    und dann zwei Variablen von diesem Typ anlegt:

    VAR
    Var_1 , Var_2 : Daten_Typ ;
    END_VAR
    

    kann man dann solche Dinge tun?

    IF Var_1 <> Var_2 Then Var_1 := Var_2 ; END_IF ;
    

    Danke schonmal
    Tom

     
  • Anonymous - 2010-08-13

    Originally created by: jl

    Hallo Tom2

    Um structurierte Variablen zu vergleichen kann man die Funktion SysMemCmp aus der Biblio SysLibMem verwenden

    Bsp:

    IF SysMemCmp(ADR(Var_1), ADR(Var_2), SIZEOF(Var_1)) <> 0 then
    Var_1 := Var_2;
    END_IF

    Sonst müßte man jede einzelne Varible der Structur miteinander Vergleichen, bei komplexen Structuren mühsam.

     
  • Tom2 - 2010-08-23

    HM!

    Die Funktion SysMemCmp scheint System bezogen zu sein und leider gibt es sie bei mir nicht ( Sabo PLM 707 )...

    Hat noch jemand einen anderen Vorschlag?

    Ich bräuchte auch noch eine Zuweisung Var_1 := Var_2...
    ...in der man eben nicht die vollständige Struktur ausprogrammieren muss.

    Trotzdem Vielen Dank für die Mühe.

    bis dann
    Tom

     
  • Tom2 - 2010-08-23

    Au Weia!

    Da hab' ich mich ja schön blamiert...

    Lib eingebunden - und schon funktioniert alles wie gewünscht. Auch die Zuweisung mit SysMemCpy...

    Wer lesen kann, ist eben klar im Vorteil!

    bis dann
    Tom

     

Log in to post a comment.