欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實現(xiàn)備忘錄功能

 更新時間:2017年11月17日 08:37:15   作者:超越時光的速度  
這篇文章主要為大家詳細介紹了C#實現(xiàn)備忘錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、簡述

      備忘錄,相信大家生活中都使用過,比如記筆記、手機備忘錄等等,這些都是記錄自己靈感時所想、定期內(nèi)想做的事情,好像跑題了,說說我的備忘錄吧,我的備忘錄功能上也就是增刪改查的操作,另加到時提醒、語音播放內(nèi)容,很簡單吧,但是實用,好了,想看設計點吧。 

二、設計

1、數(shù)據(jù)庫設計

       數(shù)據(jù)庫用的是SQLite

       數(shù)據(jù)庫表:Sys_Kind、Memorandum

       Sys_Kind是一個通用字典表,這個對初學者有幫助,如下圖:

解析:ID不用說了,自增的標識,K_Name:字典名稱,K_Parent:父類型標識,就是說如果K_Parent為0,那么它就是一個類型,然后子字典就以它作為父類,這個字段鍵入父類ID值即可,K_Sort排序就是單個類型的排序,或者你也可以將所有數(shù)據(jù)作為排序也行,K_AddTime添加時間,K_Desc字典描述,這樣可以便于后來的人查看這個是用來干什么的,K_State字典狀態(tài),這個呢,可以靈活應用,用來是否顯示某個字典或者其他多狀態(tài)都可以,K_Code字典代碼值,這個就很重要了,這個就用作字典的值,很多人或許會問,為什么不用自增ID呢,因為如果類型很多的情況下,這個ID值會越來越大,你定義的類型值本身沒有幾個,而它的值還這么大,何必呢,旁邊這個表就是備忘錄表,我就不解釋了,自己慢慢體會。

2、程序設計(上圖)

這個呢,大家都知道哈,就是普普通通的增刪改查,沒什么大的技術含量

三、核心技術

1、自動查詢備忘錄

這一塊呢,相信大家都知道,可以用Timer這個控件,的確可以用Timer,當然這里,我用的不是Timer控件,而是System.Threading.Timer這個類,當然需要了解相關的用法,大家可以百度搜索,也可以去這兒https://msdn.microsoft.com/zh-cn/library/system.threading.timer(v=vs.110).aspx看看,當然我也貼出代碼,讓大家參考一下。

//聲明一個委托
private delegate void SetTimerLogicCallback();

//聲明一個定時器的類
private System.Threading.Timer threadTimer;

//執(zhí)行委托的方法,ShowMemorandumInfo是查詢數(shù)據(jù)庫的方法
private void ThreadMethod(object obj)
    {
      SetTimerLogicCallback timerLogic = new SetTimerLogicCallback(ShowMemorandumInfo);
      this.Invoke(timerLogic);
    }


 /// <summary>
    /// 定時器設置,這個方法或者這段代碼可以寫在窗體加載的時候
    /// </summary>
    private void TimerSet()
    {
       threadTimer = new System.Threading.Timer(new System.Threading.TimerCallback(ThreadMethod), null, 0, 1000);
    }

2、語音播報內(nèi)容

這塊我用了兩個方面的技術,一個就是微軟自帶的System.Speech.Synthesis.SpeechSynthesizer語音識別的類,第二個就是百度提供的語音識別接口,為什么用兩個呢,如果我們用戶機上面沒網(wǎng),那么就可以使用微軟自帶的語音識別功能,如果用戶機沒裝微軟的語音識別,那么就可以使用百度的語音識別接口,如果沒網(wǎng)、機器也沒裝微軟的語音識別,那么你可以打包程序自動裝微軟自帶語音識別的安裝包或者其他插件異或組件,當然,這個安裝包肯定比你的程序大很多,估計現(xiàn)在除了用xp的,win7的沒有幾個沒自動裝語音識別的吧,好了,下面就是代碼:

/// <summary>
    /// 微軟語音識別
    /// </summary>
    /// <param name="content">提示內(nèi)容</param>
    public static void SpeakAsync(string content)
    {
      try
      {
        if (synth != null)
          synth.Dispose();
        synth = new System.Speech.Synthesis.SpeechSynthesizer();
        synth.SpeakAsyncCancelAll();
        synth.SpeakAsync(content);
      }
      catch (Exception ex)
      {
        throw ex;
      }
    }


    /// <summary>
    /// 百度語音合成(文檔網(wǎng)站:http://yuyin.baidu.com/docs/tts/197)
    /// </summary>
    private void BaiduTts(string audioText)
    {
      _ttsClient = new Baidu.Aip.Speech.Tts("API_KEY", "SECRET_KEY ");
      // 可選參數(shù)
      var option = new Dictionary<string, object>()
        {
          {"spd", 5}, // 語速
          {"vol", 7}, // 音量
          {"per", 4} // 發(fā)音人,4:情感度丫丫童聲
        };
      var result = _ttsClient.Synthesis(audioText, option);
      if (result.ErrorCode == 0)
      {
        string fileName = Application.StartupPath + "\\" + Guid.NewGuid().ToString() + ".mp3";
        System.IO.File.WriteAllBytes(fileName, result.Data);
        axWindowsMediaPlayer1.URL = fileName;
        axWindowsMediaPlayer1.Ctlcontrols.play();
        System.IO.File.Delete(fileName);
      }
      else
      {
        Utils.LogMessage("百度語音合成異常", result.ErrorMsg);
      }
    }


 總結(jié):這是一個簡單的備忘錄程序,歡迎初學者學習,大神就隨便看看就行了,歡迎大家點贊轉(zhuǎn)發(fā)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C#圖像顏色聚類高效方法實例

    C#圖像顏色聚類高效方法實例

    這篇文章主要介紹了C#圖像顏色聚類高效方法,實例分析了C#實現(xiàn)圖像顏色聚類的方法,需要的朋友可以參考下
    2015-04-04
  • C#中使用Cache框架快速實現(xiàn)Cache操作

    C#中使用Cache框架快速實現(xiàn)Cache操作

    這篇文章介紹了C#中使用Cache框架快速實現(xiàn)Cache操作的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#中異步Socket通信編程代碼實例

    C#中異步Socket通信編程代碼實例

    這篇文章主要介紹了C#中異步Socket通信編程代碼實例,本文講解了什么是Socket編程的異步是實現(xiàn)、如何實現(xiàn)Socket異步通信并給出了代碼實例,需要的朋友可以參考下
    2015-03-03
  • winform基于異步委托實現(xiàn)多線程搖獎器

    winform基于異步委托實現(xiàn)多線程搖獎器

    這篇文章主要介紹了winform基于異步委托實現(xiàn)多線程搖獎器的方法,包含了線程的運用及隨機數(shù)的生成,需要的朋友可以參考下
    2014-10-10
  • C#中使用CAS實現(xiàn)無鎖算法的示例詳解

    C#中使用CAS實現(xiàn)無鎖算法的示例詳解

    CAS(Compare-and-Swap)是一種多線程并發(fā)編程中常用的原子操作,用于實現(xiàn)多線程間的同步和互斥訪問。本文將利用CAS實現(xiàn)無鎖算法,需要的可以參考一下
    2023-04-04
  • 淺談C# 中的委托和事件

    淺談C# 中的委托和事件

    本篇文章主要介紹C# 中的委托和事件,委托和事件在 .Net Framework中的應用非常廣泛,有興趣的可以了解一下。
    2016-12-12
  • C#如何使用Task執(zhí)行異步操作

    C#如何使用Task執(zhí)行異步操作

    這篇文章主要介紹了C#如何使用Task執(zhí)行異步操作,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-05-05
  • DevExpress實現(xiàn)為TextEdit設置水印文字的方法

    DevExpress實現(xiàn)為TextEdit設置水印文字的方法

    這篇文章主要介紹了DevExpress實現(xiàn)為TextEdit設置水印文字的方法,對C#程序設計人員來說是一個很實用的技巧,需要的朋友可以參考下
    2014-08-08
  • C#如何使用DateTime.Now.AddDays方法獲取任一天的信息

    C#如何使用DateTime.Now.AddDays方法獲取任一天的信息

    使用DateTime.Now屬性可以得到當前的日期信息,此時調(diào)用ToString方法,并在該方法中添加指定的格式化字符串,可以按照要求輸出當前日期的信息,本文介紹C#使用DateTime.Now.AddDays方法獲取任一天的信息,感興趣的朋友一起看看吧
    2024-01-01
  • C#圖片處理3種高級應用

    C#圖片處理3種高級應用

    本文介紹C#圖片處理高級應用,這些功能并無多大技術含量。全部基于.Net Framework類庫完成,代碼中包含了C#圖片處理的一些基礎知識,與大家分享,個人能力有限,不足之處還請及時指正。
    2015-10-10

最新評論