Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Visual studio 2010]Modif. dinamicamente contenuto variabili

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[Visual studio 2010]Modif. dinamicamente contenuto variabili

Postdi zanatta77 » 30/06/13 20:40

Ciao a tutti sto cercando di implementare la rubrica telefonica che ho realizzato, ma sono fermo su un punto e più precisamente si tratta, del modo di memorizzare aggiungendo definitivamente a delle variabili dichiarate altre variabili.
In particolare quello che vorrei fare è oltre ad aggiungere cognomi,nomi e numeri manualmente, vorrei poterlo fare anche in fase di esecuzione del programma.
Inserisco la stringa in modo da rendere il tutto più comprensibile si spera.....
Codice: Seleziona tutto
Public Class Form1
    Dim cognome(1000) As String 'nell'esempio ci sono solo 15 cognomi in tutto ma vorrei aggiungerne un bel po' .....
    Dim nome(1000) As String
    Dim numeri(1000) As String
    Dim la As Object
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        MsgBox("Buongiorno." & vbCrLf & _
              "Per una consultazione telefonica" & vbCrLf &
              "Scriva il cognome dell'interessato nella parte richiesta, al termine prema con il tasto sx del mouse a centro del telefono.", MsgBoxStyle.Information)
        If TextBox1.Text = "" Then
            TextBox1.Text = "Cognome"
        End If
    End Sub

    Private Sub Label2_Click(sender As Object, e As System.EventArgs) Handles Label2.Click
        Timer1.Start()
        ProgressBar1.Style = ProgressBarStyle.Marquee
        cognome(1) = "ABRATE"
        cognome(2) = "ABBATI"
        cognome(3) = "ACCORTI"
        cognome(4) = "AGRINI"
        cognome(5) = "ACCORTI"
        cognome(6) = "ANTIMO"
        cognome(7) = "ALLUISI"
        cognome(8) = "AROS"
        cognome(9) = "ANGINI"
        cognome(10) = "ANTICO"
        cognome(11) = "AGRAFFA"
        cognome(12) = "SENESI"
        cognome(13) = "ANZIMO"
        cognome(14) = "AROSTIDE"
        cognome(324) = TextBox3.Text
        nome(1) = "Ivan"
        nome(2) = "Giovanni"
        nome(3) = "Santino"
        nome(4) = "Alessandro"
        nome(5) = "Francesco"
        nome(6) = "Germano"
        nome(7) = "GIUSEPPE"
        nome(8) = "Salvatore"
        nome(9) = "Daniele"
        nome(10) = "Rosanna"
        nome(11) = "Gaetano"
        nome(12) = "Vincenzo"
        nome(13) = "Antonio"
        nome(14) = "Salvatore"
        nome(15) = TextBox4.Text
        numeri(1) = "339-4079251"
        numeri(2) = "338-4083878"
        numeri(3) = "335-7074367"
        numeri(4) = "334-9076482"
        numeri(5) = "336-1080341"
        numeri(6) = "338-5078367"
        numeri(7) = "336-7074599"
        numeri(8) = "335-5079935"
        numeri(9) = "338-6075122"
        numeri(10) = "338-9079812"
        numeri(11) = "338-7477250"
        numeri(12) = "338-6079868"
        numeri(13) = "338-2052159"
        numeri(14) = "339-4472560"
        numeri(15) = TextBox1.Text()
        If TextBox1.Text = cognome(1) Then
            Label1.Text = numeri(1)
            Label3.Text = cognome(1)
            Label4.Text = nome(1)
        ElseIf TextBox1.Text = cognome(2) Then
            Label1.Text = numeri(2)
            Label3.Text = cognome(2)
            Label4.Text = nome(2)
        ElseIf TextBox1.Text = cognome(3) Then
            MsgBox("Attenzione con questo cognome risultano più persone, la preghiamo d'inserire anche il nome della persona desiderata. ", MsgBoxStyle.Exclamation)
        ElseIf TextBox1.Text = cognome(3) & nome(3) Then
            Label1.Text = numeri(3)
            Label3.Text = cognome(3)
            Label4.Text = nome(3)
        ElseIf TextBox1.Text = cognome(4) Then
            Label1.Text = numeri(4)
            Label3.Text = cognome(4)
            Label4.Text = nome(4)
        ElseIf TextBox1.Text = cognome(5) Then
            MsgBox("Attenzione con questo cognome risultano più persone, la preghiamo d'inserire anche il nome della persona desiderata. ", MsgBoxStyle.Exclamation)
        ElseIf TextBox1.Text = cognome(5) & nome(5) Then
            Label1.Text = numeri(5)
            Label3.Text = cognome(5)
            Label4.Text = nome(5)
        ElseIf TextBox1.Text = cognome(6) Then
            Label1.Text = numeri(6)
            Label3.Text = cognome(6)
            Label4.Text = nome(6)
        ElseIf TextBox1.Text = cognome(7) Then
            Label1.Text = numeri(7)
            Label3.Text = cognome(7)
            Label4.Text = nome(7)
        ElseIf TextBox1.Text = cognome(8) Then
            Label1.Text = numeri(8)
            Label3.Text = cognome(8)
            Label4.Text = nome(8)
        ElseIf TextBox1.Text = cognome(9) Then
            Label1.Text = numeri(9)
            Label3.Text = cognome(9)
            Label4.Text = nome(9)
        ElseIf TextBox1.Text = cognome(10) Then
            Label1.Text = numeri(10)
            Label3.Text = cognome(10)
            Label4.Text = nome(10)
        ElseIf TextBox1.Text = cognome(11) Then
            Label1.Text = numeri(11)
            Label3.Text = cognome(11)
            Label4.Text = nome(11)
        ElseIf TextBox1.Text = cognome(12) Then
            Label1.Text = numeri(12)
            Label3.Text = cognome(12)
            Label4.Text = nome(12)
        ElseIf TextBox1.Text = cognome(13) Then
            Label1.Text = numeri(13)
            Label3.Text = cognome(13)
            Label4.Text = nome(13)
        ElseIf TextBox1.Text = cognome(14) Then
            Label1.Text = numeri(14)
            Label3.Text = cognome(14)
            Label4.Text = nome(14)
        Else
            TextBox1.Text = "Cognome"
            Label1.Text = ""
            Label3.Text = ""
            Label4.Text = ""
        End If

    End Sub
   
    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        TextBox1.Text = ""
        Label1.Text = ""
        Label3.Text = ""
        Label4.Text = ""
        ProgressBar1.Style = ProgressBarStyle.Blocks
        If Timer1.Interval = 15000 Then
            Timer1.Stop()
        End If
    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        TextBox2.Visible = True
        TextBox2.Text = "Key code"
    End Sub
    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        'Quello che vorrei fare con questo pulsante è semplicemente premendolo prendere la risultante dei TextBox3_Text,TextBox4_Text,TextBox5_Text e aggiungerli definitivamente alle variabili esistenti cognome,nome,numeri dandogli l'ultimo numero utile+1 per poi avere il delete dei 3 TextBox scritti precedentemente.
        'Così facendo dovrei avere la possibilità di aggiungere in rubrica nuovi utenti durante l'esecuzione del programma.
    End Sub

    Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged
        If TextBox2.Text = "FIAT" Then
            TextBox3.Visible = True
            TextBox4.Visible = True
            TextBox5.Visible = True
            Button3.Visible = True
        End If
    End Sub

    Private Sub TextBox3_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox3.TextChanged
        Text = cognome.Last + 1
    End Sub

    Private Sub TextBox4_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox4.TextChanged
        Text = nome.Last + 1
    End Sub
    Private Sub TextBox5_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox5.TextChanged
        Text = numeri.Last + 1
    End Sub
End Class
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 114
Iscritto il: 01/12/12 16:12

Sponsor
 

Postdi Anthony47 » 01/07/13 01:21

Forse mi sono perso le puntate precedenti, ma mi sembra sviluppato dall' ucas.
Perche' sviluppare un elenco in vba, se avendo un elenco di nominativi su foglio1 da riga 5 in giu' basterebbe prevedere in riga 1 N celle per contenere Cognome ricercato, Nome ricercato, Citta' ricercata , Sede ricercata, etc ricercato e poi usare il filtro automatico sull' elenco sottostante per visualizzare solo i record che rispettano i criteri impostati (vuoto significa "qualsiasi").
E per aggiungere altri record dopo aver creato la struttura dati (bastano le intestazioni e un paio di righe di dati) potresti usare l' opzione Modulo (seleziona una cella delle intestazioni, Menu /Dati /Modulo).

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi zanatta77 » 03/07/13 01:21

Il motivo è il seguente successivamente vorrei farne un Applicazione privata con degli accorgimenti.
Sono fermo sul punto dell'inserimento in modo esecuzione dell'App. nella matrice delle variabili
Cercherò di rendere comprensibile sintetizzando l'aiuto richiesto:
ho dichiarato le seguenti variabili
Dim cognome() As String
Dim nome() As String
Dim numeri(nome() As String
Ipotiziamo che in fase di programmazione sia io ad inserire 14 variabili per tutte e 3 le variabili, ma successivamente tramite un Button dedicato in fase di "esecuzione dell'App" vorrei accedere con insert key alla visualizzazione di 3 TextBox, dove andremo ad inserire per ognuna TextBox.Text le 3 variabili da aggiungere per poi cliccare nuovamente su un Button dedicato che dovrebbe servire ad inserire (memorizzare,salvare) nelle variabili dichiarate, guardando l'ultima inserita e aggiungendo un numero (cognome.last + 1) ad esempio il contenuto del TextBox1.Text sarà cognome(15) mentre gli altri due saranno nome(15) e numeri(15) Fatto questo dovrei aver assegnato alla Matrice di variabili una nuova variabile permanente, cioè se chiudo ed esco dall'App al successivo riavvio dovrei trovarmi aggiunte le variabili e se faccio una ricerca mi troverò anche il "nome cognome e numero del 15".
Grazie
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 114
Iscritto il: 01/12/12 16:12

Postdi Flash30005 » 03/07/13 07:53

Access si presta meglio al trattamento dei record
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Anthony47 » 03/07/13 08:41

Per evitare incomprensioni, stai parlando di una applicazione per /su excel in vba, o in altro ambiente e con altri linguaggi di programmazione?
In generale mi pare che stai confondendo il programma (le istruzioni) con i dati (che al momento hai messo insieme al programma), che io invece "suggerirei" vengano tenuti separati, proprio perche' vorresti che il programma possa usarli ma all' occorrenza anche modificarli.
Guarda anche il messaggio di Flash, sopra.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi zanatta77 » 04/07/13 14:34

Inizialmente ho provato a fare delle macro con Excel, poi visto che mi piaceva "guidare il pulman piuttosto che essere passeggero"
ho iniziato a leggere qualche manuale di visual basic e attualmente uso Visual studio 2010 express.
Ovviamente la mia è un avventura in quanto la preparazione a monte è quasi "0".
Mi affascina molto il mondo della programmazione, e quindi a mio livello cerco di fare qualche banale programmino per me o amici leggendo in rete tutto quello che trovo in merito nel tempo libero.
Adesso son fermo sul discorso matrice di una variabile modulare, che a quanto ho capito come nel mio caso sia il programmatore in fase di programmazione che l'utente in fase d'esecuzione del programma possono far variare, aggiungere o eliminare ecc ecc una variabile contenuta nella matrice.
Riuscite a darmi una dritta per far in modo che il contenuto delle 3 textbox tramite un button vadano ad aggiungere le 3 variabili che sono cognome,nome,numeri.
Praticamente in fase di esecuzione ad ogni clik del button deve memorizzare come variabili il contenuto dei 3 textbox in modo da aggiungere all'occorrenza nuovi numeri in rubrica con relativo nome e cognome.
Grazie
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 114
Iscritto il: 01/12/12 16:12

Postdi Anthony47 » 06/07/13 00:51

Confermo che guidare il pulman dovrebbe essere piu' emozionante che fare il passeggero, avendo la patente D.
Non conosco Visual studio 2010 express quindi non mi cimento, tuttavia mi sento di confermare che i dati andrebbero separati dal programma.
Nella circostanza sposto comunque da Applicativi Office alla sezione Programmazione.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi archimede » 06/07/13 07:50

zanatta77 ha scritto:in fase di esecuzione ad ogni clik del button deve memorizzare come variabili il contenuto dei 3 textbox in modo da aggiungere all'occorrenza nuovi numeri in rubrica con relativo nome e cognome.
Come ti è già stato detto, non puoi modificare il codice del tuo programma (perché è questo che stai chiedendo) in modo dinamico.

Quindi dovrai fare come tutti noi comuni mortali: separare i dati dal codice (cioè sciverli da qualche altra parte: foglio Excel, database, file su disco, ecc.).

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Programmazione


Topic correlati a "[Visual studio 2010]Modif. dinamicamente contenuto variabili":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti