Billetbestilling

Tags:    delphi

Hej

Jeg er i gang med at udvikle en billetbestillings-program for en biograf i Delphi, men har allerede et problem, da jeg ikke ved hvorledes jeg skal erklære nogle variable. Håber således I kan hjælpe mig:

Jeg bruger først og fremmest StringGrid til angivelse af, hvilke pladser der er optaget. Hertil skal man kunne resevere og derefter udskrive en plads, og har derfor angivet min procedure som vist herunder:

procedure TForm1.FormCreate(Sender: TObject);
var
Nr, Raekke: Integer;
begin
for Raekke:=1 to 10 do
stringGrid1.Cells[0,Raekke]:=IntToStr(Raekke);
for Nr:=1 to 20 do
StringGrid1.Cells[Nr,0]:=IntToStr(Nr);
end;

Cellerne i StringGrid1 er angivet ved [Nr,Raekke]. Følgende har jeg markeret R, så en plads bliver reserveret:

procedure TForm1.StringGrid1Click(Sender: TObject);
begin
Nr:=StringGrid1.Col;
Raekke:=StringGrid1.Row;
StringGrid1.Cells[Nr,Raekke]:='R';
end;

Nu består mit problem så i at overveje hvorledes Nr og Raekke skal erklæres.

Håber derfor der er nogen der kan hjælpe, og de fleste vil nok have bidt mærke i, at jeg trods alt er en nybegynder indenfor Delphi :P

På forhånd tak =)



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
I linie 62 har du følgende stående:

Reserveret[Nr,Raekke]:=NavnEdit;

Udtrykket forventer at NavnEdit er en streng, men NavnEdit er rent faktisk en knap (TButton). Hvis du vil bruge knappens tekst, skal du i stedet skrive:

Reserveret[Nr,Raekke]:=NavnEdit.Caption;

PS: Dejligt at se et Delphi-spørgsmål. Det er efterhånden længde siden der har været et spørgsmål i denne kategori.



Ahh, flg. havde jeg glemt:

var
Nr, Raekke: Integer;



Der er vel til gengæld ikke tilfældigvis nogen af jer, som kan lokalisere problemet her? Den siger nemlig følgende: [Error] Billet1.pas(62): Incompatible types: 'String' and 'TButton'


Mit program:

unit Billet1;

interface

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

type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label4: TLabel;
NavnEdit: TButton;
Udskriv: TButton;
Afhent: TButton;
LukSalget: TButton;
procedure FormCreate(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
procedure NavnEditClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
Nr, Raekke: Integer;
begin
for Raekke:=1 to 10 do
stringGrid1.Cells[0,Raekke]:=IntToStr(Raekke);
for Nr:=1 to 20 do
StringGrid1.Cells[Nr,0]:=IntToStr(Nr);
end;

procedure TForm1.StringGrid1Click(Sender: TObject);
var
Nr, Raekke: Integer;
begin
Nr:=StringGrid1.Col;
Raekke:=StringGrid1.Row;
StringGrid1.Cells[Nr,Raekke]:='R';
end;

procedure TForm1.NavnEditClick(Sender: TObject);
var
Nr, Raekke: Integer;
Reserveret: array[1..10, 1..20] of string;
begin
Reserveret[Nr,Raekke]:=NavnEdit;
end;

end.



t