Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-05-2009, 11:09   #61
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Possibile che l'unico programmatore Visual Basic che bazzica sul forum è Mr MarcoGG?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2009, 11:16   #62
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Possibile che l'unico programmatore Visual Basic che bazzica sul forum è Mr MarcoGG?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2009, 21:16   #63
_Claudio
Senior Member
 
L'Avatar di _Claudio
 
Iscritto dal: Aug 2005
Messaggi: 579
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Possibile che l'unico programmatore Visual Basic che bazzica sul forum è Mr MarcoGG?
Ci sarà un perchè...
_Claudio è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 07:56   #64
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Possibile che l'unico programmatore Visual Basic che bazzica sul forum è Mr MarcoGG?
Eh, che ci vuoi fare... Ormai sei sulla mia BlackList !
[ Grazie per il "Mister" ... ]
Cmq, non hai nessun bisogno di un Visual Basic che ti spieghi cos'è Me. ( l'esatto corrispettivo di this. di C#, VC++, o anche Java... ), My. o Application.DoEvents(), in quanto disponibili a livello di Framework, per ogni linguaggio .Net.
Il fatto che nessuno ti abbia ancora risposto concretamente su questo è per me l'ennesima prova dell'ignoranza, della superficialità e del qualunquismo con cui viene considerato .Net, e nello specifico, giudicato VB.NET...

Quote:
Originariamente inviato da _Claudio Guarda i messaggi
Ci sarà un perchè...
Perchè questo è un Forum decisamente C-Java-oriented, ecco perchè.
Anche gli utenti che rispondono fattivamente e concretamente a quesiti su Python e altri linguaggi si contano sulle dita di mezza mano, mi pare.
Del resto, Forum specifici su VB ( tutte le versioni ) e ben frequentati ce ne sono una miriade ( ma io preferisco stare qui, che vi piaccia o no ).
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 08:34   #65
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Perchè questo è un Forum decisamente C-Java-oriented, ecco perchè.
Anche gli utenti che rispondono fattivamente e concretamente a quesiti su Python e altri linguaggi si contano sulle dita di mezza mano, mi pare.
Del resto, Forum specifici su VB ( tutte le versioni ) e ben frequentati ce ne sono una miriade ( ma io preferisco stare qui, che vi piaccia o no ).
Preciso, a scanso di equivoci, che il mio sogghignare non era una critica velata al fatto che ci fosse solo un programmatore dedito a questo linguaggio e quindi indirettamente, una mia critica negativa al linguaggio in questione.

Asdavo per un motivo molto più futile: perchè mi divertiva la possibilità che Matrixbob si fosse fatto l'idea che solo tu potessi rispondergli, e visto il "diverbio" passato si fosse giocato il tuo aiuto
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 08:52   #66
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Preciso, a scanso di equivoci, che il mio sogghignare non era una critica velata al fatto che ci fosse solo un programmatore dedito a questo linguaggio e quindi indirettamente, una mia critica negativa al linguaggio in questione.

Asdavo per un motivo molto più futile: perchè mi divertiva la possibilità che Matrixbob si fosse fatto l'idea che solo tu potessi rispondergli, e visto il "diverbio" passato si fosse giocato il tuo aiuto
Nessun problema, banryu . L'avevo capito, e non mi riferivo a te. Anch'io ho ironizzato sulla cosa con la storia della "BlackList"...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 10:06   #67
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Cmq, non hai nessun bisogno di un Visual Basic che ti spieghi cos'è Me. ( l'esatto corrispettivo di this. di C#, VC++, o anche Java... ), My. o Application.DoEvents(), in quanto disponibili a livello di Framework, per ogni linguaggio .Net.
Ok per il Me = This, ma non ho capito nulla su "My." e i varissimi "XXX.DoEvents()".

Quote:
Forum specifici su VB ( tutte le versioni ) e ben frequentati ce ne sono una miriade ( ma io preferisco stare qui, che vi piaccia o no ).
Link!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 10:14   #68
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Buona definizione di Me alias This mi pare sia questa allora:
Quote:
"this" è il puntamento alla classe stessa.
ad esempio, se la classe ha una variabile privata di nome pippo e di tipo stringa, la riga this.pippo punta proprio a tale variabile.
E' utile, ad esempio, quando all'interno di un metodo occorre risalire ad una variabile della classe stessa coperta da una variabile locale.
Considera ad esempio un metodo che imposta la varibile pippo di cui sopra.

Codice:
public void setPippo (String pippo)
{
this.pippo = pippo;
}
All'interno del metodo la variabile pippo della classe e coperta dalla varibile pippo ricevuta come parametro, per cui per poter accedere al membro della classe devi usare this.
Presa da:
http://forum.html.it/forum/showthread/t-761975.html
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-05-2009 alle 11:09.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 10:36   #69
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Il namespace My è stato introdotto dalla versione 2005 ( potrei sbagliarmi ma non ricordo proprio ci fosse nella 2003... ), come namespace "trasversale" ( mi si passi l'espressione ), per semplificare ulteriormente l'accesso ad operazioni comuni e di utilità generale, una sorta di collezione di metodi-scorciatoia ad accesso veloce, come ad esempio :

- My.Computer.Audio > espone metodi per gestire la riproduzione di audio, se nza scomodare classi, controlli WMP e quant'altro...
- My.Application.OpenForms() > tutte le Form aperte dell'applicazione...
- My.Computer.FileSystem. e My.Computer.Network > metodi per files e directory ( copia, spostamento, download ecc... ) in locale, Lan o via Web...
- My.Computer.FileSystem.FindInFiles() > con una sola riga di codice posso cercare l'occorrenza di una stringa in tutti files di un albero di directory e ricevere una collection di nomi di files...

Sono solo alcuni esempi di ciò che si può fare con My.

Per quanto riguarda Application.DoEvents(), ho un esempio che chiarifica meglio di mille parole. Vedo di postarlo, appena lo trovo.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 11:10   #70
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Il namespace My è stato introdotto dalla versione 2005 ( potrei sbagliarmi ma non ricordo proprio ci fosse nella 2003... ), come namespace "trasversale" ( mi si passi l'espressione ), per semplificare ulteriormente l'accesso ad operazioni comuni e di utilità generale, una sorta di collezione di metodi-scorciatoia ad accesso veloce, come ad esempio :

- My.Computer.Audio > espone metodi per gestire la riproduzione di audio, se nza scomodare classi, controlli WMP e quant'altro...
- My.Application.OpenForms() > tutte le Form aperte dell'applicazione...
- My.Computer.FileSystem. e My.Computer.Network > metodi per files e directory ( copia, spostamento, download ecc... ) in locale, Lan o via Web...
- My.Computer.FileSystem.FindInFiles() > con una sola riga di codice posso cercare l'occorrenza di una stringa in tutti files di un albero di directory e ricevere una collection di nomi di files...

Sono solo alcuni esempi di ciò che si può fare con My.

Per quanto riguarda Application.DoEvents(), ho un esempio che chiarifica meglio di mille parole. Vedo di postarlo, appena lo trovo.
TNX!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2009, 11:39   #71
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Buona definizione di Me alias This mi pare sia questa allora:

Presa da:
http://forum.html.it/forum/showthread/t-761975.html
Esatto, ma io farei qualche osservazione in particolare su Me. e VB.NET :
- Anzitutto a me personalmente piace la tecnica di non esporre mai i membri interni di una classe e di creare invece proprietà e/o metodi per farvi accesso.
Se ad esempio ho una classe come questa :

Codice:
Public Class nomeClasse

    Private m_campo1 As String
    Private m_campo2 As String

    Public Property campo1() As String
        Get
            Return m_campo1
        End Get
        Set(ByVal value As String)
            m_campo1 = value
        End Set
    End Property

    Public Property campo2() As String
        Get
            Return m_campo2
        End Get
        Set(ByVal value As String)
            Select Case value
                Case "stringa1"
                    m_campo1 = "S1"
                Case "stringa2"
                    m_campo1 = "S2"
                Case Else
                    m_campo1 = "S3"
            End Select
            m_campo2 = value
        End Set
    End Property

    Public Sub setCampo1(ByVal arg As String)

        m_campo1 = arg

    End Sub

    Public Sub setCampo2(ByVal arg As String)

        Me.campo2 = arg

    End Sub

End Class
Nel metodo setCampo2() userò il Me. , mentre non lo userò nel setCampo1().

- Se ad esempio ho una Form e voglio cambiarne il BackColor, userò Me.BackColor. Potrei usare anche solo BackColor, ma non è escluso che ci sia una Public Sub BackColor() in un modulo ( o classe statica ) che crei confusione.
E' da notare comunque che di default VB in questi casi non mostrerà il metodo pubblico BackColor nell'intellisense...

In effetti si tratta di convenzioni con cui mi trovo bene e che per me semplificano la lettura, non certo di leggi.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2009, 08:26   #72
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Esatto, ma io farei qualche osservazione in particolare su Me. e VB.NET :
- Anzitutto a me personalmente piace la tecnica di non esporre mai i membri interni di una classe e di creare invece proprietà e/o metodi per farvi accesso.
Se ad esempio ho una classe come questa :

Codice:
Public Class nomeClasse

    Private m_campo1 As String
    Private m_campo2 As String

    Public Property campo1() As String
        Get
            Return m_campo1
        End Get
        Set(ByVal value As String)
            m_campo1 = value
        End Set
    End Property

    Public Property campo2() As String
        Get
            Return m_campo2
        End Get
        Set(ByVal value As String)
            Select Case value
                Case "stringa1"
                    m_campo1 = "S1"
                Case "stringa2"
                    m_campo1 = "S2"
                Case Else
                    m_campo1 = "S3"
            End Select
            m_campo2 = value
        End Set
    End Property

    Public Sub setCampo1(ByVal arg As String)

        m_campo1 = arg

    End Sub

    Public Sub setCampo2(ByVal arg As String)

        Me.campo2 = arg

    End Sub

End Class
Nel metodo setCampo2() userò il Me. , mentre non lo userò nel setCampo1().

- Se ad esempio ho una Form e voglio cambiarne il BackColor, userò Me.BackColor. Potrei usare anche solo BackColor, ma non è escluso che ci sia una Public Sub BackColor() in un modulo ( o classe statica ) che crei confusione.
E' da notare comunque che di default VB in questi casi non mostrerà il metodo pubblico BackColor nell'intellisense...

In effetti si tratta di convenzioni con cui mi trovo bene e che per me semplificano la lettura, non certo di leggi.
Molte grazie! Analizzo!
Poi sto anche sbattendo la testa sui TableAdapter che se ho capito bene è un middleware che sta in mezzo tra il DB fisico e il DB logico o DataSet.
Più avanti parlerei anche di questo se qualcuno è disponibile a discuterne.
Grazie ancora.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2009, 09:49   #73
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Prima di addentrarmi in ADO.NET, aspetterei di avere una buona padronanza del linguaggio...
Molti pensano che VB sia un linguaggio RAD, perciò partono dal preconcetto che "in VB serva scrivere meno codice che in C#" ( niente di più errato ), si buttano nelle procedure guidate, pasticciano con i DataSet, gli Adapter, i BindingSource... e poi si impastano.

Intanto espongo un esempio utile per capire nei fatti come funziona Application.DoEvents(), come avevo promesso :

System.Windows.Forms.Application.DoEvents() forza la lettura della coda messaggi del gestore eventi, in modo da rendere attivi e sensibili all'input i controlli dell'interfaccia grafica, mentre il codice associato ad un certo evento è in esecuzione. Solitamente, in assenza di una chiamata a DoEvents(), gli eventi vengono messi in coda ed eseguiti sequenzialmente.

1. VB 2008 : ho una Form con 3 pulsanti e due ListBox : i primi 2 pulsanti popolano ciascuno la "sua" ListBox, con un certo numero di Items. Il terzo pulsante dovrebbe interrompere il processo, mentre è in esecuzione.
Nel primo caso uso Application.DoEvents(), nel secondo no.

Codice:
Public Class Form1

    Private stopFill As Boolean = False

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        ListBox1.Items.Clear()
        stopFill = False
        cmd_stop.Focus()
        Dim i As Integer = 0
        For i = 1 To 100
            ListBox1.Items.Add("ELEMENTO DELLA LISTA " & i)
            System.Threading.Thread.Sleep(20)
            Application.DoEvents()
            If stopFill = True Then Exit For
        Next

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        ListBox2.Items.Clear()
        stopFill = False
        cmd_stop.Focus()
        Dim i As Integer = 0
        For i = 1 To 100
            ListBox2.Items.Add("ELEMENTO DELLA LISTA " & i)
            System.Threading.Thread.Sleep(20)
            'Application.DoEvents()
            If stopFill = True Then Exit For
        Next

    End Sub

    Private Sub cmd_stop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_stop.Click

        stopFill = True
        MsgBox("STOPFILL")

    End Sub

End Class
Ci si può fare un'idea ben precisa di come funzioni. Nel primo caso è possibile interrompere il filling della ListBox1, e inoltre il MsgBox("STOPFILL") appare nello stesso istante in cui premo STOP. Nel secondo caso sarà molto difficile riuscire nell'impresa ( praticamente impossibile ) : il Refresh della lista viene fatto solo alla fine del processo / non è possibile interrompere / il MsgBox("STOPFILL") appare solo alla fine ( perchè appunto, l'Application l'ha registrato, messo in coda, e gestito alla fine dell'evento precedente ).

2. VBA : in VBA è analogo, ma con la differenza che in VBA il metodo DoEvents() include una chiamata Sleep() implicita ( assente invece in VB.NET o C# ), infatti in questo caso potrei anche evitare di mettere il Focus con cmd_stop.Activate.

Codice:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private stopFill As Boolean

Private Sub CommandButton1_Click()

    stopFill = False
    ListBox1.Clear
    cmd_stop.Activate
    Dim i As Integer
    For i = 1 To 100
        ListBox1.AddItem "ELEMENTO DELLA LISTA " & i
        Sleep (20)
        DoEvents
        If stopFill = True Then Exit Sub
    Next i

End Sub

Private Sub CommandButton2_Click()

    stopFill = False
    ListBox2.Clear
    cmd_stop.Activate
    Dim i As Integer
    For i = 1 To 100
        ListBox2.AddItem "ELEMENTO DELLA LISTA " & i
        Sleep (20)
        'DoEvents
        If stopFill = True Then Exit Sub
    Next i

End Sub

Private Sub cmd_stop_Click()

    stopFill = True
    MsgBox "STOPFILL"

End Sub
Il risultato pratico è lo stesso.

Questo è un ottimo esempio, ma personalmente consiglio di usare tecniche più raffinate in applicazioni vere, come ad esempio l'uso di Private Declare Function GetInputState Lib "user32" Alias "GetInputState" () As Integer, o del namespace My ecc..., condizionando l'esecuzione di DoEvents() solo in caso di reale presenza nella coda eventi di un input dell'utente, e quindi riducendo di molto l'overhead, soprattutto nei cicli.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2009, 10:34   #74
_Claudio
Senior Member
 
L'Avatar di _Claudio
 
Iscritto dal: Aug 2005
Messaggi: 579
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Eh, che ci vuoi fare... Ormai sei sulla mia BlackList !
[ Grazie per il "Mister" ... ]
Cmq, non hai nessun bisogno di un Visual Basic che ti spieghi cos'è Me. ( l'esatto corrispettivo di this. di C#, VC++, o anche Java... ), My. o Application.DoEvents(), in quanto disponibili a livello di Framework, per ogni linguaggio .Net.
Il fatto che nessuno ti abbia ancora risposto concretamente su questo è per me l'ennesima prova dell'ignoranza, della superficialità e del qualunquismo con cui viene considerato .Net, e nello specifico, giudicato VB.NET...



Perchè questo è un Forum decisamente C-Java-oriented, ecco perchè.
Anche gli utenti che rispondono fattivamente e concretamente a quesiti su Python e altri linguaggi si contano sulle dita di mezza mano, mi pare.
Del resto, Forum specifici su VB ( tutte le versioni ) e ben frequentati ce ne sono una miriade ( ma io preferisco stare qui, che vi piaccia o no ).
Eddai stavo scherzando...
_Claudio è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2009, 15:27   #75
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Grazie GG, ti ringrazio sempre per le tue perle di conoscenza. Non ho ancora avuto il tempo di studiarmele perchè qui sul campo mi stanno tartassando ai fianchi.

Sfrutto solo l'occasione di annotare qui un appunto preso, così cestino il pezzo di carta!!!

(Definendo a mano gli oggetti OleDb da codice) >>> (DB) <<< (Usando la configuratore dell'IDE che sferutterà il concetto di TableAdapter e DataSet)
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2009, 16:00   #76
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
(Definendo a mano gli oggetti OleDb da codice) >>> (DB) <<< (Usando la configuratore dell'IDE che sferutterà il concetto di TableAdapter e DataSet)
Se è una domanda del tipo "cosa è meglio fare", personalmente scelgo "Definendo a mano gli oggetti OleDb da codice". Il DataSet è uno degli oggetti cardine di ADO.NET, ma non significa che lo si debba usare sempre e comunque.
Ad es. se fai interrogazioni SELECT verso il DB, un DataReader è velocissimo e in molti casi preferibile al filling di oggetti DataSet in sola lettura...
Dal momento che stai imparando VB, non farti tentare dalle procedure guidate, studia e scrivi.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2009, 09:44   #77
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Dal momento che stai imparando VB, non farti tentare dalle procedure guidate, studia e scrivi.
OK.
Mi son trovato sto numero
Codice:
Private Sub btnAnnulla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnulla.Click
        End
End Sub
che mi sembra strano, ma ha l'effetto di killare l'applicazione.
Equivale a un exit?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2009, 10:22   #78
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
OK.
Mi son trovato sto numero
Codice:
Private Sub btnAnnulla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnulla.Click
        End
End Sub
che mi sembra strano, ma ha l'effetto di killare l'applicazione.
Equivale a un exit?
Non esattamente. La direttiva End in VB.NET deriva dal VB-non-.NET ( VB6, VB5 ecc... ) ed esegue un kill "brutale", ossia l'uscita istantanea da ogni codice in esecuzione nell'Application... E' talmente diretta che non rispetta nemmeno il blocco Try Catch.
Esempio : poniamo di avere una semplice applicazione con 1 Form e un pulsante "Esci", ed associare prima CODICE1 e poi CODICE2 ad "Esci" :

> CODICE1 :

Codice:
        Try
            Application.Exit()
        Catch ex As Exception
            '...
        Finally
            Me.BackColor = Color.Red
            MsgBox("END")
        End Try
> CODICE2 :

Codice:
        Try
            End
        Catch ex As Exception
            '...
        Finally
            Me.BackColor = Color.Red
            MsgBox("END")
        End Try
Con CODICE1 ho tempo di vedere la Form rossa e almeno di sentire il suono di Windows associato allo Show di una MsgBox ( difficilmente riuscirò anche a vederla... ), con CODICE2 no, perchè l'esecuzione viene interrotta senza condizioni.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2009, 08:33   #79
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Grazie GG, ti ringrazio sempre per le tue perle di conoscenza. Non ho ancora avuto il tempo di studiarmele perchè qui sul campo mi stanno tartassando ai fianchi.

Sfrutto solo l'occasione di annotare qui un appunto preso, così cestino il pezzo di carta!!!

(Definendo a mano gli oggetti OleDb da codice) >>> (DB) <<< (Usando la configuratore dell'IDE che sferutterà il concetto di TableAdapter e DataSet)
Purtroppo mi tocca vedere gli argomenti a "spot" come mi si presentano innanzi.
Allora ritorno sull'accesso ai DB utilizzando "TableAdapter".

DB fisico <> TableAdapter <> DataSet (DB logico) {di DataTable}

Ogni qualvolta apporto una modifica al DB fisico devo aggiornare da VisualStudio il DataSet.
Ogni qualvolta devo aggiornare dei dati sul DB fisico lo faccio sul DataSet e poi passo attraverso un metodo del TableAdapter.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2009, 14:23   #80
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
DB fisico <> TableAdapter <> DataSet (DB logico) {di DataTable}

Ogni qualvolta apporto una modifica al DB fisico devo aggiornare da VisualStudio il DataSet.
Ogni qualvolta devo aggiornare dei dati sul DB fisico lo faccio sul DataSet e poi passo attraverso un metodo del TableAdapter.
Non so se sia una domanda o l'affermazione di ciò che stai per fare...

Il TableAdapter si usa principalmente mediante la creazione / configurazione guidata dell'origine dati di VS, perciò le operazioni cui fai riferimento, se la procedura guidata è stata fatta correttamente, non avrai bisogno di gestirle via codice, dal momento che tutti i componenti utili ( DataSet, TableAdapter ecc... ), nonchè le logiche di visualizzazione e modifica vengono inserite da VS. Il Commit a DB delle modifiche in questo caso viene eseguito con :
Codice:
Me.TableAdapterManager.UpdateAll(Me.NomeDataSet)
ma anche questo è codice che viene generato da VS...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
In arrivo altri due prodotti da Apple en...
Il tool per aggiornare da Windows 10 a W...
Rishi Sunak entra in Microsoft e Anthrop...
Porsche in poche ore chiude la formazion...
iPhone 17 disponibili su Amazon al prezz...
La Ferrari Elettrica non è la cau...
Ricarica da record: Zeekr supera i 1.300...
Un 'capezzolo' con feedback aptico al po...
Porsche Taycan Rush a Misano: prima al v...
Installare Windows 11 senza account Micr...
Cina, nuove regole per le auto elettrich...
OPPO A6 Pro arriva in Italia a 299,99 eu...
Black Myth: Wukong, oggi un maxi aggiorn...
Nomad in missione senza alcun controllo ...
Apple prepara il chip H3 e nuovi AirPods...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:29.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v