Es fürhren viele Wege nach Rom und obwohl normalerweise ich derjenige bin, der sich für die SQL-Version entscheidet, würde ich an dieser Stelle bei RPG bleiben.
Man kann auch ohne große Konvertierungen (%EditC oder SQL-Funktion) das Ergebnis mit einer entsprechenden Datenstruktur erreichen.
Code:
D IPAlt S 15A inz('71.6.129.42')
D DSIPNeu DS
D Arr Overlay(DSIpNeu) Dim(4)
D ArrNum 3S 0 Overlay(Arr) inz(*Zeros)
D ArrChar 3A Overlay(Arr)
D ArrPkt 1A Overlay(Arr: *Next) inz('.')
D IPNeu 15A Overlay(DSIPNeu)
D Index S 3U 0
D NxtPkt S 3U 0
D PrvPkt S 3U 0
***********************************************************************
/Free
For Index = 1 to %Elem(ArrPkt);
PrvPkt = NxtPkt;
NxtPkt = %Scan('.': IPAlt: PrvPkt+1);
If NxtPkt > *Zeros;
ArrNum(Index) = %Int(%Subst(IPAlt: PrvPkt + 1:
NxtPkt - PrvPkt - 1));
Else;
ArrNum(Index) = %Int(%Subst(IPAlt: PrvPkt + 1));
EndIf;
EndFor;
Dsply ('Alt: ' + IPAlt + ' Neu: ' + IpNeu);
*INLR = *ON;
/End-Free
Wie man's macht ist und bleibt Geschmacksache.
Birgitta
Bookmarks