Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Confronto di UDT e velocità.

Ho una chiamata API che mi riempie una UDT composta da più
di una ventina di membri, già piuttosto lentuccia di suo...
Devo rilevare se fra una chiamata e un'altra c'è una differenza
in _uno qualsiasi_ degli elementi, e lo devo fare qualche centinaio
o anche migliaio di volte.
La domanda quindi è: c'è una maniera di confrontare due
variabili UDT senza verificare elemento per elemento, per
sapere solo _se_ c'è o meno una _qualunque_ differenza ?
So a priori che il 99% delle volte non ce ne saranno, quindi
un confronto unico mi accelererebbe molto il processo.
Quell'1% delle volte (e anche meno) dovrò eseguire poi una
routine rognosa, e in quel caso dovrò comunque controllare
tutto.
Ah, VB5 con SP3, su qualunque piattaforma. :-)
Bye, G.

sapere solo _se_ c'č o meno una _qualunque_ differenza ?
Se i due record avessero solo campi a lunghezza fissa come
nell' esempio qui sotto potresti fare cosi':
<codice>
Option Explicit
Private Type tagProva
    uno         As Integer
    due         As Integer
    tre         As String * 24
    quattro     As Long
    cinque      As String * 56
    sei         As String * 4
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
Destination As Any, Source As Any, ByVal Length As Long)
Public Sub Main()
    Dim a As tagProva
    Dim b As tagProva
    Dim a1 As String * 1024
    Dim b1 As String * 1024
 
    a.tre = "ciccio"
    b.tre = "ciccio"
    CopyMemory ByVal a1, a, Len(a)
    CopyMemory ByVal b1, b, Len(b)
    MsgBox (a1 = b1)
End Sub
</codice>
Se ci sono campi "puntatori" (stringhe BSTR a lunghezza variabile,
oggetti, ecc.) allora il discorso si fa piu' complicato.
-- 
ciao, hal

 oggetti, ecc.) allora il discorso si fa piu' complicato.
No, sono tutti Byte, Long e Integer (č il CharFormat2 del RichEdit).
Appena ho un attimo provo, grazie diecimila :-).
P.S.[OT]: 27 Kb per molte risate, 
http://www.rjbs.co.uk/regnusintro.html
Bye, G.

 come nell' esempio qui sotto potresti fare cosi':
Questa su VB 5 l'avevo usata anch'io.. Sbaglio, o l'hai letta anche tu
su Hardcore VB? ;-)
Gran bel libro.. hai letto l'obituario del VB scritto da Bruce
McKinney?
http://home.attbi.com/~bruce2u2/
--
ale
www.sen.it

 
http://home.attbi.com/~bruce2u2/
TNX. Ho letto anche 
http://home.attbi.com/~bruce2u2/vbnet.htm
e ho trovato un link che approfitto per segnalare.
VB.NOT:
http://www.mvps.org/vb/index2.html?rants/vfred.htm
sulle differenze fra VB e VB.NET... è proprio un altro linguaggio.
Bye, G.

"Paperino" <non...@lo.dico> ha scritto nel messaggio
news:aoq124$2o4u$1...@stargate1.inet.it...
Paperino scusa l'ot - intrusione , sei a Bologna domani ? mi direste dove
andate a pranzo ? domani saro' dalle parti di BO e volevo fare un saltino al
meeting !
Grazie e scusa ancora !

 parti di BO e volevo fare un saltino al meeting !
Sito Comune, pagina meeting :-)
http://it-lang-vb.net/meeting/index.html
Comunque:
Ristorante "La Campagnola"
Via Caselle 60, 40068 San Lazzaro di Savena (BO)
Tel. 051.460197 - Fax 051.460091
Raggiungibilità
In macchina: Ottima. Dista 500 mt. dall' uscita dell' autostrada Bologna S. Lazzaro
In treno: 8 min. di macchina dalla stazione.
Buon divertimento a tutti, pensatemi...

 TNX. Ho letto anche 
http://home.attbi.com/~bruce2u2/vbnet.htm
A proposito, Bruce McKinney e` proprio strano.. prima protesta con la
MS perche` gli mettono il libro online senza chiedergli il permesso, e
quando quelli lo tolgono lui prende e lo mette online di sua
iniziativa..
http://www.mvps.org/vb/hardcore/
BTW l'e` proprio un bel libro :-)
--
ale
www.sen.it