Novità

NUOVO AMBIENTE SCRIPT AREA TECNICA

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
buon giorno a tutti , mentre voi sieti arrivati alla quasi conclusione del progetto sono riuscito a fare un piccolo passo avanti.
ho costruito una form per inserimento dati.
ho utilizzato un font dimensioni 12 per chi come me fa difficolta .
ora ho una serie di domande
( sono orgoglioso di quello che ho fatto e vorrei avvertire Tom che c'è un nuovo pasticcere in Città :))
1 ) ho utilizzato windowsState=maximized , come si potrebbe fare che tutti i controlli si "elasticizzino" e seguano il form?
2)i forecolor degli optionbutton (il testo perchè non cambia colore?)
3) come fare dei cmdButton piu custom?
adesso come mi conviene proseguire?
faccio un wayneGrid sullo stesso form oppure è migliore la tabella in html?
wayne grid si puo ordinare pigiando sulla colonna?oppure si costruisce un option button che mi riordini la matrice e ripopoli di nuovo la griglia?

ancora devo fare lo script di pesca a strascico .
che ne pensate?
Mi piacerebbe inserire un frame che metta in grafico la riga selezionata dalla tabella . oppure devo semplicemente creare una listbox e poi un controllo per irdinarlo di volta in volta.
ottimo che ne pensate della nuova pasticceria?
vengono raccolti tutti i mesi ma ordinato solo quello selezionato



Vedi l'allegato 2254210

Interfaccia e relativo code (anche se qui non manifesto) spettacolare ilegend!!! Ecco spiegata la tua assenza... Volevi solo mostrare la tua stupenda torta nuziale dopo averla composta e ornata in sordina... :eek:💪👏👍👌 Complimentissimi legend Master Chef n.1 a parimerito con Mike58 😀 ! 🥇🧑‍🍳

ps: mi associo alla richiesta del tuo punto 1 :) e aggiungo... se si chiude un Form2 collegato ad un altro Form1 come facciamo a salvare lo status di "Form2 chiuso" per poi servircene per controlli sull'altro form1 per evitare che magari una funzione che lo richieda e presente su form1 dia errore se appunto lo trova chiuso? o_O🫠

es.

Codice:
Class Form1
Dim filename As string
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
    Sub New()
    End Sub
 
    Private Sub File1_Click()
 
    filename = File1.List(File1.ListIndex)
    
   'problema : quando si chiude il form Form2 al momento di caricarvi una nuova immagine da errore...
    
    Form2.Picture1.BackColor = vbRed
    Form2.Picture1.Picture = LoadPicture(Form1.File1.Path & filename)
 
 
    End Sub
 
    Private Sub Form_Load()
    Form2.Top = 0
    Form2.Left = 0
    Form2.Show
    End Sub
End Class
 
Ultima modifica:
buon giorno a tutti , mentre voi sieti arrivati alla quasi conclusione del progetto sono riuscito a fare un piccolo passo avanti.
ho costruito una form per inserimento dati.
ho utilizzato un font dimensioni 12 per chi come me fa difficolta .
ora ho una serie di domande
( sono orgoglioso di quello che ho fatto e vorrei avvertire Tom che c'è un nuovo pasticcere in Città :))
1 ) ho utilizzato windowsState=maximized , come si potrebbe fare che tutti i controlli si "elasticizzino" e seguano il form?
2)i forecolor degli optionbutton (il testo perchè non cambia colore?)
3) come fare dei cmdButton piu custom?
adesso come mi conviene proseguire?
faccio un wayneGrid sullo stesso form oppure è migliore la tabella in html?
wayne grid si puo ordinare pigiando sulla colonna?oppure si costruisce un option button che mi riordini la matrice e ripopoli di nuovo la griglia?

ancora devo fare lo script di pesca a strascico .
che ne pensate?
Mi piacerebbe inserire un frame che metta in grafico la riga selezionata dalla tabella . oppure devo semplicemente creare una listbox e poi un controllo per irdinarlo di volta in volta.
ottimo che ne pensate della nuova pasticceria?
vengono raccolti tutti i mesi ma ordinato solo quello selezionato



Vedi l'allegato 2254210
Ciao Legendario, si vede che nelle tue corde e nel tuo DNA vi e' una colonia di neuroni che discendono da BG III (Bill Gates Terzo)(y)
 
bravo legend , la grafica è molto carina stile twinbasic ..

1 ) ho utilizzato windowsState=maximized , come si potrebbe fare che tutti i controlli si "elasticizzino" e seguano il form?
i form hanno l'evento resiize che scatta quando il form viene ridimensionato.
i controlli sul form hanno una posizione in base alle coordinate x e y che sono espresse per default in twips, ma la scal si puo cambiare.
la x è la proprietà left , la y è la proprietà Top. , per le dimensioni width è la base height è l'altezzza.
Il form ha delle dimensioni interne scalewidth la base , scaleheight l'altezza.
All'evento resixe va lanciata uan routine che si occupi di ridimensionare i controlli in funzione delal grandezza del form mantenendo ovviamente le proporzioni.

per esempio se ho un form con una label che ha 20 twips a sx e 20 a destra nell'evento resize del form per ridimesionarla dovro andare ad agire sulla sua lunghezza , per mantenere la distanza dal bordo destro e sinistro scrivero

label1.width = me.scalwidth - (label1.left *2)

questo esempio è semplice ma il concetto rimane lo stesso anche in casi piu complessi , sono i calcoli da fare talvolta che sono piu complessi.






2)i forecolor degli optionbutton (il testo perchè non cambia colore?)

mi sembra che si debba impostare la proprietà graphics a true , i lche ti consente anche di mettere immagini sui pulsanti

3) come fare dei cmdButton piu custom?

non è una cosa cosi semplice , di solito per queste cose c si affida a cntrolli di terze parti questo implica la necessità di fare u nsetup per distribuire il proprio programa il quale installi anche i componenti usati (come spaziometria)
una soluzione un po' ingenua ma che certe volte potrebbe andare è quella di disegnare un immagine di un pulsante come ti piace e poi usare un controlllo image/picturebox e gestire l'evento click come se fosse un commad button è una soluzione molto semplice ma altri modi sono ben piu difficili ,






adesso come mi conviene proseguire?
faccio un wayneGrid sullo stesso form oppure è migliore la tabella in html?
wayne grid si puo ordinare pigiando sulla colonna?oppure si costruisce un option button che mi riordini la matrice e ripopoli di nuovo la griglia?


lascia perdere la waynegrid che ti obbliga ad usare iwayne formm e che al momento ha solo proprietà grafiche , vedi se riesci ad usare la flexgrid di microsoft , avevo messo un esempio qualche post fa
 
ok Grazie a tutti :)
tom Troppo gentile
Rookie ti ringrazio per il complimento ma ,se penso che ho impiegato 2 giorni per sistemare due controlli in croce penso di non meritarlo.
Luigi Cerco l esempio che avevi postato , e grazie per la dritta dei tasti :)
 
ps: mi associo alla richiesta del tuo punto 1 :) e aggiungo... se si chiude un Form2 collegato ad un altro Form1 come facciamo a salvare lo status di "Form2 chiuso" per poi servircene per controlli sull'altro form1 per evitare che magari una funzione che lo richieda e presente su form1 dia errore se appunto lo trova chiuso? o_O🫠

es.

Codice:
Class Form1
Dim filename As string
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
    Sub New()
    End Sub
 
    Private Sub File1_Click()
 
    filename = File1.List(File1.ListIndex)
 
   'problema : quando si chiude il form Form2 al momento di caricarvi una nuova immagine da errore...
 
    Form2.Picture1.BackColor = vbRed
    Form2.Picture1.Picture = LoadPicture(Form1.File1.Path & filename)
 
 
    End Sub
 
    Private Sub Form_Load()
    Form2.Top = 0
    Form2.Left = 0
    Form2.Show
    End Sub
End Class


Forse ce l'ho fatta alone... ! :D

Mi sono ricordato del Me.Tag="ok" nei mitici esempi video di SDLR e ho provato...

in Form2:

Codice:
Private Sub Form_Unload(Cancel As Integer)
        Me.tag = "chiuso"
    End Sub


e così...

in Form1

Codice:
    If Form2.Tag = "chiuso" Then
    MsgBox "Form2 è chiuso riaprilo!"
    Form2.Show
else

msgbox "non fare nulla!"

    End If

e sembra funzioni! :D

In sostanza Tag è una sorta di "etichetta di flusso..." leggibile dai vari componenti del progetto e la variabile... Me si riferisce al componente del progetto autoreferente giusto? :unsure:
 
Ultima modifica:
Interfaccia e relativo code (anche se qui non manifesto) spettacolare ilegend!!! Ecco spiegata la tua assenza... Volevi solo mostrare la tua stupenda torta nuziale dopo averla composta e ornata in sordina... :eek:💪👏👍👌 Complimentissimi legend Master Chef n.1 a parimerito con Mike58 😀 ! 🥇🧑‍🍳

ps: mi associo alla richiesta del tuo punto 1 :) e aggiungo... se si chiude un Form2 collegato ad un altro Form1 come facciamo a salvare lo status di "Form2 chiuso" per poi servircene per controlli sull'altro form1 per evitare che magari una funzione che lo richieda e presente su form1 dia errore se appunto lo trova chiuso? o_O🫠

es.

Codice:
Class Form1
Dim filename As string
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
    Sub New()
    End Sub
 
    Private Sub File1_Click()
 
    filename = File1.List(File1.ListIndex)
   
   'problema : quando si chiude il form Form2 al momento di caricarvi una nuova immagine da errore...
   
    Form2.Picture1.BackColor = vbRed
    Form2.Picture1.Picture = LoadPicture(Form1.File1.Path & filename)
 
 
    End Sub
 
    Private Sub Form_Load()
    Form2.Top = 0
    Form2.Left = 0
    Form2.Show
    End Sub
End Class
quelll oche sta i nform load trascrivilo in una routne separata , questa routine la lancerai sia al form load come prima , sia prima di far visualizzare l'immagine , se il form è gia visalizzato non fa nlla al massimo lo risposta a 0 ,0

senn o ci vuole la routine per sapere se un form è presente in memoria cioè non è stato scaricato


1677322043822.png
 
Forse ce l'ho fatta alone... ! :D

Mi sono ricordato del Tag di SDLR e ho provato...

in Form2:

Codice:
Private Sub Form_Unload(Cancel As Integer)
        me.tag = "chiuso"
    End Sub


e così...

in Form1

Codice:
    If Form2.Tag = "chiuso" Then
    MsgBox "Form2 è chiuso riaprilo!"
    Form2.Show
    End If

e sembra funzioni! :D

In sostanza Tag è una sorta di "etichetta di flusso..." leggibile dai vari componenti del progetto e la variabile... me significa il componente del progetto autoreferente giusto? :unsure:

arghhhh .... attento che stia per ricevere una visita... avverti la segretaaria

1677322162060.jpeg



se form2 è chiuso quando accedi ad una qualunque sua proprieta esso viene caricato in memoria ma rimane invisibile e tutte le sue proprietà ripartono da default , il fatto che quando lo scarichi poi lui mantenga la proprietà tag è un bug d itwinbasic in quanto provata la stessa cosa in vb6 perche non ci volevo credere ho visto che invece è come ti dico io .. , la soluzione è quella di vedere se i lform è presente nell'insieme forms con la funzione che ho scritto prima
 
quelll oche sta i nform load trascrivilo in una routne separata , questa routine la lancerai sia al form load come prima , sia prima di far visualizzare l'immagine , se il form è gia visalizzato non fa nlla al massimo lo risposta a 0 ,0

senn o ci vuole la routine per sapere se un form è presente in memoria cioè non è stato scaricato


Vedi l'allegato 2254215

Grazie LU , ma perchè mi funzia anche con la soluzione artigianale che ho postato sopra? :unsure: Posso lasciare quella o è sbagliata per qualche motivo? Di memoria... o altro... :unsure: - OK letto la risposta sopra (y) Tnx :D
 
Grazie LU , ma perchè mi funzia anche con la soluzione artigianale che ho postato sopra? :unsure: Posso lasciare quella o è sbagliata per qualche motivo? Di memoria... o altro... :unsure: - OK letto la risposta sopra (y) Tnx :D
funziona fin oa quando non verrà sistemato il bug di twinbasic , i nrealta se il form è scarico quando testi la sua proprietà tag essa dovrebeb essere vuota in quanto il form si carica da sol ose cerchi di accedere ad una sua proprietà e rimane in memoria quantunque invisibile , prova a chiudere form2 , poi fai scattare i ltuo messaggio ma invece di riaprire form2 prova a chiudere il progetto da form1 , vedrai che dopo se lo rimandi in run non funziona e sai perche ? perche form2 che era stato caricato in memoria quando volevi leggere il tag non è mai stato chiuso perche era invisibile
 
funziona fin oa quando non verrà sistemato il bug di twinbasic , i nrealta se il form è scarico quando testi la sua proprietà tag essa dovrebeb essere vuota in quanto il form si carica da sol ose cerchi di accedere ad una sua proprietà e rimane in memoria quantunque invisibile , prova a chiudere form2 , poi fai scattare i ltuo messaggio ma invece di riaprire form2 prova a chiudere il progetto da form1 , vedrai che dopo se lo rimandi in run non funziona e sai perche ? perche form2 che era stato caricato in memoria quando volevi leggere il tag non è mai stato chiuso perche era invisibile

Dunque ho inserito la funzione FormExists per verificare in modo corretto se un form è aperto o meno... (VERY THANKS!) però non capisco perchè mi continui a dare errore se tento di caricarvi un'immagine dopo averlo ricaricato con show...

Form2 = MyForm

Codice:
    Private Sub File1_Click()
 
    filename = File1.List(File1.ListIndex)
  
   'problema : quando si chiude il form myform al momento di caricarvi una nuova immagine
   'da errore...
  
  
    If FormExists("MyForm") = False Then
    MsgBox "myform è chiuso riaprilo!"
    MyForm.Top = 0
    MyForm.Left = 0
    MyForm.Show
 
     MyForm.Picture1.BackColor = vbRed
    MyForm.Picture1.Picture = LoadPicture(Form1.File1.Path & filename)
 
    Else
 
    MsgBox "MyForm è già aperto non fare nulla! Carica solo l'immagine"
 
     MyForm.Picture1.BackColor = vbRed
    MyForm.Picture1.Picture = LoadPicture(Form1.File1.Path & filename)
 
    End If
  
 
 
 
    End Sub


    Function FormExists(sNome As String) As Boolean
 
    Dim f As Form
 
    For Each f In Forms
 
    If f.Name = sNome Then
 
    Return True
 
    End If
 
    Next
 
    End Function


Forse.. ho capito...

Myform.show rende solo "VISIBILE" il form ma senza ricaricarlo...
qual'è il comando che lo ricarica...?

Myform. ???


😶
 
Ultima modifica:
Sei incappato in un bug , provando lo stesso codice in vb6 non da alcun errore...per risolvere devi attenerti a quello che sarebbe lo standard anche se sia vb6 che twinbasic consentono di fregarsene, ovvero lavorare solo con istanze dei form e non con il form originale.
Vb6 gestisce comunque bene lo stesso la cosa ma twinbasic invece qui ha un bug.


devi dichiarare una variabile frmPic as myForm a livello di form quando lo apri dal pulsante lo devi istanziare esattamente come devi fare nell'evento click che qi ti mostro , a nessuna parte deve comparire un riferimento a MyForm tranne che nel punto dove lo istanzi , poi lo devi sempre richiamare attraverso l' istanza che hai creato e cioè frmPic

1677326804382.png
 
Sei incappato in un bug , provando lo stesso codice in vb6 non da alcun errore...per risolvere devi attenerti a quello che sarebbe lo standard anche se sia vb6 che twinbasic consentono di fregarsene, ovvero lavorare solo con istanze dei form e non con il form originale.
Vb6 gestisce comunque bene lo stesso la cosa ma twinbasic invece qui ha un bug.


devi dichiarare una variabile frmPic as myForm a livello di form quando lo apri dal pulsante lo devi istanziare esattamente come devi fare nell'evento click che qi ti mostro , a nessuna parte deve comparire un riferimento a MyForm tranne che nel punto dove lo istanzi , poi lo devi sempre richiamare attraverso l' istanza che hai creato e cioè frmPic

Vedi l'allegato 2254217

😱 Così funzia alla grandissima! Thanksss SLDR 🔝👍😀
 
scusate chiedo qui , se non disturbo ,
negli esempi postati all' inzio dei listati sono presenti queste 3 tipi di intestazioni
Codice:
Module MyScript

Enum eTipoRicerca
    RicercaDaFile
    RicercaDaGruppo
   
End Enum

Codice:
Module MyScript

Enum eTipoRicerca
    RicercaDaFile
    RicercaDaGruppo
   
End Enum

Private Type struct_dati
    ColpiMax As long
    ColpiMin As long
    Successi As long
    Insuccessi As long

   
End Type

Codice:
Module MyScript
da neofita ho capito che il terzo esempio , si puo dire STANDARD .
ma gli altri , quando e come devono essere usati ,
grazie
 
ciao si tratta di variabili di tipo Enum che sono servite in altri script e che erroneamente sono rimaste , quindi possono essere rimosse
tutto qell opresente nel modulo myscript servesolo ed esclusivamente a quel tale script.
 
quindi se faccio , ad esempio uno script , in cui dovrei usare funzioni del 1 o del 2 esempio
od uno script di statististica ,devo metterle o posso inserirle al interno del listato
 
se prendi da uno script le funzioni che vedevano variabili di quel tipo ovviamente te le devi portare , in altri casi non sevono
 
x SLDR :)

Codice:
    frmpic.Top = 0
    frmpic.Left = 0
    frmpic.Width = 9000
    frmpic.Height = 9000
    frmpic.Picture1.Width = 9000
    frmpic.Picture1.Height = 9000
    Form1.Left = 10000

Se volessi accedere e modificare width e height dell'Image1 che si trova all'interno della Picturebox Picture1 nell'istanza frmpic del secondo form (MyForm) come accidenti posso fare analogamente a quanto ho fatto per accedere e modificare con successo... la Picture1 ? :unsure: Grz
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 23 novembre 2024
    Bari
    33
    80
    86
    52
    25
    Cagliari
    67
    57
    59
    05
    80
    Firenze
    31
    32
    58
    88
    77
    Genova
    40
    39
    23
    36
    81
    Milano
    28
    58
    45
    25
    38
    Napoli
    20
    82
    23
    44
    57
    Palermo
    76
    56
    88
    62
    31
    Roma
    12
    81
    59
    74
    72
    Torino
    46
    53
    72
    45
    23
    Venezia
    04
    12
    42
    64
    20
    Nazionale
    63
    44
    78
    10
    55
    Estrazione Simbolotto
    Torino
    43
    42
    12
    39
    22
Indietro
Alto