Den globale variable hedder her MemoValgt og er en integer
På hver memo sætter man memoens TAG til et nummer 1 til memo1, 2 til memo2 osv..
Så kan man giver alle memo'erne en fælles event hvori man sætter MemoValgt til TMemo(sender).Tag eg: Procedure TForm1.MemoClicked(Sender:TObject); begin if (sender is TMemo) then MemoValgt:=(Sender as tmemo).Tag; end;
Procedure TForm1.CopyClicked(Sender:TObject); begin case MemoValgt of 1: memo1 er valgt 2: memo2 er valgt 3: memo3 er valgt else Ingen memo har været valgt eller en memo der ikke er i case er blevet valgt end end;
Smartere endnu hvis præcis den samme kode skal udføres for sidst berørte memo;
Lav variabel FChosenMemo som en TMemo;
I formens OnCreate handler sættes FChosenMemo := nil;
For hver memo sættes OnSelect til MemoSelected som implementeres:
procedure TForm1.MemoSelected(Selder: TObject); begin if (Sender is TMemo) then FChosenMemo := TMemo(Sender); end;
Nu kan case'n undgås i Copy knappens eventhandler.
Procedure TForm1.CopyClicked(Sender:TObject); begin if Assigned(FChosenMemo) then // Hvis nu der har være valgt en memo begin // Gør noget ved memoen FCopyText := FChosenMemo.Text; (Eller .SelText evt )
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.