Array in einem Rutsch zuweisen

pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Array in einem Rutsch zuweisen

 · 
Gepostet: 31.07.2018 - 12:24 Uhr  ·  #1
Ich habe gerade einen Knoten im Hirn ;-)

Ich kann doch als Structconst Werte direkt einem Array zuweisen, wie:
Code
Mask        : tIPaddr     = ($FF, $FF, $FF, $0);


Wie mache ich das im ARVco im Programm auf eine Variable?

Code
varMask        := ($FF, $FF, $FF, $0); 

Sowas funktioniert mit AVRco nicht.

Thorsten
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Array in einem Rutsch zuweisen

 · 
Gepostet: 31.07.2018 - 14:01 Uhr  ·  #2
mit einer Konstante
Code

const
  ipAddrDefault : tIPaddr = (192, 168, 1, 1);

var
  ipAddr : tIPaddr;

begin
  ipAddr :=  ipAddrDefault;
  loop
  endloop;
end.
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Re: Array in einem Rutsch zuweisen

 · 
Gepostet: 31.07.2018 - 19:04 Uhr  ·  #3
Hallo Thomas,

Danke, also bleibt nur der Weg über die Konstante.

Thorsten
Merlin
Administrator
Avatar
Geschlecht:
Alter: 26
Beiträge: 1476
Dabei seit: 03 / 2005
Betreff:

Re: Array in einem Rutsch zuweisen

 · 
Gepostet: 01.08.2018 - 12:16 Uhr  ·  #4
Hi Thorsten.

I guess you could use STRtoIP. Or write your own

Code
function BytesToIP( b0, b1, b2, b3 : byte ) : TIPAddr;
var
  iResult : TIPAddr;
begin
  iResult[ 0 ] := b0;
  iResult[ 1 ] := b1;
  iResult[ 2 ] := b2;
  iResult[ 3 ] := b3;
  return( iResult );
end;

...

ipAddr := BytesToIP( $FF, $FF, $FF, 0 );
 
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Re: Array in einem Rutsch zuweisen

 · 
Gepostet: 01.08.2018 - 13:22 Uhr  ·  #5
Hi Merlin,

yes, that was my Way :-)

Code
{--------------------------------------------------------------}
function  ToIp( Byte0, Byte1, Byte2, Byte3 : byte) : TIPaddr;
var
 bSetIP : array[0..3] of byte;
begin
  bSetIP[0]:= Byte0;
   bSetIP[1]:= Byte1;
    bSetIP[2]:= Byte2;
     bSetIP[3]:= Byte3;
   return( bSetIP );
end ToIp;

{--------------------------------------------------------------}
function  ToMAC( Byte0, Byte1, Byte2, Byte3, Byte4, Byte5 : byte) : TMACaddr;
var
 bSetMAC : array[0..5] of byte;
begin
  bSetMAC[0]:= Byte0;
   bSetMAC[1]:= Byte1;
    bSetMAC[2]:= Byte2;
     bSetMAC[3]:= Byte3;
      bSetMAC[4]:= Byte3;
       bSetMAC[5]:= Byte3;
   return( bSetMAC );
end ToMAC;
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 8 · Cache Hits: 14   96   110 · Page-Gen-Time: 0.016493s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI