Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Aiuto Data!

    Ragazzi è importantissimo, ho fatto questa funzione qua

    Function swapping(tabb as object)

    Min = "23.59.59"

    For i = 1 To 253
    If tabb.TextMatrix(i, 2) <> "" Then
    If tabb.TextMatrix(i, 2) < Min Then
    Min = tabb.TextMatrix(i, 2)
    blocco = i
    End If
    End If
    Next i

    End Function

    Il suo compito è di cercare nella FlexGrid (che è una tabella che si aggiugne tra i componenti) qual'è la data (presa precedentemente dal sistema) più piccola, per far ciò però ho impostato min = a 23.59.59 che è la prima data da controllare....dovrebbe essere sempre minore la data che c'è nella tabella ma invece non è mai vera questa condizione, forse perchè lo legge come stringa, ma portando il mouse sopra "tabb" quando faccio F8 mi da la data del sistema così: "10.02.43"

    Se invece clicco sull'ora di Windows e metto per esempio 22.20.34 il programma funziona benissimo, quel che credo è che la stringa "22.20.34" ad esempio, sia più piccola di "23.59.59" mentre "10.10.10" è più grande...

    Cosa devo farE? non volgio che il mio programma funzioni solo la sera

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    1) Non hai specificato il linguaggio che usi
    2) Il titolo non è conforme al regolamento.

    Per questa volta il titolo lo modifico io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    42
    Non si capisce granchè dalla descrizione...
    Ad ogni modo mi sembra che tu confonda la data con l'ora di sistema...

    Se, come asserisci, il problema è l'incompatibilita tra i tipi di dato (string) rstituito dalla Flexgrid e (Date) restituito dal sistema ti basta fare un cast con la CDate del dato che leggi dalla flexgrid.

    Ma forse non ho capito... cerca di postare altri dettagli.


  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    42
    Dimenticavo: Di che linguaggio stiamo parlando?

  5. #5
    scusa te ma pensavo fosse chiaro ke si trattasse di VB 6....

    cmq allora io ho una tabella, in questa con ci sono delle date prese dal sistema:

    data.textmatrix(riga,colonna)=time

    Fin qui dovremmo esserci...

    Dopo di che io vorrei avere un variabile che contenga la data vecchia di quella tabella:
    es: 10.24.12
    10.25.24
    10.10.43

    La varibile che voglio deve contenere 10.10.43

    Per far ciò ho scritto così:

    Min = "23.59.59"

    For i = 1 To 253
    If tabb.TextMatrix(i, 2) <> "" Then
    If tabb.TextMatrix(i, 2) < Min Then
    Min = tabb.TextMatrix(i, 2)
    End If
    End If
    Next i

    Quando fa il confronto la sera, min ha effetivamente il valore corretto, la mattina invece no.
    Questo perchè credo ke veda la data come stringa....quindi come ho letto sopra userò Cdate...non sapevo ke esistesse senò ci avrei provato

    ho cambiato il codice così:


    Min = cdate("23.59.59")

    For i = 1 To 253
    If tabb.TextMatrix(i, 2) <> "" Then
    If cdate(tabb.TextMatrix(i, 2)) < Min Then
    Min = tabb.TextMatrix(i, 2)
    End If
    End If
    Next i


    GRAZIE MOLTE

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.