/*
  * void GetData()
  * {
  *  IfCon = false;
  *  state = InfoState.HostName;
  *  ipEnd = new IPEndPoint(IPAddress.Any, UdpPort);
  *  socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
  *  socket.Bind(ipEnd);
  *  IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
  *  clientEnd = (EndPoint)sender;
  *  print("waiting for UDP dgram 22");
  *  connectThread = new Thread(new ThreadStart(SocketGetData));
  *  connectThread.Start();
  * }
  * void SocketSend(string sendStr)
  * {
  *  sendData = new byte[1024];
  *  sendData = Encoding.ASCII.GetBytes(sendStr);
  *  socket.SendTo(sendData, sendData.Length, SocketFlags.None, clientEnd);
  * }
  * void SocketGetData()
  * {
  *
  *  while (state != InfoState.Done)
  *  {
  *      print(state);
  *      recvData = new byte[1024];
  *      recvLen = socket.ReceiveFrom(recvData, ref clientEnd);
  *      print("message from: " + clientEnd.ToString());
  *
  *      recvStr = Encoding.ASCII.GetString(recvData, 0, recvLen);
  *      print(recvStr);
  *      switch (state)
  *      {
  *          case InfoState.HostName:
  *              Data.HostName = recvStr;
  *              state = InfoState.NeedAnimation;
  *              break;
  *          case InfoState.NeedAnimation:
  *              Data.NeedAnimation = bool.Parse(recvStr);
  *              state = InfoState.NeedDrawCard;
  *              break;
  *          case InfoState.NeedDrawCard:
  *              Data.NeedDrawCard = bool.Parse(recvStr);
  *              state = InfoState.PlayerCardNumber;
  *              break;
  *          case InfoState.PlayerCardNumber:
  *              Data.PlayerCardNumber = int.Parse(recvStr);
  *              state = InfoState.PlayerNumber;
  *              break;
  *          case InfoState.PlayerNumber:
  *              Data.PlayerNumber = int.Parse(recvStr);
  *              state = InfoState.Players;
  *              break;
  *          case InfoState.Players:
  *              if (recvStr == "DONE")
  *                  state = InfoState.Done;
  *              else
  *              {
  *                  Data.players.Add(recvStr);
  *                  state = InfoState.Players;
  *              }
  *              break;
  *      }
  *      SocketSend("ACK");
  *
  *  }
  *  print("DATA GET DOne");
  *  while (true)
  *  {
  *      recvData = new byte[1024];
  *      recvLen = socket.ReceiveFrom(recvData, ref clientEnd);
  *      recvStr = Encoding.ASCII.GetString(recvData, 0, recvLen);
  *      print(recvStr);
  *      if (recvStr == "GO")
  *      {
  *          GO = true;
  #if DEBUG
  *          SocketSend("ACK");
  #endif
  *          break;
  *      }
  *  }
  *  SocketQuit();
  *
  * }*/
 public void Reset_clk()
 {
     WaitText.text = "Waiting ....";
     SocketQuit();
     state = InfoState.HostName;
     recvUdpBroadcast();
 }
Esempio n. 2
0
        private void FrmMain_Load(object sender, EventArgs e)
        {
            //Set up design

            //Do setup
            RentalManager.Companies = new BindingList <Company>();
            this.companyState       = InfoState.None;
            this.carState           = InfoState.None;
            this.lastCompanyIndex   = -1;
            this.lastCarIndex       = -1;

            this.dtTimeCarService.MaxDate = DateTime.Today;

            this.openFileDialog.InitialDirectory = Environment.CurrentDirectory;

            #region Debug code
//#if DEBUG
//            for (int i = 0; i < 200; i++)
//            {
//                //Random company
//                this.companies.Add(new Company(Program.RandomNumber(Int32.MaxValue), Program.RandomString(10), Program.RandomString(10), Program.RandomString(3) + " " + Program.RandomString(3)));

//                //Random car
//                for (int j = 0; j < 200; j++)
//                {
//                    this.companies[i].Cars.Add(new Car(Program.RandomNumber(Int32.MaxValue), Program.RandomString(5), Program.RandomString(5), Program.RandomString(7), Car.Fuel.Diesel, DateTime.Today, Program.RandomString(Program.RandomNumber(15, 80))));
//                }
//            }
//#endif
            #endregion

            this.BindCompaniesToList(RentalManager.Companies);
        }
Esempio n. 3
0
        private void ControlsForEditCar(bool editMode, bool goToLast = true)
        {
            //Changes controls based on whether editing a car or not

            this.carState          = (editMode ? InfoState.Editing : InfoState.None);
            this.btnEditCar.Text   = (editMode ? "Cancel edit" : "Edit");
            this.btnAddCar.Enabled = !editMode;

            this.btnSaveCar.Enabled   = editMode;
            this.btnRemoveCar.Enabled = !editMode;

            this.lstCars.Enabled      = !editMode;
            this.grpCompanies.Enabled = !editMode;

            this.txtSearchCar.Enabled = !editMode;

            this.txtCarID.ReadOnly        = !editMode;
            this.txtCarMake.ReadOnly      = !editMode;
            this.txtCarModel.ReadOnly     = !editMode;
            this.txtCarReg.ReadOnly       = !editMode;
            this.cmbxCarFuel.Enabled      = editMode;
            this.dtTimeCarService.Enabled = editMode;
            this.txtCarComments.ReadOnly  = !editMode;

            //if isn't editing, select last car selected
            if (!editMode && goToLast)
            {
                this.SetLastSelectedInList(false, (Company)this.lstCompanies.SelectedItem);
            }
        }
Esempio n. 4
0
        private void ControlsForAddCar(bool addMode, bool goToLast = true)
        {
            //Changes controls based on adding a car or not

            this.carState           = (addMode ? InfoState.Adding : InfoState.None);
            this.btnAddCar.Text     = (addMode ? "Cancel add" : "Add new");
            this.btnEditCar.Enabled = !addMode;

            this.btnSaveCar.Enabled   = addMode;
            this.btnRemoveCar.Enabled = !addMode;

            this.lstCars.Enabled      = !addMode;
            this.grpCompanies.Enabled = !addMode;

            this.txtSearchCar.Enabled = !addMode;

            this.txtCarID.ReadOnly        = !addMode;
            this.txtCarMake.ReadOnly      = !addMode;
            this.txtCarModel.ReadOnly     = !addMode;
            this.txtCarReg.ReadOnly       = !addMode;
            this.cmbxCarFuel.Enabled      = addMode;
            this.dtTimeCarService.Enabled = addMode;
            this.txtCarComments.ReadOnly  = !addMode;

            //If it's not adding, reset the selected car to the last selected one
            if (!addMode && goToLast)
            {
                this.lastCarIndex = this.lstCars.Items.Count - 1;
                this.SetLastSelectedInList(false, (Company)this.lstCompanies.SelectedItem);
            }
        }
Esempio n. 5
0
        private void ControlsForEditCompany(bool editMode, bool goToLast = true)
        {
            //Change controls based on whether it's being edited
            this.companyState          = (editMode ? InfoState.Editing : InfoState.None);
            this.btnEditCompany.Text   = (editMode ? "Cancel edit" : "Edit");
            this.btnAddCompany.Enabled = !editMode;

            this.btnSaveCompany.Enabled   = editMode;
            this.btnRemoveCompany.Enabled = !editMode;

            this.lstCompanies.Enabled = !editMode;
            this.grpCars.Enabled      = !editMode;

            this.txtSearchCompany.Enabled = !editMode;

            this.txtCompanyID.ReadOnly       = !editMode;
            this.txtCompanyName.ReadOnly     = !editMode;
            this.txtCompanyAddress.ReadOnly  = !editMode;
            this.txtCompanyPostcode.ReadOnly = !editMode;

            //If edit is being cancelled go back to last selected company
            if (!editMode && goToLast)
            {
                this.SetLastSelectedInList(true);
            }
        }
Esempio n. 6
0
        private void ControlsForAddCompany(bool addMode, bool goToLast = true)
        {
            //Change controls on whether it's being added or cancel added
            this.companyState           = (addMode ? InfoState.Adding : InfoState.None);
            this.btnAddCompany.Text     = (addMode ? "Cancel add" : "Add new");
            this.btnEditCompany.Enabled = !addMode;

            this.btnSaveCompany.Enabled   = addMode;
            this.btnRemoveCompany.Enabled = !addMode;

            this.lstCompanies.Enabled = !addMode;
            //this.grpCars.Enabled = !addMode;

            this.txtSearchCompany.Enabled = !addMode;

            this.txtCompanyID.ReadOnly       = !addMode;
            this.txtCompanyName.ReadOnly     = !addMode;
            this.txtCompanyAddress.ReadOnly  = !addMode;
            this.txtCompanyPostcode.ReadOnly = !addMode;

            //Selects last company if it's been canceled
            if (!addMode && goToLast)
            {
                this.lastCompanyIndex = this.lstCompanies.Items.Count - 1;
                this.SetLastSelectedInList(true);
            }
        }
Esempio n. 7
0
        public Form1()
        {
            var args = Environment.GetCommandLineArgs();

            if (args.Contains("-a") || args.Contains("--auto"))
            {
                isAutoLoad = true;
            }

            InitializeComponent();

            gpuInfoList.Clear();
            gpuInfoListComboBox.Items.Clear();
            manager = GpuManager.Initialization();
            for (uint i = 0; i < manager.GpuCount; i++)
            {
                GpuInfo gpuInfo = null;
                var     result  = manager.GetGpuInformation(i, out gpuInfo);
                if (result == false)
                {
                    continue;
                }
                manager.GetPStateInfo(ref gpuInfo);
                manager.GetFreqDelta(ref gpuInfo);
                manager.GetCoolerInfo(ref gpuInfo);
                manager.GetPowerLimit(ref gpuInfo);

                gpuInfoList.Add(gpuInfo);
                gpuInfoListComboBox.Items.Add(gpuInfo.DisplayName);

                //Test get highest utilization of process id
                uint procId   = 0;
                uint procUtil = 0;
                if (manager.GetUtilizationSample(gpuInfo.Index, out procId, out procUtil) == true)
                {
                    utilResultLabel.Text = string.Format("proc id:{0} util:{1}", procId, procUtil);
                }
                else
                {
                    utilResultLabel.Text = "";
                }
            }

            Timer timer = new Timer();

            timer.Interval = 2000;
            timer.Tick    += (sender, e) =>
            {
                if (gpuInfoListComboBox.SelectedIndex < 0)
                {
                    return;
                }
                if (isAutoLoad == true && hasAutoLoaded == false)
                {
                    for (int i = 0; i < gpuInfoList.Count; i++)
                    {
                        var info  = gpuInfoList[i];
                        var state = manager.LoadInfoState(info.DisplayName);
                        UpdateValues(state.GpuFreqDelta, state.MemFreqDelta, (uint)state.CoolerLevels, state.PowerLimit, ref info);
                    }
                    hasAutoLoaded = true;
                }

                var  gpuInfo  = gpuInfoList[gpuInfoListComboBox.SelectedIndex];
                uint procId   = 0;
                uint procUtil = 0;
                if (manager.GetUtilizationSample(gpuInfo.Index, out procId, out procUtil) == true)
                {
                    utilResultLabel.Text = string.Format("proc id:{0} util:{1}", procId, procUtil);
                }
                else
                {
                    utilResultLabel.Text = "";
                }
            };
            timer.Start();

            gpuInfoListComboBox.SelectedIndexChanged += (sender, e) =>
            {
                var gpuInfo = gpuInfoList[gpuInfoListComboBox.SelectedIndex];
                pstateInfoLabel.Text = gpuInfo.DisplayPStateInfo;
                textBox1.Text        = gpuInfo.GpuFreqDelta.ToString();
                textBox2.Text        = gpuInfo.MemFreqDelta.ToString();
                textBox3.Text        = gpuInfo.CoolerLevels.ToString();
                textBox4.Text        = gpuInfo.PowerLimit.ToString();
                label4.Text          = "pwr " + gpuInfo.DefaultPowerLimit.ToString();
            };

            if (gpuInfoListComboBox.Items.Count > 0)
            {
                gpuInfoListComboBox.SelectedIndex = 0;
            }

            applyButton.Click += (sender, e) =>
            {
                if (gpuInfoListComboBox.Items.Count == 0 || gpuInfoListComboBox.SelectedIndex < 0)
                {
                    return;
                }

                int  gpu  = 0;
                int  mem  = 0;
                uint duty = 0;
                uint pwr  = 0;
                if (int.TryParse(textBox1.Text, out gpu) == true &&
                    int.TryParse(textBox2.Text, out mem) == true &&
                    uint.TryParse(textBox3.Text, out duty) == true &&
                    uint.TryParse(textBox4.Text, out pwr) == true)
                {
                    var gpuInfo = gpuInfoList[gpuInfoListComboBox.SelectedIndex];
                    UpdateValues(gpu, mem, duty, pwr, ref gpuInfo);

                    var state = new InfoState();
                    state.DisplayName  = gpuInfo.DisplayName;
                    state.GpuFreqDelta = gpuInfo.GpuFreqDelta;
                    state.MemFreqDelta = gpuInfo.MemFreqDelta;
                    state.CoolerLevels = (int)gpuInfo.CoolerLevels;
                    state.PowerLimit   = gpuInfo.PowerLimit;
                    manager.SaveInfoState(state);
                }
            };

            button1.Click += (sender, e) =>
            {
                try
                {
                    var searcher = new System.Management.ManagementObjectSearcher("root\\CIMV2", "select * from Win32_Processor");
                    var objs     = searcher.Get();
                    foreach (var obj in objs)
                    {
                        var obja = obj.Properties.Count;
                        foreach (var prop in obj.Properties)
                        {
                            if (prop.Name.Equals("Name"))
                            {
                                MessageBox.Show(prop.Value.ToString());
                            }
                        }
                        var objb = obj.GetPropertyValue("Name");
                    }
                    var cpuObject = new System.Management.ManagementObjectSearcher("root\\CIMV2", "select * from Win32_Processor")
                                    .Get()
                                    .Cast <System.Management.ManagementObject>()
                                    .First();
                    string fullName = cpuObject["Name"] as string;
                    MessageBox.Show(fullName);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + "\n" + ex.StackTrace);
                }
            };
        }
    public void ClientReceiveServer()
    {
        while (true)
        {
            ClientSendServer(Data.MyName);
            recvData = new byte[1024];
            recvLen  = socket.ReceiveFrom(recvData, ref serverEnd);
            print("message from: " + serverEnd.ToString());
            recvStr = Encoding.ASCII.GetString(recvData, 0, recvLen);
            print(recvStr);
            if (recvStr == "ACK")
            {
                break;
            }
        }
        print("GetName");
        state = InfoState.HostName;
        while (state != InfoState.Done)
        {
            print("Client Now State = " + state);
            recvData = new byte[1024];
            recvLen  = socket.ReceiveFrom(recvData, ref serverEnd);
            print("message from: " + serverEnd.ToString());
            recvStr = Encoding.ASCII.GetString(recvData, 0, recvLen);
            print(recvStr);
            switch (state)
            {
            case InfoState.HostName:
                Data.HostName = recvStr;
                state         = InfoState.NeedAnimation;
                break;

            case InfoState.NeedAnimation:
                Data.NeedAnimation = bool.Parse(recvStr);
                state = InfoState.NeedDrawCard;
                break;

            case InfoState.NeedDrawCard:
                Data.NeedDrawCard = bool.Parse(recvStr);
                state             = InfoState.PlayerCardNumber;
                break;

            case InfoState.PlayerCardNumber:
                Data.PlayerCardNumber = int.Parse(recvStr);
                state = InfoState.PlayerNumber;
                break;

            case InfoState.PlayerNumber:
                Data.PlayerNumber = int.Parse(recvStr);
                state             = InfoState.Players;
                break;

            case InfoState.Players:
                if (recvStr == "DONE")
                {
                    state = InfoState.Done;
                }
                else
                {
                    Data.players.Add(recvStr);
                    state = InfoState.Players;
                }
                break;
            }
            ClientSendServer("ACK");
        }
        print("DATA GET DOne");
        while (true)
        {
            recvData = new byte[1024];
            recvLen  = socket.ReceiveFrom(recvData, ref serverEnd);
            recvStr  = Encoding.ASCII.GetString(recvData, 0, recvLen);
            print(recvStr);
            if (recvStr == "GO")
            {
                GO = true;
#if DEBUG
                ClientSendServer("ACK");
#endif
                break;
            }
        }
        SocketQuit();
    }
    public void StartTransmitData(string ip)
    {
        int index = 0;

        state = InfoState.HostName;
        while (state != InfoState.Done)
        {
            print("server state = " + state);
            string str = "";
            switch (state)
            {
            case InfoState.HostName:
                str = Data.HostName;
                break;

            case InfoState.NeedAnimation:
                str = Data.NeedAnimation.ToString();
                break;

            case InfoState.NeedDrawCard:
                str = Data.NeedDrawCard.ToString();
                break;

            case InfoState.PlayerCardNumber:
                str = Data.PlayerCardNumber.ToString();
                break;

            case InfoState.PlayerNumber:
                str = Data.PlayerNumber.ToString();
                break;

            case InfoState.Players:
                str = Data.players[index];
                break;
            }
            ServerSendClient(str, ip);
            recvData = new byte[1024];
            recvLen  = socket.ReceiveFrom(recvData, ref Remote);
            recvStr  = Encoding.ASCII.GetString(recvData, 0, recvLen);
            switch (state)
            {
            case InfoState.HostName:
                if (recvStr == "ACK")
                {
                    state = InfoState.NeedAnimation;
                }
                break;

            case InfoState.NeedAnimation:
                if (recvStr == "ACK")
                {
                    state = InfoState.NeedDrawCard;
                }
                break;

            case InfoState.NeedDrawCard:
                if (recvStr == "ACK")
                {
                    state = InfoState.PlayerCardNumber;
                }
                break;

            case InfoState.PlayerCardNumber:
                if (recvStr == "ACK")
                {
                    state = InfoState.PlayerNumber;
                }
                break;

            case InfoState.PlayerNumber:
                if (recvStr == "ACK")
                {
                    state = InfoState.Players;
                }
                break;

            case InfoState.Players:
                if (index == Data.PlayerNumber - 1)
                {
                    state = InfoState.Done;
                }
                else
                {
                    print("index" + index.ToString());
                    ++index;
                    state = InfoState.Players;
                }
                break;
            }
        }
        ServerSendClient("DONE", ip);
        print("SSS");
    }
Esempio n. 10
0
        private void HumanInterfaceMoveSelection( MouseState mouse,  MouseState oldmouse,  Point mousepoint, Toon ChosenOne, Toon OpponentToon, Extras extra)
        {
            Rectangle[] MoveRect = new Rectangle[4];
            MoveRect[0] = new Rectangle(5, 465, 288, 123);
            MoveRect[1] = new Rectangle(293, 465, 288, 123);
            MoveRect[2] = new Rectangle(5, 588, 288, 123);
            MoveRect[3] = new Rectangle(293, 588, 288, 123);
            for (int i = 0; i < 4; i++)
            {
                if (MoveRect[i].Contains(mousepoint))
                {
                    switch (i)
                    {
                        case 0:
                            info = InfoState.Move0;
                            break;
                        case 1:
                            info = InfoState.Move1;
                            break;
                        case 2:
                            info = InfoState.Move2;
                            break;
                        case 3:
                            info = InfoState.Move3;
                            break;
                    }
                    if (mouse.LeftButton == ButtonState.Pressed && oldmouse.LeftButton == ButtonState.Released)
                    MoveSelected(ChosenOne, OpponentToon, i, extra);

                }
            }
            if (SkipTurnRect.Contains(mousepoint) && mouse.LeftButton == ButtonState.Pressed && oldmouse.LeftButton == ButtonState.Released)
            {
                State = FightState.OpponentsTurn;
                DamageCalcCode(ChosenOne, OpponentToon);
                firstTimeThrough = true;
                HaveResource = false;
            }
            if (MoveRect[0].Contains(mousepoint) == false && MoveRect[1].Contains(mousepoint) == false && MoveRect[2].Contains(mousepoint) == false && MoveRect[3].Contains(mousepoint) == false)
                info = InfoState.Stats;
        }