You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
3.6 KiB

using formula_manage.UserClass;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SUNLIGHT_CDKEY
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
int d, y, m;
public MainWindow()
{
InitializeComponent();
T_Y.Text = DateTime.Now.ToString("yyyy");
T_M.Text = DateTime.Now.ToString("MM");
T_D.Text = DateTime.Now.ToString("dd");
}
private void Tb_KeyFloating_D(object sender, TextCompositionEventArgs e)//输入事件
{
d = int.Parse(T_D.Text);
//Regex re = new Regex("[^0-9.-]+");
Regex re = new Regex(@"^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");// 非负浮点数
e.Handled = !re.IsMatch(e.Text);
if(d>30)T_D.Text = "30";
}
private void Tb_KeyFloating_Y(object sender, TextCompositionEventArgs e)//输入事件
{
y = int.Parse(T_Y.Text);
//Regex re = new Regex("[^0-9.-]+");
Regex re = new Regex(@"^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");// 非负浮点数
e.Handled = !re.IsMatch(e.Text);
if (y > 2099) T_Y.Text = "2099";
}
private void Tb_KeyFloating_M(object sender, TextCompositionEventArgs e)//输入事件
{
m = int.Parse(T_M.Text);
//Regex re = new Regex("[^0-9.-]+");
Regex re = new Regex(@"^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");// 非负浮点数
e.Handled = !re.IsMatch(e.Text);
if (m > 12) T_M.Text = "12";
}
private void DURATION_DropDownClosed(object sender, EventArgs e)
{
T_Y.Text = DateTime.Now.ToString("yyyy");
T_M.Text = DateTime.Now.ToString("MM");
T_D.Text = DateTime.Now.ToString("dd");
d = int.Parse(T_D.Text);
y = int.Parse(T_Y.Text);
m = int.Parse(T_M.Text);
if (DURATION.Text == "1")
{
m += 1;
}
else if (DURATION.Text == "2")
{
m += 2;
}
else if (DURATION.Text == "3")
{
m += 3;
}
else if (DURATION.Text == "6")
{
m += 6;
}
else if (DURATION.Text == "12")
{
y += 1;
}
else if (DURATION.Text == "FOREVER")
{
y = 2099;
}
if (m > 12)
{
m = m-12;
y += 1;
}
T_Y.Text=y.ToString();
T_M.Text=m.ToString();
T_D.Text=d.ToString();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
string a;
string b, my, mm, md;
if (sn_id.Text == "") return;
a= sn_id.Text.Substring(0, 6);
my = Convert.ToString(Convert.ToInt32(2255 - y), 16).ToUpper();
mm = Convert.ToString(Convert.ToInt32(255 - m), 16).ToUpper();
md = Convert.ToString(Convert.ToInt32(255-d), 16).ToUpper();
b=my+mm+md;
cdk.Text = a + b + CRCcheck16.ToCRC16(CRCcheck16.StringToHexByte(b), true);
}
}
}