begin process at 2012 02 11 19:05:43
  Trouver un code source :
 
dans
 

27 commentaire(s) de TropNul sur des sources sur tout CodeS-SourceS

Déposé sur Afficher le résultat d'une requête sql sur plusieurs page

Bonjour,

C'est de la pagination en somme. En l'état, le code source est assez difficile à intégrer sur un site de production. Il serait donc plus judicieux d'encapsuler tout cela dans une classe.

Cordialement

nb : fais une recherche sur "pagination php" pour d'autres exemples
Posté le : 18/06/2009 20:35:05

Déposé sur Worlddmt - infos des canaux v 1.1

Bonjour,

(chalut Wims ^^)

juste pour dire que j'aime bien le:

alias tchan didtok wstat 1 32 $regsubex($str(a,$chan(0)),/(a)/g,$+($chan(\n),$chr(32)))

ça me fait rappeler de bons souvenirs ... :)

Cordialement,
TropNul
Posté le : 16/10/2008 07:27:48

Déposé sur Whois chan séquentiel

Il existe 2 sortes de variables. L'une etant 'locale', l'autre 'globale'. Il faut etre attentif lors de la programmation afin de savoir ou utilises des globales, et ou utiliser des locales.

Les variables globales doivent etre utilisees uniquement et si et seulement si la variable doit toujours exister meme a l'exterieur de la fonction (alias) ou elle a ete creee. Apres leurs creation, elles resteront dans la memoire tant que l'utilisateur/le programmeur n'aura pas ordonne leurs 'destruction'.

Les variables locales ne peuvent exister hors du champ d'application de la fonction (alias) ou elles ont ete creees. Cela permet de ne pas surcharger la memoire car elles se 'detruisent' d'elles memes apres l'execution de la fonction.

Dans le langage mIRC, pour creer une variable globale, il faut utiliser la commande < /set %nom > et pour creer une variable locale, il faut faire < /var %nom OU /set -l %nom >

Voyons quelques exemples.

alias globvar {
  If %test { unset %test }
  set %test salut toi
  echo -s %test
}

alias locvar1 {
  If %test { unset %test }
  var %test = salut toi
  echo -s %test
}

alias locvar2 {
  If %test { unset %test }
  set -l %test salut toi
  echo -s %test
}

Executes ces alias et apres chaque execution, regarde dans les variables de mIRC. Si %test existe, alors la variable est globale. Autrement, elle etait locale. :)

J'espere que tout cela t'aidera a mieux cerner les 2 concepts de variables globales et locales.

Cordialement.
Posté le : 18/12/2007 17:15:52

Déposé sur Whois chan séquentiel

L'idee de faire un whois toutes les X secondes/millisecondes est bonne et je suis sur que ca tombe dans la categorie des "Ca peut servir, donc je garde".

Par contre,  tu devrais le faire un peu plus generaliste. Que ca fonctionne pour tous les serveurs (donc, a oublier la verification de l'age), et cela en faisant uniquement un systeme de queue de whois.

J'en avais fait un pour un antispam y'a de ca des mois... J'avais utilise uniquement un timer toutes les 5 secondes qui se redeclenchait des lors que la RAW 318 (pour 'end of whois' je crois (meaculpa si ce n'est pas celle-la (pas le temps de verifier (mais vous voyez l'idee ;) )))) et donc nul besoin de faire une 'pause' avec les COM objects (bien que c'est sympa pour apprendre les COM objects ;) ).

A toi de voir maintenant pour les modifications pour 'generaliser' ta source ainsi permettant a beaucoup plus de monde de l'apprecier.

Cote optimisations, il y'en a plusieurs:

(1) Indente tes codes correctement, que l'on puisse au moins lire rapidement ceux-ci. (ce n'est pas une optimisation mais plus de l'esthetisme ;) )

(2) Les '/' ne sont pas necessaires pour appeler une commande.
    e.g: /echo @WhoResult $timestamp 8 %nickwho - 4 %asvwho  ( %chanwho )
         devient
         echo @WhoResult $timestamp 8 %nickwho - 4 %asvwho  ( %chanwho )

(3) Lorsque tu as besoin de variables qui seront utilisees uniquement dans l'evenement/la fonction appelant(e), nul besoin d'en faire des globales. Preferes plutot des variables locales. Ainsi

  set %nickwho $6
  set %asvwho $9
  set %maskbanwho $4
  set %fullasvwho $9-

devient

  var %nickwho = $6 , %asvwho = $9 , %maskbanwho = $4 , %fullasvwho = $9-

ou meme

  set -l %nickwho $6
  set -l %asvwho $9
  set -l %maskbanwho $4
  set -l %fullasvwho $9-

(4) nul besoin de faire

  set %nbrnick $nick(#dizaine,0)
  var %i = 1
  var %MAX = %nbrnick

Fais plutot

  var %i = 1 , %MAX = $nick(#dizaine,0)



Voila pour le moment :)

Cordialement,
tropnul
Posté le : 13/12/2007 17:58:30

Déposé sur Black-list

Ce code est rempli de failles. Juste pour l'exemple:

# alias add {
# write Bl.txt $1
# msg $active 4[ 7B15lack-7L15iste 4] 15Ajout de7 $1 15[7- $+ $lines(bl.txt) $+ 7-15] 15raison :7 $2-
# halt
# }

Je ne vois aucune verification lors de l'appel de l'alias. Du coup je peux rajouter vraiment n'importe quoi dans la blacklist. La commande < /add 1 > fonctionnera. Dommage.

Dans les events, tu ne verifies jamais que tu sois @ au moment de kicker/bannir. Ca risque de planter quelques fois donc ou plutot ca risque de rendre des erreurs chiantes.

Dernier point, les pseudos contenus dans l'expression rationnelle ne sont pas des spams.

Cordialement
Posté le : 11/11/2007 04:35:07

Déposé sur Amitube player

Je ne l'ai pas teste encore mais je dirais ceci tout de meme:

" Enfin quelque chose de bien :') "
Posté le : 31/10/2007 17:42:57

Déposé sur Sinusoïdale

lol ...

Votre mepris a l'encontre de celles/ceux qui font des erreurs me surprend. Si les sources postes violent les regles du site, alors les admins les enleveront. Enfin, je veux dire que de s'acharner sur ces personnes ne les changera pas. Enfin, a mon avis ce n'est pas la meilleur methode.

Ne vaut-il mieux pas les rediriger vers un forum/tag pour discuter de leurs code, aussi nul qu'ils puissent etre ? Ou mieux, corriger en direct le code ?

Par contre, lorsqu'une source sera enlevee, alors la ils/elles pourront aller voir les admins pour en connaitre la cause.

Aussi, avec ce genre de 'claque' a chaque fois qu'un 'mauvais' code  est mise sur le site, ne vous etonnez pas que le desert mirceen devienne un desert marsien ;)

Desole d'etre aussi direct mais la il le fallait :). Je sais que vous comprendrez. Au cas contraire, desole pour vous.

Sur ce, a bientot.
Posté le : 28/10/2007 18:14:26

Déposé sur Une commande pour ajouter vos blague

Tiens une remarque qui me taraude ...

Ce serait bien qu'on puisse editer un de nos commentaires :D
Posté le : 28/10/2007 12:11:59

Déposé sur Une commande pour ajouter vos blague

Oula, voila une chose bizarre:

//echo -a $regex(     !add super,/^((?:\s*?)!(blague|del(?:\s\d{1,})|add(?:\s[^$]{5,})|blague-aide)$)/i) | //echo -a $regml(2)

renvoit:
1
add super

Damned!

Donc, en effet, il ne faut pas mettre de (?:) si ensuite on fait ceci (pattern(?:pattern)pattern) ! lol, honte a moi !

Du coup, le pattern devient:

/^((?:\s*?)!(blague|del(\s\d{1,})|add(\s[^$]{150,})|blague-aide)$)/Si)

et faudra bien sur mettre var %e = $gettok($regml(2),1,32) par la suite.

donc le code devient:

On $*:Text:/^((?:\s*?)!(blague|del(\s\d{1,})|add(\s[^$]{150,})|blague-aide)$)/Si:*:{
  Var %e = $gettok($regml(2),1,32)
  If (!%busy) {
    Set -u7 %busy 1
    If (%e == blague) {
      .Timer 1 2 .Notice $nick $read(blagues.txt)
    }
    ElseIf (%e == del) {
      If ($nick isop $chan) && ($strip($2) <= $lines(blagues.txt)) {
        Write -dl $+ $v1 blagues.txt
        Msg $chan [Blague Effacée]
      }
    }
    ElseIf (%e == add) {
      Write blagues.txt Le $date(dd/mm/yy) a $time : $2- [ $+ $nick $+ ]
      Msg $chan [Blague Ajoutée]
    }
    ElseIf (%e == blague-aide) {
      Var %com = .Notice $nick
      .Timer 1 1 %com Pour lire une blague au hasard: !blague
      .Timer 1 2 %com Pour ajouter une blague: !add [message] (sans crochets)
      .Timer 1 4 %com Pour effacer une blague (seulement pour les op): !del [numero]
      .Timer 1 5 %com Cette commande a ete mise a votre disposition pour vous distraire.
      .Timer 1 7 %com Merci de ne pas en abuser et merci de ne pas flooder le bot.
    }
  }
  Else {
    .Notice $nick Veuillez patienter quelques secondes et reessayez ...
  }
}

encore desole :s
Posté le : 28/10/2007 12:10:27

Déposé sur Une commande pour ajouter vos blague

Pour ce pattern:

/^(!(blague|del(?:\s\d{1,})|add(?:\s[^$]{150,})|blague-aide)$)/Si

de taper seulement '!add par exemple' ne fonctionnera evidement pas etant donne la limite de caractere imposee a 150. Donc il faut faire quelque chose de la sorte '!add un truc plus long que cent cinquante caractere' pour que ca match.

J'ai mis le (?:) car je n'ai pas besoin de capturer la suite. Ainsi, avec simplement $regml(2) on retrouve la commande voulue. Bien sur, de ne pas mettre de (?:) et par la suite de faire var %e = $gettok($regml(1),1,32) fonctionnera tout aussi bien :).

Je vais meme aller plus loin a present en proposant ce pattern pour palier aux scripts ayant des addons de couleurs chiants !

/^((?:\s*?)!(blague|del(?:\s\d{1,})|add(?:\s[^$]{150,})|blague-aide)$)/Si

Ceci fait, meme si un script d'input fait cela: '<quelques.espace.ici>!blague', le pattern matchera.

Pour en revenir a la limite de caractere, on pourrait mettre de 150 a 920 mais etant donne que le serveur lui meme tronquera le texte recu par le bot, j'ai donc impose que la limite inferieur.

:)
Posté le : 28/10/2007 12:00:42

1 2 3


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales