友情链接

企业IT项目开发之七宗罪(下篇)

JavaScript显示所有事件及值的代码 非常有用!

06
2017
01

前端技术

NFine技术介绍:

13
2016
12

Delphi7中使用AssignFile时遇到长文件名报错的BUG

Delphi7中使用AssignFile时遇到长文件名报错的BUG:

procedure TForm1.btn1Click(Sender: TObject);
var
  file1: file;
  filename: string;
  Buf: array[1..5] of Char;
  i: Integer;
begin
  edt1.Text := '';
  filename := 'D:\一二三四五六七八九十1\一二三四五六七八九十2\一二三四五六七八九十3\一二三四五六七八九十4\一二三四五六七八九十5\'
    + '一二三四五六七八九十6\一二三四五六七八九十7\一二三四五六七八九十8\一二三四五六七八九十9\一二三四五六七八九十0\'
    + '一二三四五六七八九十1\一二三四五六七八九十2\一二三四五六七八九十3\一二三四五六七八九十4\一二三四五六七八九十5\'
    + '一二三四五六七八九十6\一二三四五六七八九十7\一二三四五六七八九十8\一二三四五六七八九十9\一二三四五六七八九十0\'
    + '123456789012.txt';
  //ShowMessage(IntToStr(Length(filename)));//459
  filename := ExtractShortPathName(filename);
  //ShowMessage(IntToStr(Length(filename)));//195
  AssignFile(file1, filename);
  FileMode := 0;
  Reset(file1, 1);
  BlockRead(file1, Buf, SizeOf(Buf), i);
  CloseFile(file1);
  edt1.Text := Buf;
end;

将长文件名转为短文件名后,再AssignFile就可以了:

03
2015
12

java判断一个字符串是不是乱码

    /**  
         *  用getBytes(encoding):返回字符串的一个byte数组  
         *  当b[0]为  63时,应该是转码错误  
         *  A、不乱码的汉字字符串:  
         *  1、encoding用GB2312时,每byte是负数;  
         *  2、encoding用ISO8859_1时,b[i]全是63。  
         *  B、乱码的汉字字符串:  
         *  1、encoding用ISO8859_1时,每byte也是负数;  
         *  2、encoding用GB2312时,b[i]大部分是63。  
         *  C、英文字符串  
         *  1、encoding用ISO8859_1和GB2312时,每byte都大于0;  
         *  <p/>  
         *  总结:给定一个字符串,用getBytes("iso8859_1")  
         *  1、如果b[i]有63,不用转码;  A-2  
         *  2、如果b[i]全大于0,那么为英文字符串,不用转码;  B-1  
         *  3、如果b[i]有小于0的,那么已经乱码,要转码。  C-1  
         */  
       private  static  String  toGb2312(String  str)  {  
               if  (str  ==  null)  return  null;  
               String  retStr  =  str;  
               byte  b[];  
               try  {  
                       b  =  str.getBytes("ISO8859_1");  
 
                       for  (int  i  =  0;  i  <  b.length;  i++)  {  
                               byte  b1  =  b[i];  
                               if  (b1  ==  63)  
                                       break;    //1  
                               else  if  (b1  >  0)  
                                       continue;//2  
                               else  if  (b1  <  0)  {        //不可能为0,0为字符串结束符  
                                       retStr  =  new  String(b,  "GB2312");  
                                       break;  
                               }  
                       }  
               }  catch  (UnsupportedEncodingException  e)  {  
                       //  e.printStackTrace();    //To  change  body  of  catch  statement  use  File    |  Settings    |  File  Templates.  
               }  
               return  retStr;  
       }


30
2015
09

ExtJs 4 grid 批量删除 获取选中行ID

itemId: 'btnRemove',
text: '删除用户',
iconCls: 'delete',
disabled: true,
handler: function () {
	 
	var selModel = grid.getSelectionModel();
	if (selModel.hasSelection()) {
		Ext.Msg.confirm("警告", "确定要删除吗?", function (button) {
			if (button == "yes") {
				var selected = selModel.getSelection();
				var Ids = []; //要删除的id
				Ext.each(selected, function (item) {
					Ids.push(item.data.Id);
				})
			  //  alert(Ids);

			}
		});
	}
	else {
		Ext.Msg.alert("错误", "没有任何行被选中,无法进行删除操作!");
	}
}


29
2015
09

Windows Server 2012 R2配置

软件环境准备:

1、 安装Win 2012 Ser R2 Datacenter版本

此版本仅有64位,Datacenter是2012 R2最强大的版本,具体版本说明介绍请百度查询。

2、 IIS8.5安装

3、 下载PHP manager(PHP辅助管理软件)

下载地址:http://phpmanager.codeplex.com/releases/view/69115

PHPManager的安装与配置,PHPManager省去了很多新手配置php.ini配置文件的烦恼,不仅不用手工配置php.ini文件,而且可以图形化管理每个php功能模块,更重要的是配置完这一切后不用重启WEB服务即可即时生效。

17
2015
09

delphi控件安装与删除

附带通用控件安装方法:

----------

基本安装

1、对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;

2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;

3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可;

07
2015
08

Delphi7 TStringList的DelimitedText和SplitColumns的BUG问题

Delphi7中分割字符串,一般使用TStringList的Delimiter方法,如下:

var  
   sl: TStringList;  
   str: string;  
   i: Integer;  
begin  
   str := 'aa,b b,cc,dd';  
   sl := TStringList.Create;  
   sl.Delimiter := ',';  
   sl.DelimitedText := str;  
   for i := 0 to sl.Count - 1 do  
      ShowMessage(sl[i]);  
   FreeAndNil(sl);  
end;

但是运行的结果确是不对的(空格也被当成了分隔符):

10
2015
07

获取Windows版本信息

10
2015
07

GetSystemMetrics

 函数原型:int GetSystemMetrics(   int nIndex   // system metric or configuration setting );  函数返回与系统有关的信息      

25
2015
05

最少代码实现瀑布流布局

jquery实现的插件:来自runJS演示