FONCTION DISTANCE ENTRE DEUX POINTS

fabiin Messages postés 329 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 8 décembre 2009 - 26 mai 2002 à 11:35
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017 - 13 janv. 2009 à 10:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11941-fonction-distance-entre-deux-points

tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
13 janv. 2009 à 10:27
bon bin jai trouver ma solution bien que les chiffres a vigule il en veut pas

si vous avez une un solution

voici le code

unit Unit10;

interface

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

type
TForm10 = class(TForm)
Edit5: TEdit;
Button1: TButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit6: TEdit;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form10: TForm10;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
VAR
d: real;
ax, ay, bx, by, vitesse, temps: Extended;
heure, minute : Extended;
seconde : integer;
begin
ax := StrToInt(Edit1.Text);
ay := StrToInt(Edit2.Text);

bx := StrToInt(Edit3.Text);
by := StrToInt(Edit4.Text);
vitesse := StrToInt(Edit5.Text);

// calcul de la distance entre A et B
d := sqrt(power(ax - bx, 2) + power(ay - by, 2));

temps := d * vitesse;

heure := temps / 60 ;
minute := temps - (Floor(heure) * 60);
seconde := round((temps - (Floor(heure) * 60) - Floor(minute)) * 60);

DateTimePicker3.Time := DateTimePicker2.Time + (heure / 24);
DateTimePicker4.Date := DateTimePicker1.Date + (heure / 24);

Edit6.Text := IntToStr(Floor(heure))+' h '+
IntToStr(Floor(minute))+' min '+
IntToStr(seconde)+' sec';

end;


end.
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
7 janv. 2009 à 10:40
bonjour vous allez etres peut etre mes sauveur ?
voila jai une question ?
jai essayer vos formule mais j'obtien pas ce que je veux ?
j'explique rapido ce que je souhaite faire
jaimerais calculé la distance d'un point a un autre

sachant que le point est representé par un carré sur une grille de 200 par 200 carré


ex: village xa yb et je vais au village xb yb
je met 00:12 minute par carré a me deplacé

je part a une date et heure que je choisi

combien de temp je vais mettre et a quel heures j'arrive et a quel date

voila

exemple :


//cordonnées saisie dans un Tedit


village Tedit1 (xa) Tedit2 (ya)
village Tedit3 (xb) Tedit1 (yb)

//saisie du temp de déplacement en minute
temps dep tedit4 (00:12)
TM

//saisie heure de depart
heures dep tedit5(00:00:00)
HD

//saisie date de depart
date dep tedit6 (01 décembre 2009)
DDP

// afficHage calcule deplacement EN TEMP de (xa,yb) à (xb,yb)
AFICHAGE TDP tedit7(05:55:00)


//affichage heure arrivée
heure arrivée tedit9(00:00:00)
HAR

//affichage date arrivé
AR tedit8 (02 décembre 2009)



seriez vous m'expliqué comment je peu posé cela ?

j'y suis arrivé sous excel maissou delphi j'y arrive po
voici mon mail perso tsainvet@yahoo.fr si jamais vous auriez un petit exemple a me montrer ou juste pour d'autre info .. si vous y arrivé vous me sorté de la panade.

merci
fabiin Messages postés 329 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 8 décembre 2009 6
26 mai 2002 à 11:35
bien vu :-)
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
26 mai 2002 à 11:02
Sachez qu'il existe une fonction dans la librairie Math.pas qui calcule l'hypoténuse, car il faut bien appeler les choses par leur nom, et qui renvoie un résultat de type Extended.
------------------------------------------------
Hypot calcule la longueur de l'hypoténuse.
Unité : Math
Catégorie : routines trigonométriques

function Hypot(X, Y: Extended): Extended;

soit :
Result := Hypot((X2-x), (Y2-Y));
fabiin Messages postés 329 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 8 décembre 2009 6
26 mai 2002 à 01:50
lol ;)
cs_Gysmo Messages postés 209 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 13 décembre 2002
26 mai 2002 à 01:44
Merci Pythagore on dit!

@+
Rejoignez-nous