自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(387)
  • 资源 (18)
  • 收藏
  • 关注

原创 Linux 安装Python3.7

系统为Centos7.8,默认已经安装了Python2.7.5。Python3和Python2可以共存,安装Python3不要卸载Python2,因为yum依赖于Python2。刚开始不清楚,按照网上教程删除了Python2和yum。1、删除现有Pythonrpm -qa|grep python|xargs rpm -ev --allmatches --nodepswhereis python |xargs rm -frvwhereis python2、删除现有的yumrpm -

2022-01-05 16:57:59 1805

原创 Linux 卸载OpenJDK

1、查询jdk版本java -version结果如下:openjdk version "1.8.0_312"OpenJDK Runtime Environment (build 1.8.0_312-b07)OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)2、查找已安装的jdkrpm -qa | grep jdk结果如下:java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x

2022-01-04 21:32:57 3057

原创 Linux 安装和配置ActiveMQ Artemis

1、ActiveMQ Artemis官网下载https://activemq.apache.org/components/artemis/download/当前版本2.20.0,不支持JDK8,JDK8需要下载版本2.19.0的,本人下载的是2.19.0https://activemq.apache.org/components/artemis/download/past_releases2、上传安装压缩包apache-artemis-2.19.0-bin.tar.gz到服务器/opt目录上3

2022-01-04 11:08:24 1198

原创 Linux 查询和开启端口

查询已开启的端口firewall-cmd --list-port查询指定的端口是否开启(如80)firewall-cmd --query-port=80/tcp开启指定的端口(如80)firewall-cmd --zone=public --add-port=80/tcp --permanent防火墙重新加载配置firewall-cmd --reload...

2021-12-28 15:25:52 1005

原创 Linux 安装和配置Elastiscsearch

1、上传Elastiscsearch安装压缩包到服务器/opt目录上2、修改内核参数max_map_countmax_map_count包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量vim /etc/sysctl.conf在最后添加下面一行vm.max_map_count = 262144加载配置生效sysctl -p查看当前值sysctl -a|grep vm.max_map_count3、解压Elastiscsearch安装包、重命名cd /opttar -zx

2021-12-27 17:01:31 1153

原创 Linux 安装和配置Redis

1、上传Redis安装压缩包到服务器/opt目录上2、redis是由C语言编写,运行需要C环境,安装gcc等yum install -y gcc gcc-c++ tcl3、创建redis用户组和用户groupadd redisuseradd redis -g redis -s /sbin/nologin4、解压cd /opttar -zxvf redis-4.0.14.tar.gz5、编译、指定目录安装cd redis-4.0.14make MALLOC=libcmake .

2021-12-26 13:37:24 470

原创 Linux 安装和配置MySQL

1、准备好MySQL安装包,官网下载地址:https://downloads.mysql.com/archives/community/2、把MySQL安装压缩包包上传到Linux服务器的/opt目录3、XShell连上Linux服务器4、运行下面命令查看是否已安装MySQLrpm -qa|grep mysql5、运行下面命令查看是否已安装mariadbrpm -qa|grep mariadb本机输出:mariadb-libs-5.5.65-1.el7.x86_64可使用下面命令卸载

2021-12-26 12:27:02 495 1

原创 Linux 安装和配置 jdk1.8

1、如果本地已经有jdk压缩包,可以使用SecureFx软件上传到Linux服务器的/opt目录。如果知道jdk压缩包的线上地址,也可以在Linux服务器上通过“wget -O 保存文件名 压缩包地址”命令下载。本文用的是jdk-8u251-linux-x64.tar.gz。2、逐条执行下面命令cd /opttar -zxvf jdk-8u251-linux-x64.tar.gzmv /opt/jdk1.8.0_251 /usr/local/jdkecho "export JAVA_HO

2021-12-25 21:03:26 426

原创 Linux 修改默认yum源为阿里云

备份当前的yum源,重命名mv /etc/yum.repos.d /etc/yum.repos.d.backup4comex新建空的yum源设置目录mkdir /etc/yum.repos.d下载阿里云的yum源配置wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo重建缓存yum clean allyum makecache备注:其它的yum源

2021-12-25 20:15:46 603

原创 Linux 查看内存空间、磁盘空间、进程等信息

查看内存使用情况,以MB为单位free -m查看内存使用情况,以GB为单位free -g查看磁盘使用情况,以GB为单位df -h查看当前目录大小(-h表示人性化表示,-s只显示总量,不显示子目录)du -sh查看当前目录的子目录或文件的大小du -sh `ls`查看用户mysql运行的进程ps -u mysql查看非root运行的进程ps -U root -u root -N...

2021-12-25 19:20:44 851

原创 Linux 目录和文件管理的命令

目录或文件常用命令cd:切换目录pwd:显示目前的目录ls: 列出目录及文件名(用ls | cat -n 可显示行号)部分参数:-l :列出文件的详细信息-r :对目录反向排序-t :以时间排序-a :列出目录下的所有文件,包括隐藏文件mkdir:创建一个新的目录rmdir:删除一个空的目录mv: 移动或重命名文件与目录cp: 复制文件或目录rm: 删除文件或目录参数:-f :force,忽略不存在的文件,不出现警告信息-i :互动模式,在删除前会询问是否删除-r :递归删除

2021-12-25 18:11:11 254

原创 Linux中vim的基本用法总结

vim是一个功能强大的文本编辑器。vim有3种模式:命令模式,编辑模式,底线命令模式。每种模式下面对应不同的操作。一、命令模式输入“vim”或“vim 文件名”会进入命令模式,此时键盘的输入会被当做命令。输入i,I, o, O,a,A可进入编辑模式。命令模式的一些命令如下:i 在光标所在位置插入字符I 在光标所在行的行首插入字符o 在光标所在行的下一行新行插入字符O 在光标所在行的上以行新行插入a 光标所在字符的下一个字符插入A 光标所在行的行尾插入字符s 删除光标所在字符并插入字

2021-12-25 15:08:27 4090

原创 Node.js Express RESTful 简单例子

Node.js Express RESTful一个简单例子,实现对数据的查询和删除基本功能。用一个json文件作为读写的数据源[ { "id": 1, "name": "aa" }, { "id": 2, "name": "bb" }]创建 RESTfulconst express = require('express');const app = express();const fs = require("fs");app.se.

2021-03-24 17:35:32 377 2

原创 Node.js Express框架基本用法

Express是Node.js的轻量Web应用开发框架。安装模块Express框架及几个相关的重要模块安装cnpm install --save expresscnpm install --save body-parsercnpm install --save cookie-parsercnpm install --save multer --savebody-parser - node.js 中间件,用于处理JSON, Raw, Text 和 URL 编码的数据。cookie-p

2021-03-24 11:39:46 144

原创 Node.js axios库基本用法

axios是基于Promise的HTTP客户端,可以在浏览器和Node.js中使用。GitHub地址:https://github.com/axios/axios安装npm install axios新建一个服务器并启动,做为数据请求响应的例子。const http = require('http');const url = require("url");const util = require('util');const querystring = require('quer

2021-03-23 18:04:20 6806

原创 Node.js 创建HTTP服务器和GET/POST请求

Node.js自带的http模块可以创建服务器,也可以发送GET和POST请求。一、创建服务器使用http.createServer()方法创建服务器,使用listen方法绑定端口3000。通过req, res参数来接收和响应数据。//httpserver.jsconst http = require('http');const url = require("url");const util = require('util');const querystring = requi.

2021-03-23 11:32:31 2294

原创 Node.js 模块和包管理器NPM

Node.js模块可以让文件导入其他 Node.js 文件公开的功能。一个 Node.js文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。导出有两种方式。方式一:使用module.exports导出指定对象新建一个module1.js文件,导出const user = { userName: 'admin', password: '123'};module.exports = user;新建一个getModul

2021-03-23 10:20:27 110

原创 Node.js入门Hello World例子

Node.js是一个基于Google V8引擎,可以让JavaScript脱离浏览器,运行在服务器端的平台。Node.js主要特点基于Google V8引擎,性能高;单线程,提供了异步式I/O与事件驱动,代替多线程;不运行在浏览器中,不存在JavaScript浏览器兼容性问题;可以通过更改 Node.js版本使用新的ECMAScript标准。Node.js下载官网:https://nodejs.org/en/中文网:http://nodejs.cn/download/淘宝镜像:ht

2021-03-23 10:14:59 332

原创 深入理解ES6读书笔记10:模块

模块使用不同方式加载的JS文件。模块化分为导出(export)@与导入(import)两个模块。特点:(1)模块自动开启严格模式;(2)每一个模块内声明的变量都是局部变量;(3)模块中可以导入和导出各种类型的变量;(4)每一个模块只加载一次(是单例的),若再去加载同目录下同文件,直接从内存中读取;(5)对于需要让模块外部代码访问的内容,模块必须导出它们;基本的导出使用export关键字将已发布代码部分公开给其他模块。新建一个example.js文件,内容如下:// 导出数.

2021-03-22 09:08:16 106

原创 深入理解ES6读书笔记9:数组扩展

Array.of()与Array.from()方法ES6之前创建数组使用Array构造器与数组字面量写法。ES6新增了Array.of()与Array.from()方法。Array.of():创建一个包含所有传入参数的数组,不管参数的数量与类型。Array.from():将可迭代对象或者类数组对象转换为数组。let items1 = new Array(); //创建数组,使用Array构造器let items2 = new Array(3); //创建数组,只有一个参数且为整数类型.

2021-03-22 09:05:29 124

原创 深入理解ES6读书笔记8:类

ES6新增了类。类的创建方式有:类声明、类表达式、具名类表达式。//类声明 class PersonClass {//类表达式 let PersonClass = class{//具名类表达式 let PersonClass = class PersonClass2{class PersonClass{ //构造器 constructor(name){ this.name = name; } //方法 sayName(){ .

2021-03-22 09:04:22 91

原创 深入理解ES6读书笔记7:迭代器与生成器

迭代器是被设计专用于迭代的对象,带有特定接口。所有的迭代器对象都拥有 next() 方法,会返回一个结果对象。该结果对象有两个属性:对应下一个值的 value ,以及一个布尔类型的 done ,其值为 true 时表示没有更多值可供使用。ES5中创建一个迭代器function createIterator(items) { var i = 0; return { next: function() { var done = (i >.

2021-03-22 09:02:43 82

原创 深入理解ES6读书笔记6:Set和Map

Set 是不包含重复值的列表。Map 是键值对的有序列表,键和值都可以是任意类型。一、Set1、Set的创建、增加、删除、和数组互转等//创建Set和添加项目let set = new Set(); set.add(5);set.add(5); //多次添加相同值,只保留第一个set.add("5");console.log(set.size); // 2//使用数组来初始化一个 Setlet set2 = new Set([1, 2, 3, 4, 5, 5, 5, 5.

2021-03-22 09:01:11 88

原创 深入理解ES6读书笔记5:解构

解构是将一个数据结构分解为更小部分的过程。一、对象解构对象的属性值存储到本地变量。let node = { type: "Identifier", name: "foo"};let { type, name } = node;console.log(type); // "Identifier"console.log(name); // "foo"说明:使用解析配合var、let、const声明变量时,必须初始化。例如下面会报错。let { typ..

2021-03-22 08:58:40 84

原创 深入理解ES6读书笔记4:扩展的对象功能

一、对象字面量语法的扩展1、属性初始化器的简写ES6中函数的属性名和参数名相同时,可以省略属性名后面的冒号和值。因为当对象字面量中的属性只有名称时,JS 引擎会在周边作用域查找同名变量。//ES5及更早版本function createPerson1(name, age){ return{ name: name, age: age };}var person1 = createPerson1('张三', 20);console.lo.

2021-03-22 08:56:41 102

原创 深入理解ES6读书笔记3:函数

参数默认值未提供参数,或将参数值指定为undefined时,默认值会被使用。function add(a, b = 2, c = 3){ let result = a + b + c; console.log(result);}add(1); //6add(1,2); //6add(1,undefined,4); //7add(1,null,4);参数默认值表达式参数默认值除了是基本类型的值,也可以执行一个函数来产生默认值。function...

2021-03-22 08:55:00 84

原创 深入理解ES6读书笔记2:模板字面量

模板字面量提供了创建领域专用语言(domain-specific language,DSL)的语法,处理内容更安全。模板字面量的最简单语法,是使用反引号( ` )来包裹普通字符串。字符串中包含反引号,使用反斜杠( \ )转义。let message = `Hello world!`;console.log(message); // "Hello world!"console.log(typeof message); // "string"console.log(message.length)

2021-03-22 08:52:32 109

原创 深入理解ES6读书笔记1:块级绑定

var 声明与变量提升使用 var 关键字声明的变量,无论其实际声明位置在何处,都会被视为声明于所在函数的顶部(如果声明不在任意函数内,则视为在全局作用域的顶部)。这就是变量提升,不过变量的声明虽然被提升到了顶部,但初始化工作还保留在原处。function getValue(condition) { if (condition) { var value = "blue"; // 其他代码 return value; } else.

2021-03-21 08:53:00 108

原创 ECMAScript6中箭头函数的基本用法

箭头函数的作用是更简短的函数并且不绑定this。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。箭头函数在“=>”的左边是参数,参数可空或多个。右边的是函数体,有一个“简写体”或“块体”,在一个“简写体”中,只需要一个表达式,并附加一个隐式的返回值。在“块体”中,必须使用明确的return语句。语法://没有参数,使用一对圆括号() => { statements }//只有一个参数,圆括号可选(singleParam) => { .

2021-03-21 08:49:41 139

原创 ECMAScript7中async await的基本用法

async await主要功能可以简化Promise then写法,代码更简洁。async函数返回一个 Promise 对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。await命令只能用在async函数之中。例子,用Promise then实现: function f1(){ var p = new Promise(function(resolve, reject){ .

2021-03-21 08:47:54 207

原创 ECMAScript6中Promise对象的基本用法

Promise是处理异步代码的一种方法,避免了层层嵌套的回调函数,且支持链式操作。Promise 对象代表一个异步操作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着操作成功完成。rejected: 意味着操作失败。Promise 对象的状态改变,只有两种可能:从 Pending 变为 Resolved 和从 Pending 变为 Rejected。一、Promise的创建Promise的构造函数接收一个函数作为参数,该函数的两个参数:resol

2021-03-21 08:45:53 135

原创 Oracle wm_concat函数排序的解决方法

默认情况下,使用wm_concat和group by拼接字段时,拼接的字段顺序是无规则的。创建测试数据:create table tb( seq number(10), remark varchar2(100), createtime date);insert into tb(seq, remark, createtime)select 1, '说明1', to_date('20210101','yyyymmdd') from dualunion allselec.

2021-03-21 08:43:18 5778 1

原创 Windows Server 2008使用计划任务每天定时执行vbs文件

某台服务器上,数据库每天的备份文件有好多GB,如果不定期删除,会很快占满硬盘空间。所以需要一个定时任务,每天自动运行,定期执行删除掉一些备份文件。下面为完整的过程。1、准备好删除文件的脚本 oldfiledelete.vbs,下面文件是删除D:\dbbak目录里面创建日期为10天前的文件Dim fso, f, f1, fc, s ,ff ,strFilePath strFilePath="D:\dbbak" Set fso = CreateObject("Scripting.Fi.

2021-03-21 08:41:29 2039

原创 Python标准库timet和datetime模块用法

Python的time和datetime模块提供了各种与日期时间相关的函数。一、time模块time()当前时间(新纪元1970年1月1日到访问时的秒数,也叫时间戳)localtime([secs])将时间戳转换为表示当地时间的间元组mktime(tuple)将时间元组转换为时间戳sleep(sesc)休眠secs秒strptime(string[, format])将字符串转换为时间元组strftime(format[, t])将时间元组转换为字符串 importtime ...

2021-03-21 08:39:00 192 1

原创 Python标准库random模块用法

random模块包含生成伪随机数的函数。random()返回一个[0,1)范围内的随机实数,0<=N<1import random for i in range(10): print(random.random())'''结果:0.472027392717309540.99545373678663980.89668893935903490.215265042578677070.51771438307347330.070589720650598760.763.

2021-03-21 08:38:09 135

原创 ORACLE数据库逐步解决ORA-12541、ORA-01034和ORA-27101、ORA-00119和ORA00132的过程

刚开始时,有一台服务器的ORACLE 11G数据库连接不上,报错:ORA-12541:TNS:无监听程序重启服务里面的两个Oracle服务,都没解决。在网上看到一篇文章说另一种可能是oracle目录目录下listener.log日志文件过大(达到4G,据说这是oracle在windows系统下的bug)导致的。搜索找到listener.log,果然文件已经是4GB。于是停止服务里面的Oracle监听服务,重命名listener.log做备份,例如listener.log.bak。启动Oracle监

2021-03-21 08:32:18 135

原创 Windows下MySQL主从复制的配置

MySQL主从复制允许将来自一个数据库(主数据库)的数据复制到一个或多个数据库(从数据库)。主数据库一般是实时的业务数据写入和更新操作,从数据库常用的读取为主。主从复制过程:1、主服务器上面的任何修改都会通过自己的 I/O tread(I/O 线程)保存在二进制日志 Binary log 里面。2、从服务器上面也启动一个 I/O thread,通过配置好的用户名和密码, 连接到主服务器上面请求读取二进制日志,然后把读取到的二进制日志写到本地的一个Realy log(中继日志)里面。3、从服务器上

2021-03-21 08:29:56 391

原创 Windows下Git的使用

Git官网:https://git-scm.com/一、Git下载官网首页下载本人下载的是Git for Windows版本二、安装基本上按照默认选项安装即可。安装成功后在开始菜单生成Git目录和3个子菜单。Git Bash:一个封装过的cmd命令行,并在其中加入了一些新的命令与功能。(linux风格)Git CMD(Deprecated):cmd命令行界面,提示已弃用。(windows风格)Git GUI:可视化图形界面。三、Git工作流程1、工作流..

2021-03-20 12:33:04 263

原创 spring boot 2 集成JWT实现api接口认证

JSON Web Token(JWT)是目前流行的跨域身份验证解决方案。官网:https://jwt.io/本文使用spring boot 2 集成JWT实现api接口验证。一、JWT的数据结构JWT由header(头信息)、payload(有效载荷)和signature(签名)三部分组成的,用“.”连接起来的字符串。JWT的计算逻辑如下:(1)signature = HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(pay

2021-03-20 12:26:31 575

原创 spring boot 2 全局统一返回RESTful风格数据、统一异常处理

全局统一返回RESTful风格数据,主要是实现ResponseBodyAdvice接口的方法,对返回值在输出之前进行修改。使用注解@RestControllerAdvice拦截异常并统一处理。开发环境:IntelliJ IDEA 2019.2.2jdk1.8Spring Boot 2.2.21、创建一个SpringBoot项目,pom.xml引用的依赖包如下 <dependency> <groupId>org.spri.

2021-03-20 12:22:38 463

PL/SQL美化器规则文件,用于格式美化sql语句

PL/SQL使用方法: 1、工具--首选项--用户界面--PL/SQL美化器--规则文件,选择.br的规则文件,点确定按钮。 2、点击工具栏的“PL/SQL美化器”,会自动把一段SQL语句重新排版美化。

2022-06-09

Objective-C基础教程(第2版).pdf

Objective-C基础教程(第2版).pdf,中文版。

2015-12-10

开源.NET FTP组件edtFTPnet.dll

开源.NET FTP组件edtFTPnet edtFTPnet官方网站: http://www.enterprisedt.com/products/edtftpnet/ 目前最新版本为2.2.3,下载后在bin目录中找到edtFTPnet.dll,在项目中添加引用。 用法:http://blog.csdn.net/gdjlc/article/details/12054881

2013-09-26

HTML解析工具Html Agility Pack v1.4.6

http://htmlagilitypack.codeplex.com/ This is an agile HTML parser that builds a read/write DOM and supports plain XPATH or XSLT (you actually don't HAVE to understand XPATH nor XSLT to use it, don't worry...). It is a .NET code library that allows you to parse "out of the web" HTML files. The parser is very tolerant with "real world" malformed HTML. The object model is very similar to what proposes System.Xml, but for HTML documents (or streams).

2013-09-18

文件比对工具WinMerge v2.14

http://winmerge.org/ WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.

2013-09-18

SQLite数据库管理工具SQLiteStudio 2.1.4

http://sqlitestudio.pl/ SQLiteStudio is a SQLite database manager with the following features: Single executable file - no need to install or uninstall. Binary distribution is just the single, ready to use file. Intuitive interface, All SQLite3 and SQLite2 features wrapped within simple GUI, Cross-platform - runs on Windows 9x/2k/XP/2003/Vista/7, Linux, MacOS X, Solaris, FreeBSD and should work on other Unixes (not tested yet). Localizations, currently translated to: English, Polish, Spanish, German, Russian, Japanese, Italian, Dutch, Chinese, Exporting to various formats (SQL statements, CSV, HTML, XML, PDF, JSON, dBase), Importing data from various formats (CSV, dBase, custom text files [regular expressions]), Numerous small additions, like formatting code, history of queries executed in editor windows, on-the-fly syntax checking, and more, UTF-8 support, skinnable (interface can look native for Windows 9x/XP, KDE, GTK, Mac OS X, or draw widgets to fit for other environments, WindowMaker, etc), Configurable colors, fonts and shortcuts. Open source and free - Released under GPLv2 licence.

2013-09-18

.net程序反编译工具ILSpy 2.1

官网:http://ilspy.net/ ILSpy is the open-source .NET assembly browser and decompiler. Development started after Red Gate announced that the free version of .NET Reflector would cease to exist by end of February 2011. ILSpy requires the .NET Framework 4.0.

2013-09-18

读写Excel的组件npoi

官网:http://npoi.codeplex.com/ 介绍: Follow (605) Subscribe This project is the .NET version of POI Java project at http://poi.apache.org/. POI is an open source project which can help you read/write xls, doc, ppt files. It has a wide application. For example, you can use it to a. generate a Excel report without Microsoft Office suite installed on your server and more efficient than call Microsoft Excel ActiveX at background; b. extract text from Office documents to help you implement full-text indexing feature (most of time this feature is used to create search engines). c. extract images from Office documents d. generate Excel sheets that contains formulas

2013-07-26

CnPlugin_1.5.4.rar

备注:原来的模板template.dot在导出word后没有表格的边框,所以稍微修改了一下,覆盖原文件即可,路径:C:\Program Files\PLSQL Developer\PlugIns\CnPlugin\template.dot

2013-04-16

winform制作的精美时钟

参考了好多资料,终于做了一个winform时钟出来,效果及实现代码见: http://blog.csdn.net/gdjlc/article/details/8651485

2013-03-08

winform 为图片添加当月的日历并设为壁纸

winform 为图片添加当月的日历并设为壁纸,可以手动设置壁纸,也可以定时设置壁纸;最主要的特色是在图片上生成当前月的日历信息。

2013-02-28

c#二维码生成与解码

c#实现二维码的生成,解码,通过引用zxing实现

2013-01-17

Winform 通用分页控件

Winform 通用分页控件 转自http://cyq1162.blog.51cto.com/2127378/896084

2012-12-23

从QQ输入法提取出来的截图工具

从QQ五笔输入法提取出来的截图工具,直接就可以使用。。。

2011-06-25

正则表达式测试工具 Regex Tester

Regex Tester 用 C# 编写的用来测试正则表达式的工具,需要.Net Framework 2.0支持。

2011-06-18

Winform文本编辑器

Winform文本编辑器,有一个问题就是生成的HTML不是很好,有"<html><head></head><body>...."...

2010-10-09

winform 版fck文本编辑器

winform 版fck文本编辑器,用起来还不错,不过少了个编辑Html源码功能。

2010-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除