![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Есть процедура
Код:
procedure TFOilGasSprt.FillStringGrid(); var i,j:integer; RecCnt:Cardinal; begin With DM, Self, MissionsStringGrid do begin RecCnt:=Query.RecordCount; //Êîëè÷åñòâî ñòðîê ñîãëàñíî êîëè÷åñòâó çàïèñåé çàïðîñà MissionsCout.Caption:=IntTostr(RecCnt); if RecCnt=0 then RowCount:=2 Else if RecCnt=1 then RowCount:=2 else RowCount:=RecCnt+1; //Î÷èùàåì MissionsStringGrid îò ñòàðûõ çíà÷åíèé j:=0; while (Cells[0,j]<>'') do begin j:=j+1; Rows[j].Clear; end; //Çàïîëíÿåì MissionsStringGrid äàííûìè èç çàïðîñà If RecCnt<>0 then begin for j:=1 to RecCnt do begin for i:=0 to Query.Fields.Count-1 do Cells[i,j]:=Query.Fields[i].AsString; Query.Next; end; end; end; end; Как передать Name StringGrid в процедуру, чтобы она была общей для любых StringGrid с именами, например, StringGrid1 и StringGrid2? |
#2
|
||||
|
||||
![]() Так и передавай:
Код:
procedure TFOilGasSprt.FillStringGrid(MissionsStringGrid : TStringGrid); Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
sorockinalex (10.09.2012)
|
#3
|
|||
|
|||
![]() Пробовал, не понял как вызов организовать... Там константу надо создавать? Напишите пожалуйста вызов, если не сложно!
|
#4
|
||||
|
||||
![]() Как-то так:
Код:
type TFOilGasSprt = class public procedure FillStringGrid(MissionsStringGrid : TStringGrid); end. ... var FOilGasSprt : TFOilGasSprt; ... begin FOilGasSprt.FillStringGrid(StringGrid1 : TStringGrid); ... FOilGasSprt.FillStringGrid(StringGrid2 : TStringGrid); end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
sorockinalex (10.09.2012)
|
#5
|
|||
|
|||
![]() СПАСИБО ОГРОМНОЕ!
|
#6
|
|||
|
|||
![]() блин, не работает:
Код:
procedure FillStringGrid(SG : TStringGrid; LBL: TLabel); .... procedure TFOilGasSprt.FillStringGrid(SG : TStringGrid; LBL: TLabel); var i,j:integer; RecCnt:Cardinal; begin With DM, Self, SG do begin RecCnt:=Query.RecordCount; //Количество строк согласно количеству записей запроса LBL.Caption:=IntTostr(RecCnt); if RecCnt=0 then RowCount:=2 Else if RecCnt=1 then RowCount:=2 else RowCount:=RecCnt+1; //Очищаем MissionsStringGrid от старых значений j:=0; while (Cells[0,j]<>'') do begin j:=j+1; Rows[j].Clear; end; //Заполняем MissionsStringGrid данными из запроса If RecCnt<>0 then begin for j:=1 to RecCnt do begin for i:=0 to Query.Fields.Count-1 do Cells[i,j]:=Query.Fields[i].AsString; Query.Next; end; end; end; end; ..... procedure TFOilGasSprt.MissionsRefresh(); begin MissionsFilter(); // FillMissionsStringGrid(); FillStringGrid(MissionsStringGrid, MissionsCount); end; Undeclared Identifier MissionsCount в процедуре MissionsRefresh(); |