PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → incrémenter chaine de caractère
incrémenter chaine de caractère
Débuté par devwds, 01 aoû. 2024 18:19 - 5 réponses
Posté le 01 août 2024 - 18:19
Bonjour à tous
je cherche une piste pour incrémenter la version qui me génère automatiquement windev mobile
par exemple ma version actuelle = 0.0.155.0 dois me donnée 0.0.156.0 cette cas est simple mais je souhaite trouver un algorithme pour toutes les cas possible


Merci de toute piste
Membre enregistré
1 226 messages
Posté le 04 septembre 2024 - 01:09
C'est tout de même assez simple mais peut-être que j'ai mal compris tes besoins. Tu dois découper la version en 4 entiers. Voici ce que je ferais
sVersion est chaîne = "1.0.25.4" // exemple de version
tabValeurs est un tableau de chaîne
tabValeurs = ChaîneDécoupe(sVersion, ".") // ton tableau contient les 4 valeurs séparées


nVal1 est chaîne = Val(tabValeurs[1]) +1
nVal2 est chaîne = Val(tabValeurs[2]) +1
nVal3 est chaîne = Val(tabValeurs[3]) +1
nVal4 est chaîne = Val(tabValeurs[4]) +1

sVersion = nVal1 + "." + nVal2 + "." + nVal3 + "." + nVal4


J'espère que ça t'aideras.

--
Jean Turcotte
WX 28
Android 9.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram
Posté le 04 septembre 2024 - 13:56
Bonjour

Ce que je souhaite c'est généré la version de l'application comme ce qu'il fait l'assistant de création de l'exécutable windev
pour ton exemple il faut incrémenté seulement le dernier chiffre 4

voilà la fonction que je fais pour incrémenté ou décrémenté la chaine

CÉDURE IncrementerVersiob(LOCAL VersEbcr est chaîne , LOCAL Incre est un booléen)


NewVers est une chaîne = ""
Version est un tableau de chaînes
ChaîneVersTableau(VersEbcr,Version,".")
max_tab est un entier = Version..Occurrence
buf est un entier
Trv est un booléen = Faux


SI max_tab > 0 ALORS

POUR c = max_tab _À_ 1 PAS -1

SI Version[c] <> "0" ALORS
buf = Val(Version[c])
SI Incre ALORS
buf++
SINON
buf--

FIN

Version[c] = NumériqueVersChaîne(buf)
Trv = Vrai
SORTIR



FIN

FIN
FIN
SI Trv ALORS
SELON max_tab
CAS 4
NewVers = Version[1] + "." + Version[2] + "." + Version[3] + "." + Version[4]
CAS 3
NewVers = Version[1] + "." + Version[2] + "." + Version[3]
CAS 2
NewVers = Version[1] + "." + Version[2]
CAS 1
NewVers = Version[1]

AUTRE CAS

FIN

FIN


Merci de votre aide
Membre enregistré
1 226 messages
Posté le 05 septembre 2024 - 01:04
Absolument pas, le code que je t'ai envoyé sépare les 4 nombres de la version en 4 variables séparées, il ne te reste qu'a incrémenter celles que tu veux.

--
Jean Turcotte
WX 28
Android 9.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram
Posté le 05 septembre 2024 - 19:19
Bonjour

oui je vois merci beaucoup , je ne connais pas la fonction ChaîneDécoupe


Bonne dev :merci:
Membre enregistré
1 226 messages
Posté le 06 septembre 2024 - 15:27
Fonction très utile. vous pouvez aussi convertir dans une chaine avec 'TableauVersChaine' :)

--
Jean Turcotte
WX 28
Android 9.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram