Blog信息 |
blog名称:注册会计师(注会)练习软件 日志总数:398 评论数量:116 留言数量:27 访问次数:3267501 建立时间:2005年6月6日 |

| |
[delpih编程]webbrowser将选中文字加下划线或删除线等 软件技术
吕向阳 发表于 2009/5/15 9:16:51 |
with webbrowser1.Document as IHTMLDocument2 do begin // execCommand('underline', true, 1);//下划线 execCommand('StrikeThrough', false, 1);//删除线 execCommand('Bold', False, 1); execCommand('FontSize', False, 5); execCommand('ForeColor', False, 'blue'); webbrowser1.ExecWB(OLECMDID_SAVE, OLECMDEXECOPT_DONTPROMPTUSER); end;
|
|
[delpih编程]access多表更新,子查询及其日期查询技巧 【转贴】 软件技术
吕向阳 发表于 2009/5/12 9:02:44 |
本文说说在access程序开发中常用的技巧,本文将会提供大家用access 实现的多表更新,子查询和日期查询技巧。
1>多表更新
update nct1_totalcollect t,nc_cantoncode c set t.lv=c.leveled where c.cantoncode=t.cantoncode
2>子查询
ACCESS支持外连接,但不包括完整外部联接,如支持 LEFT JOIN 或 RIGHT JOIN 但不支持 FULL OUTER JOIN 或 FULL JOIN
3>日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号 Select * From Tab1 Where [Date]>#2002-1-1#; 在DELPHI中我这样用 SQL.Add(Format( 'Select * From Tab1 Where [Date]>#%s#;', [DateToStr(Date)]));
ACCESS中的字符串可以用双引号分隔,但SQLSERVER不认,所以为了迁移 方便和兼容,建议用单引号作为字符串分隔符.
本文来自: IT知道网(http://www.itwis.com) 详细出处参考: http://www.itwis.com/html/database/access/20080902/2330.html
|
|
[delpih编程]sql的update语句功能非常强大【转贴 】 软件技术
吕向阳 发表于 2009/5/12 8:40:07 |
t-sql的update语句功能非常强大,看看帮助的说法: UPDATE 更改表中的现有数据。
语法 UPDATE { table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,...n ]
{ { [ FROM { < table_source > } [ ,...n ] ]
[ WHERE < search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [ OPTION ( < query_hint > [ ,...n ] ) ]
< table_source > ::= table_name [ [ AS ] table_alias ] [ WITH ( < table_hint > [ ,...n ] ) ] | view_name [ [ AS ] table_alias ] | rowset_function [ [ AS ] table_alias ] | derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ] | < joined_table >
< joined_table > ::= < table_source > < join_type > < table_source > ON < search_condition > | < table_source > CROSS JOIN < table_source > | < joined_table >
< join_type > ::= [ INNER | { { LEFT | RIGHT | FULL } [OUTER] } ] [ < join_hint > ] JOIN
< table_hint_limited > ::= { FASTFIRSTROW | HOLDLOCK | PAGLOCK | READCOMMITTED | REPEATABLEREAD | ROWLOCK | SERIALIZABLE | TABLOCK | TABLOCKX | UPDLOCK }
< table_hint > ::= { INDEX ( index_val [ ,...n ] ) | FASTFIRSTROW | HOLDLOCK | NOLOCK | PAGLOCK | READCOMMITTED | READPAST | READUNCOMMITTED | REPEATABLEREAD | ROWLOCK | SERIALIZABLE | TABLOCK | TABLOCKX | UPDLOCK }
< query_hint > ::= { { HASH | ORDER } GROUP | { CONCAT | HASH | MERGE } UNION | {LOOP | MERGE | HASH } JOIN | FAST number_rows | FORCE ORDER | MAXDOP | ROBUST PLAN | KEEP PLAN }
参数 table_name
需要更新的表的名称。如果该表不在当前服务器或数据库中,或不为 当前用户所有,这个名称可用链接服务器、数据库和所有者名称来限 定。
WITH ( < table_hint_limited > [ ...n ] )
指定目标表所允许的一个或多个表提示。需要有 WITH 关键字和 圆括号。不允许有 READPAST、NOLOCK 和 READUNCOMMITTED。有 关表提示的信息,请参见 FROM。
view_name
要更新的视图的名称。通过 view_name 来引用的视图必须是可 更新的。用 UPDATE 语句进行的修改,至多只能影响视图的 FROM 子句所引用的基表中的一个。有关可更新视图的更多信息,请 参见 CREATE VIEW。
rowset_function_limited
OPENQUERY 或 OPENROWSET 函数,视提供程序功能而定。有关 提供程序所需功能的更多信息,请参见 OLE DB 提供程序的 UPDATE 和 DELETE 语句要求。有关行集函数的更多信息,请参 见 OPENQUERY 和 OPENROWSET。
SET
指定要更新的列或变量名称的列表。
column_name
含有要更改数据的列的名称。column_name 必须驻留于 UPDATE 子句中所指定的表或视图中。标识列不能进行更新。
如果指定了限定的列名称,限定符必须同 UPDATE 子句中的表或 视图的名称相匹配。例如,下面的内容有效:
UPDATE authors SET authors.au_fname = 'Annie' WHERE au_fname = 'Anne'
FROM 子句中指定的表的别名不能作为 SET column_name 子 句中的限定符使用。例如,下面的内容无效:
UPDATE titles SET t.ytd_sales = t.ytd_sales + s.qty FROM titles t, sales s WHERE t.title_id = s.title_id AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
若要使上例合法,请从列名中删除别名 t。
UPDATE titles SET ytd_sales = t.ytd_sales + s.qty FROM titles t, sales s WHERE t.title_id = s.title_id AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
expression
变量、字面值、表达式或加上括弧的返回单个值的 subSELECT 语句。expression 返回的值将替换 column_name 或 @variable 中的现有值。
DEFAULT
指定使用对列定义的默认值替换列中的现有值。如果该列没有默认值 并且定义为允许空值,这也可用来将列更改为 NULL。
@variable
已声明的变量,该变量将设置为 expression 所返回的值。
SET @variable = column = expression 将变量设置为 与列相同的值。这与 SET @variable = column, column = expression 不同,后者将变量设置为列更新前的值。
FROM < table_source >
指定用表来为更新操作提供准则。有关更多信息,请参见 FROM。
table_name [[AS] table_alias ] 为更新操作提供准则的表的名称。 如果所更新表与 FROM 子句中的表相同,并且在 FROM 子句 中对该表只有一个引用,则指定或不指定 table_alias 均可。如 果所更新表在 FROM 子句中出现了不止一次,则对该表的一个(且 仅仅一个)引用不能指定表的别名。FROM 子句中对该表的所有其它 引用都必须包含表的别名。
view_name [ [ AS ] table_alias ] 为更新操作提供准则的视图的名称。带 INSTEAD OF UPDATE 触发器的视图不能是含有 FROM 子句的 UPDATE 的目标。
WITH ( < table_hint > [ ...n ] ) 为源表指定一个或多个表提示。有关表提示的信息,请参见本卷 的"FROM"。
rowset_function [ [AS] table_alias ] 任意行集函数的名称和可选别名。有关行集函数列表的信息,请参见 行集函数。
derived_table 是从数据库中检索行的子查询。derived_table 用作对外部查询的 输入。
column_alias 替换结果集内列名的可选别名。在选择列表中放入每个列的一个别 名,并将整个列别名列表用圆括号括起来。
由两个或更多表的积组成的结果集,例如:
SELECT * FROM tab1 LEFT OUTER JOIN tab2 ON tab1.c3 = tab2.c3 RIGHT OUTER JOIN tab3 LEFT OUTER JOIN tab4 ON tab3.c1 = tab4.c1 ON tab2.c3 = tab4.c3
对于多个 CROSS 联接,请使用圆括号来更改联接的自然顺序。
指定联接操作的类型。
INNER 指定返回所有相匹配的行对。废弃两个表中不匹配的行。如果未指定 联接类型,则这是默认设置。
LEFT [OUTER] 指定除所有由内联接返回的行外,所有来自左表的不符合指定条件的 行也包含在结果集内。来自左表的输出列设置为 NULL。
RIGHT [OUT |
|
[delpih编程]网页中利用css控制段间距与行距一样高 软件技术
吕向阳 发表于 2009/4/29 17:28:06 |
《style type="text/css"》 《!-- .aaa { line-height: 20px; margin:0px; padding:0px;
} 以上是设置body的css class
先是css (为避免与blog 混,每行前加了)
.aaa p {line-height: 30% padding:0px; 本行与下行是行距的关键 margin: 0px; }
以上是设置.aaa的p 也就是段落设置
--》 《/style》 ================== 以下是网页
《body class="aaa"》 这里是关键处指定class为aaa,也就指定了 body的p的样式了
《p》drtwertwetwetwerwertwetwetwetwetwetwetwert《/p》 《p 》adfsg《/p》 《p 》asdflkha《/p》 《p 》asdgkhasdg 《/p》 《/body》 《/html》
|
|
[delpih编程]document.execCommand()用法说明[转贴] 软件技术
吕向阳 发表于 2009/4/28 9:54:44 |
document.execCommand()用法说明2009-04-21 12:432D-Position 允许 通过拖曳移动绝对定位的对象。 AbsolutePosition 设定元素的 position 属性为“absolute”(绝 对)。 BackColor 设置或获取当前选中区的背景颜色。 BlockDirLTR 目前尚未支持。 BlockDirRTL 目前尚未支持。 Bold 切换当前选中区的粗体显示与否。 BrowseMode 目前尚未支持。 Copy 将当前选中区复制到剪贴板。 CreateBookmark 创建一个书签锚或获取当前选中区或插入点的书签锚 的名称。 CreateLink 在当前选中区上插入超级链接,或显示一个对话框允许用 户指定要为当前选中区插入的超级链接的 URL。 Cut 将当前选中区复制到剪贴板并删除之。 Delete 删除当前选中区。 DirLTR 目前尚未支持。 DirRTL 目前尚未支持。 EditMode 目前尚未支持。 FontName 设置或获取当前选中区的字体。 FontSize 设置或获取当前选中区的字体大小。 ForeColor 设置或获取当前选中区的前景(文本)颜色。 FormatBlock 设置当前块格式化标签。 Indent 增加选中文本的缩进。 InlineDirLTR 目前尚未支持。 InlineDirRTL 目前尚未支持。 InsertButton 用按钮控件覆盖当前选中区。 InsertFieldset 用方框覆盖当前选中区。 InsertHorizontalRule 用水平线覆盖当前选中区。 InsertIFrame 用内嵌框架覆盖当前选中区。 InsertImage 用图像覆盖当前选中区。 InsertInputButton 用按钮控件覆盖当前选中区。 InsertInputCheckbox 用复选框控件覆盖当前选中区。 InsertInputFileUpload 用文件上载控件覆盖当前选中区。 InsertInputHidden 插入隐藏控件覆盖当前选中区。 InsertInputImage 用图像控件覆盖当前选中区。 InsertInputPassword 用密码控件覆盖当前选中区。 InsertInputRadio 用单选钮控件覆盖当前选中区。 InsertInputReset 用重置控件覆盖当前选中区。 InsertInputSubmit 用提交控件覆盖当前选中区。 InsertInputText 用文本控件覆盖当前选中区。 InsertMarquee 用空字幕覆盖当前选中区。 InsertOrderedList 切换当前选中区是编号列表还是常规格式化块。 InsertParagraph 用换行覆盖当前选中区。 InsertSelectDropdown 用下拉框控件覆盖当前选中区。 InsertSelectListbox 用列表框控件覆盖当前选中区。 InsertTextArea 用多行文本输入控件覆盖当前选中区。 InsertUnorderedList 切换当前选中区是项目符号列表还是常规格式化 块。 Italic 切换当前选中区斜体显示与否。 JustifyCenter 将当前选中区在所在格式化块置中。 JustifyFull 目前尚未支持。 JustifyLeft 将当前选中区所在格式化块左对齐。 JustifyNone 目前尚未支持。 JustifyRight 将当前选中区所在格式化块右对齐。 LiveResize 迫使 MSHTML 编辑器在缩放或移动过程中持续更新元素外 观,而不是只在移动或缩放完成后更新。 MultipleSelection 允许当用户按住 Shift 或 Ctrl 键时一次选中多 于一个站点可选元素。 Open 打开。 Outdent 减少选中区所在格式化块的缩进。 OverWrite 切换文本状态的插入和覆盖。 Paste 用剪贴板内容覆盖当前选中区。 PlayImage 目前尚未支持。 Print 打开打印对话框以便用户可以打印当前页。 Redo 重做。 Refresh 刷新当前文档。 RemoveFormat 从当前选中区中删除格式化标签。 RemoveParaFormat 目前尚未支持。 SaveAs 将当前 Web 页面保存为文件。 SelectAll 选中整个文档。 SizeToControl 目前尚未支持。 SizeToControlHeight 目前尚未支持。 SizeToControlWidth 目前尚未支持。 Stop 停止。 StopImage 目前尚未支持。 StrikeThrough 目前尚未支持。 Subscript 目前尚未支持。 Superscript 目前尚未支持。 UnBookmark 从当前选中区中删除全部书签。 Underline 切换当前选中区的下划线显示与否。 Undo 撤消。 Unlink 从当前选中区中删除全部超级链接。 Unselect 清除当前选中区的选中状态。
function fn_doufucopy(){edit.select();document.execCommand('Copy');}function fn_doufupaste() {tt.focus();document.execCommand('paste');}function fn_creatlink(){document.execCommand('CreateLink',true,'true');//弹出一个对话框输入URL//document.execCommand('CreateLink',false,'http://www.51js.com');}function fn_change_backcolor(){document.execCommand('BackColor',true,'#FFbbDD');//true或false都可以}function fn_change_forecolor(){//指定前景色document.execCommand('ForeColor',false,'#BBDDCC');//true或false都可以//指定背景色document.execCommand('FontSize',false,7); //true或false都可以//字体必须是系统支持的字体document.execCommand('FontName',false,'标楷体'); //true或false都可以//字体变粗document.execCommand('Bold');//变斜体document.execCommand('Italic');}function fn_change_selection(){//将选中的文字加下划线document.execCommand('Underline');//在选中的文字上划粗线document.execCommand('StrikeThrough');//将选中的部分文字变细document.execCommand('SuperScript');//将选中区块的下划线取消掉document.execCommand('Underline');}function fn_format(){//有序列排列document.execCommand('InsertOrderedList');//实心无序列排列document.execCommand('InsertUnorderedList');//空心无序列排列document.execCommand('Indent');}function fn_CutOrDel(){//删除选中的区块//document.execCommand('Delete');//剪下选中的区块document.execCommand('Cut');}function fn_InsObj(){//重设为一个fieldset//插入一个水平线//document.execCommand('InsertHorizontalRule',true,"aa");//插入一个iframe//document.execCommand('InsertIFrame',true,"aa");//插入一个InsertImage,设为true时需要图片,false时不需图片//document.execCommand('InsertImage',false,"aa");//插入一个checkbox//document.execCommand('InsertInputCheckbox',true,"aa");//插入一个file类型的object//document.execCommand('InsertInputFileUpload',false,"aa");//插入一个hidden//插入一个InputImage//插入一个Password//document.execCommand('InsertInputPassword',true,"aa");//插入一个Radio//docume |
|
[delpih编程]delphi中将webbrowser用作网页编辑器 软件技术
吕向阳 发表于 2009/4/28 9:49:18 |
引用单元 ComObj,ActiveX;
1.在formcreate事件中加入 Application.OnMessage := IEMessageHandler; 这是用作对webbrowser回车事件处理消息
2。打开网页时作相应处理,进入网页编辑状态 webbrowser1.Navigate(htmfile); while webbrowser1.busy do Application.ProcessMessages; (webbrowser1.Document as IHTMLDocument2).designMode := 'On';
3.加入一按钮,处理点击时使用网页中文字变红 ,这对粗 procedure Tformmp3.Button2Click(Sender: TObject); begin with webbrowser1.Document as IHTMLDocument2 do begin execCommand('ForeColor', False, 'red'); //使选中文字变红 execCommand('Bold', False, 1); //加粗选中文字 webbrowser1.ExecWB (OLECMDID_SAVE,OLECMDEXECOPT_DONTPROMPTUSER ); //这是对修改后 的网页保存 end; end;
4.响应回车等的消息处理程序 procedure Tformmp3.IEMessageHandler(var Msg: TMsg; var Handled: Boolean); const StdKeys = [VK_TAB, VK_RETURN]; { 标准键 } ExtKeys = [VK_DELETE, VK_BACK, VK_LEFT, VK_RIGHT]; { 扩展键 } fExtended = $01000000; { 扩展键标志 } begin Handled := False; with Msg do if ((Message >= WM_KEYFIRST) and (Message <= WM_KEYLAST)) and ((wParam in StdKeys) or (GetKeyState(VK_CONTROL) < 0) or (wParam in ExtKeys) and ((lParam and fExtended) = fExtended)) then try if IsChild(webbrowser1.Handle, hWnd) then { 处理所有的浏览器相关消息 } begin with webbrowser1.Application as IOleInPlaceActiveObject do Handled := TranslateAccelerator(Msg) = S_OK; if not Handled then begin Handled := True; TranslateMessage(Msg); DispatchMessage(Msg); end; end; except end; end; // IEMessageHandler
|
|
|