Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#] E' possibile creare un Timer con un id o un tag?
Forum - C# / VB.NET - [C#] E' possibile creare un Timer con un id o un tag? - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:16
Martedì, 13/11/2012
A parte il fatto che non si capisce se parliamo di *reali* persone che comunicano (tramite un vero centralino telefonico controllato da un computer) o chissà di quale simulazione (con entità del tutto virtuali), non si sa cosa succede quando mittente "chiama"  (parte una funzione? viene creato un oggetto? scatta un evento? boh ...), in ogni caso, tralasciando tutto, si tratta proprio di una misurazione di tempo che fai

1) quando mittente chiama registri il tempo attuale

2) quando viene chiusa la telefonata, con TimeSpan, ottieni la differenza tra il tempo attuale e quello registrato in precedenza

E' tanto banale che si fa prima a farlo che a discuterne


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
criscap85 (Normal User)
Pro


Messaggi: 99
Iscritto: 29/01/2012

Segnala al moderatore
Postato alle 15:29
Martedì, 13/11/2012
Testo quotato

Postato originariamente da Qwertj:


L'elasticità mentale di un criceto...



:rotfl: :rotfl: :rotfl: :rotfl: :rotfl: :rotfl: :rotfl:

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 15:41
Martedì, 13/11/2012
Testo quotato

Postato originariamente da criscap85:

Testo quotato

Postato originariamente da Qwertj:


L'elasticità mentale di un criceto...



:rotfl: :rotfl: :rotfl: :rotfl: :rotfl: :rotfl: :rotfl:


Io se fossi in te non riderei troppo perche è realmente una delle cose piu semplici che si possano fare

PM Quote
Avatar
criscap85 (Normal User)
Pro


Messaggi: 99
Iscritto: 29/01/2012

Segnala al moderatore
Postato alle 15:01
Giovedì, 15/11/2012
Ok. Risolto, da per me. Se volete saperlo......
Ecco a voi il codice:

Codice sorgente - presumibilmente C#

  1. private void StatoChiamataCambiato(object sender, CallStateEventArgs e)
  2.         {
  3.             TapiLine line = (TapiLine)sender;
  4.             TapiCall call = e.Call;
  5.  
  6.             DBConfDataContext telefonata = new DBConfDataContext();
  7.  
  8.             int trovato = (from telef in telefonata.Telefonate
  9.                            where e.Call.Id.ToString() == telef.IDLinea
  10.                            select telef).Count();
  11.  
  12.             if (trovato <= 0) // Prima volta inserisce subito
  13.             {
  14.                 if (e.CallState.ToString() == "Connected")
  15.                 {
  16.                     DBConfDataContext nuovatelefonata = new DBConfDataContext();
  17.                     Telefonate telefonatanew = new Telefonate();
  18.                     telefonatanew.IDLinea = e.Call.Id.ToString();
  19.                     telefonatanew.Mittente = e.Call.CallerName;
  20.                     telefonatanew.Destinatario = e.Call.CalledName;
  21.                     telefonatanew.DataInizioChiamata = DateTime.Now.ToString();
  22.                     telefonatanew.Data = (DateTime.Now).ToString();
  23.                     nuovatelefonata.Telefonate.InsertOnSubmit(telefonatanew);
  24.                     nuovatelefonata.SubmitChanges();
  25.                 }
  26.             }
  27.             else // Se non lo è comunque inserisci se è stata avviata la chiamata altrimenti aggiorna
  28.             {
  29.  
  30.                 if (e.CallState.ToString() == "Connected")
  31.                 {
  32.                     DBConfDataContext nuovatelefonata = new DBConfDataContext();
  33.                     Telefonate telefonatanew = new Telefonate();
  34.                     telefonatanew.IDLinea = e.Call.Id.ToString();
  35.                     telefonatanew.Mittente = e.Call.CallerName;
  36.                     telefonatanew.Destinatario = e.Call.CalledName;
  37.                     telefonatanew.DataInizioChiamata = DateTime.Now.ToString();
  38.                     telefonatanew.Data = (DateTime.Now).ToString();
  39.                     nuovatelefonata.Telefonate.InsertOnSubmit(telefonatanew);
  40.                     nuovatelefonata.SubmitChanges();
  41.                 }
  42.  
  43.                 if (e.CallState.ToString() == "Disconnected")
  44.                 {
  45.                     DBConfDataContext chiuditelefonata = new DBConfDataContext();
  46.  
  47.                     var telefonatavecchia = (from telefon in chiuditelefonata.Telefonate
  48.                                              where telefon.IDLinea == e.Call.Id.ToString()
  49.                                              select telefon).FirstOrDefault();
  50.  
  51.                     telefonatavecchia.DataFineChiamata = DateTime.Now.ToString();
  52.  
  53.                     chiuditelefonata.SubmitChanges();
  54.  
  55.                     EliminaTelefonateDuplicate(); // Ho dovuto inserire questa funzione perchè me la scrive due volte
  56.  
  57.                     CalcolaDurata(e.Call.Id.ToString(), telefonatavecchia.DataInizioChiamata, telefonatavecchia.DataFineChiamata);
  58.                 }
  59.  
  60.             }
  61.    
  62.         }



E' un frammento di vitale importanza. Se avete bisogno di capire sulla libreria atapi non appena avrò finito il progetto aprirò con il permesso un topic ufficiale per spiegarvi il mio progetto al completo.
Ok?
Grazie

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo