UTILISATION DES CARTE GEO SUR DELPHI ?

Résolu
proli Messages postés 5 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 24 mai 2009 - 23 mai 2009 à 12:00
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 25 mai 2009 à 11:27
salut a tous

je veux faire rentrer une petite carte dans mon logiciel (gestion du personnel et du trafique dans un port commerciale) qui aura comme tache , la visualisation des navires a quais je me suis inspirer d'un site web
http://www.portdebejaia.com.dz/epb.htm
dans le menu a gauche allez a poste a quai

y a t'il un moyen pour faire un schema pareil j'utilise delphi 5 pro

j'utilise une base de donnée navire qui est mise a jour quotidiennement entrer sortie c a dire que le schema peut être relier avec pour récupérer les navires a quai

merci d'avance

<!-- / message -->

7 réponses

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
24 mai 2009 à 14:24
Salut,


- Tu mets une carte du port dans un TImage.

  Si la carte est trop grande, tu mets ce TImage dans une TScrollBox.

- Pour chaque quai, tu prévoies une petite TImage représentant un navire sur fond uni avec la propriété 'transparent' et 'ShowHint' à true.

- A chaque mise à jour, tu devras jouer sur la propriété 'visible' de ces vignettes en fonction de la présence ou de l'absence de navire à ce quai.

- Les renseignements sur le cargo seront mis à jour dans la propriété 'Hint' de chaque vignette.


Voilà, en gros, le principe à suivre.
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 mai 2009 à 13:48
bonjour,
Les emplacemenst des bateaux étant fixes, leurs images étant les mêmes, les propriétes des navires étant reliés eux aussi à la base de données..
bref, que reste t-il à concevoir?

Le passage de la souris (OnMouseMove) sur la zone de l'image concernée et à afficher une petite forme ou un memo ou list box ou un conteneur quelconque récupérant les infos de la base..

cantador
0
proli Messages postés 5 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 24 mai 2009
23 mai 2009 à 20:23
merci 

mais les navires  sont pas fixes sur leur emplacements puisque il sont misent a jour quotidiennement des leur sorties et entrees et en plus ils vont pas toujours a un emplacement fixe :

 dans la mise a jour quotidienne des navires j'utilise une table de donnee
"navire : c
"date d'arrivee : d
"tonnage generale : n
"poste a quai : d

c a dire que chaque navire entrant doit avoir un emplacement nouveaux alors une nouvelle image du navire dans la carte du port et quand le navire sort l'image doit disparraitre .
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
24 mai 2009 à 00:01
c a dire que chaque navire entrant doit avoir un emplacement nouveaux

ce sont les emplacements réels ou des emplacements définis à l'avance ou aléatoires ?

cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
proli Messages postés 5 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 24 mai 2009
24 mai 2009 à 08:24
salut

j'ai neuf poste a quai (emplacement) chaque poste a un nom , si je fais par exemple entrer un navire je doit specifier son poste a quai , apres dans dans la carte je doit avoir une image d'un navire a l'emplacemet donnee .

merci
0
proli Messages postés 5 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 24 mai 2009
24 mai 2009 à 21:15
merci

je vais voir cette methode apres  si je rencontre quelque problemes je vais faire un autre poste plus specifique

merci a tous
a la prochaine .....
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
25 mai 2009 à 11:27
autre solution :
voici un exmple avec un rectangle image mais on peut aussi faire une forme plus précise pour les bateaux avec un polygone (avec un Array of Tpoints) et créer une fonction PointInPolygone :

unit Unit1;


interface


uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;


type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
  private
    procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
    procedure StockageInfo;
  public
    { Public declarations }
  end;


var
  Form1: TForm1;


implementation


{$R *.dfm}


procedure TForm1.StockageInfo;
begin
  Memo1.lines.Add(' '); // premier élèment de la bdd
  Memo1.Lines.Add(' '); // 2e élèment de la bdd
  // etc etc.
end;


procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
  pt: TPoint;
  r: TRect;
begin
  if (Msg.message = WM_MOUSEMOVE) then
  begin
    getCursorPos(pt);
    pt := ScreenToClient(pt);
    r := Rect(Image1.Left, Image1.Top,
      Image1.Left + Image1.Width, Image1.Top + Image1.Height);


    if PtInRect(r, pt) then
    begin
      Memo1.Left := Image1.Left;
      Memo1.Clear;
      StockageInfo;
      Memo1.Visible := true;
    end
    else
      Memo1.Visible := false;
  end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Visible := false;
  Application.OnMessage := AppMessage;
end;


end.

cantador
0
Rejoignez-nous