Autore Topic: Scambio di elemnti in un array di di oggetti  (Letto 1443 volte)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Scambio di elemnti in un array di di oggetti
« il: 06 Settembre 2019, 21:01:05 »
Supponiamo di creare una classe con un paio di proprietà
creo poi un array di oggetti istanziati da questa classe

array[0]
array[1]
......
array[X]

quello che devo fare ora è scambiare fra loro array[0] e array[1]
furbamente :-[ ho provato con

Codice: [Seleziona]
dim scambio as miaclasse

scambio=array[0]
array[0]=array[1]
array[1]=scambio

ma naturalmente non funziona.....
esiste un sistema che mi permetta di evitare di scambiare singolarmente tutte le proprietà della classe?
spero di essermi spiegato








"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #1 il: 06 Settembre 2019, 23:06:14 »
Si esatto devi fare uno scambio, e in Gambas si fanno con Swap

Codice: [Seleziona]
 Swap array[0], array[1]

 :ciao:

« Ultima modifica: 06 Settembre 2019, 23:09:01 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #2 il: 07 Settembre 2019, 00:34:23 »
Grande Luigi  :2birre:
funziona

difficile conoscere tutte le istruzioni del linguaggio....
"e il naufragar m'è dolce in questo mar"

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #3 il: 07 Settembre 2019, 20:10:40 »
Swap esiste dalla notte dei tempi, la usavo ai tempi del Quick Basic. :)
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #4 il: 07 Settembre 2019, 20:17:58 »
Swap esiste dalla notte dei tempi, la usavo ai tempi del Quick Basic.

« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #5 il: 08 Settembre 2019, 09:03:23 »
leggo una punta di ironia.......
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #6 il: 08 Settembre 2019, 09:32:59 »
leggo una punta di ironia.......

  ;D
Come detto si deve usare Swap che è più veloce, ma la tua pensata (scambio) era concettualmente giusta, infatti swap ha lo stesso significato e se fossimo di madre lingua inglese, ti sarebbe subito venuto in mente.
Hai solamente sbagliato il codice se lo avessi scritto così avrebbe funzionato, anche se più lentamente:

Citazione
Dim scambio As New Object[]

scambio.Push(array[0])
array[0]=array[1]
array[1]=scambio[0]
:ciao:

vedi più avanti
« Ultima modifica: 08 Settembre 2019, 15:35:22 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #7 il: 08 Settembre 2019, 14:48:26 »
leggo una punta di ironia.......
Se ti riferisci alla mia gif, la tolgo ora.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #8 il: 08 Settembre 2019, 14:55:34 »
Se ti riferisci alla mia gif, la tolgo ora.

Nooooooooooooooooooooooooooo!

Era così carina e divertente  :'(

 :violent:

Io voto perché venga ripristinata, aiutatemi!
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.703
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #9 il: 08 Settembre 2019, 15:13:19 »
Citazione
Era così carina e divertente 
Dai Vuott accontentalo se no....  :(
 :P
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #10 il: 08 Settembre 2019, 15:31:10 »
Come detto si deve usare Swap che è più veloce, ma la tua pensata (scambio) era concettualmente giusta, infatti swap ha lo stesso significato e se fossimo di madre lingua inglese, ti sarebbe subito venuto in mente.
Hai solamente sbagliato il codice se lo avessi scritto così avrebbe funzionato, anche se più lentamente:

Codice: [Seleziona]
Dim scambio As New Object[]

scambio.Push(array[0])
array[0]=array[1]
array[1]=scambio[0]
:ciao:

Forse così è più corretto:  :-[

Codice: [Seleziona]
Dim scambio As Object

scambio = array[0]
array[0]=array[1]
array[1]=scambio

Citazione
Era così carina e divertente 
Dai Vuott accontentalo se no....  :(
 :P

nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
« Ultima modifica: 08 Settembre 2019, 16:30:22 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #12 il: 08 Settembre 2019, 19:09:37 »
leggo una punta di ironia.......
Se ti riferisci alla mia gif, la tolgo ora.
la tua ironia era meritatissima
ti prego Vuott rimetti la gif
 :ok: :ok: :ok:
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Scambio di elemnti in un array di di oggetti
« Risposta #13 il: 08 Settembre 2019, 19:43:29 »
«Paganini non ripete»
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »