Simple Caculator
using System;
using System.Text.RegularExpressions;
using static System.Console;
using static System.Convert;
namespace SolutionsByProgrammingTask
{
internal static class Program
{
private static string Oper2(string input, char key, Func<decimal, decimal, decimal> f)
{
if (input[0] == '-')
{
input = '0' + input;
}
decimal a = 0;
decimal b = 0;
for (var i = 0; i < input.Length; i++)
{
if (input[i] != key) continue;
int j = i - 1, ai = -1, bi = -1;
for (; j >= 0; j--)
{
if (!Regex.IsMatch(input[j].ToString(), @"[+\-*\/]")) continue;
ai = j + 1;
a = ToDecimal(input.Substring(ai, i - ai));
break;
}
if (ai == -1)
{
ai = 0;
a = ToDecimal(input.Substring(ai, i));
}
for (j = i + 1; j < input.Length; j++)
{
if (!Regex.IsMatch(input[j].ToString(), @"[+\-*\/]")) continue;
bi = j - 1;
b = ToDecimal(input.Substring(i + 1, bi - i));
break;
}
if (bi == -1)
{
bi = input.Length - 1;
b = ToDecimal(input.Substring(i + 1, bi - i));
}
input = input.Replace(input.Substring(ai, bi - ai + 1), f(a, b).ToString());
i = 0;
}
return input;
}
private static string Oper1(string input, string key, Func<decimal, decimal> f)
{
decimal a = 0;
decimal b = 0;
for (var i = 0; i < input.Length - (key.Length + 2); i++)
{
if (input.Substring(i, key.Length) != key) continue;
int j = i - 1, bi = -1;
int count = 0;
for (j = i + key.Length + 1; j < input.Length; j++)
{
if (input[j] == '(')
++count;
else if (input[j] == ')' && count == 0)
{
bi = j;
break;
}
else if (input[j] == ')') --count;
}
input = input.Replace(input.Substring(i, bi - i + 1),
f(ToDecimal(FA(input.Substring(i + key.Length + 1, bi - (i + key.Length + 1))))).ToString());
i = 0;
}
return input;
}
public static string FF(string input) =>
Oper1(
Oper1(Oper1(input, "tan", x => (decimal) System.Math.Tan(ToDouble(x))), "cos",
x => (decimal) System.Math.Cos(ToDouble(x))), "sin", x => (decimal) System.Math.Sin(ToDouble(x)));
public static string F4(string input) =>
Oper2(Oper2(Oper2(Oper2(input, '*', (a, b) => a * b), '/', (a, b) => a / b), '+', (a, b) => a + b), '-',
(a, b) => a - b);
public static string FA(string input) => F4(FF(input));
public static void Main(string[] args)
{
var input = ReadLine();
WriteLine(FA(input));
ReadLine();
}
}
}
Tic Tac Toe
MainWindow.xaml
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="Tic Tac Toe" Height="280" Width="280" ResizeMode="NoResize">
<Grid>
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate >
<UniformGrid Rows="3" Columns="3"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<Button x:Name="Button11" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button11_Click"/>
<Button x:Name="Button21" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button21_Click"/>
<Button x:Name="Button31" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button31_Click"/>
<Button x:Name="Button12" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button12_Click"/>
<Button x:Name="Button22" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button22_Click"/>
<Button x:Name="Button32" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button32_Click"/>
<Button x:Name="Button13" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button13_Click"/>
<Button x:Name="Button23" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button23_Click"/>
<Button x:Name="Button33" Content="" HorizontalAlignment="Left" Height="83" VerticalAlignment="Top" Width="91" FontSize="72" FontFamily="FangSong" Click="Button33_Click"/>
</ItemsControl>
</Grid>
</Window>
MainWindow.xaml.cs
using System.Windows;
namespace WpfApp1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
private int curPlayerCount;
private string GetCurPlayer() => curPlayerCount++ % 2 == 0 ? "○" : "×";
public MainWindow()
{
InitializeComponent();
Reset();
}
private void Reset()
{
curPlayerCount = 1;
Button11.Content = "";
Button21.Content = "";
Button31.Content = "";
Button12.Content = "";
Button22.Content = "";
Button32.Content = "";
Button13.Content = "";
Button23.Content = "";
Button33.Content = "";
}
private string SubJudge()
{
if ((string) Button11.Content != "" &&
Button11.Content == Button21.Content &&
Button21.Content == Button31.Content)
return (string) Button11.Content;
if ((string) Button12.Content != "" &&
Button12.Content == Button22.Content &&
Button22.Content == Button32.Content)
return (string) Button12.Content;
if ((string) Button13.Content != "" &&
Button13.Content == Button23.Content &&
Button23.Content == Button33.Content)
return (string) Button13.Content;
if ((string) Button11.Content != "" &&
Button11.Content == Button12.Content &&
Button12.Content == Button13.Content)
return (string) Button11.Content;
if ((string) Button21.Content != "" &&
Button21.Content == Button22.Content &&
Button22.Content == Button23.Content)
return (string) Button21.Content;
if ((string) Button31.Content != "" &&
Button31.Content == Button32.Content &&
Button32.Content == Button33.Content)
return (string) Button31.Content;
if ((string) Button11.Content != "" &&
Button11.Content == Button22.Content &&
Button22.Content == Button33.Content)
return (string) Button11.Content;
if ((string) Button13.Content != "" &&
Button13.Content == Button22.Content &&
Button22.Content == Button31.Content)
return (string) Button13.Content;
if ((string) Button11.Content != "" &&
(string) Button21.Content != "" &&
(string) Button31.Content != "" &&
(string) Button12.Content != "" &&
(string) Button22.Content != "" &&
(string) Button32.Content != "" &&
(string) Button13.Content != "" &&
(string) Button23.Content != "" &&
(string) Button33.Content != "")
return "DogFall!";
return "";
}
private void Judge()
{
var res = SubJudge();
if (res == "") return;
MessageBox.Show(res == "DogFall!" ? res : $"{res} Win!");
if (MessageBox.Show("Reset?", "", MessageBoxButton.YesNo) == MessageBoxResult.No)
Application.Current.Shutdown();
Reset();
}
private void Button11_Click(object sender, RoutedEventArgs e)
{
if ((string) Button11.Content != "") return;
Button11.Content = GetCurPlayer();
Judge();
}
private void Button21_Click(object sender, RoutedEventArgs e)
{
if ((string) Button21.Content != "") return;
Button21.Content = GetCurPlayer();
Judge();
}
private void Button31_Click(object sender, RoutedEventArgs e)
{
if ((string) Button31.Content != "") return;
Button31.Content = GetCurPlayer();
Judge();
}
private void Button12_Click(object sender, RoutedEventArgs e)
{
if ((string) Button12.Content != "") return;
Button12.Content = GetCurPlayer();
Judge();
}
private void Button22_Click(object sender, RoutedEventArgs e)
{
if ((string) Button22.Content != "") return;
Button22.Content = GetCurPlayer();
Judge();
}
private void Button32_Click(object sender, RoutedEventArgs e)
{
if ((string) Button32.Content != "") return;
Button32.Content = GetCurPlayer();
Judge();
}
private void Button13_Click(object sender, RoutedEventArgs e)
{
if ((string) Button13.Content != "") return;
Button13.Content = GetCurPlayer();
Judge();
}
private void Button23_Click(object sender, RoutedEventArgs e)
{
if ((string) Button23.Content != "") return;
Button23.Content = GetCurPlayer();
Judge();
}
private void Button33_Click(object sender, RoutedEventArgs e)
{
if ((string) Button33.Content != "") return;
Button33.Content = GetCurPlayer();
Judge();
}
}
}
script0
using System.IO;
using System.Linq;
namespace MSV
{
internal static class Program
{
private static void StuCopy(string s, string d, string kw)
{
var input = Directory.EnumerateFiles(s).Select(Path.GetFileName).First(x => x.StartsWith(kw));
File.Copy(Path.Combine(s, input), Path.Combine(d, Path.GetFileName(s) + Path.GetExtension(input)));
}
private static void Main(string[] args)
{
const string passStr = "行程卡";
const string hpStr = "健康码";
var path = args[0];
var all = Directory.GetDirectories(path);
var pass = Directory.CreateDirectory(Path.Combine(path, passStr));
var hp = Directory.CreateDirectory(Path.Combine(path, hpStr));
foreach (var stu in all)
{
StuCopy(stu, pass.FullName, passStr);
StuCopy(stu, hp.FullName, hpStr);
}
}
}
}
WindowsFormsMySqlQuery
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Threading;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
private static readonly object Lock = new object();
public Form1()
{
InitializeComponent();
}
private void Button_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(InputBox.Text)) return;
Button.Enabled = false;
Button.Text = @"查询中";
new Thread((() =>
{
lock (Lock)
{
var conn = new MySqlConnection(
"data source=localhost;database=filemd5database;user id=root;password=toor;pooling=false;charset=utf8");
var cmd = new MySqlCommand("select * from fmd_200816 where path like @p limit 500", conn);
cmd.Parameters.Add(new MySqlParameter("@p", $"%{InputBox.Text}%"));
try
{
Output.Invoke(new Action((() => Output.Rows.Clear())));
conn.Open();
var reader = cmd.ExecuteReader();
while (reader.Read())
{
var dt = Enumerable.Range(0, 5).Select(x => reader.GetString(x)).ToArray();
Output.Invoke(new Action(() =>
Output.Rows.Add(dt[0], dt[1], dt[2], Convert.ToInt64(dt[3]), dt[4])));
}
}
catch (Exception exception)
{
MessageBox.Show(exception.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
conn.Close();
Button.Invoke(new Action((() =>
{
Button.Enabled = true;
Button.Text = @"查询";
})));
}
}
})).Start();
}
}
}