Array in einem Rutsch zuweisen

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Array in einem Rutsch zuweisen

 · 
Posted: 31.07.2018 - 12:24  ·  #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
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Array in einem Rutsch zuweisen

 · 
Posted: 31.07.2018 - 14:01  ·  #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
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Array in einem Rutsch zuweisen

 · 
Posted: 31.07.2018 - 19:04  ·  #3
Hallo Thomas,

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

Thorsten
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: Array in einem Rutsch zuweisen

 · 
Posted: 01.08.2018 - 12:16  ·  #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
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Array in einem Rutsch zuweisen

 · 
Posted: 01.08.2018 - 13:22  ·  #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;
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   95   109 · Page-Gen-Time: 0.028422s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI