承蒙各位支持!

正式版已推出,请前往http://tieba.baidu.com/p/3398574166

或者前往:http://provissy.com/?p=7

请不要在这里回复,我无法保证回复您的及时性!

更新日志:

V1.0 Release。

V8.0,卡顿问题缓解,彻底解决遇到很多麻烦,暂时无法实现,求大神。

0.79---------------------------------------

0.78 --------------------------------------

11/05/2014,晚,V0.77,揭示板功能发布!

11/05/2014,傍晚,V0.76,新增更新提醒,点击左上角方框可取消,否则5分钟检查一次。

11/05/2014,午,V0.75,BBS内部测试发布(其实也不是BBS啦),详情看下面。

11/04/2014,午,V0.73,修复全部有关文件位置错误的bug,包括生成的记录莫名其妙跑到桌面,或者跑到了Windows\System32

11/03/2014,更晚,V0.71,资源统计图的加载使用异步调用,现在不会卡顿了。

11/03/2014,晚,V0.7,修复大部分UI有关问题,经过各种姿势确认应该是没问题了。新增错误处理页面。下面有介绍。

11/03/2014,午,V0.68发布,修复更新与资源统计相关的Bug。

11/02/2014,晚,努力了一整天,从早上8点到晚上9点,终于完成了绘制图表的工作,真的很辛苦。。。下面有详细。

11/02/2014,午,V0.61,修复bug,新增捐赠页面。

11/01/2014,晚,V0.6发布,服务器全部迁移,Updater更新,修复大量bug。

10/31/2014,更晚,V0.59⑨发布,修复切换统计数据出错的bug,修复按钮名称错误的bug。

10/31/2014,晚,V0.59发布,现可直接查看统计数据。

10/31/2014,午,v0.52发布,修复bug。

10/31/2014,早,V0.51发布,修复csv乱码。

10/30/2014,晚间,解决全部更新有关的bug。

->啊咧?多了个功能?

差不多做了个模子。。。

有什么用呢?秋活dalao推图的时候,能用这个实时更新探路情况,别的人也可以持续刷新,看看别人的出击阵容。

但是首先,你得有人用。。。。。大概会有人用吧。。。。。

如果报错,再试一次应该就没问题了。

无法在英文系统下读取和发布标题带有中文的内容,如要使用请将区域改为中文。

->错误处理页面是个什么东东?

大概就是这样的

->Chart !读取CSV文件并绘制折线图。

Google没有任何资源!全部靠自己干!弄了13个小时终于搞定!!!!!

这是定义图表控件的XAML代码。

 <chartingToolkit:Chart  Name="LineChart1" Title="Material Log">
<chartingToolkit:LineSeries Name="Fuel"
Title="Fuel"
DependentValuePath="countOfMat"
IndependentValuePath="DateOF"
ItemsSource="{Binding [0]}"
IsSelectionEnabled="True" AnimationSequence="FirstToLast"/>
<chartingToolkit:LineSeries Name="Ammo"
Title="Ammo"
DependentValuePath="countOfMat"
IndependentValuePath="DateOF"
ItemsSource="{Binding [1]}"
IsSelectionEnabled="True" AnimationSequence="FirstToLast"/>
<chartingToolkit:LineSeries Name="Steel"
Title="Steel"
DependentValuePath="countOfMat"
IndependentValuePath="DateOF"
ItemsSource="{Binding [2]}"
IsSelectionEnabled="True" AnimationSequence="FirstToLast"/>
<chartingToolkit:LineSeries Name="Bauxite"
Title="Bauxite"
DependentValuePath="countOfMat"
IndependentValuePath="DateOF"
ItemsSource="{Binding [3]}"
IsSelectionEnabled="True"
AnimationSequence="FirstToLast"/> </chartingToolkit:Chart>

以下是本人心血,C#逻辑代码。

 private static Style GetNewDataPointStyle(int R,int G,int B)
{
Random random = new Random();
Color background = Color.FromRgb((byte)R,
(byte)G,
(byte)B);
Style style = new Style(typeof(DataPoint));
Setter st1 = new Setter(DataPoint.BackgroundProperty,
new SolidColorBrush(background));
Setter st2 = new Setter(DataPoint.BorderBrushProperty,
new SolidColorBrush(Colors.White));
Setter st3 = new Setter(DataPoint.BorderThicknessProperty, new Thickness(0.1)); Setter st4 = new Setter(DataPoint.TemplateProperty, null);
style.Setters.Add(st1);
style.Setters.Add(st2);
style.Setters.Add(st3);
style.Setters.Add(st4);
return style;
} private void loadMatChart()
{
LineSeries fuelLine = LineChart1.Series[] as LineSeries;
fuelLine.ItemsSource = loadFuel();
LineSeries ammoLine = LineChart1.Series[] as LineSeries;
ammoLine.ItemsSource = loadAmmo();
LineSeries steelLine = LineChart1.Series[] as LineSeries;
steelLine.ItemsSource = loadSteel();
LineSeries bauxiteLine = LineChart1.Series[] as LineSeries;
bauxiteLine.ItemsSource = loadBauxite();
Style dataPointStyle1 = GetNewDataPointStyle(,,);
Style dataPointStyle2 = GetNewDataPointStyle(,,);
Style dataPointStyle3 = GetNewDataPointStyle(,,);
Style dataPointStyle4 = GetNewDataPointStyle(,,);
fuelLine.DataPointStyle = dataPointStyle1;
ammoLine.DataPointStyle = dataPointStyle2;
steelLine.DataPointStyle = dataPointStyle3;
bauxiteLine.DataPointStyle = dataPointStyle4;
} private List<MatData> loadBauxite()
{
List<MatData> matdata = new List<MatData>();
foreach (string[] ss in ReadCSV("MaterialsLog.csv"))
{
matdata.Add(new MatData(ss[], Int32.Parse(ss[])));
}
return matdata;
} private List<MatData> loadSteel()
{
List<MatData> matdata = new List<MatData>();
foreach (string[] ss in ReadCSV("MaterialsLog.csv"))
{
matdata.Add(new MatData(ss[], Int32.Parse(ss[])));
}
return matdata;
} private List<MatData> loadAmmo()
{
List<MatData> matdata = new List<MatData>();
foreach (string[] ss in ReadCSV("MaterialsLog.csv"))
{
matdata.Add(new MatData(ss[], Int32.Parse(ss[])));
}
return matdata;
} private List<MatData> loadFuel()
{
List<MatData> matdata = new List<MatData>();
foreach (string[] ss in ReadCSV("MaterialsLog.csv"))
{
matdata.Add(new MatData(ss[], Int32.Parse(ss[])));
}
return matdata;
} public static List<String[]> ReadCSV(string filePathName)
{
List<String[]> ls = new List<String[]>();
StreamReader fileReader = new StreamReader(filePathName);
string strLine = "";
while (strLine != null)
{
strLine = fileReader.ReadLine();
if (strLine != null && strLine.Length > )
{
ls.Add(strLine.Split(','));
//Debug.WriteLine(strLine);
}
}
fileReader.Close();
return ls;
} private void initializeSoNoDobiraWo()
{
try
{
loadMatChart();
}
catch (Exception ex)
{
MessageBox.Show("加载统计图错误!(重开KCV试试?) " + ex.ToString());
}
}
} public class MatData
{
public string DateOF { get; set; }
public int countOfMat { get; set; } public MatData(string dateof, int countofmat)
{
DateOF = dateof;
countOfMat = countofmat;
}
}

什么?看起来很简单?实践出真知。

->内建统计数据查看器:

因为WPF控件的特殊性,老夫翻遍了百度找不到读取csv的方法。

然后,我突然忘了一件重要的事——平时我都是用Google的啊!

美帝的方法也是乱七八糟五花八门,最后终于让我找到了!

非常感谢这位叫做morio的博主!

这是他的文章——

CSVファイルを読み込んでDataGridに表示

http://morio2.blogspot.jp/2012/11/csvdatagrid.html

天气转凉,大家注意保重身体!

下载地址:V0.41 : http://pan.baidu.com/s/1kToStfh

V0.5 : http://pan.baidu.com/s/1mgxDO3Q

永久下载地址:http://provissy.boo.jp/PrvTools_Beta_Download/ProvissyTools-Beta.dll

[Dev Blog] KCV插件 —— Provissy Tools 。的更多相关文章

  1. Plugin For KanColleViewer – Provissy Tools V1.0

    これはKanColleViewerためのプラグインです,KanColleViewerの機能を拡張する. #介绍 / Introduction / 紹介这是一个KanColleViewer(俗称”提督很 ...

  2. eclipse插件hibernate tools安装 爱好者

    eclipse helios(3.6)版 1.启动eclipse 2.选择Help > Install New Software...> 3.添加如下地址:http://download. ...

  3. VS Code插件之Cordova Tools

    原文:VS Code插件之Cordova Tools 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011127019/article/detai ...

  4. vscode编写插件详细过程

    前言 之前编写了一个vscode插件用vscode写博客和发布,然后有园友要求写一篇来介绍如何开发一个vscode扩展插件,或者说介绍开发这个插件的过程.然而文章还没有写,园子里面已经有人发布一个文章 ...

  5. vscode编写插件

    vscode编写插件详细过程 前言 之前编写了一个vscode插件用vscode写博客和发布,然后有园友要求写一篇来介绍如何开发一个vscode扩展插件,或者说介绍开发这个插件的过程.然而文章还没有写 ...

  6. Maven插件构建Docker镜像

    背景 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维上的额外复杂性,尤其是在服务部署和服务监控上.单体应用是集中式的,就一个单体跑在一起,部署和管理的时候非常简单,而微服务是一个网 ...

  7. eclipse的插件安装

    如何安装:http://my.oschina.net/linjunlong/blog/126961 插件安装方法:eclipse和myeclipse版本不一样,略有区别 在线安装: 第一种:知道在线安 ...

  8. Android 大牛的 blog 值得推荐 (转 整理)

    1 收集了 国外著名开发者 25 人,包括 Github 地址.Blog 地址以及重点贡献介绍 链接 收集了 国内部分开发者 32人,包括 Github 地址.Blog 地址以及重点贡献介绍, 链接 ...

  9. eclipse插件安装 (zhuan)

    https://my.oschina.net/gxs2012/blog/205875 http://blog.csdn.net/zhujiaxing666666/article/details/150 ...

随机推荐

  1. 大约 C++ 几个方面分析--overload, override, overwrite, rewrite

    overload, override, overwrite, rewrite 这几个单词常常出如今 C++ 书中,翻阅一些译版后发现并未对 override, overwrite, rewrite 严 ...

  2. matlab入门 蜂窝阵列

    B{1,1}=[1,2]; B{1,2}='kitty'; B B = [1x2 double]    'kitty' celldisp(B) B{1} =      1     2 B{2} =   ...

  3. DLX 舞蹈链 精确覆盖 与 重复覆盖

    精确覆盖问题:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1 还有重复覆盖问题 dancing links 是 一种数据结构,用来优化搜索,不算是一种算法.(双向 ...

  4. MVC — 第 6 天

    7 天玩转 ASP.NET MVC — 第 6 天   目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第六天的 MVC 系列学习中.希望 ...

  5. 控制执行流程——(Java学习笔记三)

    if-else     控制程序流程最基本的形式 格式: if(boolean - expresion){ statement } 或 if(boolean - expresion){ stateme ...

  6. VB.NET与C# 语法show差异

    学习VB.NET后发现,VB.NET与C#的语法基本的不同在两个部分,这两部分搞通了,那就游刃有余,迎刃而解了. 现将其对照总结例如以下: 一.实体部分 (与VB相比.在C#和VB.NET中,实体的使 ...

  7. 大数据系列修炼-Scala课程11

    接着昨天的list,也是学习集合的相关知识 ListBuffer.ArrayBuffer.Queue.stack相关操作 1.ListBuffer.ArrayBuffer代码实现:ListBuffer ...

  8. Entity Framework执行Sql语句返回DataTable

    Entity Framework中对外开放了数据库连接字符串,使用的时候可以直接得到这个连接字符串,然后进行相关的操作.如果在使用的过程中,发现Entity Framework中有一些满足不了的需求的 ...

  9. POJ 1006 Biorhythms 中国的法律来解决剩余的正式

    这个问题以前用模拟的方法来解决亚军,正如溶液是一个通用的解决方案. 这里使用数学方法:剩下的孙子法(当然,被称为中国剩余法).由于建议的孙子.所以也承认外国的孙子是数学家. 参考数论建议大家学习的专业 ...

  10. 前端学习笔记(zepto或jquery)——对li标签的相关操作(三)

    对li标签的相关操作——八种方式遍历li标签并获取其值 $("ul>li").forEach(function(item,index){ alert(index+" ...