TArray

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Re: TArray

Beitragvon Mathias » 22. Jun 2018, 18:53 Re: TArray

Die Sorucen von Lazarus&FPC sind schon eine ware Goldgrube...

Dies war ursprünglich Delphi-Code. Aber es stimmt schon Pascal bietet recht vieles für ein komfortables Coden.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mse » 23. Jun 2018, 07:12 Re: TArray

Mathias hat geschrieben:Ich habe gerade eine Merkwürdige Deklaration entdeckt:
Code: Alles auswählen
type
  Ta = array[(a, b, c, d)] of byte;
var
  m:Ta;
begin
  m[a]:=123;
  m[b]:=456;


Dies wird anstandslos kompiliert. :roll:

Es entspricht
Code: Alles auswählen
 
type
 indextyp = (a, b, c, d); //aufzählung
 Ta = array[indextyp] of byte;
 
mse
 
Beiträge: 2009
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Mathias » 30. Jun 2018, 16:47 Re: TArray

Ich habe gar nicht gewusst, das man eine dynamische Array so initialisieren kann:
Code: Alles auswählen
type
  TBA = array of byte;
var
  BA: TBA;
 
begin
  BA := TBA.Create(5, 2, 3, 4, 1);
 
  WriteLn(Length(BA))// --> 5
  WriteLn(BA[2]);       // --> 3   

Dies funktioniert mit der stable 3.0.4 von FPC.
Für gewisse Sachen recht praktisch, ansonsten müsste man es so machen:
Code: Alles auswählen
  SetLength(BA, 5);
  BA[0] := 5;
  BA[1] := 2;
  BA[2] := 3;
  BA[3] := 4;
  BA[4] := 1;
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

• Themenende •
Vorherige

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried