Forum Clubic

Java: executer des lignes de code 1 seule fois

voila j ai une code java ou j’aimerais executer certaines lignes de code qu un certain nombre de fois défini

problème: comment faire pour inihber certaines lignes pour qu elle s’execute le nombre qu on veut de fois?

merci d’avance

un compteur avant l’éxecution de la ligne

ex :

//bloc à executer
cnt++;
if(cnt < 10) // faire quelque chose

Bonjour,
Il faudrait un peu plus de précisions: tu ne peux pas "inhiber" des lignes au milieu du code, tu peux modifier le code pour conditionner son exécution. est-ce que tu as un extrait de code pour nous expliquer ce que tu veux faire?

Si toutes tes instructions sont exécutées sur le même objet, tu peux à la limite le "wrapper" pour modifier son comportement sans modifier son apparence extérieure, mais, il nous faut des détails :wink:

Et au juste c’est pour faire quoi? (tu peux peut être faire ça autrement)

dans mon programme java il y a une verification de la licence, un fichier licence.lic doit être obligatoirement cree ou seulement present dans le repertoire ou est le programme pour que tout se mette en route.

Pour l’instant j ai 2 scripts indépendants.
le premier cree le fichier licence, le 2eme lit ce fichier et si il est bon execute le reste du script.

Mais comme vous pouvez vous en doutez c est pas très pratique…
L’idéal, serait que le script “principal” sache creer un fichier licence, mais comme j ai pas non plus envie qu il soit facilement portable, qu il soit limité a un nombre (qui peut être modifiable) de licence creee.

jmgchouchou> pour faire ca il faudrait stocker quelquepart le nombre de lancement du programme…donc probalement l’utilisation d’un fichier externe…compliqué et dangereux…

Pourquoi tu n’essayes pas par Internet? Genre la personne qui veut se servir de ton logiciel doit se connecter au serveur pour vérifier la licence?

(bon c’est contraignant, mais si c’est pour l’entreprise, tu t’en fous^^)

mouai ca me dit pas trop…car cela impose au client d’avoir une connexion internet…ce que j ai pu constater que les pc ou j installe mes scripts ne sont pas senser avoir internet et les grosses boites limite l’accès

Oui, mais ton fichier licence c’est pas mieux :slight_smile: car tu peux simplement le supprimer, et ça redémarre. Je me trompe?

justement actuellement si on le supprime c est fini plus rien ne marche…

et c est pour cela que jaimerais que le programme principal puisse en creer un certain nombre pour eviter les suppressions malencontreuse et avoir une certaine portabilité

Mais ce n’est pas toi qui a fait le script de création de fichier?
Tu peux tester l’existence du fichier, s’il est présent tu ne le crée pas.

le problème n’est pas de le creer quand il y est pas (ca c est simple)

le problème est de limiter la creation a un certain nombre de fois

Tu n’as pas le choix, il faut stocker un compteur quelque part, et comme il faut que ce soit protégé (pour pas que l’utilisateur puisse craquer ton compteur) il faut que ce soit crypté.
Ensuite, la chaine cryptée doit être mise soit dans un autre fichier, soit en base de registre, soit dans le même fichier, si tu as la main dessus.

il n y a aucune autre solution?

non :neutre: comme je comprend, il faut que le “compteur” à tester soit persistant (cad que la valeur reste même si on reboote?): donc comme support de données persistant, c’est le disque on internet.
et sur disque, c’est soit des fichiers ad-hoc, soit la base de registres.

Ou alors en intranet, il y a souvent des “serveurs de licences” pour ce genre d’application, qui soccupe de compter le nombre de licences installées. il faut alors livrer un serveur et un client.

C’est ce que j’ai compris.
:slight_smile:

tu as parfaitement compris, un support de données persistant