2016-04-26 10 views
1

Ich versuche, ein Programm zu erstellen, die 11 Tasten drucken also wollte ich ein Array verwenden Die einzige Änderung mit diesen Tasten ist der NameHinzufügen von Werten zu einem Array in Pascal - iIllegal Qualifier“

Wenn ich versuche.. zu kompilieren, ich den Fehler „illegal Qualifier“ bei meinem ersten Array Zuweisung erhalten.

type 
buttonName = array[0..11] of String; 

procedure PopulateButton(const buttonName); 
begin 
    buttonName[0] := 'Sequence'; 
    buttonName[1] := 'Repetition'; 
    buttonName[2]:= 'Modularisation'; 
    buttonName[3]:= 'Function'; 
    buttonName[4]:= 'Variable'; 
    buttonName[5]:= 'Type'; 
    buttonName[6]:= 'Program'; 
    buttonName[7]:= 'If and case'; 
    buttonName[8]:= 'Procedure'; 
    buttonName[9]:= 'Constant'; 
    buttonName[10]:= 'Array'; 
    buttonName[11]:= 'For, while, repeat'; 
end; 

und in Haupt ich versuche, diese

for-Schleife zu verwenden
for i:=0 to High(buttonName) do 
     begin 
      DrawButton(x, y, buttonName[i]); 
      y:= y+70; 
     end; 

Bitte wissen, ich bin sehr neu auf das und bin nicht zu sehr von meinem Wissen in Arrays, Parameter/Aufruf von Konstanten und so.

Danke

Antwort

1

Der Parameter Definition von PopulateButton() falsch ist.

Try this:

type 
    TButtonNames = array[0..11] of String; 

procedure PopulateButtons(var AButtonNames: TButtonNames); 
begin 
    AButtonNames[0] := 'Sequence'; 
    ... 
end; 

... 

var lButtonNames: TButtonNames; 

PopulateButtons(lButtonNames); 

for i := Low(lButtonNames) to High(lButtonNames) do 
begin 
    DrawButton(x, y, lButtonNames[i]); 

    y:= y+70; 
end; 

auch die Aufmerksamkeit auf die Namenskonventionen zahlen. Typen beginnen normalerweise mit einem T und Funktionsparameter beginnen mit einem A.

+1

Bitte denken Sie daran, auch den Hauptteil zu ändern! –

+1

vielen dank! alles behoben. Ich muss meine Parameterdefinitionen auffrischen. – denpa

+0

Sie müssen wahrscheinlich auch beim Tippen auffrischen. Ihr Parameter hatte keinen Typ. Das ist in einigen dynamisch typisierten Sprachen cool, aber nicht in Pascal/Delphi. –

Verwandte Themen