[PROBLEM] Как использовать кодированный текст в инструкции if? Даже если vars (serialNumberValue + encodedValue) имеют один и тот же тип, следующий код счастливого потока не будет выполнен.Как использовать кодированный текст в инструкции if?
[CURRENT OUTPUT] Код счастливого потока не будет выполнен.
[ЖЕЛАТЕЛЬНЫЙ ВЫХОД] код счастливого потока должен быть выполнен.
[КОД]
# Initiliaze secure window
import wx
secureApp = wx.App(False)
topSecure = wx.Frame(None, title=" test - Enter serial number", style=wx.MINIMIZE_BOX | wx.CAPTION | wx.CLOSE_BOX)
topSecure.Center()
topSecure.SetBackgroundColour('LIGHTGREY')
topSecure.SetSize(360,150)
def validateSerialNumber(event):
print "test"
serialNumberValue = serialNumber.GetValue()
print "serialNumberValue is: ", serialNumberValue
import platform
print platform.node()
encodedValue = platform.node().encode("base64")
print "encodedValue type is: " , type (encodedValue), encodedValue
print "serialNumberValue type is: " , type (str(serialNumberValue)), serialNumberValue
if (str(serialNumberValue)) == encodedValue:
print "ok"
topSecure.Destroy()
else:
print "not ok"
import wx
dial = wx.MessageDialog(None, 'Serial number invalid.', 'test - serial number', wx.OK)
dial.ShowModal()
sizer = wx.GridBagSizer()
# Add serial number label
serialLabel = wx.StaticText(topSecure, wx.ID_ANY, "Enter serial number:", wx.DefaultPosition, wx.DefaultSize, 0,)
sizer.Add(serialLabel,(1,2),(1,2), flag=wx.TOP|wx.BOTTOM, border=1)
# Add serial number textbox
serialNumber = wx.TextCtrl(topSecure, -1, "", size=(175, -1))
sizer.Add(serialNumber,(2,2),(2,14),wx.EXPAND)
# Add ok button
okButton = wx.Button(topSecure, -1, "OK", (160,100), size=(45, -1))
sizer.Add(okButton,(5,12),(1,1),wx.EXPAND)
topSecure.Bind(wx.EVT_BUTTON, validateSerialNumber, okButton)
topSecure.SetSizer(sizer)
topSecure.SetFocus()
topSecure.Center()
topSecure.Show(True) # Show the frame.
secureApp.MainLoop()
Вы получаете сообщение об ошибке : показать результаты своей программы –
привет. я не получаю ошибки, но код идет только через ветку else, даже если str (serialNumberValue)) и закодированные Varue vars имеют: одно и то же значение, тот же тип (str), я буду копать еще ... – george