1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
procedure TGESTION.BtCreationLotClick(Sender: TObject);
var
XlApp,XlBook,
XlSheet : Variant;
Ligne : Integer;
Long1,Long2,
Lat1,Lat2 : Extended;
begin
Screen.Cursor := CrHourGlass;
If (Edit1.Text <> '') And (Edit2.Text <> '') Then
With Query1 Do
Begin
Long1 := StrToFloat(Trim(Copy(Edit1.Text,Pos(',',Edit1.Text)+1,Length(Edit1.Text))));
Long2 := StrToFloat(Trim(Copy(Edit2.Text,Pos(',',Edit2.Text)+1,Length(Edit2.Text))));
Lat1 := StrToFloat(Copy(Edit1.Text,0,Pos(',',Edit1.Text)-1));
Lat2 := StrToFloat(Copy(Edit2.Text,0,Pos(',',Edit2.Text)-1));
Close;
SQL.Clear;
SQL.Add('SELECT CAST(CONCAT(trim(TRAILING ''0'' FROM latitude),'','',trim(trailing ''0'' from longitude))as char(100)) as gps, ');
SQL.Add('num_voie,S,concat(type_voie,'' '',nom_voie) as voie,code_postal,ville,categ_imb from prise ');
SQL.Add('where latitude between :latmin and :latmax and longitude between :longmin and :longmax');
If CBDeployeVille.Checked = True Then
SQL.Add(' and imb_etat = "deploye"');
If Lat1-Lat2 < 0 Then
Begin
ParamByName('latmin').AsFloat := Lat1;
ParamByName('latmax').AsFloat := Lat2;
End
Else
Begin
ParamByName('latmin').AsFloat := Lat2;
ParamByName('latmax').AsFloat := Lat1;
End;
If Long1-Long2 < 0 Then
Begin
ParamByName('longmin').AsFloat := Long1;
ParamByName('longmax').AsFloat := Long2;
End
Else
Begin
ParamByName('longmin').AsFloat := Long2;
ParamByName('longmax').AsFloat := Long1;
End;
Open;
If FindFirst Then
Begin
Ligne := 2;
XlApp := CreateOleObject('Excel.Application');
Xlbook := XlApp.Workbooks.Add();
XlSheet := XlBook.worksheets[1];
XlApp.Visible := True;
XlSheet.Cells[1,1].Value := 'GPS';
XlSheet.Cells[1,2].Value := 'N°';
XlSheet.Cells[1,3].Value := 'S';
XlSheet.Cells[1,4].Value := 'VOIE';
XlSheet.Cells[1,5].Value := 'CP';
XlSheet.Cells[1,6].Value := 'VILLE';
XlSheet.Cells[1,7].Value := 'PRISES';
While Not Eof Do
Begin
XlSheet.Cells[Ligne,1].Value := FieldByName('GPS').AsString;
XlSheet.Cells[Ligne,2].Value := FieldByName('num_voie').AsString;
XlSheet.Cells[Ligne,3].Value := FieldByName('S').AsString;
XlSheet.Cells[Ligne,4].Value := FieldByName('voie').AsString;
XlSheet.Cells[Ligne,5].Value := FieldByName('code_postal').AsString;
XlSheet.Cells[Ligne,6].Value := FieldByName('ville').AsString;
XlSheet.Cells[Ligne,7].Value := FieldByName('categ_imb').AsString;
Ligne := Ligne + 1;
Next;
End;
End;
End;
Screen.Cursor := CrDefault;
end; |
Partager