Duration recréé en alias (tout simple)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 048 fois - Téléchargée 32 fois

Contenu du snippet

cette petite alias agis comme $duration , c'est a dire qu'elle convertis une duré a la base en seconde: en années, semaines, jours, heures, minutes et secondes

example:

//echo -a $wduration(6001000000)

donera:

190 Ans 15 Semaines 1 Jour 26Min 40Secs

il n'y a rien de bien compliqué dans ce code, mais je le poste comme example pour ceux ki voudrais s'en inspirer pour faire d'autres alias dans le meme genre mais plus pousées

pour la seconde source: utilisez $wdur(xxxx)
ou x est bien évidement un nombre
le resultat est le meme qu"avec $wduration mais il est plus rapide du fait qu"il n'y a plus de boucles :) c'est plus direct

merci a pada pour ses conseils

Source / Exemple :


wduration {
  if ($isid) {
    if ($1 isnum) {
      var %n = $1 , %heures 0 , %min 0 , %days 0 , %year , %week 0
      while (%n >= 31536000) {
        inc %year
        dec %n 31536000
      }
      while (%n >= 604800) {
        inc %week
        dec %n 604800
      }
      while (%n >= 86400) {
        inc %days
        dec %n 86400
      }
      while (%n >= 3600) {
        inc %heures
        dec %n 3600
      }
      while (%n >= 60) {
        inc %min
        dec %n 60
      }
      return $iif(%year > 0,$ifmatch Ans) $iif(%week > 0 ,$ifmatch Semaines) $iif(%days > 0,$ifmatch Jour $+ $iif(%days > 1,s)) $iif(%heures > 0,$ifmatch $+ Heure $iif(%heures > 1,s)) $iif(%min > 0,$ifmatch $+ Min) $iif(%n > 0,$ifmatch $+ Secs)
    }
    else { return N/a }
  }
}

;------------------------------------------
;la je met la nouvelle source (j'ai laissé l'anciene pour que vous ayez de quoi comparer sur l'anciene)
;------------------------------------------

wdur {
  if ($isid) {
    if ($1 isnum) {
      var %n = $1  , %heures 0 , %min 0 , %days 0 , %year , %week 0 , %millen 0 , %siecl 0
      var %millen = $int($calc(%n /31556952000))
      dec %n $calc(%millen *31556952000)
      var %siecl = $int($calc(%n /3155695200))
      dec %n $calc(%siecl *3155695200)
      var %year = $int($calc(%n /31556952))
      dec %n $calc(%year *31556952)
      var %week = $int($calc(%n / 604800))
      dec %n $calc(%week *604800)
      var %day = $int($calc(%n / 86400))
      dec %n $calc(%day * 86400)
      var %heures = $int($calc(%n /3600))
      dec %n $calc(%heures *3600)
      var %min = $int($calc(%n / 60))
      dec %n $calc(%min * 60)
      if ($2) {
        if ($2 == 1) { return %millen %siecl %year %week %days %heures %min %n }
        elseif ($2 == 2) { return %millen millénaire %siecl siecles %year anées %week semaines %days jours %heures heures %min minutes  %n secondes }
      }
      return $iif(%millen > 0,$ifmatch Millenaire $+ $iif(%millen > 1,s)) $iif(%siecl > 0,$ifmatch Siecle $+ $iif(%siecl > 1,s)) $iif(%year > 0,$ifmatch Ans) $iif(%week > 0 ,$ifmatch Semaines) $iif(%days > 0,$ifmatch Jour $+ $iif(%days > 1,s)) $iif(%heures > 0,$ifmatch $+ Heure $+ $iif(%heures > 1,s)) $iif(%min > 0,$ifmatch $+ Min) $iif(%n > 0,$ifmatch $+ Sec $+ $iif(%n > 1,s))
      else { return N/a }
    }
  }
}

Conclusion :


et ouis je sait que cette alias n'est pas aussis rapide qu"un vrais $duration
mais je l'ai juste faite pour relever le defis (je vais tenter de refaire une bonne partie des identifieurs mirc pour m'amuser un peu)

voila voila au plésir :)

A voir également

Ajouter un commentaire Commentaires
Messages postés
59
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
27 novembre 2007

merci bien HISOKA2501 je te tien au courant si jamais j'ais des problemes avec la remote :)
Messages postés
264
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
7 juillet 2009

pour le $v1 oui c'est normal c'est lidentifieur qui remplace $ifmatch depuis mirc 6.1

oui c'est normal qu'il ne genere pas de fichier.txt
si tu veu sauver ta bdd:
/help /hsave
le nom de la table est: anniversaire

voila en esperan que ca puisse t'aider :)
Messages postés
59
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
27 novembre 2007

deux questions:

c'est normal que ca ne fait pas de fichier txt dans le repertoir du bot ?

et est ce que var %date $v1 c'est normal ou est ce que ce serais pas plutot var %date $1

???
Messages postés
59
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
27 novembre 2007

ok merci
Messages postés
264
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
7 juillet 2009

remplace:
.notice $nick paramètre manquant.

par:

else .notice $nick paramètre manquant.

ca devrais aller mieux :)
Afficher les 19 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.