Fonction FnDigit turbo pascal

LastVampire Messages postés 6 Date d'inscription lundi 9 août 2004 Statut Membre Dernière intervention 15 juin 2006 - 15 juin 2006 à 11:42
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 15 juin 2006 à 13:45
Bonjour,
Durant mon stage je doit convertir un fichier créer en turbo pascal, en un modul Visual basic a implanter au coeur d'un autre programme.

Il me semble que le delphi de borland s'appui sur le pascal, donc peut etre qu'ici je pourrez trouver un peu d'aide.

Je voudrai savoir ce que devrai renvoyer la ligne suivante :

  FDate := FnDigit(j,2)+'/'+FnDigit(m,2)+'/'+FnDigit(a,2)+'-'
  +FnDigit(ac*24 div EtDB.NbAcqui,2)+':'+FnDigit((ac*24 mod EtDB.NbAcqui) * 60 div EtDB.NbAcqui,2);

Je pense que sa devrai renvoyer une date au format : jj/mm/aa-hh:mm
es-exact ?
Cordialement Romain

1 réponse

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
15 juin 2006 à 13:45
en effet, aprés une bref analyse on peut dire que :

FnDigit(j,2) renvois le jours de 01 a 31
FnDigit(m,2) renvois le mois de 01 a 12
FnDigit(a,2) renvois l'année de 00 a 99
FnDigit(ac*24 div EtDB.NbAcqui,2) renvois l'heure de 00 a 23
FnDigit((ac*24 mod EtDB.NbAcqui) * 60 div EtDB.NbAcqui,2) renvois les minutes de 00 a 59

la methode semble un peu lourde toute fois.
mais comme format n'est pas disponible sous Turbo Pascal on ne peu pas l'ecrire comme cela :

var h,n : word;
begin
  with EtDB do begin
    h := ac*24 div NbAcqui;
    n :=
(ac*24 mod NbAcqui) * 60 div NbAcqui;
  end;
  FDate := format('%.2d/%.2d/%.2d-%.2d:%.2d',[j,m,a,h,n]);
end;

ce qui aurait été beaucoup plus court et surtout moins lourd.
0
Rejoignez-nous