celtic00
Messages postés4Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention24 mars 2005
-
23 mars 2005 à 18:31
cs_ManChesTer
Messages postés374Date d'inscriptionvendredi 20 octobre 2000StatutModérateurDernière intervention15 janvier 2021
-
25 mars 2005 à 00:01
Bonjour,
Pour des besoins professionnels, je dois faire un petit soft.
Dans ce soft je dois entrer l'IP et le gateway.
Chez nous, le gateway est toujours l'IP se terminant par 200.
Petit exemple : si IP = 192.168.0.1 alors le gateway sera 192.168.0.200
A l'aide d'une petite fonction (dont la base a été trouvée sur ce site), j'arrive à "mettre à jour en temps" réel le gateway par rapport à l'IP (quand j'entre un chiffre dans l'edit box de lIP, il entre automatiquement dans l'edit du gateway).
Comme edit box, j'utilise une TJvIPAdress du composant Jedi.
Mon problème vient de la dernière portion qui doit être remplacée par le 200.
J'ai bien des idées théoriques mais la pratique ne marche pas du tout.
cs_ManChesTer
Messages postés374Date d'inscriptionvendredi 20 octobre 2000StatutModérateurDernière intervention15 janvier 2021 23 mars 2005 à 20:15
En plus rapide :
Function IP2Gateway(IP: String): String;
var P:Pchar;
Begin
Result:='';
P:=StrRScan(Pchar(Ip),'.');
If P<>Nil then
begin
Delete(ip,Length(ip)-StrLen(p),StrLen(p));
Result:=ip+'.200';
end;
end;
Si probleme le resultat seras vide ('');
If IP2Gateway('127.0.0.1')<>'' then
Showmessage('Le gateway est '+IP2Gateway('127.0.0.1')
else
Showmessage('Erreur lors de la conversion du getaway, veullez introduitre une ip valide');
cs_ManChesTer
Messages postés374Date d'inscriptionvendredi 20 octobre 2000StatutModérateurDernière intervention15 janvier 2021 24 mars 2005 à 23:58
Yop Japee ;o))
Ca doit dépendre de la version et des options de compil, moi sur ma bécane sous d7 pour 10.000 execution j'ai (plus le chiffe est bas +c rapide):
896 pour ta routine
544 pour ma routine
421 pour la routine ci dessous (une obtimisation de la 1ere qui vire le strlength (inutile))
Function IP2Gateway(IP: String): String;
var P:Pchar;
Begin
Result:='';
P:=StrRScan(Pchar(Ip),'.');
If P=Nil then exit;
Delete(ip,Length(ip)-([mailto:p-@ip),4 p-@ip),4]);
Result:=ip+'.200';
end;