[..] Comparaison Item List View

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
lacnia
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 18 juil. 2014 01:45
Status : Hors ligne

[..] Comparaison Item List View

#1

Message par lacnia »

Bonsoir tout le monde ! ( Bonjour s'il fait jour )

Alors voilà, j'ai décidé de m'investir sur une sorte de protection pour script autoit, une sorte de systeme de licence ...
En gros mon tool est censé "patcher" des codes sources autoit afin de leur implanter le système de licence pour finalement permettre au l'utilisateur du tool de gérer ses clients (Autoriser, Banir, etc...) et de pouvoir les contacter via un chat afin de pouvoir les aider...

Bon je sais c'est un peu tiré par les cheveux de faire ce genre de tool mais bon, sa peut être utile ...
Bien-sure à l'ouverture de l’exécutable protégé par le système de licence, s'affichera une charte demandant à l'utilisateur s'il est d'accord etc ...

Bref, je suis encor loin de là, ce qui me ralentit / m’empêche d'avancer c'est la GUI encor une fois ! :evil:
Enfin c'est en partit de sa faute xD ...
Alors voila, quand le client ouvre deux fois, par hasard le tool protégé par le système de licence, elle se retrouve deux fois sur la listview du Manager de client ( le programme sur le quelle je travaille et dont je parle depuis 20 lignes xD )

Screen du problème :
► Afficher le texte

J'ai pensé régler le problème en faisant sa :
► Afficher le texte
Puis je me suis rendu compte que mon cerveau était fatigué, très fatigué, je crois même qu'il dormait quand il m'a fait écrire sa ! :oops:

Ce que j'aurais voulu faire c'est quelque chose qui lit les items de la listview, les compare, et si il y en a deux avec le même HWID par exemple, on appelle une fonction qui enverrait une recette TCP qui fermerait l'un des deux programmes en trop du client ... Ainsi, sa ferait beaucoup moins brouillons sur la GUI x)

En gros je voudrais que si un client apparait deux fois ou plus ( faut être fou pour ouvrir un programme + de deux fois xd ) sur la listView, le Licence Manager fasse appelle à une fonction ...

D'ailleurs, je tiens à souligner le fait qu'il y a un autre problème :'( Peut être pire que celui du haut ... Quand il y a plus de deux client et que l'un d'entre eux se déconnecte, il reste sur la listView comme ici :
► Afficher le texte



Merci pour d'avoir lue le problème, en espérant qu'une âme charitable viendrait à ma rescousse ! :shock:
PS : Je pense enlever le column : Computer Name ... Un peu trop personnel à mon gout !
PS2 :Le titre ne correspond pas tellement au problème, si vous avez une suggestion de titre je suis preneur !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Comparaison Item List View

#2

Message par TommyDDR »

Si vous voulez éviter qu'on lance 2 instances de votre script, utilisez :

Code : Tout sélectionner

_Singleton(xxx)
Sinon, attention aux systèmes de protection avec connexion serveur tcp.
Le jour où votre serveur est down, plus personne ne peut utiliser votre programme (embêtant si on l'a acheté !), après vous me direz, Sony fait la même chose avec le PSN...
Mais ce n'est pas une raison ! ^^
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Comparaison Item List View

#3

Message par jguinch »

Je pense que le problème vient de là :
$a = ControlListView('',"",$idListview,"GetItemCount") - 1

Tu devrais spécifier le handle de ta GUI (retourné par GUICreate) dans le premier paramètre.
Sinon, tu peux aussi utiliser _GUICtrlListView_GetItemCount...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
lacnia
Niveau 3
Niveau 3
Messages : 33
Enregistré le : ven. 18 juil. 2014 01:45
Status : Hors ligne

Re: [..] Comparaison Item List View

#4

Message par lacnia »

TommyDDR a écrit : Le jour où votre serveur est down, plus personne ne peut utiliser votre programme (embêtant si on l'a acheté !), après vous me direz, Sony fait la même chose avec le PSN...
xD J'ai pensé à sa, j'utilise ping pour vérifier si les serveurs ne sont pas offline, s'ils sont offline, le client sera prévenu que le serveur est en cour de maintenance...
Mais sa reste un événement rare car le serveur sera sur un VPS...
Sinon merci pour votre réponse, je ne connaissais pas le "Singleton" !
jguinch a écrit : Tu devrais spécifier le handle de ta GUI (retourné par GUICreate) dans le premier paramètre.
Sinon, tu peux aussi utiliser _GUICtrlListView_GetItemCount...
Le handle de la GUI elle même ou bien celui de la listview ?
_GUICtrlListView_GetItemCount revient à la même chose que la fonction que j'ai utilisé, les deux me retournent les bonnes valeurs.
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Comparaison Item List View

#5

Message par blacksoul305 »

Bonjour,

je ne sais pas si le problème est toujours d'actualité mais je réponds quand même. Généralement, quand je manie une ListView, chaque item que je créé est associé à un ID, que je stock dans un tableau. Il suffit de faire une boucle de vérification. Lorsqu'il y a un doublon, tu supprimes un item de la listview, et de ton tableau.

Bonne chance !
Étudiant en 2ème année de Licence Informatique.
Répondre