Newsgroup: it.comp.lang.visual-basic
Titolo: perchè in VB non esiste l'istruzione SWAP ???

salve a tutti.. Alfonso di Stasio mi ha fatto conoscere questo Ng ed il sito
comune... grazie Alfonso..
--
beh il titolo del msg parla da solo.. nel vecchio QB l'istruzione SWAP c'era
e quando mi serviva era comodissima... adesso invece con il VB sono
costretto a scrivere una routine e qualche riga in più.. non che la cosa sia
particolarmente faticosa... ma la SWAP era meglio..
a presto
Davide Greco    
dav...@tin.it

particolarmente faticosa... ma la SWAP era meglio..
Vero, comunque ti sei dato la risposta da solo  :-)
Se ti servono routine "riciclabili" fatti un giro tra i links del mio sito.
Ciao
---
--
-
MIX (VB5SP3)
170 links a siti VB
http://www.tempolibero.com/user/mix/
http://space.tin.it/computer/gaais/
-
--
---

--
girerò...

>particolarmente faticosa... ma la SWAP era meglio..
Dunque... credo che l'struzione SWAP non sia stata portata
in VB sia per il fatto che è fondamentalmente inutile che per
 via delle prestazioni. (fino a VB3 poteva essere trascurato,
ma dal VB4 in poi si sarebbe dovuta fornire una SWAP che
potesse agire anche sugli oggetti... quindi una istruzione a
parametri generici ed associazione tardiva... e Dio solo sa
quanto è lenta l'associazione tardiva.  ^_^;;;
Quindi meglio farne a meno e scrivere un po' righe di codice
"ad hoc" in più:
Quindi...
SWAP a%, b%
...diventa:
Dim c%
c%=a%
a%=b%
b%=c%
In fin dei conti non è così terribile scrivere 3 righe in più.
E non pensate "Ma così si dichiara una variabile in più !"....
...cosa credete che faccia dientro le quinte di QB la SWAP ?
Meditate gente.. meditate ! ^___^
Zeross
_______________________________________
[OT]: Ma la forma moderna di "ad hoc" potrebbe
essere "a D.O.C." ??   ^_____^
Non ci avevate mai pensato, vero ? ^__^
Sono un genio !  (ma non esaudisco 3 desideri ! :-P)

caro Zeross...
sarà che di tanto in tanto sono un pò pignolo.. sarà che è facile pensare ad
una miglioria dopo che il programma è bello e finito..
però cerchiamo di fare un ragionamento un pò diverso..  se creiamo una
versione 5.0 per superare le precedenti allora cerchiamo di velocizzare
semplificare e in definitiva fornire un prodotto più appetibile..
certamente la VB5 è molto più avanti delle precedenti versioni e la VB6 che
ancora non ho provato sarà ancora meglio.. però se mi dici che nel caso
dell'istruzione SWAP al massimo si scrive una riga in più allora ti rispondo
che quella riga in più potevano scriverla i creatori del VB e non io.
Oltretutto non veco perchè si debba per forza creare una Swap anche per i
controlli... va già benissimo per semplici variabili.. e ancora.. quanto
lenta può essere l'associazione tardiva dello scambio del bit più
significativo con quello meno significativo ?
anzi facciamo una cosa... visto che io non saprei dirlo in inglese, conosco
il significato delle istruzioni ecc... ma non parlo inglese
( 
perchè non scrivi una bella faq al sito della Microsoft ? vediamo che rispondono...
ciao Davide


E qui finalmente posso contraddire il buon Zeross :)))
La Swap() non agiva sulle variabili creandone una copia (pensa se si dovesse
fare una copia di una struttura ingombrante o di un grosso array, o di una
stringa contenente una pagina di un libro, il consumo di tempo e di memoria
sarebbe enorme), la Swap() agiva solamente sui descrittori delle var.
invertendone i valori dei puntatori.
Nessuna copia e velocità assicurata.
Per fare questo si puo' usando la famigerata CopyMemory(), ma effettivamente
per piccole var non ne vedo il vantaggio.
Ciao.

per piccole var non ne vedo il vantaggio.
Ohh.. qualcuno che se ne intende... Bravo ! ^__^
Ebbene sì... effettivamente la SWAP faceva lo scambio diretto dei
riferimenti in memoria, ma non diciamolo troppo in giro.. potrebbero nascere
strane idee ! ^_-
Dì la verità però... conosci un po' di C, vero ? ^___^
Zeross

 wrote in message 7aeu2e$bul$1...@nslave1.tin.it...

Io non parlavo di Swap tra i controlli, ma più generalmente tra
oggetti classi, variabili oggetto, UDT e variabili semplici.
Poichè si lavora sempre più spesso con classi e variabili oggetto
 (e in futuro ancora di più credo) sarebbe stato poco utile una Swap
che agisse solo sulle variabili semplici.
Cmq sia questo è quanto ha risposto il team di progettazione del
VB. Cmq consolati.. la Swap non è stata eliminata del tutto....
...nella Wish List di VB è ancora attorno al 300mo posto.
Forse un giorno si degneranno di accontentarti... chi può saperlo ?
^___^
Zeross

...

Sono arrivato a usare la printf();
Mi piacerebbe saperne qualcosa di più però.
Ciao.


tanx.... speriamo bene che mi accontentino :-))
ciao Davide


Per curiosita' personale...
Dove trovo la wish list di VB?
--
Roal Zanazzi
z...@iol.it

 wrote in message 7ahlro$lnn$6...@hermes.iol.it...

Sorry.. è disponibile solo ai beta-tester M$.
E ovviamente non posso renderla pubblica...
...spero comprenderai ! ^_^;;;
Zeross


Si, ho capito che mi tocchera' ANCHE propormi come beta-tester...
Mi sai dare indicazioni su dove trovare info per la richiesta di
beta-tester?
--
Roal Zanazzi
z...@iol.it

beta-tester?
Indicazioni precise no... io ho fatto la richiesta anni fa perchč
curiosando sul sito M$ (quello americano) sono capitato in una
pagina in cui c'era da compilare una serie di campi per fare
la richiesta.
Ora quella pagina non esiste piů... e se telefoni in M$ ti
dicono che puoi partecipare solo ai beta test pubblici.
(quelli descritti in 
www.eu.microsoft.com/italy/beta/
 )
Quindi ho il sospetto che "l'arruolamento" sia attualmente chiuso.
Resterň in campana e ti farň sapere.
Zeross

Sorry.. è disponibile solo ai beta-tester M$.
[...]
...in fondo siamo tutti beta tester M$ !
Ciao
---
--
-
MIX (VB5SP3)
170 links a siti VB
http://www.tempolibero.com/user/mix/
http://space.tin.it/computer/gaais/
-
--
---