Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.06.2010, 00:40
west.by west.by вне форума
Прохожий
 
Регистрация: 07.06.2010
Сообщения: 6
Репутация: 10
По умолчанию Как в тстринггриде удалять ячейку-если там нет числа???

не понимаю как...
вот ревально работающая програмаа
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    BitBtn1: TBitBtn;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,k,i:Integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
n:=3;
Edit1.Text:=IntToStr(n);
StringGrid1.ColCount:=n;
StringGrid2.ColCount:=n;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
n:=StrToInt(Edit1.Text);
StringGrid1.ColCount:=n;
StringGrid2.ColCount:=n;

end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
s:string; //преобразование массива

begin
    with StringGrid1 do begin
   for i:=0 to RowCount-1 do begin
    for j:=0 to Rows[i].Count-1 do begin
     tag:=StrToIntDef(rows[i][j],0);
     if (tag mod 2) =0 then begin
      StringGrid2.Rows[i].Add(rows[i][j]);
      rows[i][j]:='';
     end else
      s:=s+rows[i][j]+#13#10;
    end;
    Rows[i].Text:=s;
    s:='';
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
 if StringGrid1.Cells[0,0]='' then 
for i:=0 to n do
StringGrid1.Cells[i,0]:=inttostr(random(100))


end;

end.
Ответить с цитированием
  #2  
Старый 09.06.2010, 00:53
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Ячейку удалить нельзя (можно очистить).
Удалить можно или строку или колонку.
Примерно так :
Код:
//Удалить строку ARow
function StringGrid_DeleteRow(SG : TStringGrid; ARow : integer) : boolean;
Var
  N1,N2,i : integer;
begin
  Result:=FALSE;
  if SG<>NIL then begin
     N1:=ARow;
     N2:=(SG.RowCount-2);
     if (SG.RowCount-1)>SG.FixedRows then begin
        for i:=N1 to N2 do
         begin
           SG.Rows[i].Assign(SG.Rows[i+1]);
        end;
        SG.Rows[SG.RowCount-1].Clear;
        SG.RowCount:=SG.RowCount-1;
        Result:=TRUE;
     end
     else begin
        SG.Rows[SG.FixedRows].Clear;
        Result:=TRUE;
     end;
  end;
end;

//Удалить колонку ACol
function StringGrid_DeleteCol(SG : TStringGrid; ACol : integer) : boolean;
Var
  N1,N2,i : integer;
begin
  Result:=FALSE;
  if SG<>NIL then begin
     N1:=ACol;
     N2:=(SG.ColCount-2);
     if (SG.ColCount-1)>SG.FixedCols then begin
        for i:=N1 to N2 do
         begin
           SG.Cols[i].Assign(SG.Cols[i+1]);
        end;
        SG.Cols[SG.ColCount-1].Clear;
        SG.ColCount:=SG.ColCount-1;
        Result:=TRUE;
     end
     else begin
        SG.Cols[SG.FixedCols].Clear;
        Result:=TRUE;
     end;
  end;
end;
Ответить с цитированием
  #3  
Старый 09.06.2010, 01:09
west.by west.by вне форума
Прохожий
 
Регистрация: 07.06.2010
Сообщения: 6
Репутация: 10
По умолчанию

Посмотрите мою программу. я забиваю количество клонок(строка у меня только одна).
Далее0из первой строки мне выводятся элементы во вторую но поскольку их количество совпадает с начальным-а их должно быть в два раза меньше-мне надо убрать половину.....
посммотрите картинку-сейчас выложу
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025