我有.txt文件,这些文件大多是(真正的)html文档(它们有标题,正文,html标记等).(我在这里的Windows环境中工作).我希望任何浏览器都能将它们作为html文档(带有正常.html后缀的html文档)轻松读取.现在我必须重命名.txt文件才能在浏览器中读取它(例如:myfile.txt - > myfile.txt.htm).我们可以申请愚弄浏览器的任何技巧吗?
相关问题:我是否可以在这些.txt文件之上添加任何代码,以便只有带有该代码的.txt文件将作为html文档打开并被浏览器看到?(代码可以是用十六进制编辑器添加的任何东西,例如plain ascii).谢谢.
拥有:
var
Difference: DWORD // difference shows in milliseconds
// List.Items.Count can be any 0 to ########
[...]
sb.panels[2].Text := FloatToStr((((List.Items.Count) / difference) / 1000));
Run Code Online (Sandbox Code Playgroud)
我想将结果文本格式化为任意###.##(两位小数).使用FloatToStrF并不成功(似乎没有用DWORD).
我已经看到Windows系统使用临时文件来提高某些任务的性能.当我查看它们时,这些文件标有0x100属性.我收到了微软的以下文字:"
通过使用带有FILE_ATTRIBUTE_TEMPORARY标志的CreateFile(),您可以让系统知道该文件可能是短暂的.临时文件创建为普通文件.系统需要对文件系统进行最少量的延迟写入,以保持磁盘结构(目录等)的一致性.这给出了文件已写入磁盘的外观."
使用Delphi创建这样的临时文件的任何例子?
谢谢.
[编辑]
补充问题:可能是使用此类文件的上下文,例如,它可以用于日志系统.日志是这个文件的临时属性?当日志变得非常大时,它会更快,更少内存吗?
[编辑]
好的,我使用下面的schnaader给出的解决方案使用FILE_ATTRIBUTE_TEMPORARY创建文件:
hMyFile := CreateFile(FileName,
GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,
FILE_ATTRIBUTE_TEMPORARY,
0);
Run Code Online (Sandbox Code Playgroud)
这样的文件在创建时获得0x120属性.因此根据系统的临时文件.
我还创建了一个带有FILE_FLAG_DELETE_ON_CLOSE标志的文件(请参阅L. Osterman撰写的这篇文章).
所以:
hMyFile := CreateFile(FileName,
GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,
FILE_FLAG_DELETE_ON_CLOSE,
0);
Run Code Online (Sandbox Code Playgroud)
此文件没有属性,并且在关闭或销毁应用程序时会自动删除该文件.
我没有找到如何组合属性和标志.任何的想法?
谢谢
每次我尝试使用我拥有的shell工具(SpeedCommander)清理/删除临时IE /索引文件后,我每次尝试运行Delphi 2010/XE时都会出现"Out of Stack Space"致命错误.看起来该工具深入清理了IE临时文件或索引文件,这些文件后来阻碍了Delphi欢迎页面的打开(bds:/default.htm).为了能够再次运行Delphi我需要用IE或Firefox浏览很多,可能是重新建立索引文件(???) - 或者重新安装Delphi.怎么样?(操作系统:Windows SP3)
我已经使用此代码检测了我的计算机的本地IP地址(使用套接字):
Function Ip_Local : String;
Var Acces_Sock : TCustomIpClient;
Begin
Acces_Sock := TCustomIpClient.Create(Nil);
Try
Result := Acces_Sock.LocalHostAddr
Finally
Acces_Sock.Free;
End;
End;
Run Code Online (Sandbox Code Playgroud)
如何检测路由器的内部LAN IP地址,如果可能的话,检测任何连接LAN的设备(如DVR)?
我们可以"轻松地"(以某种方式)将C++ Builder项目编译成VisualStudio 2005 C++.C++中的新功能我正在寻找这方面的参考文献(CBuilder vs VS).谢谢.
有这个字段集:
<fieldset>
<legend>[*death]</legend>
<select name=death style="width: 120px">
<option value=Dead>[*died]
<option value=NotDead>[*alive]
<option value="" selected>-
</select>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
我想设置[2].value为"-".
我试过没有任何成功:
document.getElementsByName('death')[2].checked = 'true';
document.getElementsByName('death')[2].value = '-';
Run Code Online (Sandbox Code Playgroud)
相同类型的代码适用于无线电盒,复选框或表单中的其他输入.如何选择选项(不是输入)?
谢谢
[编辑]当然,适当的字段集是:
<fieldset>
<legend>[*death]</legend>
<select name="death" style="width: 120px">
<option value="Dead">[*died]</option>
<option value="NotDead">[*alive]</option>
<option value="" selected>-</option>
</select>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
谢谢.
type
TDelphiSignature=record
Signature:array [0..3] of LongWord;
Version:string;
end;
const
DelphiSignature:array [0..2] of TDelphiSignature=(
(Signature:($384F3D26,$B83782C2,$034224F3,$833A9B17);Version:'Delphi Entreprise'),
(Signature:($235D7823,$19F3A5B6,$0240F343,$C711D126);Version:'Delphi Perso'),
(Signature:($98DF8CA2,$793A3C7B,$093F7126,$17252A0F);Version:'Delphi Pro')
// ...
);
Run Code Online (Sandbox Code Playgroud)
以上是在DVCLAL资源中Delphi编译的EXE文件中找到的版本签名.我正在寻找其他签名,例如建筑师版本的签名,更重要的是,寻找资源数据中可见的版本号(6,7,8 ...).
为我的Delphi项目本地安装TurtoiseSVN(本地存储库,没有服务器),我现在想通过互联网分享我的更新.为了实现这一点,我确实在Apache Unix服务器上安装了Subversion(版本1.6)(RedHat,使用Sphera的VDS托管计划)并在该位置创建了一个存储库文件夹.服务器运行良好,但我在这一点上有点迷失:
将项目导入Unix存储库的最佳选择是什么?最简单的方法是将本地存储库克隆到Unix机器上的存储库? - 理想情况下,我希望他们两个同步.什么是管理Unix Subversion服务器及其存储库(现在我正在使用SSH资源管理器)的最佳工具,以及在该服务器的存储库上检出/导入/导出文件的最佳工具?
TX
对Delphi 2010的一个好的unicode字符串库有什么建议吗?类似于包含独立函数集合的类,基本上是操作字符串的函数的封装(例如:Trimlike,字符删除,Positional,Sub-string,Compare,Informational,Case,Replacement,Manipulation函数等).
谢谢
如果我已经有很多页面装满了控件,那么在TPageControl中"插入"页面的最佳方法是什么?假设我想在TabSheet1之前插入一个新页面.
谢谢.
更新:在设计时.
我有以下脚本永远不会检索任何数据,因为Firebird/Interbase中的TimeStamp数据类型不是DateTime(*)
我应该怎么解决?TX.
with DMApp.qryValidPeriod_ do
begin
Close;
SQL.Clear;
SQL.Add('select P.* from PERIOD P, FISCAL_YR F');
SQL.Add('where');
SQL.Add('P.FISCAL_YR_ID = F.FISCAL_YR_ID and');
SQL.Add('F.ENTITY_DB_ID = :PRIMARY_DB_ID and');
SQL.Add('F.FISCAL_YR_ID = :CURR_FY_ID and');
SQL.Add(':pTranDate BETWEEN P.BEG_PERIOD and P.END_PERIOD');
ParamByName('pTranDate').AsDateTime := sBATCH_DATE;
Run Code Online (Sandbox Code Playgroud)
// BEG_PERIOD和END_PERIOD是TimeStamp数据类型,例如'2010-11-09 12:00'//参数返回数据类型,例如'2010-11-09'
(*)时间戳是Firebird/Interbase/SQL Server中可用的列数据类型...有助于确保数据完整性.每次插入或更新包含时间戳列的行时,时间戳都会自动更新.timestamp列中的值不是datetime数据,而是binary(8)varbinary(8)数据.timestamp数据类型与系统时间无关,它只是一个单调递增的计数器,其值在数据库中始终是唯一的(使其基本上是一个唯一的随机数.)
delphi ×10
delphi-2010 ×3
browser ×1
c++builder ×1
firebird ×1
html ×1
javascript ×1
networking ×1
sql ×1
svn ×1
unix ×1