
20.04.2011, 17:36
|
Прохожий
|
|
Регистрация: 20.04.2011
Сообщения: 3
Репутация: 10
|
|
как удалить кнопку?
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls,Registry, ComCtrls, Grids, Buttons;
type
TForm1 = class(TForm)
Up_Image: TImage;
Down_Image: TImage;
Center_Image: TImage;
Button1: TButton;
Image1: TImage;
Button3: TButton;
Button2: TButton;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure knopka(Sender: TObject);
procedure clearstrgr(Sender: TObject);
procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
var o:integer;
procedure TForm1.Button1Click(Sender: TObject);
var
f,g,j : TStringList;
reg : tregistry;
i,m:integer;
begin
f := TStringList.Create();
f.LoadFromFile('reg_hlm.bas');
g := TStringList.Create();
g.LoadFromFile('name_hlm.bas');
j := TStringList.Create();
j.LoadFromFile('inf_hlm.bas');
reg := tregistry.create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey('\',true);
for o:=1 to 14 do
if reg.KeyExists(f[o]) then
begin
StringGrid1.RowCount:=o+1;
StringGrid1.Cells[0,o]:=g[o];
end;
finally
reg.free;
end;
Knopka(Sender);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form2.show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Knopka(Sender: TObject);
var m,i:integer;
begin
for i:=1 to 14 do
with TBitBtn.Create(StringGrid1) do
begin
Caption:='Кнопка';
Parent:=StringGrid1;
BoundsRect:=StringGrid1.CellRect(2, i);
OnMouseUp:=BitBtn1MouseUp;
for m:=1 to 14 do
if i=m then
tag:=m;
end;
end;
procedure TForm1.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var j: TStringList;
begin
j := TStringList.Create();
j.LoadFromFile('inf_hlm.bas');
ShowMessage(j[TButton(Sender).tag]);
//Form2.Show;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[0,0]:='программа';
StringGrid1.Cells[1,0]:='Уровень угрозы';
StringGrid1.Cells[2,0]:='описание программы';
end;
end.
Админ: Пользуемся тегами для оформления кода!
программа берет ключи из реестра сравнивает их с ключами из файла reg_hlm.bas если ключи одинаковые то берется название программы из файла name_hlm.bas и выводится в первое поле. Создается кнопка в третьем поле по нажатии которой должно выводится полное описание программы из файла inf_hlm.bas проблема в том, что может быть такое что нет некоторых программ на компьютере которые есть в базе, подскажите как удалить пустые строки с созданными кнопками? Или как не выводя пустые строки связать с имя программы с описанием?
Заранее огромное спасибо!
|