Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 10 Luglio 2017, 21:13:03

Titolo: [RISOLTO] dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: allegfede - 10 Luglio 2017, 21:13:03
  DateBox_Fine.Value = Now
  DateBox_Inizio.Value = DateDiff(Now, 90, gb.Day)

non va' ... e lo capisco, ma ora sono 15 ore che lavoro e' sono cotto :D

RISOLTO: DateBox_Inizio.Value = CDate(Now - 90) che parametrizzato potrebbe essere anche DateBox_Inizio.Value = CDate(DateBox_Fine.Value - 90)
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: Gianluigi - 10 Luglio 2017, 22:07:46
Una cosina semplice, semplice non andrebbe meglio?

Codice: [Seleziona]
Public Sub dbxEnd_Change()

  Dim i As Integer
 
  i = DateDiff(dbxStart.Value, dbxEnd.Value, gb.Day)
  TextLabel1.Text = "<b>" & CStr(i) & " giorni"

End

 :ciao:

P.S. Mi sorge il dubbio che tu voglia sommare i giorni ad una data, allora in quel caso devi usare DateAdd (http://gambaswiki.org/wiki/lang/dateadd)
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: vuott - 11 Luglio 2017, 00:08:23
  DateBox_Inizio.Value = DateDiff(Now, 90, gb.Day)
...da quando l'espressione 90 può essere un valore di tipo Date ?    ???


... sono cotto :D
No, te si arrostitu come a 'na sargiccia !




Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: allegfede - 11 Luglio 2017, 17:29:06
e' che devo trovare proprio il tipo date.

la differenza tra' due "date" in ore, giorni, secondi di fa' con datediff.

ma dato un giorno, come posso trovare un altro giorno che sia 90 giorni prima?
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: naderit - 11 Luglio 2017, 20:56:24
Ciao hai provato semplicemente :
Codice: [Seleziona]
ValueBox1.Value = Now
Label1.Text = Format(CDate(Now - 90), "dd/mm/yyyy")
:ciao:
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: vuott - 11 Luglio 2017, 23:55:15
Ciao hai provato semplicemente :
Codice: [Seleziona]
ValueBox1.Value = Now
CDate(Now - 90), "dd/mm/yyyy")
...e bravo naderit !    :)

Ma.... se invece di Now( ) - che si riferisce al giorno corrente - volessi impostare un giorno diverso (come richiede allegfede), come faresti ?   (https://forum.ubuntu-it.org/images/smilies/suspect.gif)


Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: naderit - 12 Luglio 2017, 21:05:26
Ciao ho provato anche usando .....
Codice: [Seleziona]
Public Sub Button1_Click()

 Label5.Text = Format(CDate(ValueBox1.Value - 10), "dd/mm/yyyy")

End

e sembra funzionare   :ciao:  ;D
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: vuott - 12 Luglio 2017, 21:12:23
Scusa, non inserire solo quel ValueBox.Value, altrimenti non si capisce niente.    :hatecomputer:
Devi farci vedere il valore che assegni alla proprietà .Value .


Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: naderit - 13 Luglio 2017, 20:51:10
Scusa Vuott... seleziono come proprietà della ValueBox  Type = Date  al quel punto  seleziono una data
allego esempio pratico  :ciao:
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: vuott - 13 Luglio 2017, 21:26:49
Molto bene, naderit !


...però io solitamente opero con applicazioni "a riga di comando" (https://forum.ubuntu-it.org/images/smilies/whistle.gif) , come potrei fare, dunque, non operando in ambiente grafico ?
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: naderit - 13 Luglio 2017, 21:46:50
non capisco la domanda Vuott  :o :o   
se mi puoi fare un esempio... scusa l'ignoranza... ;D
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: vuott - 13 Luglio 2017, 21:57:59
Se io ho aperto un progetto come "Command-line application":

Codice: [Seleziona]
Public Sub Main()    

  Print "Hello world"

End

non posso utilizzare l'oggetto "ValueBox"....

...sono stato chiaro ?
Titolo: Re:COME? dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: allegfede - 14 Luglio 2017, 13:25:07
Molto bene, naderit !


...però io solitamente opero con applicazioni "a riga di comando" (https://forum.ubuntu-it.org/images/smilies/whistle.gif) , come potrei fare, dunque, non operando in ambiente grafico ?

ed infatti i tuoi codici di test mi creano sempre casini :D

prima di capire che erano progetti "shell" quanto c'ho messo ... (si lo so' non sono proprio sveglissimo :D)

PS: grazie Nade, e' proprio quel che mi serviva, banalmente ho fatto: DateBox_Inizio.Value = CDate(Now - 90)
Titolo: Re:[RISOLTO] dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: vuott - 14 Luglio 2017, 16:12:24
Sì, va bene, ma la soluzione al problema in questione per i progetti a riga di comando ?   (https://www.seibertron.com/energonpub/images/smilies/coffee.gif)
Titolo: Re:[RISOLTO] dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: naderit - 14 Luglio 2017, 20:52:09
si ora ho capito...  purtroppo non è alla mia portata
Print Format(CDate(Now - 10), "dd/mm/yyyy")  ho visto che funziona.
La butto li: probabilmente si dovrebbe usare un'interfaccia a linea di comando magari utilizzando il componente gb.ncurses e fare in modo di intercettare i dati da tastiera forse creando una maschera tipo  "__/__/____" . non ho trovato molta documentazione esaustiva. Peccato.  :ciao:     
Titolo: Re:[RISOLTO] dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: vuott - 14 Luglio 2017, 21:44:27
La butto li: probabilmente si dovrebbe usare un'interfaccia a linea di comando magari utilizzando il componente gb.ncurses e fare in modo di intercettare i dati da tastiera forse creando una maschera tipo  "__/__/____" .
:rolleyes:

..basterebbe provare ad utilizzare le funzioni di data e tempo  :-\

Due ipotesi potrebbero essere le seguenti:
Codice: [Seleziona]
Public Sub Main()

  Print Format(CDate(CDate("08/21/1969 23:59:59") - 10), "dd/mm/yyyy")

  Print Format(CDate(Date(1969, 08, 21, 0, 0, 0, 0) - 10), "dd/mm/yyyy")

End
   :-X
Titolo: Re:[RISOLTO] dato un giorno trovare il 90 esimo giorno prima ....
Inserito da: Gianluigi - 14 Luglio 2017, 22:47:12
Di questo che vi pare?

Codice: [Seleziona]
Public Sub Main()

  Dim a, b As Date

  a = CDate(Val("1/1/17") - 10)
  b = DateAdd(a, gb.Day, 10)
  Print Format(a, "dd/mm/yyyy"), Format(b, "dd/mm/yyyy")

End
o se preferite abbreviato:
Codice: [Seleziona]
Print Format(CDate(Val("1/1/17") - 10), "dd/mm/yyyy")
:ciao: