CALCUL DE DISTANCE À PARTIR DES COORDONNÉES

Messages postés
459
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
- - Dernière réponse : posop
Messages postés
1
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
12 mai 2010
- 12 mai 2010 à 12:50
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/35685-calcul-de-distance-a-partir-des-coordonnees

Afficher la suite 
posop
Messages postés
1
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
12 mai 2010
-
salut
j'ai télécharger le zip
mais comment ouvrir l'interface?

merci de répondre
pbg40
Messages postés
1
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
28 août 2009
-
Un peu étonnant, si vous utilisez le code tel quel, il génère une erreur de l'ordre de +10%. La faute au rayon de la terre (ligne 106) codé à 6535 alors qu'il est de 6371 km (+ ou - 5km).
sberdli
Messages postés
2
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
22 novembre 2007
-
une daube quoi....
sneb6
Messages postés
1
Date d'inscription
jeudi 8 novembre 2007
Statut
Membre
Dernière intervention
8 novembre 2007
-
bon je c ke vou allé dire ke je suis nul mé la g besoin d'aide. g télécharger le fichier zip mé une fois décompréssé j'obtien des fichier keje peu ouvir mé ki son écri dans un charabia. commen pourége faire pour pouvoir utilisé le logiciel merci de me répondre ^_^
f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
patch rapide pour ValidFloat :



function ValidFloat(const S : string) : boolean;
var VX : integer;
const
// ensemble des nombres
VN : set of char = ['0'..'9'];
// ensemble nombres et separateur de decimales
VES : set of char = ['0'..'9','.',','];

function CountAChar(const C : char) : integer;
var CX : integer;
begin
result := 0;
for CX := 1 to Length(S) do begin
if S[CX] = C then Result := Result + 1;
end;
end;

begin
// par defaut on considere que le chiffre representé n'est pas valide.
result := false;

IF
// si la chaine est vide ou bien
(length(S) = 0) or
// si le premier et le dernier caractere n'est pas un chiffre ou bien
( (NOT (S[1] IN VN)) or (NOT (S[Length(S)] IN VN)) ) or
// si il y a plusieurs separateurs identique dans la chaine ou bien
( (CountAChar('.') > 1) or (CountAChar(',') > 1) ) or
// si il y a (au moins) deux separateur different dans la chaine alors
( (pos('.',s) <> 0) and (pos(',',s) <> 0) )
THEN
// on sort...
exit;

for VX := 1 to length(s) do begin
// si l'un des caracteres est invalide on sort...
if NOT (S[VX] IN VES) then exit;
end;
// si tout vas bien jusqu'ici, c'est que la chaine represente bien un nombre valide.
result := true;
end;