Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB 2008] Raggruppare le condizioni OR in un iterazione IF
Forum - C# / VB.NET - [VB 2008] Raggruppare le condizioni OR in un iterazione IF

Avatar
sub0 (Ex-Member)
Rookie


Messaggi: 56
Iscritto: 05/10/2009

Segnala al moderatore
Postato alle 11:39
Martedì, 06/04/2010
Raga come posso fare per raggruppare tuttgli gli Or di un iterazione If? Cioè ora mi spiego meglio:
              
Codice sorgente - presumibilmente Delphi

  1. ...
  2. if (ciao IsNot a11) or (ciao IsNot b11) or (ciao IsNot c11) or (ciao IsNot d11) or ...




fino a j11. (Uso IsNot perchè lavoro su controlli e non su stringhe o numeri). Come posso raggruppare gli or? tipo
              
Codice sorgente - presumibilmente Delphi

  1. if ciao IsNot ( a11 Or b11 Or c11 Or d11 Or ... Or j11 ) then ...




Come ho appena scritto è solo un esempio di quello che intendo. Chi mi aiuta?


Le capacità operative della CPU sono effettivamente elementari: somme, differenze, prodotti e divisioni, qualche funzione logica: niente che ciascuno di noi non possa fare altrettanto bene.....Solo che la CPU lo fa in un miliardesimo di secondo.
PM Quote
Avatar
Federico_VbNet_Programmer (Normal User)
Expert


Messaggi: 222
Iscritto: 03/04/2010

Segnala al moderatore
Postato alle 12:18
Martedì, 06/04/2010
Le vorresti togliere dalle parentesi e fare tutto in una sola?


pierotofy fa merda
PM Quote
Avatar
sub0 (Ex-Member)
Rookie


Messaggi: 56
Iscritto: 05/10/2009

Segnala al moderatore
Postato alle 12:22
Martedì, 06/04/2010
Testo quotato

Postato originariamente da Federico_VbNet_Programmer:

Le vorresti togliere dalle parentesi e fare tutto in una sola?



Si, penso che tu abbia capito. Dal primo snippet di codice che ho scritto voglio fare una cosa simile al secondo snippet. Ma come ho scritto nel secondo snippet VisualStudio 2008 mi dice che or non può essere usato per controlli WithEvents. No so neanche se la sintassi è giusta. In poche parole voglio raggruppare gli Or tutti in una parentesi. :hail::hail:


Le capacità operative della CPU sono effettivamente elementari: somme, differenze, prodotti e divisioni, qualche funzione logica: niente che ciascuno di noi non possa fare altrettanto bene.....Solo che la CPU lo fa in un miliardesimo di secondo.
PM Quote
Avatar
Federico_VbNet_Programmer (Normal User)
Expert


Messaggi: 222
Iscritto: 03/04/2010

Segnala al moderatore
Postato alle 12:26
Martedì, 06/04/2010
Cosa sono a11 e le altre cose?Controlli,di che genere?


pierotofy fa merda
PM Quote
Avatar
sub0 (Ex-Member)
Rookie


Messaggi: 56
Iscritto: 05/10/2009

Segnala al moderatore
Postato alle 12:36
Martedì, 06/04/2010
Testo quotato

Postato originariamente da Federico_VbNet_Programmer:

Cosa sono a11 e le altre cose?Controlli,di che genere?



Nello screen allegato c'è il mio form. Ogni controlo della griglia è un RectangleShape. Ogni quadrato ha un nome (a1, a2, a3....b1, b2, b3, etc etc). Sto creando una battaglia navale. Al form_load mi randomiza uno dei 140 quadrati e me lo colora di blu, però se esce a11, a12, a13, a14, b11, b12, b13, b14...etc fino a j14 me lo colora diversamente (per ora). invece di stare a scrivere tutti gli OR nell'IF...come posso velocizzare la stesura del codice?


sub0 ha allegato un file: etyhg.jpg (67001 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da sub0 il 06/04/2010 alle 12:45


Le capacità operative della CPU sono effettivamente elementari: somme, differenze, prodotti e divisioni, qualche funzione logica: niente che ciascuno di noi non possa fare altrettanto bene.....Solo che la CPU lo fa in un miliardesimo di secondo.
PM Quote
Avatar
Federico_VbNet_Programmer (Normal User)
Expert


Messaggi: 222
Iscritto: 03/04/2010

Segnala al moderatore
Postato alle 12:45
Martedì, 06/04/2010
Be è sempre lunga la cosa e sarebbe così:

if (ciao IsNot a11 or ciao IsNot b11 or ciao IsNot c11 or ciao IsNot d11) then
End if

Non so altro al riguardo di come fare in un'unica riga...mi disp,ma ti dovrebbe andare bene questo mi sembra,no?:k:


pierotofy fa merda
PM Quote
Avatar
sub0 (Ex-Member)
Rookie


Messaggi: 56
Iscritto: 05/10/2009

Segnala al moderatore
Postato alle 12:47
Martedì, 06/04/2010
Testo quotato

Postato originariamente da Federico_VbNet_Programmer:

Be è sempre lunga la cosa e sarebbe così:

if (ciao IsNot a11 or ciao IsNot b11 or ciao IsNot c11 or ciao IsNot d11) then
End if

Non so altro al riguardo di come fare in un'unica riga...mi disp,ma ti dovrebbe andare bene questo mi sembra,no?:k:


io questo volevo evitare...invece di fare come hai detto tu volevo fare tipo:

Codice sorgente - presumibilmente C# / VB.NET

  1. if ciao IsNot (a11 or b11 or c11) then



però se lo scrivo come ho fatto ora il compilatore mi diche che or non può essere usato vicino a controlli (come rectangleshape).


Le capacità operative della CPU sono effettivamente elementari: somme, differenze, prodotti e divisioni, qualche funzione logica: niente che ciascuno di noi non possa fare altrettanto bene.....Solo che la CPU lo fa in un miliardesimo di secondo.
PM Quote
Avatar
Federico_VbNet_Programmer (Normal User)
Expert


Messaggi: 222
Iscritto: 03/04/2010

Segnala al moderatore
Postato alle 12:51
Martedì, 06/04/2010
prova così:

Codice sorgente - presumibilmente C# / VB.NET

  1. if  ciao (a11 or b11 or c11)=false then



pierotofy fa merda
PM Quote
Avatar
sub0 (Ex-Member)
Rookie


Messaggi: 56
Iscritto: 05/10/2009

Segnala al moderatore
Postato alle 12:58
Martedì, 06/04/2010
Testo quotato

Postato originariamente da Federico_VbNet_Programmer:

prova così:

Codice sorgente - presumibilmente C# / VB.NET

  1. if  ciao (a11 or b11 or c11)=false then




mi da questo errore: [bL'operatore 'Or' non è definito per i tipi 'Microsoft.VisualBasic.PowerPacks.RectangleShape' e 'Microsoft.VisualBasic.PowerPacks.RectangleShape'.

Comunque non fa niente grazie lo stesso. Faccio prima a scrivere tutto il costrutto per intero. :k:


Le capacità operative della CPU sono effettivamente elementari: somme, differenze, prodotti e divisioni, qualche funzione logica: niente che ciascuno di noi non possa fare altrettanto bene.....Solo che la CPU lo fa in un miliardesimo di secondo.
PM Quote