Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16

    VB6-Differenza ore e giorni.

    Spett.le Forum, desideravo, se possibile, chiederVi come posso fare una differenza di orario tra 2 textbox in VB6. Mi spiego: nel programma ho inserito una textbox che mi riporta la data del sistema, in un'altra textbox ricerco una città (es. New York), che ha una differenza di +6 ore, che mi viene calcolata nella textbox "Differenza ora solare con l'Italia".
    In una textbox, "txtOraInserita", vorrei inserire una qualsiasi ora di New York in modo che nella textbox "txtOraCercata" mi facesse la somma e/o la differenza dell'orario, possibilmente con il calcolo anche del giorno di differenza (in più o in meno).
    Immagino che per Voi sarà un gioco da ragazzi ma, abbiate pazienza, superati i 62 non si ha più la mente tanto elastica.
    Ho cercato anche tempo fa nel Vostro sito qualche soluzione ma non ci sono riuscito.
    Qualora riusciste ad aiutarmi ve ne sarò grato.
    Cordiali saluti.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Funzione

    DateDiff( ... )
    http://msdn.microsoft.com/en-us/library/aa262712(v=VS.60).aspx
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Ringrazio "oregon" per la cortese e sollecita risposta.
    Mi sono collegato al sito indicato e vedrò se in qualche modo riuscirò ad "addomesticare" le formule che mi interessano ma, da quello che ho visto, dovrò mettercela tutta.
    Cordialmente, Enzino48.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Spett.le Forum,
    mi sono collegato al sito indicato cortesemente da "oregon" ma non sono riuscito a sviluppare il mio programmino - vuol dire che mi limiterò ad ottenere la differenza oraria della città che scelgo dal combobox.
    Ho capito che, forse, la programmazione non fa per me e quindi mi "darò" alla pesca.
    RingraziandoVi comunque per l'interessamento prestato, Vi porgo i miei più cordiali saluti.
    Enzino48

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma tu cosa hai scritto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Nel cmdCalcolaOra ho inserito:

    Dim mMin As Long
    Dim pMin As Long
    Dim totMin As Long
    Dim plusMin As Long

    mMin = DateDiff("n", txtOraInserita.Text, txtOra.Text)
    pMin = DateDiff("n", txtOraInserita.Text, txtOra.Text)
    totMin = mMin + pMin
    plusMin = totMin '- 480

    lblr.Caption = plusMin \ 60 & Format(plusMin Mod 60, "\:00")
    Label4.Caption = totMin \ 60 & Format(totMin Mod 60, "\:00")

    questo sopra l'ho provato per disperazione

    mentre quello sotto mi da la differenza delle ore come sotto specificato.

    txtOraCercata = DateDiff("h", txtOra, txtOraInserita) / 24

    e la differenza ore mi indica ovviamente la differenza tra la txtOra e la txtOraInserita (+1, -2, ecc.) a seconda della città che io scelgo, ma, se inserisco i minuti il risultato viene con la "virgola".
    Le ho provate tutte prima di rivolgermi a Voi ed è per questo che penso di essere in grado di sviluppare programmini molto semplici ma non altri leggermente più complicati.
    Cordialmente, enzino48.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ci fai un esempio pratico di un calcolo che fai e che non va come vuoi ?

    Proprio un esempio con i dati, così capiamo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Caro "oregon", spero io possa darti del tu.
    Vedo se riesco a spiegarmi:
    1) in una form, da una ComboBox, scelgo una città (es. Bangkok);
    2) questa città mi viene riportata in una TextBox (txtCitta);
    3) in un'altra TextBox (txtOra) mi viene indicata la differenza oraria con l'Italia (ora solare, es. +6);
    4) in una TextBox (txtOraInserita) inserisco un'ora qualsiasi che dovrebbe sommarsi (o sottrarsi) alla differenza oraria (txtOra) con l'Italia;
    5) tramite un pulsante "CALCOLA L'ORA" dovrebbe inserirmi in una TextBox (txtOraCercata)l'ora corrispondente alla città inserita rispetto all'ora che io ho inserito (txtOraInserita).
    Credo sia possibile visualizzare l'ora (ore, minuti e secondi), oltre al giorno in più o in meno, tenendo conto delle 24 ore.
    Nel mio form ho già una TextBox che mi indica il giorno e l'ora del sistema.
    Inserdendo nel mio cmdCalcolaOra la formula
    txtOraCercata = DateDiff("h", txtOra, txtOraInserita) / 24
    mi da la differenza oraria con l'Italia (txtOra) e quella da me inserita (txtOraInserita) in ore (+2, -1, +6, ecc.) ma non l'ora in ore, minuti, secondi ed il giorno.
    Spero di essermi spiegato tuttavia, nel caso non ci sia riuscito, ti prego di non perdere tempo con un sessantaduenne che alla sua età vuol cimentarsi nella programmazione.
    Ringrazio te e tutto lo staff - enzino48

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da enzino48
    Caro "oregon", spero io possa darti del tu.
    Sicuramente ...

    Spero di essermi spiegato
    Certo ... potresti quindi scrivere

    txtOraCercata = CDate(CDate(txtOraInserita.Text)+CDate(txtOra & ":00:00"))

    avendo cura di non inserire il segno nella textbox ma di scegliere l'operazione con il segno giusto ... ovvero , usando

    txtOraCercata = CDate(CDate(txtOraInserita.Text) + CDate(txtOra & ":00:00"))

    oppure

    txtOraCercata = CDate(CDate(txtOraInserita.Text) - CDate(txtOra & ":00:00"))

    non perdere tempo con un sessantaduenne che alla sua età vuol cimentarsi nella programmazione.
    Non è mai troppo tardi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da enzino48
    3) in un'altra TextBox (txtOra) mi viene indicata la differenza oraria con l'Italia (ora solare, es. +6);
    4) in una TextBox (txtOraInserita) inserisco un'ora qualsiasi che dovrebbe sommarsi (o sottrarsi) alla differenza oraria (txtOra) con l'Italia;
    5) tramite un pulsante "CALCOLA L'ORA" dovrebbe inserirmi in una TextBox (txtOraCercata)
    Ok, fin qui è chiaro.

    Originariamente inviato da enzino48
    Nel mio form ho già una TextBox che mi indica il giorno e l'ora del sistema.
    Scusa, ma a cosa serve?
    Possiedi già tutte le informazioni utili, quindi questa informazioni è inutile.

    Originariamente inviato da enzino48
    Inserdendo nel mio cmdCalcolaOra la formula
    txtOraCercata = DateDiff("h", txtOra, txtOraInserita) / 24
    mi da la differenza oraria con l'Italia (txtOra) e quella da me inserita (txtOraInserita) in ore (+2, -1, +6, ecc.) ma non l'ora in ore, minuti, secondi ed il giorno.
    a) è ovvio, dato che nella DateDiff() imposti il parametro 'h' ti restituisce solo l'ora
    b) non capisco perchè tu voglia ottenere la differenza... quella l'hai già!!!

    Mi sembra, invece, che tu debba (voglia) conoscere l'orario diverso in base a txtOra, quindi dovrai usare la DateAdd():

    codice:
    txtOraCercata.Text = DateAdd("h", txtOra.Text, txtOraInserita.Text)
    in txtOra, puoi mettere qualsiasi valore +6, -3, ...
    Esempio, inserendo
    codice:
    txtOra.Text = 6
    txtOraInserita.Text = 15:15:22
    otterremo l'ora calcolata
    txtOraCercata.Text = 21.15.22
    Attenzione che se la somma o sottrazione restituisce un valore che va oltre il range delle 24 ore la DateAdd() restituirà, correttamente, oltre all'ora anche la data.
    Infatti, se sostituiamo in txtOra.Text il 6 con 13 otteniamo:
    codice:
    txtOraCercata.Text = 31/12/1899 4.15.22
    per cui sarebbe il caso di usare la funzione Format() per restringere l'output solo sull'ora.

    S.A.C.A.C.T.
    Sempre Ammesso Che Abbia Capito Tutto


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.