Resetare Counter

Tuca
Mesaje: 6
Membru din: Mie Noi 23, 2011 2:50 pm

Resetare Counter

Mesaj de Tuca » Joi Mar 28, 2019 3:00 pm

Bună ziua !
Mă poate ajuta careva cu o linie de comandă, pe care când o activez, să-mi aducă Counter la 0 (zero) ?

'Get setting from registry
Counter = GetSetting("XYZ Corp", "Budget", "Count", 0)
LastOpen = GetSetting("XYZ Corp", "Budget", "Opened", "")
'Display the information
msg = "Aplicatia este folosita de " & Counter & " ori."
msg = msg & vbCrLf & "Last opened: " & LastOpen
MsgBox msg, vbInformation, ThisWorkbook.Name
'Update information and store it
Counter = Counter + 1
LastOpen = Date & " " & Time
SaveSetting "XYZ Corp", "Budget", "Count", Counter
SaveSetting "XYZ Corp", "Budget", "Opened", LastOpen
'Reset Counter Code

Mulțumesc.

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Resetare Counter

Mesaj de Dr.Windows » Joi Mar 28, 2019 3:27 pm

Salut!

Poti fi putin mai explicit?... pentru ca "linie de comanda" pentru mine inseamna ca ar trebui sa se execute in "command prompt"-ul de Windows ;)
Sa aduci o valoare "la 0"... doar trebuie sa pui 0 in acea variabila.

Trebuie sa existe o conditie?... pentru ca ce ai insirat mai sus e doar "pseudo-cod" sau ar putea fi considerat cod VBA cu mentiunea ca nu se stie ce fac procedurile care citesc/scriu in registry - dar ca sa "aduci valoarea la 0" va fi probabil intr-o operatiune de salvare similara "SaveSettings".

Tuca
Mesaje: 6
Membru din: Mie Noi 23, 2011 2:50 pm

Re: Resetare Counter

Mesaj de Tuca » Joi Mar 28, 2019 6:38 pm

Mulțumesc pentru atenția și timpul acordat.

Este un VBA dintr-un fișier Excel.
Acest Counter, copiat de undeva (n-am priceperea necesară pentru a scrie un cod !) îmi numără de cate ori am deschis fișierul și îmi afișează acest lucru într-o MsgBox și salvez valoarea într-o celulă. Aș vrea să-l pot aduce la 0 (zero) și nu știu cum și la cât am încercat „la nimereală” am ajuns de zici că altceva n-am făcut decât deschiderea-închidere acestui fișier. Am pus în cod o ultimă linie, i-am zis eu, pe care dacă aș folosi-o, cu codul corespunzător, ar relua numărarea de la zero.
Încă o dată mulțumesc dacă mă rezolvați !

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Resetare Counter

Mesaj de Dr.Windows » Joi Mar 28, 2019 7:06 pm

Pai atunci este simplu (teoretic pentru ca nu se stie ce alte verificari mai fac celelalte proceduri de citire/scriere in registry):

In loc sa se incrementeze counterul:

Cod: Selectaţi tot

'Update information and store it
Counter = Counter + 1
se pune intotdeauna pe zero:

Cod: Selectaţi tot

Counter = 0
Asta daca nu mai conteaza de cate ori s-a deschis aplicatia.

Sau ca si procedura separata de "initializare"

Cod: Selectaţi tot

SaveSetting "XYZ Corp", "Budget", "Count", 0

Tuca
Mesaje: 6
Membru din: Mie Noi 23, 2011 2:50 pm

Re: Resetare Counter

Mesaj de Tuca » Joi Mar 28, 2019 10:33 pm

Mulțumesc !
Cât de simplă e viața când îi cunoști cărările !

Cu „Counter = 0” s-a rezolvat conform doleanțelor.
Încă o dată mulțumiri pentru timpul acordat !

Scrie răspuns

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”