Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать номер последней записи в 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 не подойдет?


Наверх

Титульная страница Поиск, карта сайта Написать письмо