![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Есть две процедуры: Первая рисует кнопки и открывает текстовый файл, вторая обрабатывает клик по кнопки. Вот эти процедуры:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
f : TStringList;
begin
f := TStringList.Create();
f.LoadFromFile('C:\1.txt');
for i:=1 to 4 do
with TBitBtn.Create(StringGrid1) do
begin
Caption:='Кнопка';
Parent:=StringGrid1;
BoundsRect:=StringGrid1.CellRect(1, i);
OnMouseUp:=BitBtn1MouseUp;
end;
end;
procedure TForm1.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShowMessage(<Здесь информация о кнопки>)
end;Вопрос: Как во второй процедуре по клику какой либо из кнопок выводилась информация из файла соответствующая данной кнопки . Заранее спасибо Последний раз редактировалось Admin, 20.04.2011 в 10:31. |
|
#2
|
||||
|
||||
|
всего 1 же файл C:\1.txt
и почему f не удаляется? |
|
#3
|
|||
|
|||
|
Вообщем нужно сделать следующее: после нажатия к примеру Кнопки находящейся в первой строке таблицы она выводила первую строку из файлы, при нажатии кнопки находящейся во второй строке она выводила вторую строку из файла и т.д.
|
|
#4
|
|||
|
|||
|
так?:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
for i:=1 to 4 do
with TBitBtn.Create(StringGrid1) do
begin
Caption:='Кнопка'+IntToStr(i);
Parent:=StringGrid1;
BoundsRect:=StringGrid1.CellRect(1, i);
Name:='BBtn'+IntToStr(i);
OnMouseUp:=BBtnsMouseUp;
end;
end;
procedure TForm1.BBtnsMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var f : TStringList;
i : Integer;
n : Integer;
begin
f := TStringList.Create();
f.LoadFromFile('C:\1.txt');
for i:=5 to Length(TBitBtn(Sender).Name) do
n:=StrToInt(TBitBtn(Sender).Name[i]);
StringGrid1.Cells[2,n]:=f.Strings[n];
f.Free;
end; |
|
#5
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Buttons,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure ButtonMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
stringlist: TStringList;
i: Integer;
btn: TBitBtn;
begin
stringlist:=TStringList.Create;
try
stringlist.LoadFromFile('c:\Downloads\avatar.js');
for i:=0 to stringlist.Count-1 do
begin
btn:=TBitBtn.Create(Self);
btn.Parent:=StringGrid1;
btn.Caption:=Format('Button %d', [i]);
btn.BoundsRect:=StringGrid1.CellRect(1, i+1);
btn.ShowHint:=False;
btn.Hint:=stringlist[i];
btn.OnMouseUp:=ButtonMouseUp;
end;
finally
stringlist.Free;
end;
end;
procedure TForm1.ButtonMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShowMessage(TBitBtn(Sender).Hint);
end;
end. |