TVSTAR (PROGRAMME TV, TÉLÉ POUR BOT, PLUS DE 112 CHAÎNES) - COMMANDES !PROG (OU

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 7 juil. 2005 à 21:14
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 20 nov. 2007 à 07:28
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/32579-tvstar-programme-tv-tele-pour-bot-plus-de-112-chaines-commandes-prog-ou-tv-et-recherche

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
20 nov. 2007 à 07:28
je ne suis pas responsable pour le changement de présentation des sites :/
normal qu'après plusieurs années, ils tendent à ne plus fonctionner

non, le dialog n'y est plus, enfin j'crois pas, ça fait tellement longtemps ...
sincèrement, je ne pense pas avoir le temps de la mettre à jour, désolé
Wcorsica Messages postés 5 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 19 novembre 2007
19 nov. 2007 à 22:24
Heuu c moi ou ton jolie dialog il est pas dans le code ?
Wcorsica Messages postés 5 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 19 novembre 2007
19 nov. 2007 à 22:20
Marche pas non plus :/
Floorfilla91 Messages postés 27 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 18 février 2008
10 févr. 2007 à 11:26
Encor une remote en carton qui fonctionne pas dans mon bot.
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
12 juil. 2005 à 21:18
entièrement d'accord avec toi sur la manière de coder :)
perso je pense que si on fait un code, il faut tout d'abord que le créateur le comprenne sans aucune difficulté (du genre s'il n'y touche pas pendant un certain temps)
le "petit +", c'est d'être compréhensible par les autres
c'est très dûr de plaire à tout le monde, voir même impossible, il sera toujours possible de chipotter
mon code n'est pas parfait, je le reconnais sans problème, mais il me convient (je trouve que pour scanner 9 pages, 6-7sec sont raisonnables, surtout vu la taille des pages)

ton alias a.e est correct, je corrige le .mrc
d'autres idées de configurations à apporter ? :)
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
12 juil. 2005 à 20:39
"une façon simple de montrer que le return est mieux :"
Ce n'est pas une question de mieux ou pas là. Surtout qu'on parlait bien de rapidité d'execution au départ ;-).

"tu tapes /test, et tu vois bien que le halt arrête le code entier, alors que return ne fait que "sens interdit" dans le paragraphe concerné"
C'est normal, chacun sa fonction : return et halt n'ont pas les mêmes attributions, tout dépend de l'utilité. Mais return est souvent employé abusivement pour stopper le script en cours.

De plus comme je l'ai bien précisé dans un de mes posts précédents, return permet de retourner vers le script appelant s'il y en a un. Donc parfois on a besoin de return pour stopper la routine en cours et retourner vers la routine appelante.

Mais dans ton code, avant que tu ne le modifies, les return, par exemple, arrivaient dans un devent sclick et en fin de paragraphe "if ($did == 4)", n'étant appelés par aucune routine et ne retournant aucune valeur, donc inappropriés ;-)


Autre exemple, ton alias a.e :

alias -l a.e {
if (!$1) return
echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[0 $1- 12]
}

L'alias est bien appelé par une autre routine donc le return pourrait avoir sa place, cependant, si l'alias se termine normalement, la routine précédente continuera où elle s'était arrêtée de toute façon. Donc il aurait mieux fallu faire :

alias - a.e {
if ($1) echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[0 $1- 12]
}

Sinon pour en revenir au fichier ini, je comprends ton point de vue, et le fait que tu préfères ne fournir qu'un unique fichier faisant tout, pour simplifier l'installation par l'utilisateur. Moi je préfères privilégier la clarté d'un code, avec un découpage par utilité. Tout ce qui ne concerne pas du traitement proprement dit, mais qui concerne des données, il vaut mieux les placer dans des fichiers externes (voire les remonter dans des hash tables pour la rapidité d'accès aux données ensuite).

De toute façon, chacun a ses petites manières et chacun a sa façon de coder, on ne peut pas vraiment dire qu'il y en a de meilleures que d'autres, tout dépend de quel point de vue on se place. Ce qui est bien c'est que chacun apporte son point de vue, il n'y a que comme cela qu'on progresse et qu'on s'améliore.

Bonne continuation.
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
12 juil. 2005 à 16:34
une façon simple de montrer que le return est mieux :
alias test {
test1
echo -a a passé le test1
test2
echo -a a passé le test2
}
alias test1 return
alias test2 halt

tu tapes /test, et tu vois bien que le halt arrête le code entier, alors que return ne fait que "sens interdit" dans le paragraphe concerné xD
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
11 juil. 2005 à 23:32
j'ai réfusé de faire comme ça, tout simplement pour ne pas avoir de fichier supplémentaire, je trouve ça plus pratique :D
m'enfin c'est correct, et ce n'est pas moins bien

d'accord pour les elseif, j'avais pas vu cette partie, je corrige de suite

pour les accents, j'ai aucun problème si je télécharge le code à partir du site, n'étant pas membre club, je n'ai donc pas ce problème
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
11 juil. 2005 à 22:11
Oui, je clique directement sur l'option voir, afin de visualiser le code au lieu de le télécharger et apparemment il a fait sauter tous les caractères avec accents. Donc, pas d'inquiétude, cela ne vient pas de ton code.

Comme je te disais, tu as juste à mettre elseif à la place de if, tu peux enlever les return correspondants, et ça ne rajoute pas du tout d'accolades. Exemple, dans ton devent sclick tu as ce genre :

if ($did == 4) { ..... | return }
if ($did == 5) { ..... | return }
if ($did == 6) { ..... | return }
if ($did == 7) { ..... | return }
if ($did == 8) { ..... | return }
etc...

Tu as juste à mettre :

if ($did == 4) { ..... }
elseif ($did == 5) { ..... }
elseif ($did == 6) { ..... }
elseif ($did == 7) { ..... }
elseif ($did == 8) { ..... }
etc...

Sinon je pense à autre chose, pour tes aides apparaissant au bout de deux secondes, j'aurais mis toutes les phrases dans un fichier genre configTV.ini :

[aide]
4=Changer le salon principal (l o seront envoys les programmes)
5=Actualiser le programme TVStar
etc...

et remplace tous tes 15 if par un seul :

if ($readini(config.ini,aide,$did) .timermouse 1 2 a.e $ifmatch

Voila, @+
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
11 juil. 2005 à 20:39
d'accord je vais faire ça :)
les fautes d'orthographe sont où ? c'est dans le programme que tu reçois depuis le site ?

je mets des return pour ne pas avoir 6 } qui se suivent à la fin du code, je trouve pas ça très beau non plus
J'ai mis les unsets au sockclose et je mettrai à jour sur le site après avoir formatté
merci de tes commentaires en tout cas :)
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
11 juil. 2005 à 16:40
J'oubliais, pense à nettoyer tes variables globales car une fois que j'ai fermé ton addon je me suis retrouvé avec plus de 100 variables qui étaient toujours présentes. Ca surprend ;-)
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
11 juil. 2005 à 16:37
Ca a l'air assez complet. J'ai jeté un oeil vite fait.
Quelques remarques :

* Tu dis que return est plus rapide que halt, je n'en suis pas certain. La commande return retourne une valeur vers le script appelant. Cette valeur peut être omise si on a rien à renvoyer, cependant la commande return va vérifier si il y a une valeur à renvoyer et chercher s'il y a une routine appelante. La commande halt n'effectue aucun contrôle, il se contente de stopper le script. Il faudrait faire des séries de tests pour voir ce qui est le plus rapide, il semblerait quand même que halt soit plus rapide.

* Pourquoi mettre des return (ou halt) partout, ce n'est pas très propre comme coding. Si tu ne veux pas que les conditions suivantes soient testées, utilise elseif.

* Pense à regrouper certaines actions, par exemple :
did -r $dname 202
did -o $dname 202 1 Chanes
did -c $dname 202 1
se remplace par did -roc $dname 1 Chanes
etc...

* Tu vas devoir faire un travail de correction pour toutes les fautes d'orthographe, involontaires je suppose, puisqu'apparemment ce sont tous les caractères avec accents qui ont disparus, et parfois c'est limite compréhensible.

Il y a surement d'autres trucs à améliorer, surtout pour optimiser le code qui est plutôt lourd par rapport à ses possibilités.

Sinon l'idée est sympa et ça semble assez complet, bonne continuation.
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
9 juil. 2005 à 15:35
la mise à jour a du mal ... on va bien voir si ce message va changer quelque chose comme je l'ai lu sur une autre source :)
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
8 juil. 2005 à 20:00
certes, mais ça peut ralentir le remote, non ? (le if de 3 lignes en 1 ligne)
je pense que vu qu'il doit lire dans un .ini, s'il est arrêté directement au if (!$2) return, il ne lira pas les autres lignes
à vérifier donc ...

le ;icon, c'est un oubli, qui n'est pas très grave :)

j'utilise return car halt mets plus de temps, donc ça ralentit le code :)

les alias qui ne seront pas mis en local sont :
tv.cfg (configurer)
tvstar (pour mettre à jour manuellement)
TV-Star (pour faire l'annonce manuellement sur le salon)

et sinon merci bien, je fais les modifs de suite :p
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
8 juil. 2005 à 19:56
Ah aussi (tjs après avoir poster que je me rappel de certain trucs :\) pk tu utilises des "return" partout et non pas des "halt" ?
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
8 juil. 2005 à 19:54
;icon ArKanis/ArKanis.ico
Si tu le fournis pas, tu peux del la ligne :d

Pk ne pas mettre les alias en local ?

if (!$2) return
if (!$readini(Config.ini,TVStar,Actif)) return
if (!$istok($readini(Config.ini,TVStar,Canal),$chan,32)) return

regroupe tout en un seul if, non ?

Bon boulot :)
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
7 juil. 2005 à 21:14
J'oubliais de dire que si l'on tapait !prog liste, on aurait la liste de toutes les chaînes, et si on tape !prog help, on aurait l'aide concernant les commandes. (!prog = !tv)
Ce remote possède un anti-flood sur les commandes, et peut ignorer les commandes (et non pas /ignore) d'une personne si elle a tapé plusieurs fois !prog liste
Pour chaque commande donnée, le remote bloque tout autre de n'importe qui pour deux secondes, et pour l'utilisateur ayant tapé la commande : six secondes.
Rejoignez-nous