[ knez @ 11.03.2005. 14:08 ] @
Od skora sam instalirao Delphi 7, i polako ucim programiranje. Zamolio bih Vas za pomoc:

Na Form1 imam tabelu kao DBGrid1.

Kako da kad se pozicioniram u tabeli na odredjeno polje, klikom na Button1, otvorim drugu Formu sa tabelom bas na toj poziciji (nije grid) .

Kako, znaci, da procitam poziciju gde se nalazim u DBGrid-u i kasnije da iskoristim taj podatak i da pozovem bas taj red na sledecoj formi.

Forme sam uradio sa Database/Form Wizard-om.

Svaka pomoc je dobrodosla, s obzirom da jos nisam naucio ni da koristim help.

Hvala Vam!
[ DeYo @ 11.03.2005. 14:40 ] @
Probaj da napravis novi konstruktor nove forme, nesto tipa (pricam napamet pa mozda bude i gresaka):

Code:

constructor TForm2.CreateWithID(tempID: integer);
begin
 Create(Application); //na ovaj nacin odradjujes defaultno kreiranje onog sto te ne intresuje
 Query1.Open;
 Query1.Locate('ID_Polja', tempID, []); //ovo skace na selektovani record
end;


a kada hoces da pozoves iz prve forme drugu:

Code:

uses
 Unit2;

procedure TForm1.Button1Click(Sender: TObject);
var 
 Form2: TForm2;
begin
 Form2:=TForm2.CreateWithID(Query1.FieldByName('ID_Polja').AsInteger);
 Form2.Show;
end;


Trebalo bi da na obe forme imas komponentu Query ili ADOQuery. 'ID_Polja' je naziv polja u tabeli na koju se kacis koje cuva ID.
[ Toyo @ 11.03.2005. 14:41 ] @
Odes u DBGrid na event onMouseUp, dupli klik i nadjes se u proceduri za obradu toga dogadjaja. Procedura treba da je u ovom stilu (samo sto se ovde radi o StringGrid i Form2): U Row i Column ti se nalazi broj reda odnosno kolone gde je kliknuto sa misom.

Code:

procedure TForm2.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  Column, Row: Longint;
begin
  StringGrid1.MouseToCell(X, Y, Column, Row);
  if (Row=0) and (column=5) then
    begin
    radi nesto
    end;
end;

[ knez @ 12.03.2005. 08:40 ] @
Uspeo sam sa:

Code:
I:=Form2.Table1.RecNo;


I kasnije sa druge forme pozovem tu vrednost.

U svakom slucaju - Hvala svima!