Variablen-STRUCT in ACTION!
Verfasst: 19.10.2022 10:05
Hallo liebe ACTION!-Profis,
ich habe NIO.ACT (Routinen für FujiNet) um die Prozedur "fstatus" erweitert, dort werden 139 Bytes mit diversen Status-Werten zurückgeliefert. Thom hat das auch schon in die offizielle Version übernommen.
Z.B. die interne IP gebe ich dann so aus:
Was auch funktionert.
Nun finde ich das Hantieren mit den Indizes unschön.
Mit meinem Verständis der Speicherbelegung von ACTION!-Variablen habe ich das nun so gelöst, dass ich den Buffer auf mehrere kleine hintereinander definierte Array aufgeteit habe.
Das funktioniert auch:
Meine Frage nun, ist das eine "legale" Lösung oder geht es hier nur, weil es ein kleines, überschaubares Programm ist?
ich habe NIO.ACT (Routinen für FujiNet) um die Prozedur "fstatus" erweitert, dort werden 139 Bytes mit diversen Status-Werten zurückgeliefert. Thom hat das auch schon in die offizielle Version übernommen.
Z.B. die interne IP gebe ich dann so aus:
Code: Alles auswählen
BYTE ARRAY stbuf(139)
PROC status()
fstatus(stbuf)
Print("My IP:")
PrintB(stbuf(97))
Print(".")
PrintB(stbuf(98))
Print(".")
PrintB(stbuf(99))
Print(".")
PrintB(stbuf(100))
printE("")
RETURN
Nun finde ich das Hantieren mit den Indizes unschön.
Mit meinem Verständis der Speicherbelegung von ACTION!-Variablen habe ich das nun so gelöst, dass ich den Buffer auf mehrere kleine hintereinander definierte Array aufgeteit habe.
Code: Alles auswählen
BYTE ARRAY ssid(33)
BYTE ARRAY host(64)
BYTE ARRAY intIp(4)
BYTE ARRAY gateway(4)
BYTE ARRAY netmask(4)
BYTE ARRAY dnsIP(4)
BYTE ARRAY macAdr(6)
BYTE ARRAY bssid(6)
BYTE ARRAY fn_version(15)
PROC status()
fstatus(ssid)
Print("SSID: ") PrintST(ssid,0,33)
Print("Hostname:") PrintST(host,0,64)
Print("Int.IP: ") PrintIP(intIP,4)
Print("Gateway: ") PrintIP(gateway,4)
Print("Netmask: ") PrintIP(netmask,4)
Print("DNS IP: ") PrintIP(dnsIP,4)
Print("MacAddr.:") PrintIP(macAdr,6)
Print("BSSID: ") PrintIP(bssid,6)
Print("FujiNet: ") PrintST(fn_version,0,15)
RETURN