Search English (United States)  Italiano (Italia) Deutsch (Deutschland)  Español (España, Alfabetización Internacional) Čeština (Česko)
Tuesday, September 21, 2021 ..:: Tools » Swap Allocations (VB6 Add-in) ::.. Register  Login
 Download link Minimize

  
 SwapAllocations (VB6 add-in) Minimize

 SwapAllocations

standard toolbar

SwapAllocations è un add-in per VB6 (SP6) che consente di invertire un allocazione, o assegnazione che dir si voglia.

Spesso mi sono trovato nell'esigenza di dover invertire un assegnazione di codice, il caso più frequente avviene nelle classi in cui di norma uso due metodi Load/Save appunto per caricare/salvare i valori delle proprietà della classe. Esempio, quando carico i dati da un database, XML, etc...:

Dim CPerson As clsPerson
Set CPerson = New clsPerson
With CPerson
    .Load ' load data from database, XML, ...
    TxtFirstName.Text = .FirstName
    TxtLastName.Text = .LastName 
    TxtAddress.Text = .Address   
    TxtCity.Text = .City         
End With

Poi quando li devo salvare:

With CPerson
    .FirstName = TextFirstName.Text
    .LastName = TxtLastName.Text  
    .Address = TxtAddress.Text    
    .City = TxtCity.Text          
    .Save
End With

Come si può notare, il secondo gruppo di righe evidenziate è praticamente uguale al primo gruppo, con la differenza che le assegnazioni sono invertite. 

Ora, fino a che le proprietà sono poche non è un grosso problema, ma quando si ha a che fare con 20, 30 o più proprietà la scrittura del codice che legge/assegna i valori diventa ripetitiva, considerando che la sola differenza tra i due metodi Load e Save sta unicamente nel dover invertire l'assegnazione.

Ogni volta che dovevo scriverle mi ripetevo mentalmente che avrei dovuto farmi un'add-in per questo compito ripetitivo e noioso.
Così, finalmente, mi sono deciso a scriverlo, e devo dire che è davvero comodo.

Grazie all'add-in 
- scrivo le assegnazioni solo una volta, nel metodo Load
- poi  le copio nel metodo Save
- seleziono tutte le righe e faccio clic sul pulsante dell'add-in

Lavoro dimezzato, e sono sicuro di non aver commesso nessun errore di ortografia.

Quanto detto vale ad esempio anche per le proprietà di un recordset, esempio:

TxtFirstName.Text = rs.Fields("FirstName").Value

rs.Fields("FirstName").Value = TxtFirstName.Text

Spero lo troviate utile.

 

 


 Print   
Copyright (c) 2002-2021 Giorgio Brausi (aka gibra)   Terms Of Use  Privacy Statement
DotNetNuke® is copyright 2002-2021 by DotNetNuke Corporation