private const string FILE = "C:\\savedata.txt";
public Form1()
{
InitializeComponent();
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
if (File.Exists(FILE)){
IFormatter f = new BinaryFormatter();
var fs = new FileStream(FILE, FileMode.Open, FileAccess.ReadWrite);
var data = (List<string>) f.Deserialize(fs);
comboBox1.Items.AddRange(data.ToArray());
fs.Close();
}
}
protected override void OnClosing(CancelEventArgs e)
{
IFormatter f = new BinaryFormatter();
var data = comboBox1.Items.Cast<string>().ToList();
var fs = new FileStream(FILE, FileMode.Create, FileAccess.ReadWrite);
f.Serialize(fs, data);
fs.Close();
}
public class ExampleGUI implements InventoryHolder {
private Inventory inventory;
public ExampleGUI() {
// Создаем GUI с 27 ячейками и заголовком "Пример GUI"
this.inventory = Bukkit.createInventory(this, 27, ChatColor.translateAlternateColorCodes('&', "Пример GUI"));
// Добавляем предметы в инвентарь
inventory.addItem(new ItemStack(Material.DIAMOND), new ItemStack(Material.GOLD_INGOT), new ItemStack(Material.IRON_INGOT));
}
@Override
public Inventory getInventory() {
return inventory;
}
public void openGUI(Player player) {
// Открываем GUI для игрока
player.openInventory(inventory);
}
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
// Отменяем возможность вытаскивания предметов из GUI
if (event.getInventory().getHolder() instanceof ExampleGUI) {
event.setCancelled(true);
}
}
}
public class MyPlugin extends JavaPlugin implements Listener {
private Inventory myGui;
@Override
public void onEnable() {
// создание GUI
myGui = Bukkit.createInventory(null, 9, "My GUI");
// добавление предметов в GUI
ItemStack item = new ItemStack(Material.DIAMOND);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(ChatColor.GREEN + "Diamond");
item.setItemMeta(meta);
myGui.addItem(item);
// регистрация обработчика событий
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
// открытие GUI при нажатии правой кнопки мыши на блоке
event.getPlayer().openInventory(myGui);
}
}
}
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("MyTag", "Hello world!");
((CraftEntity) entity).getHandle().load(nbt);
NBTTagCompound nbt = ((CraftEntity) entity).getHandle().save(new NBTTagCompound());
String myTagValue = nbt.getString("MyTag");
def gen(c):
for d1 in range(10):
for d2 in range(10):
for d3 in range(10):
min_d4 = max(0, d1 + d2 + d3 - 18)
max_d4 = min(9, d1 + d2 + d3)
for d4 in range(min_d4, max_d4 + 1):
min_d5 = max(0, d1 + d2 + d3 - d4 - 9)
max_d5 = min(9, d1 + d2 + d3 - d4)
for d5 in range(min_d5, max_d5 + 1):
d6 = d1 + d2 + d3 - d4 - d5
if 0 <= d6 <= 9:
print(f'{d1}{d2}{d3}{d4}{d5}{d6}')
c-=1
if c <= 0 :
return
cnt = int(input('Введите количество счастливых билетов'))
gen(cnt)
private void Button_Click(object sender, RoutedEventArgs e){
var t = new Task(() =>{
//дейтсвия выполняющиеся в другом потоке
Thread.Sleep(1000);
});
t.ContinueWith(new Action<Task>((task) =>{//вызываем по завершению работы таски
Dispatcher.Invoke(new Action(() =>{//вызываем в основном потоке, потому-что обращения к gui элементам может быть только через него
try{
if (t.IsFaulted)//если у нас возникло исключение в нашей первой таске вызываем его здесь что уловить его тут и обработать
throw t.Exception;
textblock.Text = "my text";
}
catch (Exception exception){
Console.WriteLine(exception);
}
}));
}));
t.Start();
}
private async void Button_Click(object sender, RoutedEventArgs e){
try{
await Task.Run(() =>{
//дейтсвия выполняющиеся в другом потоке
Thread.Sleep(1000);
});
textblock.Text = "my text";//и мы волшебно продолжаем выполнение в главном потоке
}
catch (Exception exception){//будет вызван даже если возникнет исключение в таске
Console.WriteLine(exception);
}
}
List<Task> tasks = new List<Task>();
tasks.Add(Task.Run(() =>{
Thread.Sleep(1000);
Console.WriteLine("1");
}));
tasks.Add(Task.Run(() =>{
Thread.Sleep(1000);
Console.WriteLine("2");
}));
tasks.Add(Task.Run(() =>{
Thread.Sleep(1000);
Console.WriteLine("3");
}));
await Task.WhenAll(tasks.ToArray());
Console.WriteLine("continue");
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
IntPtr HWND = GetForegroundWindow();
string appname = Process.GetProcesses().First(p => p.MainWindowHandle == HWND).ProcessName;
var head = {
x: px,
y: py,
};
snake.unshift(head);
if (px >= canvas.width) {
px = 0;
}
if (px + box < 0) {
px = canvas.width;
}
if (py >= canvas.height) {
py = 0;
}
if (py + box < 0) {
py = canvas.height;
}
string code = File.ReadAllText(@"MyCompil.cs");
code =code.Replace("hello", "Hi!");
import {
AfterViewInit,
Component,
ElementRef,
Input,
OnInit,
ViewChild,
} from '@angular/core';
@Component({
selector: 'app-line-chart',
templateUrl: './line-chart.component.html',
styleUrls: ['./line-chart.component.css'],
})
export class ProductListComponent {
@ViewChild('elemCanvas') canvasValue: ElementRef | undefined;
@Input() color: string = '';
@Input() data: any = [];
width: number = 600;
height: number = 200;
padding: number = 40;
dpi_width: number = this.width * 2;
dpi_height: number = this.height * 2;
view_height: number = this.dpi_height - this.padding * 2;
view_width: number = this.dpi_width- this.padding * 2;
rows_count: number = 5;
ymin: number = 0;
ymax: number = 0;
xmin: number = 0;
xmax: number = 0;
value: any = 0;
yRatio: number = 0;
xRatio: number = 0;
DEBUG_MODE = true;//ПОСТАВИТЬ false чтобы убрать границы и значения
constructor() {
window.addEventListener('resize', () => {
this.chart();
});
}
ngOnInit() {
this.value = [this.ymin, this.ymax,this.xmin, this.xmax] = this.computeBoundaries(this.data);
this.yRatio = this.view_height / (this.ymax - this.ymin);
this.xRatio = this.view_width / (this.xmax - this.xmin);
}
ngAfterViewInit() {
this.chart();
}
chart(): void {
const elem = (this.canvasValue?.nativeElement as HTMLCanvasElement) || null;
if (elem) {
this.initChart(elem);
const ctx = elem.getContext('2d');
if (ctx) {
this.YaxiosDrawing(ctx);
this.XaxiosDrawing(ctx);
this.lineDrawing(ctx);
if(this.DEBUG_MODE)
this.innerBorder(ctx);
}
}
}
initChart(elem: any): void {
this.width = this.canvasValue?.nativeElement.offsetWidth;
this.dpi_width = this.width * 2;
elem.width = this.dpi_width;
elem.height = this.dpi_height;
}
innerBorder(ctx: any): void {
ctx.beginPath();
ctx.strokeStyle = 'red';
ctx.moveTo(this.padding,this.padding);
ctx.lineTo(this.padding + this.view_width, this.padding);
ctx.lineTo(this.padding + this.view_width, this.padding + this.view_height);
ctx.lineTo(this.padding , this.padding + this.view_height);
ctx.closePath();
ctx.stroke();
}
YaxiosDrawing(ctx: any): void {
const step = this.view_height / (this.rows_count - 1); //отступ между каждой линией
const textStep = (this.ymax - this.ymin) / (this.rows_count - 1);
ctx.beginPath();
ctx.strokeStyle = '#bbb';
ctx.font = 'normal 20px Helvetica, sans-serif';
ctx.fillStyle = '#96a2aa';
for (let i = 0; i <= this.rows_count; i++) {
const y = step * i;
const text = this.ymin + Math.round(textStep * i);
ctx.fillText(text.toString(), 5, this.view_height + this.padding - y);
ctx.moveTo(0, this.view_height + this.padding - y);
ctx.lineTo(this.dpi_width, this.view_height + this.padding - y);
}
ctx.stroke();
ctx.closePath();
}
XaxiosDrawing(ctx: any): void {
const step = this.view_width / (this.rows_count - 1);
const textStep = (this.xmax - this.xmin) / (this.rows_count - 1);
ctx.beginPath();
ctx.strokeStyle = '#bbb';
ctx.font = 'normal 20px Helvetica, sans-serif';
ctx.fillStyle = '#96a2aa';
for (let i = 0; i <= this.rows_count; i++) {
const x = step * i;
const text = this.xmin + Math.round(textStep * i);
ctx.fillText(text.toString(),
this.padding + x - ctx.measureText(text).width/2,
this.view_height + this.padding + 25 );
}
ctx.stroke();
ctx.closePath();
}
lineDrawing(ctx: any): void {
ctx.beginPath();
ctx.lineWidth = 4;
ctx.strokeStyle = this.color;
for (const [x, y] of this.data) {
ctx.lineTo(
this.padding + x * this.xRatio - this.xmin*this.xRatio,
this.view_height + this.padding - y * this.yRatio + this.ymin* this.yRatio
);
if(this.DEBUG_MODE){
ctx.font = 'Arial 16px';
ctx.fillStyle = 'red';
ctx.fillText(
x + ',' + y,
this.padding + x * this.xRatio - this.xmin*this.xRatio - 100,
this.view_height + this.padding - y * this.yRatio + this.ymin* this.yRatio
);
}
}
ctx.stroke();
}
computeBoundaries(data: any) {
let min, max;
let minx = this.data[0][0],maxx = this.data[0][0];
for (const [x, y] of this.data) {
if (typeof min !== 'number') min = y;
if (typeof max !== 'number') max = y;
if (min > y) min = y;
if (max < y) max = y;
if(x < minx)
minx = x;
if(x > maxx)
maxx = x;
}
return [min, max, minx,maxx];
}
}