Showing posts with label windown forms C#. Show all posts
Showing posts with label windown forms C#. Show all posts

Chuyển đổi DataTime từ TimeZone C#



Code C# :

public static DateTime TimeZone(string timezoneID)
        {
            TimeZoneInfo TimeZoneInfo;
            DateTime dateTime;
            //Set time zone
            TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timezoneID);
            //Get date and time
            dateTime = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo);
            return dateTime;
        }


"timezoneID"có thể tra bảng dưới đây

Time Zone ID
Time Zone Display Name
Morocco Standard Time
(GMT) Casablanca
GMT Standard Time
(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London
Greenwich Standard Time
(GMT) Monrovia, Reykjavik
W. Europe Standard Time
(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
Central Europe Standard Time
(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
Romance Standard Time
(GMT+01:00) Brussels, Copenhagen, Madrid, Paris
Central European Standard Time
(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb
W. Central Africa Standard Time
(GMT+01:00) West Central Africa
Jordan Standard Time
(GMT+02:00) Amman
GTB Standard Time
(GMT+02:00) Athens, Bucharest, Istanbul
Middle East Standard Time
(GMT+02:00) Beirut
Egypt Standard Time
(GMT+02:00) Cairo
South Africa Standard Time
(GMT+02:00) Harare, Pretoria
FLE Standard Time
(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
Israel Standard Time
(GMT+02:00) Jerusalem
E. Europe Standard Time
(GMT+02:00) Minsk
Namibia Standard Time
(GMT+02:00) Windhoek
Arabic Standard Time
(GMT+03:00) Baghdad
Arab Standard Time
(GMT+03:00) Kuwait, Riyadh
Russian Standard Time
(GMT+03:00) Moscow, St. Petersburg, Volgograd
E. Africa Standard Time
(GMT+03:00) Nairobi
Georgian Standard Time
(GMT+03:00) Tbilisi
Iran Standard Time
(GMT+03:30) Tehran
Arabian Standard Time
(GMT+04:00) Abu Dhabi, Muscat
Azerbaijan Standard Time
(GMT+04:00) Baku
Mauritius Standard Time
(GMT+04:00) Port Louis
Caucasus Standard Time
(GMT+04:00) Yerevan
Afghanistan Standard Time
(GMT+04:30) Kabul
Ekaterinburg Standard Time
(GMT+05:00) Ekaterinburg
Pakistan Standard Time
(GMT+05:00) Islamabad, Karachi
West Asia Standard Time
(GMT+05:00) Tashkent
India Standard Time
(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
Sri Lanka Standard Time
(GMT+05:30) Sri Jayawardenepura
Nepal Standard Time
(GMT+05:45) Kathmandu
N. Central Asia Standard Time
(GMT+06:00) Almaty, Novosibirsk
Central Asia Standard Time
(GMT+06:00) Astana, Dhaka
Myanmar Standard Time
(GMT+06:30) Yangon (Rangoon)
SE Asia Standard Time
(GMT+07:00) Bangkok, Hanoi, Jakarta
North Asia Standard Time
(GMT+07:00) Krasnoyarsk
China Standard Time
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
North Asia East Standard Time
(GMT+08:00) Irkutsk, Ulaan Bataar
Singapore Standard Time
(GMT+08:00) Kuala Lumpur, Singapore
W. Australia Standard Time
(GMT+08:00) Perth
Taipei Standard Time
(GMT+08:00) Taipei
Tokyo Standard Time
(GMT+09:00) Osaka, Sapporo, Tokyo
Korea Standard Time
(GMT+09:00) Seoul
Yakutsk Standard Time
(GMT+09:00) Yakutsk
Cen. Australia Standard Time
(GMT+09:30) Adelaide
AUS Central Standard Time
(GMT+09:30) Darwin
E. Australia Standard Time
(GMT+10:00) Brisbane
AUS Eastern Standard Time
(GMT+10:00) Canberra, Melbourne, Sydney
West Pacific Standard Time
(GMT+10:00) Guam, Port Moresby
Tasmania Standard Time
(GMT+10:00) Hobart
Vladivostok Standard Time
(GMT+10:00) Vladivostok
Central Pacific Standard Time
(GMT+11:00) Magadan, Solomon Is., New Caledonia
New Zealand Standard Time
(GMT+12:00) Auckland, Wellington
Fiji Standard Time
(GMT+12:00) Fiji, Kamchatka, Marshall Is.
Tonga Standard Time
(GMT+13:00) Nuku'alofa
Azores Standard Time
(GMT-01:00) Azores
Cape Verde Standard Time
(GMT-01:00) Cape Verde Is.
Mid-Atlantic Standard Time
(GMT-02:00) Mid-Atlantic
E. South America Standard Time
(GMT-03:00) Brasilia
Argentina Standard Time
(GMT-03:00) Buenos Aires
SA Eastern Standard Time
(GMT-03:00) Georgetown
Greenland Standard Time
(GMT-03:00) Greenland
Montevideo Standard Time
(GMT-03:00) Montevideo
Newfoundland Standard Time
(GMT-03:30) Newfoundland
Atlantic Standard Time
(GMT-04:00) Atlantic Time (Canada)
SA Western Standard Time
(GMT-04:00) La Paz
Central Brazilian Standard Time
(GMT-04:00) Manaus
Pacific SA Standard Time
(GMT-04:00) Santiago
Venezuela Standard Time
(GMT-04:30) Caracas
SA Pacific Standard Time
(GMT-05:00) Bogota, Lima, Quito, Rio Branco
Eastern Standard Time
(GMT-05:00) Eastern Time (US & Canada)
US Eastern Standard Time
(GMT-05:00) Indiana (East)
Central America Standard Time
(GMT-06:00) Central America
Central Standard Time
(GMT-06:00) Central Time (US & Canada)
Central Standard Time (Mexico)
(GMT-06:00) Guadalajara, Mexico City, Monterrey
Canada Central Standard Time
(GMT-06:00) Saskatchewan
US Mountain Standard Time
(GMT-07:00) Arizona
Mountain Standard Time (Mexico)
(GMT-07:00) Chihuahua, La Paz, Mazatlan
Mountain Standard Time
(GMT-07:00) Mountain Time (US & Canada)
Pacific Standard Time
(GMT-08:00) Pacific Time (US & Canada)
Pacific Standard Time (Mexico)
(GMT-08:00) Tijuana, Baja California
Alaskan Standard Time
(GMT-09:00) Alaska
Hawaiian Standard Time
(GMT-10:00) Hawaii
Samoa Standard Time
(GMT-11:00) Midway Island, Samoa
Dateline Standard Time
(GMT-12:00) International Date Line West

Chuyển giọng nói sang text C#




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Speech;
using System.Speech.Recognition;
using System.Threading;

namespace Speech_To_Text
{
    public partial class Form1 : Form
    {
        public SpeechRecognitionEngine recognizer;
        public Grammar grammar;
        public Thread RecThead;
        public Boolean RecognizerState = true;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //thiết lập Grammar
            GrammarBuilder builde = new GrammarBuilder();
            builde.AppendDictation();
            grammar = new Grammar(builde);

            recognizer = new SpeechRecognitionEngine();
            recognizer.LoadGrammar(grammar);
            recognizer.SetInputToDefaultAudioDevice();
            recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
         
            RecognizerState = true;
            RecThead = new Thread(new ThreadStart(RecTheadFuntion));
            RecThead.Start();
        }

        public void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            //nhận diện âm thanh
            if (!RecognizerState)
                return;
            this.Invoke((MethodInvoker)delegate
            {
                textBox1.Text += (" " + e.Result.Text.ToLower());
            });
        }

        public void RecTheadFuntion()
        {
            //thực hiện nhận diện giọng nói
            while (true)
            {
                try
                {
                    recognizer.Recognize();
                }
                catch
                {

                }
            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            RecThead.Abort();
            RecThead = null;
            recognizer.UnloadAllGrammars();
            recognizer.Dispose();
            grammar = null;
        }

        private void btnEnableSpeech_Click(object sender, EventArgs e)
        {
            RecognizerState = true;
        }

        private void btnDisableSpeech_Click(object sender, EventArgs e)
        {
            RecognizerState = false;
        }

     

    }
}


Kiểm tra trạng thái kết nối Internet C#


Cách 1: Dùng API
+ Vào menu Project\Add Class... để tạo class InternetConnection
+ Import namespace: 
using System.Runtime.InteropServices;
+ Class InternetConnection có 2 phương thức sau:


code

  1. class InternetConnection
  2.     {
  3.         [DllImport("wininet.dll")]
  4.         private extern static bool InternetGetConnectedState(out int description, int reservedValue);
  5.         public static bool IsConnectedToInternet()
  6.         {
  7.             int desc;
  8.             return InternetGetConnectedState(out desc, 0);
  9.         }
  10.     }


+ Thụ lý tình huống Click của button1 như sau:
Code

  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             if (InternetConnection.IsConnectedToInternet())
  4.             {
  5.                 MessageBox.Show("Tình trạng kết nối: OK!");
  6.             }
  7.             else
  8.             {
  9.                 MessageBox.Show("Tình trạng kết nối: Mất!");
  10.             }
  11.         }


Cách 2: Kiểm tra kết nối Internet bằng cách ping đến 1 host trên internet. Chúng ta tạo phương thức sau trong Project vừa tạo. Chú ý: nhớ using System.Net.NetworkInformation; để sử dụng class Ping.

CODE

  1. public bool IsConnectedToInternet(string host)
  2.         {
  3.             Ping p = new Ping();
  4.             try
  5.             {
  6.                 PingReply pr = p.Send(host, 3000);
  7.                 if (pr.Status == IPStatus.Success)
  8.                 {
  9.                     return true;
  10.                 }
  11.             }
  12.             catch (Exception)
  13.             {
  14.  
  15.                
  16.             }
  17.             return false;
  18.         }


Cuối cùng, thụ lý tình huống Click của button1 như sau:

CODE

  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             if (IsConnectedToInternet("caulacbovb.com"))
  4.             {
  5.                 MessageBox.Show("Tình trạng kết nối: OK!");
  6.             }
  7.             else
  8.             {
  9.                 MessageBox.Show("Tình trạng kết nối: Mất!");
  10.             }
  11.         }