![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать номер последней записи в StringGrid’е? [D6]
Pichkarus © (2002-08-01 02:09:00)Очень нужно! Помогите пожалуйста!
Pichkarus (2002-08-01 13:17:00) [1]Всем Большое Спасибо!
MBo (2002-08-01 13:16:00) [2]>Skier
быстрее - вряд ли
Anatoly Podgoretsky (2002-08-01 13:15:00) [3]Ой отношение менять не надо, с ним все в порядке, жара
Skier © (01.08.02 13:13)
Какая разница, если сетка несколько тысяц строк, то уже не важно.
Skier (2002-08-01 13:13:00) [4]>MBo
Хитро !
А это быстрее будет работать ?
Anatoly Podgoretsky (2002-08-01 13:13:00) [5]Где это видно как ты пытался, тебе уже и код привели, практически рабочий, я бы обернул обращение к ячейке в функцию TRIM, что бы отсеть строки из одник пробелов и отношение изменил с <> на =
Pichkarus (2002-08-01 13:11:00) [6]
> Skier © (01.08.02 13:07)
Щас попробую!
MBo (2002-08-01 13:11:00) [7]упрощение
for ii := AStringGrid.RowCount - 1 downto 0 do
if Length(AStringGrid.Rows[ii].Commatext)>0 then begin
Result:=ii;
Break;
end;
Pichkarus (2002-08-01 13:08:00) [8]Ну пытался вчера – не получилось :(
Skier (2002-08-01 13:07:00) [9]>Pichkarus
Примерно так :
procedure TForm1.Button1Click(Sender: TObject);
function GetLastRow(const AStringGrid : TStringGrid) : Integer;
var
ii, jj : Integer;
begin
Result := -1;
if AStringGrid = nil then Exit;
for ii := AStringGrid.RowCount - 1 downto 0 do begin
for jj := 0 to AStringGrid.ColCount - 1 do begin
if AStringGrid.Cells[jj, ii] <> EmptyStr then begin
Result := ii;
Exit;
end; //if
end; //for jj
end; //for ii
end; //GetLastRow
begin
WriteLn(GetLastRow(StringGrid1));
end;
Anatoly Podgoretsky (2002-08-01 12:59:00) [10]Никакой сложности, цикл от конца в начала начала и проверка всех ячеек на заполненность
Pichkarus (2002-08-01 12:56:00) [11]
> Григорий Ситнин © (01.08.02 09:06)
Нет, мне надо не StringList, а StringGrid!
Пробовал подставить – ничего не вышло…
> Aleks1 (01.08.02 02:55)
А что значит?
Вообще количество строк в StringGrid’е может быть сколько угодно, а заполненных, даже хотя бы одним символом – не все, причем заполнены они могут быть не по порядку, а скажем через одну, так вот мне надо узнать номер самой самой последней заполненной строки!
В этом та вся и сложность, прошу помочь!
Заранее благодарен!
Григорий Ситнин (2002-08-01 09:06:00) [12]LastRow := pred(TStringList.Count);
Aleks1 (2002-08-01 02:55:00) [13]А RowCount-1 не подойдет?