Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2009, 19:55   #1
REztor
Форумчанин
 
Регистрация: 28.02.2009
Сообщений: 302
По умолчанию procedure Delete

Помогите написать процедуру удаляющую строку в матрице

procedure TForm1.agridDblClick(Sender: TObject);
begin
my:=my.delete(agrid.row)
end;
REztor вне форума Ответить с цитированием
Старый 10.03.2009, 10:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что за матрица? Как описана?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2009, 14:46   #3
REztor
Форумчанин
 
Регистрация: 28.02.2009
Сообщений: 302
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что за матрица? Как описана?
Код:
var
  Form1: TForm1;my,his:matr;n,m:integer;flag:boolean;

implementation

{$R *.dfm}

procedure TForm1.sbScroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
  agrid.ColCount:=sb.position;
  edit1.Text:=inttostr(sb.Position);
  m:=sb.position;
  format(agrid)
end;

 procedure TForm1.format(g:TStringGrid);
 begin with g do begin
 width:=colcount*(defaultcolwidth+1)+4;
 height:=rowcount*(defaultrowheight+1)+4
   end;
   end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  format(agrid);
  randomize ;
  flag:=false;
  my:=matr.create;
  n:=5;m:=5
end;

procedure TForm1.N2Click(Sender: TObject);
begin
 halt
end;

procedure TForm1.N4Click(Sender: TObject);
begin
 my.make(n,m);
 my.show(agrid);
 flag:=true
end;

procedure TForm1.agridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=27 then
   if his<>nil then
   his.show(agrid)
   else showmessage('Объект еще не создан');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin  flag:=not flag;
 if flag=false then
 begin showmessage('Матрица разблокирована'+#13+
 'Можно начинать ручной ввод');
 agrid.Options:=agrid.Options+[GoEditing];
  button1.Caption:='Block' end;
 begin  flag:=flag;
 if flag=true then
 begin showmessage('Матрица заблокирована'+#13+
 'Нельзя начинать ручной ввод');
 agrid.Options:=agrid.Options-[GoEditing];
  button1.Caption:='UnBlock' end;
 end;
 end;

procedure TForm1.sb2Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
 agrid.RowCount:=sb2.position;
  edit2.Text:=inttostr(sb2.Position);
  n:=sb2.position;
  format(agrid)
end;

procedure TForm1.agridDblClick(Sender: TObject);
begin
 my:=my.delete(agrid.row)
end;

end.
From Stilet: Тегом # оформляй код.

Последний раз редактировалось Stilet; 10.03.2009 в 15:40.
REztor вне форума Ответить с цитированием
Старый 10.03.2009, 15:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Поиск уже не в моде?
http://programmersforum.ru/showthrea...Row#post126267
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2009, 15:52   #5
REztor
Форумчанин
 
Регистрация: 28.02.2009
Сообщений: 302
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Поиск уже не в моде?
http://programmersforum.ru/showthrea...Row#post126267
Спасибо большое
REztor вне форума Ответить с цитированием
Старый 10.03.2009, 21:15   #6
REztor
Форумчанин
 
Регистрация: 28.02.2009
Сообщений: 302
По умолчанию

Stilet а функцию можешь помочь написать удаляющую строку в матрице?
REztor вне форума Ответить с цитированием
Старый 10.03.2009, 21:47   #7
REztor
Форумчанин
 
Регистрация: 28.02.2009
Сообщений: 302
По умолчанию

Код:
nterface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Menus;

type arr=array of integer;

matr=class
    a:array of arr;n,m:integer;
    constructor create;overload;
    constructor create(x:matr);overload;
    procedure make(k1,k2:integer);
    procedure show(g:TStringGrid);
    function delete(k:integer):matr;
  end;

implementation

   constructor matr.create;
    begin a:=nil;n:=0;m:=0 end;

    constructor matr.create(x:matr);
  var i,j:integer;
  begin   end;

    procedure matr.make(k1,k2:integer);
 var i,j:integer;
begin
  n:=k1;m:=k2;
setlength(a,n,m);
  for i:=0 to n-1 do
  for j:=0 to m-1 do
  a[i][j]:=random(100);
  end;


    procedure matr.show(g:TStringGrid);
  var i,j:integer;
 begin
 for i:=0 to n-1 do
 for j:=0 to m-1 do
 g.cells[j,i]:=inttostr(a[i][j]);
 end;

  function matr.delete(k:integer):matr;
  begin   showmessage('Процедура еще не готова');
    result:=self
    end;


end.
REztor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Procedure unknown yulia БД в Delphi 9 26.01.2009 01:33
Перегрузка операций new, new[], delete, delete[] IgorKr Общие вопросы C/C++ 1 22.10.2008 12:14
Проблемма с object, procedure AngelOfDeath Общие вопросы Delphi 2 20.08.2008 15:08
procedure! please! help! NeAlSe Помощь студентам 2 15.06.2008 15:38
function procedure Toxa Microsoft Office Access 1 28.11.2007 18:32