Passare valori ad una funzione

mercoledì 31 ottobre 2007 - 20.05

Miles Profilo | Newbie

Salve a tutti,

Vi descrivo la mia situazione

Devo gestire una videoteca, x cui quando un cliente, identificato da un proprio id,effettua una ricerca(x film,attore,regista o quel che sia)vengono visualizzati i risultati su una listBox(per chiarezza il datasource è un Arraylsit).
Io devo fare in modo che il cliente selezioni una riga dela listBox, che rappresenta il film che vuole prenotare, e succesivamente premendo un Button "prenota", devo inserire l' id_cliente,l' id_film e la data di prenotazione in una tabella "prenotazioni" x tenere traccia del film prenotato e del cliente che ha effettuato la prenotazione.
Il mio problema è che nn so come passargli alla funzione "prenota" l'id_film e l'id cliente:
- l'id_film dovrei ricavarlo direttamente dalla listBox in modo automatico senza che il cliente lo scriva esplicitamente, ma deve solo selezionare il film che gli interessa e premere il pulsante prenota,x cui penso debba utilizzare le proprietà ValuMember e DisplayMember, anche se nn so di preciso come funzionano.
- l'id_cliente dovrei ricavarlo dalla prima Form in cui viene effettuato il login, per cui dovrei memorizzarlo in una var locale e poi passarlo alla form riguardante la prenotazione, ma nn so come passarglielo.


Qualcuno sa aiutarmi ????

alextyx Profilo | Expert

>Salve a tutti,
>
>Vi descrivo la mia situazione
>
>Devo gestire una videoteca, x cui quando un cliente, identificato
>da un proprio id,effettua una ricerca(x film,attore,regista o
>quel che sia)vengono visualizzati i risultati su una listBox(per
>chiarezza il datasource è un Arraylsit).
>Io devo fare in modo che il cliente selezioni una riga dela listBox,
>che rappresenta il film che vuole prenotare, e succesivamente
>premendo un Button "prenota", devo inserire l' id_cliente,l'
>id_film e la data di prenotazione in una tabella "prenotazioni"
>x tenere traccia del film prenotato e del cliente che ha effettuato
>la prenotazione.
>Il mio problema è che nn so come passargli alla funzione "prenota"
>l'id_film e l'id cliente:
>- l'id_film dovrei ricavarlo direttamente dalla listBox in modo
>automatico senza che il cliente lo scriva esplicitamente, ma
>deve solo selezionare il film che gli interessa e premere il
>pulsante prenota,x cui penso debba utilizzare le proprietà ValuMember
>e DisplayMember, anche se nn so di preciso come funzionano.
>- l'id_cliente dovrei ricavarlo dalla prima Form in cui viene
>effettuato il login, per cui dovrei memorizzarlo in una var locale
>e poi passarlo alla form riguardante la prenotazione, ma nn so
>come passarglielo.
>
>
>Qualcuno sa aiutarmi ????

Ci sono molti modi in cui puoi passare quei valori, ad esempio scrivendoli in dei controlli o in delle variabili pubbliche del secondo form, oppure come parametri quando chiami la funzione che li gestisce, che ovviamente dovrà essere dichiarata come public.
Ad esempio, se hai nel secondo form:

Public Function Pippo(byval IDCliente as Integer, byval IDFilm as integer) As Boolean
.......
End Function

Quella sopra potrebbe essere una funzione il codice all'interno della quale controlla se il film è disponibile e se può essere assegnato al cliente e torna True se tutto è OK, oppure False se non si può fare. Ovviamente è solo un esempio, la funzione di cui parli, cosa deve fare, lo sai già tu!
In teoria, come vedi, sembrerebbe un problema di soluzione piuttosto banale, per cui sospetto di non aver centrato il cuore dello stesso!

Miles Profilo | Newbie

Grazie x la risposta.
Per quanto riguarda l'id_film il problema è che nn so come ricavare un campo,in tal caso l'id_film,dalla lisBox.
O meglio,cerco un film, ad es. per titolo( che lo scrivo in una texBox), premo il pulsante cerca, nella listBox mi vengono visualizzate le info riguardanti quel film, sottoforma di arraylist, e da qui devo prelevare l'id_film poichè mi serve per darlo in ingreso ad una successiva funzione prenota, che mi aggiornerà la tabella 'prenotazioni', x tener traccia dei film prenotati e del cliente che lo ha prenotato(da qui l'esigenza di prelevare anche l'id_cliente, nel mio caso devo prelevarla dall prima form in cui il cliente effettua il login).
Da discussioni precedenti ho capito che devo uilizzare le proprietà .ValueMember e .DislayMember, ma forse il problema è dovuto al modo in cui carico la listBox,ossia

listBox.DataSource=ws.RicercaTitolo(txt1,Text)

listBox.ValueMember= "id_film";
listBox.DisplayMember="Titolo";

dove ws sta per il mio Web Service in cui ho definito un Web Method "Ricerca Titolo" che richiama una ClassLibrary in cui ho definito una classe RicecaT che mi restituisce un ArrayList.


Inoltre il modo in cui passo l'id_film cosi ricavato alla funzione "prenota" è il seguente:

int p = Int32.Parse(listBox.SelectedValue.Tostring());
ws.prenota(p);

faccio cosi perchè credo che la proprietà ValueMember restituisca un oggeto di tipo stringa,mentre l'id_film è un intero.

C'è qcs di errato?

Da notare che sto programmando in c#.
Grazie per la disponibilità, Miles

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5