Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

Как узнать номер последней записи в StringGrid’е?   Найти похожие ветки 

 
Pichkarus   (2002-08-01 02:09) [0]

Очень нужно! Помогите пожалуйста!


 
Aleks1   (2002-08-01 02:55) [1]

А RowCount-1 не подойдет?


 
Григорий Ситнин ©   (2002-08-01 09:06) [2]

LastRow := pred(TStringList.Count);


 
Pichkarus   (2002-08-01 12:56) [3]


> Григорий Ситнин © (01.08.02 09:06)

Нет, мне надо не StringList, а StringGrid!
Пробовал подставить – ничего не вышло…


> Aleks1 (01.08.02 02:55)

А что значит?


Вообще количество строк в StringGrid’е может быть сколько угодно, а заполненных, даже хотя бы одним символом – не все, причем заполнены они могут быть не по порядку, а скажем через одну, так вот мне надо узнать номер самой самой последней заполненной строки!
В этом та вся и сложность, прошу помочь!
Заранее благодарен!


 
Anatoly Podgoretsky ©   (2002-08-01 12:59) [4]

Никакой сложности, цикл от конца в начала начала и проверка всех ячеек на заполненность


 
Skier ©   (2002-08-01 13:07) [5]

>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;


 
Pichkarus   (2002-08-01 13:08) [6]

Ну пытался вчера – не получилось :(


 
Pichkarus   (2002-08-01 13:11) [7]


> Skier © (01.08.02 13:07)

Щас попробую!


 
MBo ©   (2002-08-01 13:11) [8]

упрощение
for ii := AStringGrid.RowCount - 1 downto 0 do
if Length(AStringGrid.Rows[ii].Commatext)>0 then begin
Result:=ii;
Break;
end;


 
Skier ©   (2002-08-01 13:13) [9]

>MBo
Хитро !
А это быстрее будет работать ?


 
Anatoly Podgoretsky ©   (2002-08-01 13:13) [10]

Где это видно как ты пытался, тебе уже и код привели, практически рабочий, я бы обернул обращение к ячейке в функцию TRIM, что бы отсеть строки из одник пробелов и отношение изменил с <> на =


 
Anatoly Podgoretsky ©   (2002-08-01 13:15) [11]

Ой отношение менять не надо, с ним все в порядке, жара

Skier © (01.08.02 13:13)
Какая разница, если сетка несколько тысяц строк, то уже не важно.


 
MBo ©   (2002-08-01 13:16) [12]

>Skier
быстрее - вряд ли


 
Pichkarus   (2002-08-01 13:17) [13]

Всем Большое Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-48180
Robin
2002-08-02 15:29
2002.08.15
Обращение к компонентам формы, находящейся в Пакете


3-47982
MsGuns
2002-07-24 16:59
2002.08.15
СРОЧНО !!!


3-48010
Alexsys
2002-07-25 21:43
2002.08.15
Поиск в табличке по неполному слову по нескольким полям


14-48269
Vladimir ;)
2002-07-21 02:29
2002.08.15
Помогите с делом!


4-48381
MARcoDEN
2002-06-08 20:20
2002.08.15
Как считать текст в другой программе?