Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
6-48244
T2
2002-05-31 09:45
2002.08.15
Подключение к I-Net


6-48233
МИФИст
2002-04-22 15:38
2002.08.15
Помогите разобраться с сервером...


3-47917
the-best-officeman
2002-07-28 21:54
2002.08.15
Как поставить в таблицу вместо True(Flase). флажок - CheckBox ?


1-48071
Данилин Руслан
2002-08-04 19:43
2002.08.15
Web-камера


1-48150
Man-In-Red
2002-08-01 15:39
2002.08.15
Помогите пожалуйста!




   Наверх