Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Länge eines Arrays auslesen (https://www.delphipraxis.net/157593-laenge-eines-arrays-auslesen.html)

Fussel9 17. Jan 2011 18:51

Delphi-Version: 2006

Länge eines Arrays auslesen
 
Hilfe :| :shock:

ich hab nen Array, kann aber seine Länge nicht auslesen... hab aber auch schon ewig nicht mehr mit arrays gearbeitet, hab ich irgendwo nen fehler gemacht, was vergessen?
normaler weise müsste ich doch IrgendeinArray.getLength machen könn... :wall:

Delphi-Quellcode:
UNIT mtlreggramm;

interface

//--------------------  ggf Uses-Liste einfügen !  --------------------
//uses ....;
uses mtreggramm ;

type
  TTerm = array[1..26] of String;
  TTermZuNichtT = array[1..26] of TTerm;

type
  tlreggramm = class(treggramm)
  TzNT: TTermZuNichtT;
  Term: TTerm;

  public //Methoden
    function analysiere (pwort: string) : boolean; override;
    function erzeuge : string; override;
   end;

implementation
uses mtstring,sysutils,Classes;
var maxlaenge:integer=100;
//+---------------------------------------------------------------------
//|         tlreggramm: Methodendefinition
//+---------------------------------------------------------------------

//-------- analysiere (public) -----------------------------------------
function tlreggramm.analysiere (pwort: string) : boolean;
var lauf,i,j,k :Integer;
    inhalt,nichtterm: String;
    Temp: TTerm;
  l: Integer;
begin
for i:=1 to length(nichtterminale) do
  begin
    j:=1;
      while not(regeln.isBehind) do
        begin
          inhalt:=(regeln.getItem as TString).GibInhalt;
          nichtterm:=copy(inhalt,0,pos('#',inhalt)-1);
          delete(inhalt,0,pos('#',inhalt));
            if (nichtterm=nichtterminale[i]) then
              begin
                Term[j]:=inhalt;
                inc(j);
              end;
        end;
    TzNT[i]:=Term;
  end;
for lauf:= 1 to length(pwort) do
  begin
    for k := 1 to Length(nichtterminale) do
      begin
        Temp:=TzNT[k];
          for l := 1 to Temp do //hier will ich Temp.getLength wird aber rot unterschlängelt
            begin
              //code
            end;
      end;
  end;
end;

Gehstock 17. Jan 2011 18:56

AW: Länge eines Arrays auslesen
 
SizeOf(Temp) ?

Fussel9 17. Jan 2011 18:59

AW: Länge eines Arrays auslesen
 
cool^^ der compiler läuft schon mal durch :mrgreen:
ich meld mich dann in ner stunde oder zwei nochmal obs jetz klappt xD

THX

Gehstock 17. Jan 2011 19:01

AW: Länge eines Arrays auslesen
 
Edit: Fehler meinerseits

Fussel9 17. Jan 2011 19:06

AW: Länge eines Arrays auslesen
 
:wiejetzt:

RWarnecke 17. Jan 2011 19:07

AW: Länge eines Arrays auslesen
 
Delphi-Quellcode:
high(arrayname)
wäre auch noch eine Variante.

Gehstock 17. Jan 2011 19:08

AW: Länge eines Arrays auslesen
 
wollt noch ein -1 dahinter setzen aber du fängst ja die Arrays bei 1 an

Fussel9 17. Jan 2011 19:10

AW: Länge eines Arrays auslesen
 
:-D ach so ok, dann sollte es ja gehn... :thumb: thx

RWarnecke 17. Jan 2011 19:12

AW: Länge eines Arrays auslesen
 
Ein Array fängt immer bei Null an. Damit sollte die FOR-Schleife so aussehen :
Delphi-Quellcode:
for i:=0 to high(temp) do
begin

end;

Luckie 17. Jan 2011 19:20

AW: Länge eines Arrays auslesen
 
Zitat:

Zitat von RWarnecke (Beitrag 1075352)
Ein Array fängt immer bei Null an. Damit sollte die FOR-Schleife so aussehen :

Nein. Nur dynamische Arrays fangen immer bei null an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz