Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Hdel qui marche pas [ Archives / Scripting ] (wims)

samedi 2 juillet 2005 à 01:06:53 | Hdel qui marche pas

wims

Voila je realise un lecteur mp3 en ce moment et il y a un probleme lorsque je ve supprimer un mp3 : il ne supprime pas la ligne de ma list mais il la remplace par un blanc .

lorsque j'ajoute un mp3 :
if ($did == 3) {
        var %a $$sfile(c:)
        var %b 1
        while ($hget(Mp3,%b)) {
          if ($nopath(%a) == $ifmatch) { var %c dd }
          inc %b
        }
        if (%c) { echo -a Tu ne peux ajouter cette chanson car elle est deja dans ta playlist }
        else {
          inc %nb
          var %artiste $$input(Nom :,e,Quel est le nom de l'artiste de la chanson)
          Hadd -m mp3 %nb $nopath(%a)
          Hadd -m chemin %nb %a
          hadd -m artiste %nb %artiste
          liste
        }
      }
on s'interesse juste au         Hadd -m mp3 %nb $nopath(%a)
et lorsque le supprime un mp3 :
      elseif ($did == 6) { hdel Mp3 $$did(2).sel | hdel artiste $did(2).sel | hdel Chemin $did(2).sel | dec %nb | liste }

et l'alias liste :
alias liste {
  did -r mp3 2
  var %a 1
  while ($hget(Mp3,%a).item) {
    did -a Mp3 2 $hget(Mp3,%a)
    inc %a
  }
  hsave Mp3 Mp3
}

l'id de ma list est 2 bien sur
Et donc quand je ve supprimer il remplace la chanson par un blanc j'vois pas pourquoi :$




samedi 2 juillet 2005 à 07:51:46 | Re : Hdel qui marche pas

MaX_62

Membre Club
Je pense qu'il fait plutot faire comme ça pour la boucle : et l'alias liste : alias liste { did -r mp3 2 var %o^ 1 , %ù^ $hget(mp3,0).item while (%o^ <= %ù^) { did -a Mp3 2 $hget(Mp3,%o^) | inc %o^ } hsave Mp3 Mp3 } désolé si c'est pas ça j'suis mal réveillé :'(

samedi 2 juillet 2005 à 11:29:53 | Re : Hdel qui marche pas

tofu

Membre Club
Réponse acceptée !
je crois que ya un décalage entre le nb de ligne et le nb d'entrée dans la table, enfin je sais que perso j'étais obligé d'utiliser $calc() pour déplacer vers le haut toutes les entrées de ma table qd je délétais une ligne du milieu..
ce qui donne un truc dans ce genre: (c'est tiré d'un remote à moi donc ça marchera pas tel quel sur ton script..)

  " if $did == 12 { did -d $dname 6 $did(6).sel | var %x 1 | while $did(6,%x) { hdel exa.away $+(r-,$calc(%x +1)) |  hadd exa.away $+(r-,%x) $ifmatch | inc %x } | halt }"

      -= 1337 connexion =-


samedi 2 juillet 2005 à 11:48:23 | Re : Hdel qui marche pas

wims

J'voulais pas tout decaler mais bon si c le seul moyen jvé m'y mettre

samedi 2 juillet 2005 à 11:53:18 | Re : Hdel qui marche pas

Nolson

Membre Club

Concernant la première boucle qui vérifie si la chanson existe avant de l'ajouter, il vaut mieux la supprimer et utiliser $hfind.

Pour ton problème de ligne vide c'est normal, regardons ce qui se passe.
Imaginons ta table initiale :
item   valeur
1         chanson A
2         chanson B
3         chanson C
4         chanson D

Tu veux ajouter chanson E, elle n'existe pas, donc il ajoute
5         chanson E

Ensuite, actualisation de la list (alias liste).
Ta liste de MP3 devient :
chanson A
chanson B
chanson C
chanson D

chanson E

Puis tu décides de supprimer chanson B qui se trouve être sur la ligne 2 de ta list, il va supprimer l'item nommé 2.
Ta table devient :
1         chanson A
3         chanson C
4         chanson D

5         chanson E

Ensuite, actualisation de la list (alias liste)
Tu vas boucler tant que $hget(Mp3,%a).item existe, donc 4 fois puisque il y a 4 items dans ta table, en partant de 1.
Tu fais afficher dans ta list $hget(Mp3,%a), donc la valeur de l'item %a et non la valeur de chaque item existant.
Affichage des items 1, 2, 3, 4 et non 1, 3, 4, 5.
Donc dans ta list tu auras ceci :
chanson A

chanson C
chanson D

L'item 2 n'existant plus il te met une ligne blanche et il ne t'affiche même plus la dernière chanson ajoutée.
C'est juste la méthode qui est à revoir.
J'espère avoir répondu à ta question : "j'vois pas pourquoi".
Bonne continuation.


samedi 2 juillet 2005 à 12:10:17 | Re : Hdel qui marche pas

wims

Oui mais sa j'avais compris , mais la methode de tofu est tres bien ^^

samedi 2 juillet 2005 à 12:22:06 | Re : Hdel qui marche pas

tofu

Membre Club
sinon ce que tu peux faire c'est ta liste, tu l'as en .txt (file handling pour la vitesse d'exécution) ap qd tu del une ligne, tu refais un /loadbuf sur ton fichier et ça remet tout en place je pense. ça pourrait être une alternative viable enfin à tester tout du moins..

      -= 1337 connexion =-


samedi 2 juillet 2005 à 13:33:52 | Re : Hdel qui marche pas

wims

Voila j'ai reussis.Mais pour rajouter dans la table mp3 c'etais pas dur par contre j'enregistrais le chemin du mp3 ds une table il a fallu que je fasse des ptit reglage ca donne ca :
 elseif ($did == 6) {
        var %x $$did(2).sel
        did -d $dname 2 %x
        var %tofu 1
        set %nb1 %nb 
        unset %nb
        hfree mp3
        while ($did(2,%tofu)) {
          inc %nb
          hadd -m Mp3 %nb $ifmatch
          if (%x >= 1 && %x < %nb1) { var %c $hget(Chemin,$calc(%tofu +1)) | hdel Chemin %tofu | hadd -m Chemin %nb %c }
          else { hdel Chemin %nb1 }
          inc %tofu
        }
        unset %nb1
        liste
      }



samedi 2 juillet 2005 à 13:54:54 | Re : Hdel qui marche pas

Nolson

Membre Club
Tu dis : "Oui mais sa j'avais compris"
Euh...???  Tu avais bien dit il me semble : "quand je ve supprimer il remplace la chanson par un blanc j'vois pas pourquoi"
Moi je t'ai expliqué pourquoi.

Ensuite, connaissant la cause, je sais que tu as un niveau plutôt correct en mIRC scripting pour pouvoir rectifier le tir. Pour les débutants je conçois qu'on puisse donner carrément certaines solutions ou les façons de procéder, mais pour les autres, il me semble qu'il suffit de leur donner la cause de l'erreur pour que par eux-même ils puissent corriger. Si vraiment, par la suite après diverses recherches, le scripteur chevronné ne trouve pas, on peut lui donner une soluce si on en a une.
Moi en tous cas, je préfère qu'on me dise d'où vient mon erreur plutôt qu'on me donne la solution directement.

Mais si tu en voulais une directement, fallait la demander

samedi 2 juillet 2005 à 14:01:19 | Re : Hdel qui marche pas

tofu

Membre Club
lol la var %tofu ..

      -= 1337 connexion =-



1 2 3 4

Cette discussion est classé dans : var, nb, mp3, did, hdel


Répondre à ce message

Sujets en rapport avec ce message

Comment mettre une lecture continue des chansons [ par darkyojimbo2 ] J aimerais savoir comment faut-il faire pour mettre une lecture continu des chanson sur un lecteur Mp3 ?Si ca peux vous aider, voici le lecteur ou j a pourquoi ma variable ne se désintalle pas??? [ par _Dams_ ] bonjour à tous,tout est dans le titre et voice mon code :on *:dialog:canaux:sclick:39:{ var %a 100 var %b 105 var %num 1 while (%a if ($did(%a Prob MP3 + variable [ par Ziboo ] Voilà d'abord le probleme de mon lecteurmp3 (basic)donc voilà le code:dialog mp3 { title "Mp3 player" size -1 -1 230 41 Button "Default",1000,1000 probleme avec un mechant IF [ par hisoka2501 ] voila j'explique le probleme:if ($calc($ctime - $gettok($hget(%table2,$gettok(%item,1,64)),8,32)) ca c ma vilaine li aide pour sw [ par [thomas95 ] Bonjour ...voila jai télécharger se code sur un site mais le probleme est a la ligne 49 seulement je ne detecte pa le probleme si quelqu'un pourrais m Activer/désactiver dans un input [ par Camanche ] Bonjour, je cherche désespéremment la condition à mettre dans mon input pour savoir si l'addon est activé ou pas. Voici le code: alias cor { dialog - Treeview [ par Doudis ] Bonsoir j'ai eu petit probleme en créant une treeview  ,  je n'arrive  pas a retourner avec $did  le texte qui se situe dans la treeview voila mon co dialog [ par eyrgo ] Bonjour,je suis bloquer dans mon code.J'aimerai que, X recoivent les infos de Y. comme un whois sous forme de dialog. dialog mdiu {  title "Infor utilisation des rawmode [ par kraos ] bonjour, et merci pour les réponses si elles arrivent !!voila mon pb je recherche e l'aide pour créer un remote permettant de gérer un bot sur un chan avoir plusieurs d'espace en $chr(32) [ par WorldDMT ] Salutje cherche a savoir comment peut on avoir plus d'espace pour un ajout sur une list dans un dialogexp: si ID1 = A  ,  ID2 = B  , ID3 = Cdid -a</fo


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 13,432 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.