Eine Eingabe für mehrere Datentypen

Beckx-net

Level-1
Beiträge
132
Reaktionspunkte
18
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich möchte ein kleines Problem lösen! Ich habe ein Funktionsbaustein der als Input einen Wert bekommt! Dieser Wert soll je nach Anwahl weiterer Parameter als Integer, Boolean, s5time etc. interpretiert werden. (incl. Typenprüfung versteht sich)

Mein Ansatz wäre ein String zu nehmen und in dem FB zu prüfen, um welches Datenformat es sich handel, da S7 aber nicht so Stringfreundlich ist, kann das eventuell kompliziert werden.

Vielleicht kann mir ja einer von euch helfen.....
 
Any-Zeiger

Hi.
Da fällt mir spontan der Any-Pointer als möglichen IN-Parameter deines Bausteins ein. Wie du den Any-Zeiger dann auseinanderklamüserst, ist hier sehr gut beschrieben (Stichwort: Datentypen)

gruß Approx
 
Die Sache ist nur, worauf soll der AnYpointer zeigen? Das ausklamüstern ist kein Ding, aber ich möchte im idealfall gerne eine "Eingabe" für verschiedene Datentypen haben.

Man kann ja sonst genausogut einen DB anlegen, der alle Datentypen beinhaltet. Der Benutzter könnte seinen Wert dem richtigen Datentyp zuordnen und diesen mit einem wert beschreiben. Der FB verzeigert dann einfach auf die richtige Speicherstelle (Datentyp) im DB. Nur finde ich diese Eingabe zu kompliziert und bin auf der Suche nach einer eleganteren Methode.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Beckx-Net:
Mir würde hier auch nur der vorgeschlagene Weg einfallen. Der ANY-Pointer ist hier halt die Möglichkeit, irgend etwas zu übergeben und in dem Baustein, der übergeben bekommt zu analysieren, was das übergebene war. Du kannst hier an den ANY genauso gut einen Merker dran schreiben wie du gleichen ein ganzen Datenblock übergeben kannst. In deinem Baustein mußt du dann die übergebene Information zerlegen (du bekommst hier niemals den Inhalt der ursprünglichen Variablen) und daraus auf die Speicherstelle verweisen, aus der du die Information laden willst. Das ist natürlich mit einigem Aufwand (und damit auch mit Bearbeitungszeit) verbunden ... :rolleyes:

Gruß
LL
 
Zurück
Oben