Oppure

Loading
29/02/20 10:35
iz1kbp
Buongiorno a Tutti...
faccio una domanda un po complicata:
Ho un form con una serie di tasti (li chiamo T1..Tn per dare un riferimento in questo post) che fanno un certa funzione (evento click),piu tasti di questi possono essere attivi contemporaneamente.
Ci sono poi altri tasti (T2 idem...) che semplicemente memorizzano quali dei tasti precedenti (T1---Tn)sono stati schiacciati, una sorta di MACRO.
Sul form aperto una sola volta funziona tutto perfettamente
la mia necessita è di aprire questo form piu volte (base +istanze...) e far si che i tasti che funzionano da MACRO (sul form iniziale, T2) riescano a registrare lo stato dei tasti T1..Tn presenti sia sul form di partenza che su gli altri form aperti in seconda, terza istanza...e cosi via.
Qualcuno puo darmi qualche dritta su da che parte iniziare?
Grazie a chiunque possa darmi una mano
Mario :)
aaa
29/02/20 13:15
nessuno
Non ho capito quasi nulla (... registrare stato dei tasti?? Tasti che funzionano da MACRO?? Prima T1..Tn e poi T2 ??? e comunque Button non tasti ...)

Facciamo un passo indietro ...

A cosa ti serve tutto questo "cinema" ? Spiega la vera funzione del programma, dei form e dei button ... e se ne riparla ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
01/03/20 21:46
Carlo
Anche io ho capito poco, se i form che apri sono istanze diverse dello stesso programma, ad ogni clic puoi salvare su un file testo condiviso lo stato dei tasti premuti sulle varie istanze.
Importante il file condiviso deve sempre essere aperto e chiuso, per evitare errori di file in uso.
Se hai anche bisogno di sapere da quale istanza si sta modificando il file, puoi mettere il pid del thread, la gestione dipende dall'uso che ne devi fare.
in programmazione tutto è permesso
02/03/20 20:27
iz1kbp
Ciao a tutti. i form che apro sono istanze dello stesso programma (form1 , a cui si aggiunge form1 bis e cosi via...) Registrare una macro significa "catturare" lo stato di alcuni controlli per poi riprodurre la situazione usando un solo tasto e non dovendo schiacciare tutti i tasti.Non devo salvare alcun file.
faccio un esempio. sul form 1 sono attivi i tasti t1a t1b t1d e schiacciando il tasto t2 io catturo lo stato dei tre tasti precedenti (ho una matrice a 3 elementi in cui memorizzo lo stato di quesi tre tasti). se piu in la volessi riprodurre questa situazione, basta che schiaccio t2 e leggendo la matrice, riporto i tasti alla posizione salvato in precedenza senzache debba schiacciarli ad ubn o ad uno. Questo è il funzionamento sul form SINGOLO e funziona.
Ipotizziamo di aprire una seconda istanza del form ed attiviamo i tasti t1Abis t1Bbis t1dbis.
La mia domanda è : come faccio, sempre se è possibile,a vedere lo stato dei tasti sul form aperto in seconda istanza dato che , da codice, il tasto è sempre lo stesso ?
Con il mio programma piloto periferiche dmx...giusto per dire a cosa serve tutto questo cinema :)

mario
aaa
02/03/20 22:15
nessuno
Continuo ad avere dubbi ... puoi postare del codice (semplificato) per fare un piccolissimo esempio ?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
02/03/20 22:37
Goblin
Tenuto conto che uso un linguaggio di programmazione diverso "delphi", ma credo che la "logica" nel mostrare i vari form, a discapisco del linguaggio, sia lo stesso .. bene .. ammetto di non aver capito niente ... scusatemi
G.
Ibis redibis non morieris in bello
03/03/20 0:50
Carlo
Postato originariamente da iz1kbp:
Non devo salvare alcun file.
mario


Se non salvi nessun file non hai la comunicazione tra le istanze aperte.

Ancora non ho capito, ma se vuoi programmare un'interfaccia che poi riapri, e le interfacce aperte devono interagire tra di loro, puoi usare un UserControl, se non lo hai mai usato è un po' difficile da spiegare, ho scritto velocemente un esempio, che non fa nulla ma è esplicativo.

Quando apri il programma allegato, clicca sul bottone [ NUOVO BANCO ] e vedrai che BANCO(x) si aggiungerà nel pannello, ogni clic un BANCO(x) nuovo. Ogni BANCO(x) contiene un UserControl1 che funzionerà in modo indipendente.
Ho inserito dei bottoni di esempio per farti vedere come raggiungere i componenti nel BANCO ma inseriti nell'UserControl.

L'UserControl1 è un'interfaccina che programmi una volta poi la ricicli tutte le volte che vuoi, anche qui ho inserito una label che cambia in base al bottone cliccato, ho programmato solo la prima riga.

Non ho indicizzato i bottoni perché così è tutto più chiaro.

PS. mi sono accorto ora che hai postato VB6, spero che è un errore, il mio esempio è in VB .NET, puoi sempre vedere l'exe nello zip PiuFormUserControl\bin\Debug\PiuFormUserControl.exe
l'UserControl comunque esiste anche in VB6
Ultima modifica effettuata da Carlo 03/03/20 12:18
in programmazione tutto è permesso
03/03/20 23:38
iz1kbp
Ciao Carlo,
no, non salvo files...User controll non l'ho mai usato ma da quel che leggo potrebbe essere una soluzione.
Ps non vedo allegati...o magari non so dove vederli

Rispondo a "nessuno"... una parte di codice non è possibile.sono un po di pagine,e semplificarlo idem.La struttura è complessa.
aaa