??xml version="1.0" encoding="utf-8" standalone="yes"?>
最开始考虑的自然是SourceForge。但在公叔R要通过Proxy讉Ksourceforge.netӞ速度奇慢?br />
W二个考虑的是Google Code。无论在安过ADSL讉KQ还是在公司通过Proxy讉KQ速度都可以接受。最好用的是支持对Issue, Discussion, Document{自定义属性标{,如priority, type, milestone{?br />
无论是SourceForgeQ还是Google CodeQ与subversion和eclipse的集成都非常好。可是我用的是Microsoft Visual Studio 2008和C#Q与q两个东安不合拍:(x)
最后我发现CodePlexq个|站Q居然提供Visual Studio Team Fundation Server的服务。与我用的VS2008完全是一Ӟ可惜的是它的|速非怸E_Q很难访问。估计服务器只在国。最要命的是Q在公司的Proxy环境下,我可以从IE讉KCodePlex的VSTS服务器,但VS2008的Team Explorer怎么也访问不了?/p>
安装Windows XPӞ如果讄了一个管理员账户Q那么系l内|没有密码保护的Administrator理员̎h不会(x)出现在用L(fng)录列表中的。虽然它w在q后Q可却拥有系l最高权限,Z方便操作?qing)保证系l安全,可以先给它设|密码,然后再把它请到台前来。以下便介绍具体Ҏ(gu)?
1.使用“传l登录提C”登?/strong> 启动pȝ到欢q屏q时Q按两次“Ctrl+Alt+Delete”组合键Q在出现的登录框中输入Administrator账户的用户名和密码即可。也可以单击“开始→控制面板”,双击“用戯̎号”图标,在弹出的“用戯̎号”窗口中Q单几Z更改用L(fng)录或注销的方式”,L“用欢q屏q”前的复选框Q单几Z应用选项”即可在启动时直接输入Administrator账户名及(qing)密码d? 2.在登录的Ƣ迎屏幕昄Administrator账户 单击“开始→q行”,输入regedit后回车,打开注册表编辑器Q依ơ展开“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList”分支,右边的Administrator的值改?Q即可让Administrator账户出现在登录的Ƣ迎屏幕上? 3.自动d到Administrator账户 单击“开始→q行”,输入control userpasswords2后回车,在打开的“用戯̎户”窗口去掉“要使用本机Q用户必输入密码”前的复选框Q按“应用”后Q在弹出的“自动登录”窗口中输入Administrator账户密码(如图1)Q按两次“确定”即可。注意:(x)如果原来p|了其它账户自动dQ应该先选中“要使用本机Q用户必输入密码”前的复选框Q按“应用”后再去掉选中的复选框。也可以修改注册表实现自动登录,不过没有以上Ҏ(gu)方便? ? 当然Q如果不需要Administrator账户Q可以依ơ打开“开始→控制面板→管理工具→计算机管理”,在“计机理”窗口,展开“系l工具→本地用户和组→用户”,在“用户”右边窗口双击Administrator账户Q在弹出的“属性”窗口中选中“̎号已停用”前的复选框(如图2)Q按“确定”即可停用Administrator账户? ? 在进入Windows XP桌面之前Q每ơ都?x)出C个用脑登录界面,要求我们输入用户名与密码Q可以加大了pȝ的安全性,也ؓ(f)多hq一台电(sh)脑提供了方便Q但如果是家用电(sh)脑,只有你一个h使用Q这hơ密码,的确不有点不大方ѝ我们可以通过修改注册表来实现XP的自动登录? W?步:(x)q行注册表编辑器Q依ơ展开[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon ]分支Q然后在右侧H口双击“DefaultUserName”,接着输入你的d用户名。如果没有预讄用户名称Q可以在注册表编辑器的菜单栏炚w“编辑→新徏→字W串?s)→DefaultUserName”来dq个目Q注意要区分大小写字母。 W?步:(x)同样在该分支下,在注册表~辑器的右侧H口中双几ZDefaultPassword”,然后在空白栏内输入你的密码。假如未发现“DefaultPassword”一,可按上面的步骤来新徏该字W串倹{ W?步:(x)接下来在右侧H口中双几ZAutoAdminLogon”,数D|ؓ(f)?”。假如未发现“AutoAdminLogon”,可按上面的步骤来新徏。 现在关闭注册表编辑器q新启动电(sh)脑,以后你会(x)发现那个令h讨厌的登录对话框不见了?
补充材料Q修Ҏ(gu)册表来实现XP的自动登?/h2>
]]>
在Office 2007(Word{)的左上角Q有一个Office图标按钮。点d?yu)׃?x)弹出一个菜单窗口,里面包含着Ribbon上没有的菜单V其中在菜单H口的右下方Q有一?Word Options"的按钮,q个是选项讄的菜单了?/p>
Outlook写邮件时Q用的编辑器也是WordQ但它的讄与Word的设|是独立的。必dOutlook中打开~辑器,与Word一栯|编辑器选项?/p>
q里列D几个比较重要的设|例子?/p>
一、消除换行符?/p>
Word 2007中默认会(x)昄一直回车换行符。通过点击Ribbon上Paragraph栏中?Show/Hide Edit Marks"图标q不能消除它。打开"Word Options"H口Q选择"Display"栏,勾掉一直显C符号中?Paragrahp Marks",可以不昄回R换行W了?/p>
二、不让输入法随Office启动?/p>
如果安装了中文输入法Q当Ӟ其它语言的输入法也一PQ这个输入法有可能总跟着Word/Outlook一起启动。非常烦人。要Lq个Ҏ(gu),只需勾掉“Edit Options"中的最后一“IME Control Active”。如下图所C?/p>
同时Q还大家在控刉板中Q把高语言服务x。实际上大家常用的中文输入法只有一U,直接使用Ctrl+Space的方法最方便。根本不需要鼠标切换?/p>
所谓动态生成,是在运行,才将数据攑ֈh指定DTD/schema的XML文档中,使用预定义的XSL文档生成可供览或打印的文档?/p>
一般来_(d)生成HTML和PDF的XSLT要分别定义。对于HTML和PDF表现差别较大的文档,有必要用这U方法?/p>
但是Q对于一些格式要求较高的表单和报表,在HTML和PDF下的表现是基本一致的。这个时候就有必要用同一个样式表输出HTML和PDF。要知道Q手工定义一份XSLT可是很费工夫的?/p>
FOg能达到这个目标,它具备够精l的样式定义Q借助FOP{工P可直接输出PDF{格式。可惜的是,目前的主浏览器Q如IE和firefoxQƈ不能直接昄FO文档。必d其{换成HTML或XHTML。然后,我没有发CQ何的开源工具可以做到这一炏V?/p>
Altove StyleVisionQ恰到好处的实现上述目标?/p>
思义QStyleVision是用来设计样式表的Q它提供一个非常友好的GUI设计界面。它使用一个私有的XML格式(SPS)来保存样式表Q这个样式表可{换成生成HTML的XSLT和生成FO的XSLT?/p>
q样Q做为开发方Q购C份Altova StyleVisionQ用来设计样式表Q然后将其生成的XSLT发布l用P可以实现同源输出报表了。而最l用户可以不购买Altova StyleVision
附图Q两U动态文档生成方?在图中体Cؓ(f)两条可选的路线):
我说的完整的RBACQ是指支持角色树(wi)形结构和角色分组。具体来_(d)应当包含如下权限控制需求:(x)
而具体到我的pȝ中,q应当有如下需求?/p>
且不些具体需求,RBAC的基本表应当如下四个Q?/p>
分析上述表结构,不难发现Q问题的关键在于从rolePermission表中d数据Ӟ如何限定角色/l的范围.
Ҏ(gu)一
如果角色和组的总量不大Q比如在100以内Q采用PPGG标识关系Q读取数据时是最快的。这个时候的SQL只需要一个输入参?roleIdQ?/p>
SELECT object FROM rolePermission p left join roleRelationship r on p.role = r.role WHERE p.role = ?roleId or r.superiorRole = ?roleId. (未验证SQL的正?
但是Q这个方案是以极度冗余roleRelationship表的数据ZL(fng)Q比如有100个角Ԍ那么roleRelationship中将?x)?00 * 100 Q?0,000条记录。而在每次调整角色和R角色l的时候,p在roleRelationship中一ơ增加或删除100条记录。这个开销是比较大的?/p>
Ҏ(gu)?/p>
只标识PGQ查询时接收的输入参Cؓ(f)一个完整的相关角色列表?roleList?/p>
SELECT object FROM rolePermission WHERE role in (?roleList)
在系l运行时Q这?roleList通常可以从role hierarchy cache中取刎ͼ比较方便。这个方案的主要问题有二Q?/p>
1Q如?roleListq长Q用in判断性能?x)很差?/p>
2Q在有些情况下,如报表查询和pȝ外查询时Q取得roleList不太方便?/p>
Ҏ(gu)?/p>
只标识PGQ但使用如下三个数据库函数来判断角色/l之间的关系?/p>
在查询时Q也只需要接收一?roleIdQSELECT object FROM rolePemission WHERE isBelong(?roleId, role)
如何写出高性能的数据库函数是实现这个方法的关键?/p>
上述Ҏ(gu)仅是理论分析Q我們于方案二?/p>
l于惛_新的Ҏ(gu)了?/p>
Ҏ(gu)四,
l合Ҏ(gu)一和方案二Q在roleRelationship中,对前两(也可以是三或四U?角色Q保存其所有的下角色和组。这P如果以前两角色查询数据Q就使用Ҏ(gu)一Q如果以W三U及(qing)以下的角色查询数据,׃用方案二?/p>
仍以100个角色ؓ(f)例,每个角色要保存三个关p:(x)一U主角Ԍ二ȝ角色Q直接主角Ԍ最多有300条数据?/p>
每往角色l中加一个角Ԍ也需要加入三条数据:(x)角色本nQ一U主角Ԍ二ȝ角色?/p>
但往角色l中加一个子l,需要加入的数据量就大一些:(x)子组本nQ子l所有角Ԍ子组所有角色的一U主角色和二ȝ角色。如在多个子l中发现同一角色Q可重复保存Q但应在表中附加说明是由哪个子组导入的。这样在删除子组时就可以有选择性的删除?/p>
但重复子l的情况比较麻烦,q有{考虑。假充有lg01,g11,g12,g21。g01包含g11和g12Qg11和g12分别包含g21。从g01中删除g11Ӟ如何判断g21的去?看来q是应当在维护时判断应不应当删除?/p>
原来GUID只是UUID的一U实现?/p>
原来UUID虽长Q做数据库主键不但不?x)媄响性能Q反而对性能有所帮助?/p>
有时间我实际试一下?/p>
Outlook 2003中文版中Q设|邮件回复ؓ(f)英文?re"Q而不是中文的"回复"
工具->选项->邮g格式->国际选项
office 2003中去掉烦人的加蝲工h
安装Acrobat 后,所有的Office工具都会(x)多出单独的一行PDF工具栏,很烦人?br />在注册表中找到相应的AddinQ把LoadBehavior键值改?可以去掉它了?br />LoadBehavior 指示加蝲行ؓ(f)的整敎ͼ(x)0Q无Q?Q启动)?Q按需装蝲Q或 16Q只在下ơ启动时装蝲Q?/p>
所有Office 2003软g注的addin注册在:(x)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office
?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Access\Addins\PDFMaker.OfficeAddin
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Excel\Addins\PDFMaker.OfficeAddin
一些Outlook|址
http://www.outlookcode.com/d/launchform.htm
http://www.outlookcode.com/d/forms/formlauncher.htm
http://support.microsoft.com/?kbid=249199
http://www.outlookcode.com/d/code/getfolder.htm
Office Outlook?x)自动读取Outlook Express的地址本,d位置如下Q?br />D:\Documents and Settings\Administrator\Application Data\Microsoft\Address Book\Administrator.wab
?q行"对话框中输入"regedt32.exe"Q打开注册表编辑器。选择H口菜单中?HKEY_LOCAL_MACHINE"H口Q在左边的目录树(wi)中找?SOFTWAREQMicrosoftQWindowsNTQCurrentVersionQWinlogon"子项Q单d在右边窗口中扑ֈ"DefaultUserName"条目Q双d更改Z希望pȝ自动d时用的用户名称(前提是这个用户必d??/p>
二、设|缺省的用户口o(h)
同样在右边的H口中找?DefaultPassword"条目Q双?yn)L改ؓ(f)DefaultUserName中的用户使用的口?如果"DefaultPassword"条目不存在,需要选择"~辑→添加?创徏该条??/p>
讄完成~省用户口o(h)后,可以设|自动登录了。在"SOFTWAREQMicrosoftQWindowsNTQCurrentVersionQWinlogon"子项中,扑ֈ"AutoAdminLogon"条目Q双?yn)L改该gؓ(f)1Ӟpȝ使用~省的用户名和密码自动登录;该gؓ(f)0Ӟ需要用h工登?/p>
My working computer language is Java. I know less about C#. I found C# really has some delicate points, especially at string process.
1. String.format("this is a text with two parameters: {0} and {1}", "p1", "p2"), the result is "this is a text with two parameters: p1 and p2".
In java, I have to write my own method to do it.
2. String.split(delimiter,StringSplitOptions.RemoveEmptyEntries), it can weed out empty elements from result array.
Powered by Zoundry
This problem was resolved via set reading font for plain text:
Tools->Options->Mail Format: click button "Font..." in "Stationery and Fonts" section, a dialog will be popped up. Select a suitable font for "when composing and reading plain text".
The default font is Courier New. I changed to other font, all plain text display clearly.
Why outlook can not display Courier New clearly? I felt very strange. I open the font dialog again and set the font back to Courier New. All plain mails change to Courier New but did not blur any longer!
Perhaps the problem is caused by outlook data file (PST) migration. the default PST is copied from desktop PC.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="DOS Here"
[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k \"cd %L\""
--------------------------------------------------------------------------------------------
表示日期值的数字W号 (#) 必须包含在字W串中,q样它们才能q接到日期倹{?/p>
--------------------------------------------------------------------------------------------------
Shell(pathname[,windowstyle])
执行一个可执行文gQ返回一?Variant (Double)Q如果成功的话,代表q个E序的Q?IDQ若不成功,则会(x)q回 0?/p>
------------------------------------------------------------------------------------------------
在DLL中的H体要先讑֯象才能打开?br />dim frm as new Form
frm.show vbModel: ȝ序打开frm,停在此句?br />frm.show Q主E序打开frm, l箋执行?/p>
------------------------------------------------------------------------------------------------
TreeView1.SelectedItem.Index
Node.FullPath ' \ \
--------------------------------------------------------------------
*****
不能按如下方法定义变体参敎ͼ(x)
Can not use parameter in this way:
Optional vSearch As Variant = Empty
Replace method
Definde parameter: Optional vSearch As Variant
Definde varible: Dim var as Variant
Transfer Value code:
If IsError(vSearch) Then
var = Empty
Else
var = vSearch
End If
----------------------------------------------------------------------
****
键盘字符按键的键P(x)
Char keyCode in Keyboard
48 ~ 57 , 65 ~ 90 , 96 ~ 110 , 186 ~ 192 , 219 ~ 222
VB Code:
If KeyCode < 48 Or (KeyCode > 57 And KeyCode < 65) _
Or (KeyCode > 90 And KeyCode < 96) Or _
(KeyCode > 110 And KeyCode < 186) Or _
(KeyCode > 192 And KeyCode < 219) Or KeyCode > 222 Then
Exit Function
End If
----------------------------------------------------------------------------
***
删除有子表的表记录时要考虑子表的事务流操作?br />oContext.SetAbort
oContext.SetComplete
----------------------------------------------------------------------------
******
工程文g引用不当造成E序不能生成相应对象而导E序不能q行的问?br />在同时调试多个工E文件的情况下,如有如下几个工程Q?br />启动工程QSysAdmin ; 理模块工程Q SysAdminModule ; dE? APSParaMaint
APSPrarMaint中不引用前两个工E,SysAdminModule引用APSParaMaint, SysAdmin同时引用APSParaMaint与SysAdminModule?br />计算Z已注册表各工E的DLL文gQ且引用的工E文件是q些DLLQ那么在联合三者构成工E组调试Ӟ打开的工E源文gQVBP文gQ由于没有被引用刎ͼ从而是不v作用的,E序按DLL文gq行。应该其所有引用工E组内工E的文g为源文g。如果有的是源文Ӟ有的是DLL文gQ就有可能出C能生成相应对象的问题?/p>
中间层工E属性注意:(x)
工程兼容性,U程,~译文g的位|?/p>
---------------------------------------------------------------------------
***
写SQL要时时考虑I值的处理?/p>
---------------------------------------------------------------------------------
****
在VB中获取打印机讄的方法:(x)
VB内置有系l全局变量Printer/Printers,其中存储要当前系l中的所有打印机讄情况?br />可以使用set Printer = Printer(i)的方法来为当前程序选择打印机?br />在Crystal Report 中,如RPT文g选中No Printer选项Q要惛_E序中可以打华ͼ可按如下Ҏ(gu)Q?br />On error resume next
crpReport.SelectPrinter Printer.DriverName, Printer.DeviceName, Printer.Port
crpReport.PaperOrientation = Printer.Orientation
If Err.Number = 484 Then
MsgBox "No printer found in you system!", vbCritical
Err.Clear
GoTo ExitHere
End If
crpReport.PrintOut True
׃在当前系l没有打印机讄时Printer/Printers不会(x)被置I,其标志性属性都不可用,故只能用错误处理来判断无打印|时的情c(din)?/p>
--------------------------------------------------------------------------------------
**********
delete from at_UserLogonActivity
--------------------------------------------------------------------------------------
*********
数值数据校验的注意事项Q?br />1Q应在输入控件的Validate事g中进行校验?br />2Q校验内容由dơؓ(f)Q长度(整数部分与小数部分)Q数D_(d)可否Q显C格式及(qing)与其它数据的大小关系。与其它数据的大关pL在所有数据录入完成后再校验?br />3Q校验时要考虑输入数据为科学计数式的校验,如数据有长度要求Q可其格式化ؓ(f)点数显C再做校验。对于所有有数D围的校验Q由于一般控件录用入值默认ؓ(f)字串型,所以一定要先将其{换嵝数值型再做校验?br />3Q对于窗体上的取消按钮之cȝ控gQ应讑օCauseValidate属性ؓ(f)FalseQ以便在取消操作时不做校验?br />4Q如无必要用U学计数式显C数据,应在输入控件的LostFocus事g中用Format函数其昄点格式?/p>
-------------------------------------------------------------------------------
******
设计CrystalReportӞ如选中Save Data With Report且在设计时生成了预览数据,那么此报表将不能再直接动态生成数据,而要在用DiscardSavedDataҎ(gu)清空数据后才能生成。但使用DiscardSavedData后系l将自动要求更新TTX数据源,如在报表原有路径下找不到相应的TTX文gQ就?x)有对话框弹求指定文件地址。此是指出正的文g地址或直接按取消都可以成功更新数据源?/p>
--------------------------------------------------------------------------------
****
TrueDBGrid
当点击TrueDBGrid的行头时Q此行即被设为选中状态,此时按Del键可以删除此行。但如在TrueDBGrid未得到焦点是就点击其行_(d)TrueDBGrid只会(x)所选行设ؓ(f)选中状态,却不?x)同时得到焦点,因此此时如按Del不能对TrueDBGrid起作用。徏议在其Click事g中加入代码其得到焦炏V?/p>
-----------------------------------------------------------------------------------
****
Fileds in Table for Table Maintenance Module
NeedMaint , TableName , FieldName , FieldCaption , FieldType , IsNullable , IsPK , IsIdentity , BaseTable , BaseFields , DataRange , DataFormat , BoxType
DataRange为字串型Q可采取如下几种格式Q?,1 (-99,99]
DataFormatQ日期格式,字串大小写,数值格式等?br />当IsIdentity为True时此字段要显C,但无Z旉不可~辑?br />外键Q组合框
日期旉QDTPicker
数值字Ԍ(x)文本?br />逻辑|(x)0Q?|(x)选项?br />L|(x)单选钮
不应出现应ؓ(f)外键的离散倹{?/p>
LDQ?br />TableName , FieldName , Vaule , DisplayValue
---------------------------------------------------------------------------
*******
如统一使用Grid新增记录Q如何处理允怸ơ新增多个记录?
有外q表的Code-Desc如何实现Q?br />如外qProgram_CdQ可引申出更q一步的外连表Product_Cd,如何处理Q?br />如何在TreeView中显C?
--------------------------------------------------------------------
********
CallByName:通过传递方法或属性名来访问函数?/p>
--------------------------------------------------------------------
********
在FlexGrid中用CheckBox的方法:(x)
1Q列表显C时只显C文本,在得到光标进行编辑时才变成CheckBox.
2Q对所有数据单元格在列表时入在CheckBox中?br />3, 使用√,不加Ҏ(gu)?/p>
涉及(qing)到Check值的处理应主要交由Field对象来做?/p>
--------------------------------------------------------------------
**********
在不同进E间不能直接作地址参数传递?br />卛_中间层与客户端之间不能传递自定义的Class对象.
--------------------------------------------------------------------
********
在新生成一个对象时Q触发Class_Initialize事g。此时对象还没有生成Q所以不能在此事件中出现对自w的对象引用Q更不宜生成其子对象。可使用Init函数来做一些对角生成后的初始化工作?br />-----------------------------------------------------------------------------
*****
table.Normal{width: 640pt; background-color: yellow; border-collapse: collapse;}
td.Normal{border: thin solid blue; padding: 5pt; margin: 5pt;}
使用CSS定义表格样式Ӟ无法在TableU定义每个单元格的边框等属性,此时应按上例使用?br />-----------------------------------------------------------------------
****
xsl:apply-templates:遍历指定的结炚wQ默认ؓ(f)当前l点的子l点集,不含孙结点)Qƈ对其依次q行模板匚wQ即格式化)?/p>
-----------------------------------------------------------------------
****
<xsl:for-each select="Set/Record" order-by="+ number(ID)">
在IE5中不能用sortQ可用此法代ѝ?/p>
Ҏ(gu)一Q组{略
点击"开始→q行"Q在q行对话框中输入"gpedit.msc"命o(h)Q打开了组{略~辑器,打开"计算机配|→理模板→系l→Windows文g保护"Q在右侧H体中显C四条文件保护策略使用q些{略可以轻村֮义Windowspȝ的文件保护功能?/p>
文g保护功能?x)备份大量的被保护的文g到dllcache目录中,但随着pȝ安装的Y件越来越多,?x)发现dllcache目录的体U不断增大,费了很多硬盘空间。该{略是用来限制dllcache目录的大。在"限制Windows文g保护~存大小"对话框中Q点?巛_?选项Q然后指?~冲区大?Q如我们想限制dllcache目录最大ؓ(f)300MBQ就在输入栏中输?300"卛_Q最后点?定"按钮?/p>
完成以上讄后,需重新启动pȝ才能生效?/p>
Ҏ(gu)二:(x)SFC命o(h)
限制Windows文g保护~存大小也很单,如设|ؓ(f)300MBQ在命o(h)提示W下输入"SFC /CACHESIZE=300"卛_?
均重新启动,大小仍然?29MQ于是运?SFC /PURGECACHE"清空之!