zoukankan      html  css  js  c++  java
  • 利用.NET做“电子书阅读器”原来这么简单(其实你也可以做出金山词霸) 狼人:

    一、利用.NET做“电子书阅读器”原来这么简单

    先下载组件:Interop.SpeechLib.dll  (https://files.cnblogs.com/waw/Interop.SpeechLib.rar

    阅读能力:中文,英文...

    调用代码如下:

    /// <summary>
    /// 利用“SpeechLib组件”调用“windows系统声音”来读取“文本”内容
    /// </summary>
    /// <param name="str"></param>
    private void SpeakText(string str)
    {
    SpeechVoiceSpeakFlags sVSFlagsAsync = SpeechVoiceSpeakFlags.SVSFlagsAsync;
    SpVoice voice = new SpVoiceClass();
    voice.Rate = 1;
    voice.Speak(str, sVSFlagsAsync);
    }

    原理:利用windows系统内置的声音API接口完成读取

    --------------------------------------------------华丽分割线(与此文无关,仅为知识点备份)-------------------------------------------

    二、Hashtable格式数据与文件存储

    示例代码如下:

    /// <summary>
    /// 读取 data.dat 中的数据
    /// </summary>
    private void Deserialize()
    {
    FileStream serializationStream = new FileStream(Application.StartupPath + @"\data.dat", FileMode.Open);
    try
    {
    BinaryFormatter formatter = new BinaryFormatter();
    Hashtable hst = (Hashtable)formatter.Deserialize(serializationStream);

    foreach (DictionaryEntry entry in hst)
    {
    //读取数据...
    }
    }
    catch (SerializationException exception)
    {
    MessageBox.Show(exception.Message);
    }
    finally
    {
    serializationStream.Close();
    }
    }

    /// <summary>
    /// 保存Hashtable格式的数据为文件
    /// </summary>
    private void Serialize()
    {
    FileStream serializationStream = new FileStream(Application.StartupPath + @"\data.dat", FileMode.Create);
    BinaryFormatter formatter = new BinaryFormatter();
    Hashtable hst = new Hashtable();

    //设置Hashtable数据值
    hst.Add("key1", "value1");
    hst.Add("key2", "value2");

    formatter.Serialize(serializationStream, hst);
    serializationStream.Close();
    }

    代码中实现了将Hashtable格式的数据另存为文件,和读取Hashtable格式的数据为对象类型

    声明:此博有部分内容为转载,版权归原作者所有~
  • 相关阅读:
    html+vue.js 实现分页可兼容IE
    Display、Visibility 和 Opacity 的区别
    Vue项目刷新页面 IE/360 浏览器 input输入框不清空问题处理
    Webpack入门
    linux下Tomcat日志文件catalina.out的切割
    无监控,不运维
    windows与linux下jdk+tomcat安裝
    java面向对象(提高篇)
    java面向对象(汇总)
    JAVA工程师简历模板
  • 原文地址:https://www.cnblogs.com/waw/p/2375108.html
Copyright © 2011-2022 走看看