2013-04-28 1 views
1

Мне нужно установить дату истечения срока действия моего приложения (я знаю, что его можно просто взломать, но это действительно не проблема или беспокойство, учитывая людей, которые будут его использовать. должен истекать ежегодно). У меня есть код, который работает, но я хочу убедиться, что он работает с другими настройками культуры. Я попытался сыграть с преобразованием его в инвариант, но у меня появились ошибки, пытаясь сказать, что он не может преобразовать в тип даты. Вот что у меня есть:.Преобразование текущего datetime в инвариант культуры

Private Sub expcheck() 
    Try 
     Dim format As Date = #5/1/2013# 
     Dim edate As Date = format.ToString() 
     Dim daysleft As Integer = DateDiff(DateInterval.Day, Now, edate) 

     If Date.Now > edate Then 
      MsgBox("This program was valid up to " & edate & " and will now close") 
      Application.Exit() 
     End If 
     If daysleft < 30 Then 
      MsgBox("This program expires on " & edate & vbNewLine & "You have " & daysleft & " Days left." & vbNewLine & "Export your work before expiry.") 
     End If 
    Catch e As Exception 
     MsgBox(e.Message) 
    End Try 
End Sub 

Это похоже на работу, но я думаю, что это может испортить на других условиях культивирования (я попробуйте изменить свои собственные настройки/форматов и он все еще работает, но не уверен, почему это будет работать

ответ

2

я, возможно, ответил на мой собственный вопрос это не очень, но, написав дату на этикетке с datelabel.text = date.today.tostring("MM/dd/yyyy") , а затем изменить код:.

Dim edate As DateTime = DateTime.Parse("05/01/2013", System.Globalization.CultureInfo.InvariantCulture) 
Dim nowdate As Date = Date.Parse(dateLabel.Text, System.Globalization.CultureInfo.InvariantCulture) 
Dim daysleft As Integer = DateDiff(DateInterval.Day, nowdate, edate) 

Он работает, но не очень. Опять же, безопасность здесь не проблема, поскольку есть только один клиент, который будет использовать или нуждаться в программном обеспечении.

+0

На самом деле, это лучше, я думаю, и избегает мусора текстового ярлыка. 'Dim nowdate As Date = Format (Date.Today()," MM/dd/yyyy ")' – Cory