haegar75
Goto Top

Datenstruktur zur Laufzeit festlegen

Hallo Leute,
ich möchte mit meinem VB-Programm (.net) Daten einlesen. Es werden Beispielsweise 100Bytes eingelesen. Erschwerdend kommt hinzu, dass es sich bei den Einzeldaten um Bytes, Wörter oder Doppelwörter handeln kann. Ich dachte daran dass der User sich die Datenstruktur in der die eingelesenen Daten vorliegen über die Oberfläche zur Laufzeit zusammen bauen kann und die dann mit dem Datenstream gefüllt wird. Mir fehlt aber ein gescheiter Ansatz.. Hat vielleicht jemand ne Idee?
Gruß Haegar

Content-Key: 152254

Url: https://administrator.de/contentid/152254

Printed on: April 19, 2024 at 02:04 o'clock

Member: Friemler
Friemler Oct 03, 2010 at 12:27:05 (UTC)
Goto Top
Hallo Haegar75,

ich weiß ja nicht für welchen Kreis von Anwendern Du dieses Programm schreiben willst, aber Otto Normalanwender käme mit Deinem Ansatz sicher nicht zurecht (Byte? Wort? Doppelwort? Hähh? Kopf kratz, Kopf schüttel, Klick auf beenden). Schreibe doch beim Erstellen der Datei einen Header vor die Nutzdaten, der den Aufbau beschreibt. Dann kann das Programm anhand dieser Informationen die Daten richtig einlesen.

Gruß
Friemler
Member: Haegar75
Haegar75 Oct 03, 2010 at 12:33:19 (UTC)
Goto Top
Auf die Erstellung der übergebenen Daten (Header) habe ich keinen Einfluß, denn sie werden von einer SPS geliefert..
Der Aufbau der Daten ist variabel und mir erst zur Laufzeit bekannt, daher möchte ich die Struktur dann zusammenstellen. Auch von den übrigen User kann man das in dem Fall erwarten.. face-wink
Member: dog
dog Oct 03, 2010 at 12:53:49 (UTC)
Goto Top
Schau dir doch mal an, wie z.B. pack() arbeitet: http://de.php.net/pack
Member: Friemler
Friemler Oct 03, 2010 at 13:15:11 (UTC)
Goto Top
Hallo Haegar75,

die Menge der möglichen zurückgelieferten Datenstrukturen ist ja sicherlich endlich. Programmiere doch eine Auswahlliste für jede mögliche Datenstruktur. Je nach ausgewähltem Element benutzt Du die entsprechende Einlese-Routine.

Außerdem stellt sich mir die Frage, woher der User in einem speziellen Fall weiß, welche Datenstruktur gerade eingelesen werden soll und ob sich die Informationen darüber nicht auch in irgendeiner Weise von der SPS abfragen lassen.

Eine weitere Möglichkeit wäre, die Programmierung der SPS dahingehend zu ändern, das die SPS mit den Nutzdaten Informationen darüber liefert, wie die Nutzdaten aufgebaut sind. Eine Kennung als erstes Byte/Wort vor den Nutzdaten würde ja schon ausreichen. Anhand einer Tabelle im Programm auf dem PC wird dann die entsprechende Einlese-Routine gewählt.

Gruß
Friemler
Member: Haegar75
Haegar75 Oct 03, 2010 at 13:33:24 (UTC)
Goto Top
Die Kombinationen sind zwar "endlich" aber es kann jede Länge und jede Kombination aus 5 verschiedenen Datentypen vorkommen. Die Daten werden prinzipiell nicht von der SPS geschickt, sondern über eine dll aus Datenbausteinen gelesen..