Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 04-07-2009, 12.26.50   #1
Jamester
Junior Member
 
Registrato: 08-04-2008
Messaggi: 72
Jamester promette bene
[VB6] Tre Domande in Una

Risalve quest'oggi ho 3 domande da porvi.

1) C'e' un modo per mettere a disposizione un blocco di condizioni che vengano verificate sia se premo un pulsante sia se premo un altro o che si attivi qualunque cosa io faccio senza doverle riscrivere per ogni pulsante?

2) Ci sarebbe un sistema che controlla su tipo 10 form diverse se ci sono delle label con una colorazione impostata da me e che in caso affermativo le salvi in un file di testo una sotto l'altra?

3) Tenendo conto del codice seguente:

Quota:
If Command2.Caption = 169 Then Command2.BackColor = &H80FFFF
If Command3.Caption = 169 Then Command3.BackColor = &H80FFFF
If Command4.Caption = 169 Then Command4.BackColor = &H80FFFF
If Command5.Caption = 169 Then Command5.BackColor = &H80FFFF
If Command6.Caption = 169 Then Command6.BackColor = &H80FFFF
If Command7.Caption = 169 Then Command7.BackColor = &H80FFFF
If Command8.Caption = 169 Then Command8.BackColor = &H80FFFF
If Command9.Caption = 169 Then Command9.BackColor = &H80FFFF
If Command10.Caption = 169 Then Command10.BackColor = &H80FFFF
If Command11.Caption = 169 Then Command11.BackColor = &H80FFFF
If Command12.Caption = 169 Then Command12.BackColor = &H80FFFF
If Command2.Caption = 169 Or Command3.Caption = 169 Or Command4.Caption = 169 Or Command5.Caption = 169 Or Command6.Caption = 169 Or Command7.Caption = 169 Or Command8.Caption = 169 Or Command9.Caption = 169 Or Command10.Caption = 169 Or Command11.Caption = 169 Or Command12.Caption = 169 Then
Call MsgBox("Puoi rollare le seguenti nano:" & vbCrLf & "" & vbCrLf & "169 - FIXER" & vbCrLf & "Root reducer (self)" & vbCrLf & "Master Escapologist" & vbCrLf & "------------------------------------------------------------" & vbCrLf & "169 - FIXER" & vbCrLf & "Fixer smg and burst buffs" & vbCrLf & "Frenzy of Shells" & vbCrLf & "------------------------------------------------------------" & vbCrLf & "169 - FIXER" & vbCrLf & "Gridding" & vbCrLf & "Re-Matrix Grid Vector" & vbCrLf & "------------------------------------------------------------" & vbCrLf & "169 - FIXER" & vbCrLf & "Damages Boost" & vbCrLf & "Semi-Sentient Augmentation Cloud ", vbOKOnly + vbInformation + vbApplicationModal + vbDefaultButton1, "FIXER - NANO ALERT")
Command2.BackColor = &HFFFF80
Command3.BackColor = &HFFFFC0
Command4.BackColor = &HFFFF80
Command5.BackColor = &HFFFFC0
Command6.BackColor = &HFFFF80
Command7.BackColor = &HFFFFC0
Command8.BackColor = &HFFFF80
Command9.BackColor = &HFFFFC0
Command10.BackColor = &HFFFF80
Command11.BackColor = &HFFFFC0
Command12.BackColor = &HFFFF80
End If
C'e' un modo per evitare che il messagebox riporti tutti i risultati? nel senso vorrei fare un opzione che escluda alcuni tipi di risultati in modo tale che non vengano sempre segnalati dei risultati che l'utente non vuole.
Jamester non è collegato   Rispondi citando
Vecchio 04-07-2009, 15.10.47   #2
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Si è possibile, ma devi utilizzare gli array (o insiemi) di controlli.
Posiziona il primo command button su un form, poi fai copia ed incolla.
VB ti chiederà se creare un doppione dell'oggetto da incollare ogni volta che riproporrai l'operazione incolla: Ogni doppione sarà identificato da un indice numerico (index) es: command(index) ed ogni evento ad esso associato avrà lo stesso identificatore, in modo che tu possa agire su uno specifico elemento dell'array, o su utti gli elementi di cui esso si compone, attravervo istruzioni di iterazione del tipo for [each] ... to ... next, do ... loop, while ... wend.

La creazione di array di oggetti può essere eseguita anche in runtime ...
A dire il vero, potresti evitare di utilizzare gli array, ma questo è il metodo più semplice e veloce da eseguire.
Agendo senza array, dovresti intendere (come in realtà è) una form come un contenitore di oggetti di tipologia differente.
es:
Codice:
dim obj as object

for each obj in form
  select case typeof(obj)
     case ...
         ....
     case else
         ....
  end select
next

Ultima modifica di LoryOne : 04-07-2009 alle ore 15.19.00
LoryOne non è collegato   Rispondi citando
Vecchio 04-07-2009, 15.14.32   #3
Jamester
Junior Member
 
Registrato: 08-04-2008
Messaggi: 72
Jamester promette bene
Angry

Quota:
Inviato da LoryOne
Si è possibile, ma devi utilizzare gli array (o insiemi) di controlli.
Posiziona il primo command button su un form, poi fai copia ed incolla.
VB ti chiederà se creare un doppione dell'oggetto da incollare ogni volta che riproporrai l'operazione incolla: Ogni doppione sarà identificato da un indice numerico (index) es: command(index) ed ogni evento ad esso associato avrà lo stesso identificatore, in modo che tu possa agire su uno specifico elemento dell'array, o su utti gli elementi di cui esso si compone, attravervo istruzioni di iterazione del tipo for [each] ... to ... next, do ... loop, while ... wend.

La creazione di array di oggetti può essere eseguita anhe in runtime ...
ovviamente e' troppo pretendere un listato cn la spiegazione di dove metterlo...

Io sono del parere che queste cose vadano spiegate con esempi pratici. Se mi devi rispondere cosi come hai risposto nell'altro post, evita per piacere perchè nn so tu cn che spirito lo fai ma io mi arrabbio molto cosi :anger: se poi è questo che vuoi ottenere beh...

Ultima modifica di Jamester : 04-07-2009 alle ore 15.17.42
Jamester non è collegato   Rispondi citando
Vecchio 04-07-2009, 15.21.41   #4
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Non t' inc@zz@re Jamester, io non ho intenzione di fartelo apposta.
Internet è pieno di esempi pratici.
Io ti fornisco indicazioni utili che tu puoi recepire, oppure buttare nel cesso.
LoryOne non è collegato   Rispondi citando
Vecchio 04-07-2009, 17.50.00   #5
Jamester
Junior Member
 
Registrato: 08-04-2008
Messaggi: 72
Jamester promette bene
Se sono venuto qui è xche e' un forum dedicato a questo. Se io ti ripeto che per me quello che dici è arabo, perchè dunque continui con questa linea? nn capisco ma non ti è + semplice scriverlo sto benedetto codice? Se capissi cosa cercare e cosa chiedere ti pare che starei qui a farlo?
Jamester non è collegato   Rispondi citando
Vecchio 04-07-2009, 18.49.47   #6
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Come pensi che io possa sostituirmi al manuale di VB6 ?
Tu cerca gli argomenti proposti, poi fai un copia-incolla nel tuo listato degli esempi pratici riportati ed ottieni quello che tu vorresti da me.
Semplice no ?
Io ti ho dato l'aiuto che ti serve per cercare gli argomenti sul manuale utente.
E' chiaro che se uno non sa cosa cercare no sa neanche come copiare l'esempio, qui ti do ragione.
Io non ho il manuale sotto mano, ne VB6 installato, ma tu si.
LoryOne non è collegato   Rispondi citando
Vecchio 04-07-2009, 19.31.32   #7
Jamester
Junior Member
 
Registrato: 08-04-2008
Messaggi: 72
Jamester promette bene
Sarò cieco ma sl manuale di FRANCESCO BALENA della MONDADORI DI 1104 pagine non c'e' ombra di qualcosa chiamato array. Su internet viene usato un array quandi si parla tipo di insieme di dati tipo i giorni della settimana. La cosa non risolve il mio problema di usare un codice e di non ripeterlo in ogni pulsate. Quindi non vedo altra via che riscrivere lo stesso codice altre 2 volte in totale 3 dato che ...stranamente nessuno sa risolvere il problema con uno stramaledetto listato
Jamester non è collegato   Rispondi citando
Vecchio 05-07-2009, 15.10.49   #8
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Dubito che Francesco Balena non abbia trattato l'argomento array, anche perchè è basilare qualunque linguaggio tu utilizzi.
E' probabile che lo abbia fatto sotto altra nomenclatura e si sia adoperato a carcar di far intendere i giorni di una settimana come elementi singoli di un array di 7 elementi identici per natura: Il concetto è questo.
Poichè ti ho scritto che una form è un contenitore di oggetti, intendere ogni oggetto come elemento singolo di un array, non si discosta molto dall'intendere una settimana come insieme di 7 giorni.
Per quanto attiene l'esempio che cerchi per assolvere al compito che ti sei posto, ragionando a modo tuo son certo che non riuscirai mai a trovarne uno per ogni occasione, poichè un esempio è sempre fine a se stesso. E' il concetto che sta alla base che devi capire e farne il corretto uso ogni volta che tale concetto trova applicazione nell'attività che devi svolgere.
La programmazione è solo in minima parte meccanica; la cosa potrà anche sembrarti strana, ma è così.
LoryOne non è collegato   Rispondi citando
Vecchio 06-07-2009, 15.23.20   #9
Jamester
Junior Member
 
Registrato: 08-04-2008
Messaggi: 72
Jamester promette bene
Non c'e' nessuno che mi sappia risolvere il mio primo quesito?

Lo riscrivo un po' diversamente:

C'e' un modo per mettere a disposizione un blocco di condizioni che vengano verificate sia se premo un pulsante sia se premo un altro o che si attivi qualunque cosa io faccio senza doverle riscrivere per ogni pulsante?

Esempio:

Quota:
If Command12.Caption = 126 Then
Command12.BackColor = &H80FFFF
End If

If Command2.Caption = 126 Or Command3.Caption = 126 Or Command4.Caption = 126 Or Command5.Caption = 126 Or Command6.Caption = 126 Or Command7.Caption = 126 Or Command8.Caption = 126 Or Command9.Caption = 126 Or Command10.Caption = 126 Or Command11.Caption = 126 Or Command12.Caption = 126 Then

' Attiva
If Clicksaver_Opzioni.Check17.Value = 0 Then
Call MsgBox("Puoi rollare le seguenti nano:" & vbCrLf & "" & vbCrLf & "126 - FIXER" & vbCrLf & "Single Snare" & vbCrLf & "Gravity Bindings", vbOKOnly + vbInformation + vbApplicationModal + vbDefaultButton1, "FIXER - NANO ALERT")
GoTo Tornanormale
End If

' Disattiva
If Clicksaver_Opzioni.Check17.Value = 1 Then
GoTo Alert
GoTo Tornanormale
End If
L'ho accorciato perchè sarebbe molto più lungo. Il goto alert e tornanormale sono 2 funzioni che si trovano all'interno dello stesso codice del pulsante con questa sintassi:

Quota:
Tornanormale:
Command2.BackColor = &HFFFF80
Command3.BackColor = &HFFFFC0
Command4.BackColor = &HFFFF80
Command5.BackColor = &HFFFFC0
Command6.BackColor = &HFFFF80
Command7.BackColor = &HFFFFC0
Command8.BackColor = &HFFFF80
Command9.BackColor = &HFFFFC0
Command10.BackColor = &HFFFF80
Command11.BackColor = &HFFFFC0
Command12.BackColor = &HFFFF80
Exit Sub
Quindi vorrei che sia il primo listato sia il secondo fossero a disposizione non di un solo pulsante ma di tutta la form cosi qualunque pulsante premo, si va a richiamare sta chilometrica funzione senza doverla riscrivere. Pregherei gentilmente di scrivermi il codice in modo tale che io debba solo copiarlo e incollarlo o che sia quantomeno capibile da chi non e' un esperto. Grazie.
Jamester non è collegato   Rispondi citando
Vecchio 06-07-2009, 16.13.41   #10
zemas
Newbie
 
L'avatar di zemas
 
Registrato: 14-06-2009
Messaggi: 24
zemas promette bene
Ciao Jamester,
non so' se hai risolto l'enigma cmq ti do' una dritta semplice,
puoi assegnare al tuo "Command12" un valore "index" e creare a sua volta
x "Command12(i)".

In questo modo puoi scrivere una sola volta le condizioni in comune.


Non so se sono stato chiaro, ma prova e vedrai che è una cosa molto semplice.
zemas non è collegato   Rispondi citando
Vecchio 06-07-2009, 17.06.25   #11
Jamester
Junior Member
 
Registrato: 08-04-2008
Messaggi: 72
Jamester promette bene
Hmm non credo...Cmq e' molto + complicato di quanto sembri. Le caption degli 11 pulsanti cambiano in funzione di un numero presente in una textbox. Il codice che ho postato è un esempio preso dal command12 ma sono presenti anche tutti gli altri command dal command2 al command 12. Ora tutta questa sfilza interminabile di codice c'e' solo su un pulsante. Ma io vorrei far si che questo codice funzionasse anche se premo un pulsante + e uno - che servono a cambiare il text1 rispettavamente di +1 e -1 senza doverlo riscrivere. Il codice postato (il primo blocco) è presente in un commandbutton chiamato Calcolo_Istantaneo. Quindi potrei tipo racchiudere tutto sto casino in una funzione disponibile per tt la forma che venga richiamata cosi come ho mostrato nel secondo blocco di codice sl che in questo caso queste 2 piccole sottofunzioni sono all'interno del pulsante stesso e io vorrei qualcosa che me lo rendesse per tt la form come accade tipo Alert: etc etc ma nn so come
Jamester non è collegato   Rispondi citando
Vecchio 07-07-2009, 17.35.00   #12
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Non è che tu sia stato molto chiaro, ma penso di avere capito che aldilà degli array a te manchi proprio la concezione di sub procedure. Una sub procedure è un sottoprogramma, ossia un raggruppamento di istruzioni richiamabili allo stesso modo con cui tu fai saltare il tuo programma con l'istruzione Goto Label (o etichetta).
GoTo è l'istruzione di salto, l'etichetta è il nome della subprocedure.
L'esecuzione del programma procede dalla prima istruzione che si trova sotto la label, fino al raggiungimento di un nuovo salto o al termine della sequenza.
Questo è il concetto esposto in maniera semplicistica, anche perchè in maniera un po meno semplicistica, quando ci si trova in presenza di una chiamata ad una subprocedure, il processore termina di eseguire il programma principale, memorizza dove si trova all'interno del programma, esegue la subprocedure per poi riprendere nuovamente il programma principale dal punto di memorizzazione non appena raggiunge la fine del sottoprogramma.
La subprocedure può trovarsi ovunque nel programma e questo implica che la sua chiamata debba essere riconoscibile, ma esistono dei limiti: La subprocedure può essere Public, Private o Friend.
Un programma (o progetto in VB) può essere composto da form, moduli, classi, librerie e la dichiarazione della subprocedure varia in base alla tipologia degli elementi di cui si compone il progetto...
LoryOne non è collegato   Rispondi citando
Vecchio 07-07-2009, 17.52.43   #13
miciomao
Hero Member
 
L'avatar di miciomao
 
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
miciomao promette bene
Creati una funzione pubblica con il codice che hai già scritto e richiamala da ogni tasto con Call NomeTuaFunzionePubblica
___________________________________

♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫
"Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci)
Namasté!
miciomao non è collegato   Rispondi citando
Vecchio 07-07-2009, 22.42.51   #14
Jamester
Junior Member
 
Registrato: 08-04-2008
Messaggi: 72
Jamester promette bene
Ho risolto in effetti provando a fare private sub xxxxxx e richiamandola semplicemente scrivendo il nome della procedura. cn il sistema usato da me qualcosa nn andava in quanto pareva che la procedura arrestasse completamente le altre condizioni. Cosi facendo invece pare andare tutto bene. Pero' si poteva dirlo subito. Ci sono arrivato cercando su internet e per caso mi si e' accesa la lampadina. Cmq grazie per il tempo che mi avete dedicato questo non lo posso non ammettere
Jamester non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Un paio di Kg. di domande sull'ADSL aspide Internet e Reti locali 30 17-07-2005 02.44.55
2 Domande su installazione XP FreeWolf Windows 7/Vista/XP/ 2003 2 10-05-2004 19.29.47
Domande sul Bios peppecol Hardware e Overclock 7 04-02-2004 22.55.21
domande domande e ancora domande Panaro Masterizzazione Giochi Games 3 25-11-2003 16.44.00
Domande su domande.... torakiki78 Linux e altri Sistemi Operativi 0 21-11-2003 21.56.30

Orario GMT +2. Ora sono le: 16.13.55.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.