js:<script type="text/javascript">
function toDou(n){//将十以内的数字转换成两位
if(n<10){
return '0'+n;
}else{
return ''+n;
}
}
function tick(){//获取当前时间,并转换为字符串,循环获取字符串并改变节点路径
var oDate = new Date();
var str = toDou(oDategetHours())+toDou(oDategetMinutes())+toDou(oDategetSeconds());
var oImg = documentgetElementsByTagName('img');
for(var i = 0;i<oImglength;i++){//charAt()兼容性要比str[i]好
oImg[i]src = 'img/'+strcharAt(i)+'png';
}
}
windowonload = function(){//setInterval(function(){},毫秒);每隔指定的时间就执行一次函数
tick();
setInterval(tick, 1000);
};
</script>
在TWebBrowser中调用脚本的办法是调用Html文档相关的对象窗口中的execScript方法。至于什么是和Html Document相关的对象窗口,后面的代码中用到的IHTMLWindow2就是。execScript函数定义如下:
function execScript(const code: WideString; const language: WideString): OleVariant;
参数code是一个脚本函数的完整调用形式的字符串,例如有一个JavaScript函数定义为:
function foo(param1),则 code="foo(param1)"。
参数language表示脚本的类型,例如 language="JavaScript"
首先,获取浏览器组件的文档对象;然后通过该文档对象的ParentWindow属性来获取窗口对象。最后通过该窗口对象来调用execScript即可。下面就给出一个简单的实现示例。
实现示例
uses
MSHTML;
procedure TForm1CallFoo(S: string; I: Integer);
{ Calls JavaScript Foo() function }
var
Doc: IHTMLDocument2; // current HTML document
HTMLWindow: IHTMLWindow2; // parent window of current HTML document
JSFn: string; // stores JavaScipt function call
begin
// Get reference to current document
Doc := WebBrowser1Document as IHTMLDocument2;
if not Assigned(Doc) then
Exit;
// Get parent window of current document
HTMLWindow := DocparentWindow;
if not Assigned(HTMLWindow) then
Exit;
// Run JavaScript
try
JSFn := Format('Foo(''%s'',%d)', [S, I]); // build function call
HTMLWindowexecScript(JSFn, 'JavaScript'); // execute function
except
// handle exception in case JavaScript fails to run
end;
end;
实例演示
整个实例包括两部分:
网页文件testhtml:文件内有一个JavaScript函数SetFont。该函数通过下拉框来选择字体,然后点击”set font“按钮来改变页面字体。
Delphi端程序:通过TWebbrowser来显示页面,并演示如何调用页面内的Javascript函数。
Testhtml:
<html>
<head>
<title> Demo for call Javascript from Delphi
</title>
<script type="text/javascript">
<!--
function SetFont(fontname)
{
documentbodystylefontFamily = fontname;
}
-->
</script>
</head>
<body>
demo of calling Javascript from Delphi
<form>
<select size=1 name="selfont">
<option value="Verdana" selected>Verdana</option>
<option value="Arial">Arial</option>
<option value="Courier New">Courier New</option>
<option value="Tahoma">Tahoma</option>
</select>
<input type="button" value="set font" name="btn1"
onclick="SetFont(selfontvalue)">
</form>
</body>
</html>
Delphi控制Javascript
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw, StdCtrls, Mshtml;
type
TForm1 = class(TForm)
btnCallJS: TButton;
cmbFonts: TComboBox;
WebNav: TWebBrowser;
procedure FormShow(Sender: TObject);
procedure WebNavDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure btnCallJSClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R dfm}
procedure TForm1FormShow(Sender: TObject);
begin
// Disable button
btnCallJSEnabled := false;
// Load the Html page
WebNavNavigate(ExtractFilepath(ApplicationExeName)
+'testhtml');
end;
procedure TForm1WebNavDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
// When complete loading Html page, enable button
btnCallJSEnabled := true;
end;
// Call the Javascript in Html page
procedure TForm1btnCallJSClick(Sender: TObject);
var
// current Html document
Doc : IHtmlDocument2;
// parent window of current Html document
HtmlWnd : IHtmlWindow2;
// Javascript function name including arguments
JsFnc : string;
begin
// Get reference to current document
Doc := WebNavDocument as IHtmlDocument2;
if not assigned(Doc) then
exit;
// Get parent window of current Html document
HtmlWnd := DocparentWindow;
if not assigned(HtmlWnd) then
exit;
// Run Javascript
try
JsFnc := 'SetFont(''' + trim(cmbFontsText) + ''')';
HtmlWndexecScript(JsFnc, 'JavaScript');
except
Showmessage('Call JavaScript failed!');
end;
end;
end
var d = new Date("2016-09-18"); 随便字串形式的日期变数, 使用上面方式传入js的Date物件,你就能使用d这个变数进行任何的日期 *** 作了,从字串转换成js日期的过程由js自动帮你完成
如何将一个字串格式化为一个日期,指定格式的, 怎么格式化字串到指定的日期格式
var
str:string;
outDate:TDateTime;
FormatSettings:TFormatSettings;
begin
str:='07/06/2006 10:10:10';
DateTimePicker1DateTime:=StrToDateTimeDef(str,now,'mm/dd/yyyy HH:MM:SS');
FormatSettingsDateSeparator:='/';
FormatSettingsTimeSeparator:=':';
FormatSettings:='mm/dd/yyyy HH:MM:SS'
FormatSettingsShortDateFormat:='mm/dd/yyyy';
FormatSettingsShortTimeFormat:='hh:mm:ss';
TryStrToDateTime(str,outdate,FormatSettings);
DateTimePicker1DateTime:=outDate;
如何把FILETIME型别的变数格式化成字串输
在C语言中将字串转化成整型有两种方法。
1 用atoi函式。
atoi的功能就是将字串转为整型并返回。其宣告为
int atoi(char str);
比如atoi("1234");会返回整型1234。
2 用sscanf。
sscanf与标准格式化输入函式scanf类似,不过源并非是标准输入,而是字串。
用sscanf可以处理更复杂的字串。
比如字串char str = "a=1, b=2";
定义int a,b;后
可以用
sscanf(str,"a=%d, b=%d",&a,&b);
来将a,b值提取,计算后,a=1, b=2。
java指定的字串日期格式化及计算
package timeutil;import javatextParseException;import javatextSimpleDateFormat;import javautilDate;public class TimeTest { public static void main(String[] args) { String s1 = "20151117190936"; String s2="20090915-17:20:12"; try { Date date1 = new SimpleDateFormat("yyyyMMddHHmmss")parse(s1); 输出格式 Systemoutprintln("=======解析字串1======"); Systemoutprintln(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")format(date1)); Systemoutprintln(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format(date1)); Systemoutprintln("=======解析字串2======"); Date date2 = new SimpleDateFormat("yyyyMMdd-HH:mm:ss")parse(s2); Systemoutprintln(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")format(date2)); Systemoutprintln(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format(date2)); } catch (ParseException e) { eprintStackTrace(); } }}
如何格式化字串的xml
1首先使用字串拼接出来自定义的返回报文格式data。 2使用如下方法输出 ContextResponseContentEncoding = SystemTextEncodingUTF8;
格式化字串什么是格式话字串
格式化字串就是按一定格式输出的字串
举个例子来说,你想输出时间
2006-07-25 21:20:30
这就是一个格式化字串,它的格式为
yyyy-mm-dd hh:mm:ss
下面再给你一个 *** 作的例子,比如说你要输出时间
FormatDatetime('yyyy-mm-dd hh:mm:ss',Now);
就能够按我上面的格式输出时间了
又比如说你经过计算得到一个结果,你想用一个有格式的字串输出
例如:计算结果是XXX,那么可以这样写:
Format('计算结果是%d',[result]);
我给出的是delphi程式码,如果你用C的,用printf语句也可以实现
printf("计算结果是%d",result);
C#中怎么把字串转换为指定格式的时间
假设 字串aaa的格式是 yyyyMMddHHmmss,想转换成yyyy-MM-dd HH:mm:ss时间格式存入资料库,
见下面的程式码。
DateTimeParseExact(aaa,"yyyyMMddHHmmss", new SystemGlobalizationCultureInfo("zh-CN", true), SystemGlobalizationDateTimeStylesAllowInnerWhite)ToString("yyyy-MM-dd HH:mm:ss")
其他还有很多转换方式,DateTimeParseExact通吃。
sql格式化字串如何弄
select REPLICATE('0',8-LEN (CardNo))+CardNo from ZlEmployee
REPLICATE为替换函式 len测量字元长度
如何格式化显示XML字串
下面是一个线上格式化显示的工具:
:sojson/xml
在 delphi 里,使用 WebBrowser 执行 js 代码,参阅以下示例:
procedure TForm1btn1Click(Sender: TObject);var
doc:olevariant;
str:string;
begin
doc:=wb1Document;
//执行js
wb1OleObjectdocumentparentWindowexecScript('zbxxcx("50E13DA0-728B-455E-89EC-18B71477C47E")','JavaScript');
end;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401//EN" ";
代码已经贴上,希望对您有帮助
以上就是关于js用图片做时间和日期全部的内容,包括:js用图片做时间和日期、如何用Delphi在TWebBrowser中调用JavaScript、js到底是如何把字串变数格式化为指定格式的日期的呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)