随笔分类 -  C#

x01.SportWeb: An Example for AspNetCore 2.0
摘要:新的刚来到,旧的就忘掉。学习 AspNet Core 2.0,没有好的例子,是很痛苦的。《Pro ASP.NET Core MVC 2》中的 SportsStore 值得一看,不妨下载研究一下: 准备 1. 使用 Ubuntu 系统 2. 安装 NetCore2.0 3. 安装 VSCode 4. 阅读全文

posted @ 2017-11-06 22:19 x01 阅读(395) 评论(0) 推荐(0) 编辑

x01.ExcelHelper: NPOI 操作
摘要:Excel 操作,具有十分明显的针对性,故很难通用,但这并不妨碍参考后以解决自己的实际问题。 有一汇总表如下: 当然,只是示范,产品的代码应该唯一!现在要根据此汇总表产生各个客户的产品清单。由于客户较多,汇总分表1,表2;客户清单模板根据产品类别,每个清单又分为三个表。做个模板,然后手工复制粘贴,完 阅读全文

posted @ 2017-07-06 16:35 x01 阅读(426) 评论(0) 推荐(1) 编辑

x01.BSheepTree: 树
摘要:数据结构,无外乎三: 1. 一对一,线性表,数组是也; 2. 一对多,树,菜单是也; 3. 多对多,图,网络是也。 涉及到树,有一个平衡的问题,左旋转,右旋转,转得人晕晕乎乎。好在陈广的《数据结构C#描述》讲解非常详尽,值得一读。对照该书的例子,采用反编译的手段,写了个小程序,主要的目的是为了学习方 阅读全文

posted @ 2016-01-13 09:48 x01 阅读(270) 评论(0) 推荐(0) 编辑

x01.CodeBuilder: 生成代码框架
摘要:根据 Assembly 生成代码框架。这是学习 AvalonEdit 的一个副产品。学习时,照着源代码新建文件夹,新建文件,添加方法与属性,虽然只是个框架,也要花费大量时间。为什么不让它自动生成呢?于是,新建了个控制台程序,一步步添加,一步步显示,一步步调整。虽然还有许多不完善的地方,但它基本能用了... 阅读全文

posted @ 2015-12-07 16:21 x01 阅读(712) 评论(1) 推荐(0) 编辑

x01.TestViewContent: 插件测试
摘要:开发神器 SharpDevelop 的插件系统,很有学习的必要。1.首先在 github 上下载源代码,确保编译运行无误。2.在 AddIns/Misc 下添加 SharpDevelop 插件项目 x01.TestViewContent,然后添加 ICSharpCode.Core 和 ICSharp... 阅读全文

posted @ 2015-11-12 10:22 x01 阅读(442) 评论(0) 推荐(0) 编辑

x01.TextProc: 两三分钟完成的一个小工具
摘要:在工作中,遇到这么个问题,需要将 Excel 表中类似 2134-1234-4456 的商品编号输入到单位的程序中,而程序只认213412344456 这种没有 ‘-’ 的输入。数量比较多,一笔一笔的敲,费时费力不可取,所以转换一下,复制粘贴,不仅可以提高速度,而且也不易出错。并且,由于 Excel... 阅读全文

posted @ 2015-07-29 16:55 x01 阅读(703) 评论(2) 推荐(0) 编辑

x01.Lab.StreetApp: MVVM
摘要:Store App 特别适用于 MVVM 模式。由于要用到 SQLite,Bing Maps,所以第一步从网上搜索并安装这两个扩展。很难想象在智能手机上运行 SQL Server 这种巨无霸型数据库,SQLite 便成为首选。运行 SQLite,需要 C++ 扩展,而解决方案属性 => 配置管理中,... 阅读全文

posted @ 2014-04-28 23:25 x01 阅读(1208) 评论(0) 推荐(0) 编辑

x01.Lab.StoreApp: XP 停服,微软变脸
摘要:变脸,川剧的一种表演形式,除了哄哄小孩,似乎别无用处。而川剧变脸从业者何其多也,存在时间何其长也。以如此多的从业者,如此长的时间,来进行科研,其成果一定是斐然吧。推而广之,试问天下谁能敌!微软变脸,足以改变世界。这次变脸,不仅是形式上的,而且是骨子里的。为适应手机、平板的性能苛求,其应用商店程序是建... 阅读全文

posted @ 2014-04-28 10:06 x01 阅读(298) 评论(0) 推荐(0) 编辑

x01.BitmapHelper:图像处理
摘要:“所有致我于死地的,也激发我胆魄”,姚贝娜的《心火》,是我近年来听过最好的歌,特此推荐一下。图像处理,大概分三步:1.LockBits();2.进行处理;3.UnlockBits();这比起 C++ 来,不知清爽几许?编程,是为了满足人的需求,所以进行灰度处理时,不是简单的 (r + g + b) / 3,而是分别乘以合适的比例值,r * 0.30 + g * 0.59 + b * 0.11。这是因为人眼对 green 最敏感,red 次之,blue 最低。只实现了灰度处理,边缘提取,二值化,缩小,Rotate 等有限功能,代码不言自明,无需多说。using System;using Syst 阅读全文

posted @ 2013-10-18 19:28 x01 阅读(987) 评论(0) 推荐(0) 编辑

x01.FileProcessor: 文件处理
摘要:姚贝娜落选,意味着好声音失败。“我们在一起”的精彩亮相,正如同她的歌声,愈唱愈高,直入云霄。文件处理,无外乎加解密,加解压,分割合并。本着“快舟"精神,花了两天时间,写了个小程序,基本能满足个人使用。主类 FileProcess 如下:using System;using System.Collec... 阅读全文

posted @ 2013-09-29 21:31 x01 阅读(1230) 评论(0) 推荐(0) 编辑

x01.Lab.Numerics: 复幂指数
摘要:复数很有用,因为复数运算即向量运算,而向量在游戏、图像处理等场景必不可少。复数很复杂,想一想复数的复数次方,那就不是一般的晕!复幂指数离不了欧拉公式: e^ix = cosx + i sinx; (自然对数底数 e 的 ix 次方 = cosx + i sinx)欧拉公式的详细解释,可参看网上的维基百科。在此基础上,不妨研究一下复数的复数次方: public static Complex_R Pow(Complex_R value, Complex_R power) { if (power == Zero) { ... 阅读全文

posted @ 2013-04-20 21:51 x01 阅读(1617) 评论(0) 推荐(1) 编辑

x01.Guestbook
摘要:留言板(guestbook)比较简单:何人何时留何言。1.运行 vs2012,选择 MVC 4 模板,输入项目名称:x01.Guestbook,一路默认即可。2.在项目上右击,从弹出菜单上选择 NuGet 管理器,分别安装 EntityFramwork 和 EntityFramwork.SqlServerCompact,以便使用 DbContext。3.在 App_Data 文件夹下,创建 Compact 数据库 Guestbook.sdf。表 Entry,字段 Id, Name, Message, Date。4.在 Models 文件夹下,添加 GuestbookModel.cs 文件,内. 阅读全文

posted @ 2013-03-13 18:38 x01 阅读(1152) 评论(0) 推荐(0) 编辑

x01.EarthRun
摘要:月亮绕着地球转,地球绕着太阳转,一个 TranslateTransform3D + RotationTransform3D 即可搞定。难的是球体(Sphere)绘制。作为球体,由经度、纬度划分为一小块一小块的。球体的绘制,说白了,就是这一小块一小块的绘制。除上下极点外,每小块由四个点(Point3D)构成,即两个三角形。现在,只要求出了这些 Point3D,问题即可解决。为简便,不妨设球心 O 为(0,0,0),半径 r 为 1 。(WPF 3D 坐标:左到右 x 轴,下到上 y 轴,屏幕里到外 z 轴)如何求球面某经纬度交叉点 A (x,y,z)的 3D 坐标呢?1. 忽略 z 轴,设角 A 阅读全文

posted @ 2012-12-03 00:32 x01 阅读(1028) 评论(1) 推荐(1) 编辑

x01.MediaPlayer
摘要:一个很小很小的 Music、Video 播放器,有效代码不足 20行,却能够 Play、Pause、Stop 和调整播放位置。其界面代码如下:MediaWindow.xaml<Window x:Class="x01.WpfTest.MediaWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Media 阅读全文

posted @ 2012-11-14 02:16 x01 阅读(907) 评论(2) 推荐(0) 编辑

x01.Game.MapEditor: 地图编辑器
摘要:1.游戏编程,需要一个地图编辑器。站在前人肩上,自己写一个,倒也不难。其效果图如下: 只需从左下的 Tiles 面板中选择一个 Tile,在右边的面板中绘制即可。保存为同名的两个文件 file.bmp, file.xml。打开时选择 file.xml 文件。2.界面设计不详述,可在效果图上点击右键,将其另存为桌面上作为参照。其完整代码如下:MainForm public partial class MainForm : Form, IMessageFilter { int paletteColumes = 5, paletteSelectedIndex = 0; ... 阅读全文

posted @ 2012-05-14 13:48 x01 阅读(2088) 评论(0) 推荐(1) 编辑

x01.Game.Dragon.2: 箭术表演
摘要:只要想射中,就能射中,所以叫箭术表演。1.给 Sprite 类添加一属性:public boolAlive { get; set; } 因为要射中恐龙,所以还需一碰撞检测函数 HasCollision(),代码如下:HasCollision() public bool HasCollision(ref Sprite other) { return Bound.IntersectsWith(other.Bound); }2.现在要修改 MainForm 类了。主要是添加了 arrow,archer 字段。变化的地方,即注释的地方。完整... 阅读全文

posted @ 2012-05-10 10:11 x01 阅读(801) 评论(0) 推荐(0) 编辑

x01.Game.Dragon.1: 恐龙飞行
摘要:与其白手起家,不如学习高手。恐龙飞行是个不错的入门例子,实现如下。1.运行 VS2010,新建 WinForm 项目 x01.Game.Dragon,将 Form1.cs 改名为 MainForm.cs,在 MainForm 类中,添加字段 bool isOver = false; 添加引擎函数 Run(),代码如下:Run()void Run(){ while (!isOver) { Application.DoEvents(); } Application.Exit();} 添加 override 函数 OnKeyDown(),代码如下:OnKey... 阅读全文

posted @ 2012-05-09 21:03 x01 阅读(1621) 评论(2) 推荐(0) 编辑

导航