Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-01-2009, 15:07   #1
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
[VB.NET08EE]

salve a tutti!
ho appena finito di realizzare il mio primo programma (funzionanete...)
"scritto" in vb.net...
perché l'ho scritto tra parentesi?
perché non ho dovuto praticamente usare mai la tastiera, ho solo trascinato quel che mi serviva sul form...
l'applicazione si appoggia ad un file mdb che contiene delle tabelle che vanno a popolare la tabella principale, in

definitiva si tratta di una applicazione per la gestione della pratiche di un ufficio.
per ora ho utilizzato solo gli strumenti che .net mette a disposizione, primo su tutti, la barra che gestiche le righe...
ora vorrei personalizzare il programma, e vorrei un aiuto da parte vostra:
1)
il salvataggio delle pratiche (modifiche a pratiche già inserite o completamente nuove) vorrei che fosse sempre preceduto da un avviso - la messagebox sarebbe tipo "Confermi i dati: <camp01><campo2>" alla pressione di OK il salvataggio viene portato a termine mentre con ANNULLA si ritorna alla form e il programma "rilegge" i dati dal db precedenti le modifiche.
così facendo si ha un controllo sulle modifiche alle pratiche esistenti e contemporaneamente una veloce ricapitolazione dei campi inseriti nelle nuove pratiche
2)
controllo cancellazione pratiche, se non sbaglio l'approccio al problema dovrebbe essere simile al punto 1, giusto? con l'unica differenza che l'unica pratica cancellabile può essere solo e soltanto l'ultima inserita
3)
gestire meglio il numero associato alla pratica...
ho notato che se si cancella una pratica il contatore che ho inserito (è un contatore del file mdb...) continua imperterrito ad aumentare senza preoccuparsi che delle righe siano state eliminate dite che devo aggiungere del codice per insegnargli a contare o aggiungo una colonna numero al mio mdb e uso quella con un controllo che mi dica "ultima pratica + 1" o roba simile?
4)
gestire avvisi scadenze
alcune pratiche devono essere completate in un determinato periodo di tempo, hanno quindi una scadenza, gestita con un campo "data", altre hanno ricorrenze annuali, biennali, triennali e così via; vorrei poter disporre di un sistema visivo per avere sott'occhio queste particolari pratiche.
esempio:
sfondo normale -> pratica standard/senza scadenza/completata/ecc.
sfondo verde -> pratica a ricorrenza annuale o più che sia in scadenza a 6 mesi (di solito sono pratiche che richiedono molto tempo per essere chiuse)
sfondo arancione -> pratica con scadenza a una settimana
sfondo rosso -> pratica con scadenza un giorno
pratica scaduta -> messagebox che ti avvisa della scadenza e ti visualizzala pratica per chiuderla o modificarla
5)
gestire le pratiche chiuse
mi serve un modo per inibire la modifica alle pratiche definite chiuse (ho un bolean nell'mdb) non so proprio come implementarlo

chi mi aiuta?
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2009, 10:21   #2
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
se faccio un UP vado contro il regolamento?

aiutatemi, vi scongiuro!
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2009, 10:39   #3
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
non è difficile fare quello che vuoi, ma purtroppo non siamo in molti a sapere il VB.net, in java te lo saprei dire senza esitazioni, ma in vb assolutamente no, aspetta MarcoGG, lui saprà consigliarit
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2009, 15:16   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Beh, in pratica stai chiedendo a qualcuno di farti il programma...

1. Puoi usare una msgbox di VB "preconfezionata" con pulsanti yes/no/cancel ( MsgBoxStyle.YesNoCancel ), o fartene una tua con una piccola Form... Non è difficile.

2. Esatto. Ma devi prima gestire l'id numerico ( suppongo chiave primaria ) per fare in modo che il numero più alto sia associato sempre alla pratica più recente, il che ci porta al punto 3.

3. Non è sempre sbagliato usare il contatore di Access, anche se molti lo indicano come pratica da principianti. Un limite molto fastidioso è che il contatore ignora gli spazi vuoti nella numerazione, lasciati da eventuali voci eliminate. Se vuoi che non vi siano spazi vuoti tra gli id numerici, devi crearti tu un contatore numerico, e una routine VB che controlla ad ogni inserimento, l'ultimo id disponibile e lo incrementa di 1, e ad ogni cancellazione esegue lo "shift" verso l'alto degli id successivi al "buco" che si è creato...
Devo avere qualcosa di già pronto in giro, ma al momento non ho proprio tempo di cercarla... Sorry.

4. Semplicemente interroghi il campo scadenza ed agisci di conseguenza. Userai una Select Case per modificare i colori e/o far apparire le messagebox che desideri...

5. Il boolean non è l'unico modo. Più semplicemente ancora fai un campo numerico "attiva" che può essere 1 ( pratica attiva ) oppure 0 ( non attiva ), semplice da settare/leggere.

Cmq, in generale te la puoi cavare con una conoscenza base di VB, su tutti i quesiti. Magari prova a sbatterci un po' la testa, suddividendo il problema in sotto-problemi e chiedi aiuti più specifici... Ciao.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2009, 17:10   #5
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Beh, in pratica stai chiedendo a qualcuno di farti il programma...
non è vero!!!

Quote:
1. Puoi usare una msgbox di VB "preconfezionata" con pulsanti yes/no/cancel ( MsgBoxStyle.YesNoCancel ), o fartene una tua con una piccola Form... Non è difficile.
farla non è un problema, è implementarla che mi riesce difficile...

Quote:
2. Esatto. Ma devi prima gestire l'id numerico ( suppongo chiave primaria ) per fare in modo che il numero più alto sia associato sempre alla pratica più recente, il che ci porta al punto 3.
ecco il secondo problema... il "quando" (nel senso di dove) scrivere del codice (dichiarare variabili, costanti, ecc..)

Quote:
3. Non è sempre sbagliato usare il contatore di Access, anche se molti lo indicano come pratica da principianti. Un limite molto fastidioso è che il contatore ignora gli spazi vuoti nella numerazione, lasciati da eventuali voci eliminate. Se vuoi che non vi siano spazi vuoti tra gli id numerici, devi crearti tu un contatore numerico, e una routine VB che controlla ad ogni inserimento, l'ultimo id disponibile e lo incrementa di 1, e ad ogni cancellazione esegue lo "shift" verso l'alto degli id successivi al "buco" che si è creato...
Devo avere qualcosa di già pronto in giro, ma al momento non ho proprio tempo di cercarla... Sorry.
intanto vedo di inventarmi qualcosa... in effetti stavo già pensando di far diversamente

Quote:
4. Semplicemente interroghi il campo scadenza ed agisci di conseguenza. Userai una Select Case per modificare i colori e/o far apparire le messagebox che desideri...
forse risulta la cosa meno problematica

Quote:
5. Il boolean non è l'unico modo. Più semplicemente ancora fai un campo numerico "attiva" che può essere 1 ( pratica attiva ) oppure 0 ( non attiva ), semplice da settare/leggere.
qui mi dovrai aiutare parecchio

Quote:
Cmq, in generale te la puoi cavare con una conoscenza base di VB, su tutti i quesiti. Magari prova a sbatterci un po' la testa, suddividendo il problema in sotto-problemi e chiedi aiuti più specifici... Ciao.
conoscenza che non ho purtroppo...

vediamo di sbatterci la testa allora!!!!

grazie, a risentirci
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2009, 14:53   #6
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
ho riempito di messagebox il mio programma...
peccato che alla pressione sia di "OK" sia di "annulla" o altro.. succede sempre la stessa cosa!
cosa dovrei imparare? try catch for if o ke????

intanto mi son messo a cercare informazioni su come poter modificare la connessione al database e ho trovato questo:
http://www.codeproject.com/KB/vb/Per...onStrings.aspx
la mia intenzione è aggiungere un menu "setting" dove poter inserire il percorso del file mdb che serve al programma (l'intenzione è di installare il programma su più pc ed avere un solo file mdb, quindi ogni programma deve avere la possibilità di modificare la propria connettionstrings...)

piano piano procedo...

grazie a chi vorrà ancora aiutarmi
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2009, 11:53   #7
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da radeon_snorky Guarda i messaggi
ho riempito di messagebox il mio programma...
peccato che alla pressione sia di "OK" sia di "annulla" o altro.. succede sempre la stessa cosa!
cosa dovrei imparare? try catch for if o ke????
No. Devi interrogare il valore di ritorno della funzione MsgBox. Si può fare in diversi modi, io uso sempre questo standard :

Codice:
        Dim strMessaggio As String = "Attenzione! Eseguire?"
        Dim msgR As MsgBoxResult
        msgR = MsgBox(strMessaggio, MsgBoxStyle.YesNoCancel, "Scegli.")

        Select Case msgR
            Case MsgBoxResult.Yes
                MsgBox("SI")

            Case MsgBoxResult.No
                MsgBox("NO")

            Case MsgBoxResult.Cancel
                MsgBox("ANNULLA")
        End Select
Quote:
Originariamente inviato da radeon_snorky Guarda i messaggi
intanto mi son messo a cercare informazioni su come poter modificare la connessione al database e ho trovato questo:
http://www.codeproject.com/KB/vb/Per...onStrings.aspx
la mia intenzione è aggiungere un menu "setting" dove poter inserire il percorso del file mdb che serve al programma (l'intenzione è di installare il programma su più pc ed avere un solo file mdb, quindi ogni programma deve avere la possibilità di modificare la propria connettionstrings...)
O ancora più semplicemente, se distribuisci il DB Access assieme all'applicativo, inserire percorsi relativi nelle stringhe di connessione. In questo modo il programma va a cercarsi da solo il DB, e non si può sbagliare :

Codice:
        Dim percorsoDB As String = Application.StartupPath & "\CartellaDB\"
        Dim nomeDB As String = "fileDB.mdb"
        Dim strCN As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                               percorsoDB & nomeDB & ";Persist Security Info=False"
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2009, 20:18   #8
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
nel frattempo avevo trovato questo:
Codice:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal_
 As System.EventArgs) Handles Button1.Click

   Dim result As MsgBoxResult
   result = MsgBox("Tuo Testo", MsgBoxStyle.YesNo)

   If result = MsgBoxResult.Yes Then
   tuo codice     
   Else If result = MsgBoxResult.No Then
   tuo codice  
   End If
End Sub
interessante sapere come lo stesso fine può essere raggiunto in + modi (e mi interesserebbe sapere in effetti quali sono le "differenze" nei 2 codici)

per la seconda questione... i percorsi relativi mi giravano nella testa ma non sapevo proprio come implementarli! grande MarcoGG! grazie 1000!!!
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2009, 18:29   #9
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
se distribuisci il DB Access assieme all'applicativo, inserire percorsi relativi nelle stringhe di connessione. In questo modo il programma va a cercarsi da solo il DB, e non si può sbagliare :
il db viene inserito in una cartella su un fileserver linux (già configurato e in ordine) il programma vorrei installarlo sui singoli pc e deve (automaticamente o con inserimento del percorso) poter accedere al file.
non ho modo di verificarne il funzionamento fino al momento dell'installazione.
siamo sulla strada giusta o il codice che mi hai passato non serve allo scopo?
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2009, 23:00   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Il concetto è sempre lo stesso.
Hai N client che vedono un unico DB Access su server. Ovviamente gli utenti devono avere libero accesso alla cartella in cui si trova il DB.
Basterà impostare la Connection String nel modo appropriato. Su Linux non ho provato, ma in Win senza dubbio questa funziona :

Codice:
        Dim strCN As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                              "\\" & nomeMacchina & "\" & nomeDirCondivisa & "\" & nomeDB & _
                              ";Persist Security Info=False"
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2009, 08:05   #11
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
grazie! proverò...
adesso però mi sto "studiando" la gestione degli errori, ho trovato un pdf e parecchie guide.
il fatto è che che mi era (quasi) chiaro il concetto "on error goto" ma non avendolo mai applicato... ora son cambiate molte cose e mi trovo spaesato.
probabilmente ho scritto tutto il codice giusto ma non l'ho messo nel posto corretto!
in definitiva, un evento deve poter accadere solo in presenza di certe condizioni (combobox non vuote) se mancano le condizioni un messaggio avverte e FA TORNARE alla form senza altri cambiamenti, se le condizioni sono rispettate invece un altro messaggio avvisa del completamento dell'evento se si clicca su ok altrimenti se si clicca su annulla FA TORNARE alla form senza altri cambiamenti.

intanto studio....
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2009, 12:29   #12
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da radeon_snorky
Codice:
Update richiede un UpdateCommand valido se l'insieme DataRow viene passato con righe modificate
Scusa ma non ho chiaro cosa stai cercando di fare e il perchè dell'errore...
In generale forse ti sei appoggiato troppo alle tecniche "veloci" di connessione DB di .Net ( se sei agli inizi, il mio consiglio è lo stesso dato qui a chi chiedeva su C# : http://www.hwupgrade.it/forum/showthread.php?t=1913387 ). All'inizio è meglio scrivere codice, non preoccuparsi di essere prolisso, lasciar stare l'ottimizzazione e capire come funziona Ado .Net...
Non puoi farci niente, all'inizio devi faticare !

P.S.: meglio continuare nel Thread, anzichè con i pvt.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 02-02-2009, 18:50   #13
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Scusa ma non ho chiaro cosa stai cercando di fare e il perchè dell'errore...
In generale forse ti sei appoggiato troppo alle tecniche "veloci" di connessione DB di .Net ( se sei agli inizi, il mio consiglio è lo stesso dato qui a chi chiedeva su C# : http://www.hwupgrade.it/forum/showthread.php?t=1913387 ). All'inizio è meglio scrivere codice, non preoccuparsi di essere prolisso, lasciar stare l'ottimizzazione e capire come funziona Ado .Net...
Non puoi farci niente, all'inizio devi faticare !

P.S.: meglio continuare nel Thread, anzichè con i pvt.
non posso fare altrimenti!
purtroppo non ho il tempo materiale di mettermi ad imparare cose che in definitiva sono un passatempo (lo dico perché mi son reso conto di non aver tempo nemmeno di farmi una lavatrice come si deve... )
comunque sono riuscito a realizzare qualcosa! è completo al 99%.. e ADESSO sembra funzionare!
mi manca solo la gestione di una textbox o maskedtextbox, sicuramente meglio la seconda ma non so come gestire un:
if <> ""
che nella textbox è comodo ma nella masked non molto...
in definitiva devo vincolare l'utente ad inserire un numero (es. 001/09) che sarebbe "pratica/anno" ma devo anche poter verificare se le ha lasciate vuote "___/__" o scritte male "oo1/09" come è meglio procedere? inserendo tutta una serie di if o che?
help
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2009, 09:40   #14
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da radeon_snorky Guarda i messaggi
in definitiva devo vincolare l'utente ad inserire un numero (es. 001/09) che sarebbe "pratica/anno" ma devo anche poter verificare se le ha lasciate vuote "___/__" o scritte male "oo1/09" come è meglio procedere? inserendo tutta una serie di if o che?
Se usi una MaskedTextBox puoi limitare l'immissione di caratteri indesiderati ed ottenere già molto senza scrivere codice.
Nel tuo caso basta specificare 000/00 nella proprietà Mask.
A questo punto se provi a scrivere caratteri non-numerici vedari che non è possibile.
Per le immissioni parziali, bastano 3 righe di codice :

Codice:
        If MaskedTextBox1.Text.Length < MaskedTextBox1.Mask.Length _
            Or MaskedTextBox1.Text.Contains(" ") Then
            MsgBox("Input Incompleto.")
        End If
E il gioco è fatto.

Faccio notare che questo codice è valido per qualsiasi Masked che accetti solo caratteri numerici !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2009, 10:31   #15
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
adesso ci provo... ma...
mi sa che mi sono incartato...
Codice:
vecchio codice
il copia-incolla ha mietuto vittime, mi dai una mano a sistemare il codice?
...EDIT...
ho sistemato in questo modo, è "grammaticalmente" corretto?
Codice:
Private Sub PraticaBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PraticaBindingNavigatorSaveItem.Click
        If N_pratMaskedTextBox.Text.Length < N_pratMaskedTextBox.Mask.Length Or N_pratMaskedTextBox.Text.Contains(" ") Or N_pratMaskedTextBox.Text.Trim.Length = 0 Then
            MessageBox.Show("Devi inserire un numero di pratica!", "Attenzione!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            Exit Sub
        End If
        If IDpvfComboBox.Text.Trim.Length = 0 Then
            MessageBox.Show("Devi inserire un punto vendita!", "Attenzione!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            Exit Sub
        End If
        Select Case MessageBox.Show("Confermi il salvataggio della paratica:" & vbCrLf & vbCrLf & "Pratica:" & N_pratMaskedTextBox.Text & vbCrLf & "Punto vendita:" & IDpvfComboBox.Text, "Salvataggio", MessageBoxButtons.YesNo, MessageBoxIcon.Information)
            Case DialogResult.Yes
                Try
                    Me.Validate()
                    Me.PraticaBindingSource.EndEdit()
                    Me.TableAdapterManager.UpdateAll(Me.PraticheDataSet)
                Catch ex As Exception
                    MessageBox.Show("Devi inserire un punto vendita!", "Attenzione!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                Finally
                    MessageBox.Show("Salvataggio eseguito con successo")
                End Try
            Case DialogResult.No
                MessageBox.Show("Salvataggio annullato")
                Me.PraticaBindingSource.CancelEdit()
                Exit Sub
        End Select
    End Sub
ho usato trim.length ho sbagliato?

Ultima modifica di radeon_snorky : 03-02-2009 alle 16:06.
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2009, 18:56   #16
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da radeon_snorky Guarda i messaggi

If N_pratMaskedTextBox.Text.Length < N_pratMaskedTextBox.Mask.Length Or N_pratMaskedTextBox.Text.Contains(" ") Or N_pratMaskedTextBox.Text.Trim.Length = 0 Then
MessageBox.Show("Devi inserire un numero di pratica!", "Attenzione!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit Sub
End If
If IDpvfComboBox.Text.Trim.Length = 0 Then
MessageBox.Show("Devi inserire un punto vendita!", "Attenzione!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit Sub
End If
Allora, nel primo caso diciamo che hai applicato quanto ti avevo suggerito, ma apportando una modifica ( mi riferisco a quel : Or N_pratMaskedTextBox.Text.Trim.Length = 0 ) che è inutile.
Infatti se la Masked ha Mask = 000/00, nel caso in cui l'utente non inserisca niente, non ritornerà mai stringa vuota ( "" ), ma almeno " /".
I caratteri prima del "/" sono 3 spazi, e se provi a interrogare la proprietà .Text.Length della Masked vuota ricevi risultato = 4.
Se fai la Trim ricevi comunque 1 ( il solo "/" ).
Perciò l'ultima condizione Or è superflua, non verrà mai verificata e inoltre era già inclusa nel mio codice.

Nel secondo caso ( Combo ) se l'intento è di interrogare la stringa al netto degli spazi pre e post, hai scritto correttamente.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-02-2009, 20:16   #17
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Perciò l'ultima condizione Or è superflua, non verrà mai verificata e inoltre era già inclusa nel mio codice.
il fatto è che con il tuo codice non "girava" come volevo, aggiungendo il "mio" pezzo il comportamento è come me lo aspettavo... ma domani ci rimetto le mani... di sicuro se lo dici tu.... è così!
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2009, 10:45   #18
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da radeon_snorky Guarda i messaggi
il fatto è che con il tuo codice non "girava" come volevo, aggiungendo il "mio" pezzo il comportamento è come me lo aspettavo... ma domani ci rimetto le mani... di sicuro se lo dici tu.... è così!
E' molto semplice, basta suddividere quell'If nelle 3 istruzioni :

Codice:
        If MaskedTextBox1.Text.Length < MaskedTextBox1.Mask.Length Then
            'Errore immissione 1
            MsgBox("ERRORE su Text.Length")
        End If

        If MaskedTextBox1.Text.Contains(" ") Then
            'Errore immissione 2
            MsgBox("ERRORE su Text.Contains("" "")")
        End If

        If MaskedTextBox1.Text.Trim.Length = 0 Then
            'Errore immissione 3
            MsgBox("ERRORE su Text.Trim.Length")
        End If
La terza If è quella che hai aggiunto tu.

A questo punto fai qualche test.

Esempi :

- L'utente scrive 123/__ : Errore immissione 1
- L'utente scrive 1__/_3 : Errore immissione 2
- L'utente scrive ___/_1 : Errore immissione 2
- L'utente non scrive nulla ( ___/__ ) : Errore immissione 1 + 2

E cmq, Errore immissione 3 non si verifica mai...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 10-02-2009, 19:53   #19
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
ho messo tutto in ordine, ora gira che è un piacere...
ho infarcito il programma di avvisi se qualcosa non è corretto (al salvataggio, all'aggiunta, ecc...)
adesso sembra la divina commedia!
sto cercando di capire come mai non mi funzionano il .focus () e il selectall ().... vorrei che ad ogni errore il cursore si posizionasse sulla box che non è corretta e la evidenziasse.
ha funzionato 2 volte poi al terzo debug non più...

altra cosa:
vorrei implementare il drag&drop di cartelle, nel senso che ho un linklabel che vorrei impostare come la directory che ci trascino sopra (ora ho un button che attiva una FolderBrowserDialog.... abbastanza brutterella e poco comoda: spesso ho dei percorsi molto lunghi)
ho cercato su msdn ma l'inglese mi rimane sempre indigesto
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 15:45   #20
radeon_snorky
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 2172
Codice:
SELECT     Pratica.n_prat, Pratica.IDpvf, Pratica.IDcliente, Pratica.IDsocietà, Pratica.IDincaricato, Pratica.Oggetto, Pratica.Data_inizio, Pratica.Data_fine, Pratica.[Campo si/no], Pratica.allegato
FROM         (Pratica INNER JOIN Rubrica ON Pratica.IDpvf = Rubrica.IDpvf)
WHERE (Rubrica.PVF LIKE '%' + @PVF + '%')
mi sono bloccato coi filtri... questo codice non mi funziona! dice che non è corretto dopo @ ma ho provato a chiamarlo in tutte le maniere!!!!

nella form ho un button e una combobox con cui vorrei filtrare le righe

help me!
radeon_snorky è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
Un bel portatile potente in offerta: Ace...
Si mimetizza tra due altoparlanti, ma &e...
Clair Obscur Expedition 33: il lancio su...
Ci risiamo, la censura colpisce Roblox: ...
Gli iPhone 17 Pro perdono una funzione d...
Windows 11 non cresce e riduce la sua qu...
Linus Torvalds durissimo su Elon Musk: '...
Il sogno del metaverso crolla? Zuckerber...
Axiom Space ha completato un importante ...
Gli aeroplani Airbus utilizzeranno i sat...
Una nuova immagine della cometa interste...
'La soluzione a un problema che non esis...
Radeon RX 9000 sì, Ryzen 9000 no:...
Amazon versa 180 milioni al Fisco e canc...
Meta, il Board di Supervisione guarda o...
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: 08:33.


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