02. april 2001 - 20:09Der er
5 kommentarer og 1 løsning
DBGrid
Hvordan skal proceduren se ud for at virke?
procedure TBilledeForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin WITH Table1 do begin
A := DBGrid1.Fields[3].AsInteger; B := DBGrid1.Fields[4].AsInteger; C := DBGrid1.Fields[5].AsInteger; D := DBGrid1.Fields[6].AsInteger; if ((x > A) and (x < B)) and ((y >C) and (y < D))then Label1.Caption:=TelefonListeForm.DBGrid1.Fields[1].AsString;
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Da det er svært at ”ramme” et bestemt coordinat på en Image, vil jeg prøve at lave en rektangel uden om coordinatet. x og y er musens coordinater på en Image. A= xmin, B=xmax, C=ymin, D=ymax. Feks. A=100, B=120, C=100, D=120, disse tal danner en rektangel 100/100 120/120 (tallene ligger I DBGrid). Når man klikker med musen indenfor en rektangel, skal DBGrid finde den række hvor tallene passer og derefter udfører en handling.
dvs. at i field 3-6 gemmer du coordinaterne? og så vil du vise det der ligger i field1, hvor X og Y ligger indenfor det rektangel coordinaterne repræsenterer?
Jeg løber alle records igennem, og checker om musens koordinater er indenfor rektanglet. Hvis den aktuelle record matcher stoppes løkken, og field[1] udskrives i lablen. Jeg forstår dog ikke se hvorfor du bruger DBGridets data, og ikke tager dem direkte fra tabellen? Det kunne også laves lidt fiksere, hvis du brugte en TQuery, men det er jo op til dig.
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var A, B, C, D: Integer; Found: Boolean; begin Table1.First; Found := False;
while not Table1.Eof and not Found do begin A := DBGrid1.Fields[3].AsInteger; B := DBGrid1.Fields[4].AsInteger; C := DBGrid1.Fields[5].AsInteger; D := DBGrid1.Fields[6].AsInteger;
if ((X > A) and (X < B)) and ((Y > C) and (Y < D)) then begin Label1.Caption := DBGrid1.Fields[1].AsString; Found := True; end else Table1.Next; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.