Delphi Funktion

  • So also ich hab nen personenverzeichnis angelegt wo man namen, nicknamen und die punkte eintragen kann.. so jetzt will ich ne max funktion haben die mir dann den namen gibt, der die meisten punkte hat

    ich hatte das schon im unterricht habs aber leider wieder vergessen

    also ich hab das noch so in erinnerung

    function max:integer;
    begin
    if x < personen[i].punkte then
    x:=personen[i];
    label5.caption:= und hier muss dann der name hin
    end;


    bei formcreate kam dann noch das
    x:=0;

    vllt hat ja jemand von euch ne bessere idee.

    so sieht erstmal das ganze aus

    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, Grids, StdCtrls;

    type
    TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Name: TEdit;
    Nick: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Punkte: TEdit;
    Label4: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    type
    TPerson=Record
    Name:String;
    Nick:String;
    punkte:integer;
    end;

    var
    Form1: TForm1;
    i: integer;
    personen: array[1..6] of TPerson;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Application.Terminate
    end;


    procedure TForm1.Button2Click(Sender: TObject);
    begin
    i:=i+1;
    Personen[i].name:=Name.text;
    Personen[i].nick:=Nick.text;
    Personen[i].punkte:=StrtoInt(punkte.text);
    Name.text:=' ';
    Nick.text:=' ';
    punkte.text:=' ';
    if i=6 then
    button2.visible:=false;
    end;


    procedure TForm1.Button3Click(Sender: TObject);
    var Z:Integer;
    begin
    for z:=1 to 6 do
    begin
    StringGrid1.Cells[0,z]:= Personen[z].name;
    StringGrid1.Cells[1,z]:= Personen[z].nick;
    stringgrid1.cells[2,z]:=intToStr(Personen[z].punkte);
    end;
    {StringGrid1.Cells[s,z] - String in Spalte s, Zeile z
    begonnen wird mit den Indizes 0,0}
    end;


    procedure TForm1.FormCreate(Sender: TObject);

    begin
    i:=0;
    Stringgrid1.Cells[0,0]:='Name';
    Stringgrid1.Cells[1,0]:='Nick';
    StringGrid1.Cells[2,0]:='Punkte';
    end;

    end.

    Lebe dein Leben

  • es funktioniert so nicht... ich weiß das ich da noch irgendwas mit ner y variable hatte in formcreate.. aber leider kann ich mich nicht mehr dran erinnern..

    Lebe dein Leben