Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilberto Nobre

compara datas de hje com date dentro de txt

Recommended Posts

olá pessoal estou precisando da ajuda de vocês no código abaixo, ele deveria fazer o seguinte: pegar a data que esta dentro de um arquivo txt( c:\Retorno.txt) e comparar com a data de hoje, se a data for maior faça x e se for menor faça y. mas esse script so esta comparando o dia pois se eu colocar no txt dia 01/12/2007 e a data de hoje for 28/11/2007 o script informa data invalida(comparándo só o dia) quero que esse cript entenda que o que tem no txt é data e compara com a data de hoje! me ajudem por favor!!!!!!!!

 

 

Private Sub Command1_Click()

'verificar data que foi estipulado em arquivo txt e informa se foi expirado o prog

 

arq = "c:\Retorno.txt"

 

n = FreeFile()

Open arq For Input As #n

conteúdo = Input(LOF(n), n)

Close #n

 

linhas = Split(conteúdo, vbCrLf)

penúltima = linhas(UBound(linhas) = 1)

últimos10caracteres = Right(penúltima, 10)

MsgBox últimos10caracteres

 

' labelpane1 e = a conteudo de txt

lblpane1.Caption = últimos10caracteres

 

'compara retorno da data contida no txt coma data atual no formato dd/mm/aaaa

If (últimos10caracteres) >= (Format(Now(), "dd/mm/yyyy")) Then

MsgBox " Data válida, você ainda tem tempo "

Else

MsgBox " Data Inválida, Tempo terminado ", vbCritical

End If

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se é o que precisa, todavia alterei seu código e agora funcionou, só não entendi a lógica do script.

 

Private Sub Command8_Click()

Dim últimosdezcaracteres2 As Date

'verificar data que foi estipulado em arquivo txt e informa se foi expirado o prog

 

arq = "c:\gravar e ler dados em arquivo\Endereço IP.orl"

 

n = FreeFile()

Open arq For Input As #n

conteúdo = Input(LOF(n), n)

Close #n

 

linhas = Split(conteúdo, vbCrLf)

penúltima = linhas(UBound(linhas) = 1)

últimos10caracteres = Right(penúltima, 10)

MsgBox últimos10caracteres

 

' labelpane1 e = a conteudo de txt

lblpane1.Caption = últimos10caracteres

últimosdezcaracteres2 = Format(lblpane1, "dd/mm/yyyy")

'compara retorno da data contida no txt coma data atual no formato dd/mm/aaaa

'If Format(Date, "dd/mm/yyyy") <= Format(lblpane1, "dd/mm/yyyy") Then

If últimosdezcaracteres2 <= Format(Date, "dd/mm/yyyy") Then

MsgBox " Data válida, você ainda tem tempo "

Else

MsgBox " Data Inválida, Tempo terminado ", vbCritical

End If

 

End Sub

 

boa sorte.

qquer coisa me post.

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif

Nobre, alterei alguns dados em sua codificação e consegui que não desse erro, somente dará erro se no local procurado não houver uma data.

Num formulário criei botões, label, textbox e combobox, assim tudo que houver no documento será relacionado e apresentado no combo.

veja se da certo.

qquer coisa já sabe.

valeu.

 

Private Sub Command8_Click()

Dim últimosdezcaracteres2 As Date

Dim Arq, Linhas, penÚltima As String

Dim n, L As Integer

On Error GoTo 5000

'verificar data que foi estipulado em arquivo txt e informa se foi expirado o prog

 

L = Text2.Text

 

Arq = "c:\gravar e ler dados em arquivo\Endereço IP.orl"

n = FreeFile()

Open Arq For Input As #n

conteúdo = Input(LOF(n), n)

Close #n

 

Linhas = Split(conteúdo, vbCrLf)

 

'penÚltima = Linhas(UBound(Linhas) = 1)

 

penÚltima = Linhas(L)

últimos10caracteres = Right(penÚltima, 20)

MsgBox últimos10caracteres

 

' labelpane1 e = a conteudo de txt

lblpane1.Caption = Trim$(últimos10caracteres)

últimosdezcaracteres2 = Format(lblpane1, "dd/mm/yyyy")

 

'compara retorno da data contida no txt coma data atual no formato dd/mm/aaaa

If últimosdezcaracteres2 <= Format(Date, "dd/mm/yyyy") Then

MsgBox " Data válida, você ainda tem tempo "

Else

MsgBox " Data Inválida, Tempo terminado ", vbCritical

End If

Exit Sub

5000

MsgBox "Você não digitou ou escolheu uma data válida. Tente novamente."

End Sub

 

 

'-\-\-\-\-\-\-\-\-\-\\-\-\-\-\-\

 

Private Sub Command4_Click() 'BOTAO PARA BUSCAR E APRESENTAR TODOS OS DADOS EM UM COMBO

' E LISTBOX

Dim VALOR As String

On Error GoTo 5000

List1.Clear

Combo1.Clear

Open "c:\gravar e ler dados em arquivo\Endereço IP.orl" For Input As #1

Do Until EOF(1#)

Line Input #1, VALOR

Combo1.AddItem VALOR

List1.AddItem VALOR

Loop

Close #1

Combo1.ListIndex = "0"

Exit Sub

 

 

5000

Call Diskerror

 

End Sub

 

 

'-x-x-x-x-x-x-x-x-x-x-

 

Sub Diskerror()

Dim Descricao As String

 

Select Case Err.Number

Case Is = 76

MsgBox "O diretorio não existe e será criado agora", vbYesNo

MkDir ("c:\gravar e ler dados em arquivo")

 

Case Else

If Err.Number = 53 Then Descricao = "O arquivo não foi encontrado."

 

MsgBox "Ocorreu o erro: ( " & Err.Number & " ) que significa: " & Descricao & Chr(13) _

& " Portanto o arquivo será criado."

 

 

 

End Select

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.