params文件怎么打开(有格式的二进制文件流下载打不开)

本文目录
- 有格式的二进制文件流下载打不开
- DELPHI基础教程:文件管理(三)[1]
- 信长之野望14怎么改param文件
- 校园网提示mac网卡地址被修改怎么办
- Matlab中的mdl文件怎么打开
- python读取文件拼接数据发送请求
有格式的二进制文件流下载打不开
下载文件打开的方法
onDownload(){
download(params).then(res =》 {
//注意:如果res是二进制流字符串而不是blob,则需要通过new Blob()转化成blob
var downloadElement = document.createElement(’a’);
var href = window.URL.createObjectURL(res); //创建下载的链接
downloadElement.href = href;
downloadElement.download = ’文件名’; //下载后文件名
document.body.appendChild(downloadElement);
downloadElement.style.display = ’none’
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放掉blob对象
})
}
还有一步非常重要!!!在请求接口时要设置responseType为blob
export const download = (params) =》 {
return axios.post(url,params,{responseType:’blob’})
}
登录后复制
还有一点需要注意,如果项目中用到了mock,请求结果会被mock拦截,并且修改返回数据类型,这样就会出现下载下来的文件打不开。如下图:data的数据类型变成了字符串,request为MockXMLHttpRequest类型,这是因为被mock重写了
所以,需要把mock关掉,这样就好了
DELPHI基础教程:文件管理(三)[1]
画出每个自画项目
这在TabSet的OnDrawTab事件处理过程中完成 这一事件处理过程的参数中包含了待画项目索引 画板 待画区域 是否被选中等 这里我们只利用了前三个参数 事实上利用最后一个参数 我们可以对被选中的标签进行一些特殊的视觉效果处理 这一工作就留给读者自己去完成
procedure TFMForm DriveTabSetDrawTab(Sender: TObject; TabCanvas: TCanvas;
R: TRect; Index: Integer; Selected: Boolean)
var
Bitmap: TBitmap;
begin
Bitmap := TBitmap(DriveTabSet Tabs Objects)
with TabCanvas do
begin
Draw(R Left R Top + Bitmap)
TextOut(R Left + + Bitmap Width R Top + DriveTabSet Tabs)
end;
end;
文件管理基本功能的实现
在子窗口的File菜单中 定义了文件管理的基本功能 它们是
● Open :打开或运行一个文件(从文件列表框双击该文件可实现同样效果)
● Move :文件在不同目录间的移动
● Copy :文件拷贝
● Delete :文件删除
● Rename :文件更名
● Properties :显示文件属性
文件打开
文件打开功能可以运行一个可执行文件 或把文件在与之相关联的应用程序中打开 文件总是与创建它的应用程序相关联 这种关联可以在Windows的文件管理器中修改 要注意的是 文件的关联是以后缀名为标志的 因而对一个文件关联方式的修改将影响所有相同后缀名的文件
文件打开功能实现的关键是利用了Windows API函数ShellExecute 由于Windows API函数的参数要求字符串类型是PChar 而Delphi中一般用的是有结束标志的String类型 因此为调用方便我们把这一函数进行了重新定义如下
function ExecuteFile(const FileName Params DefaultDir: String;
ShowCmd: Integer) THandle;
var
zFileName zParams zDir: array of Char;
begin
Result := ShellExecute(Application MainForm Handle nil
StrPCopy(zFileName FileName) StrPCopy(zParams Params)
StrPCopy(zDir DefaultDir) ShowCmd)
end;
以上函数在fmxutils单元中定义 fmxutils是一个自定义代码单元
有关ShellExecute中各参数的具体含义读者可查阅联机Help文件
StrPCopy把一个Pascal类型的字符串拷贝到一个无结束符的PChar类型字符串中
在子窗口的Open Click事件处理过程中
procedure TFMForm Open Click(Sender: TObject)
begin
with FileList do
ExecuteFile(FileName Directory SW_SHOW) ;
end;
如果FileList允许显示目录的话(即FileType属性再增加一项ftDirectory) 那么对于一个目录而言 打开的含义应该是显示它下边的子目录和文件 程序修改如下
procefure TFMForm Open Click(Sender: Tobject)
begin
With FileList do
begin
if HasAttr(FileName faDirectory) then
DirectoryOutline Directory := FileName
else
ExecuteFile(FileName Directory SW_SHOW)
end;
end;
其中HasAttr是一个fmxutils单元中的自定义函数 用于检测指定文件是否具有某种属性
function HasAttr(const FileName: String; Attr: Word) Boolean;
begin
Result := (FileGetAttr(FileName) and Attr) = Attr;
end;
文件拷贝 移动 删除 更名
文件拷贝的关键是使用了以文件句柄为操作对象的文件管理函数 因而提供了一种底层的I/O通道 在Object Pascal中这一点是利用无类型文件实现的
在文件拷贝中首先检查目标文件名是否是一个目录 如是则把原文件的文件名添加到目标路径后 生成目标文件全路径名 而后提取源文件的时间戳 以备拷贝完成后设置目标文件 拷贝过程中使用了返回文件句柄或以文件句柄为参数的文件管理函数FileOpen FileCreate FileRead FileWrite FileClose 为保证文件的正常关闭和内存的释放 在拷贝过程中进行异常保护
过程CopyFile实现上述功能 它定义在fmxutils单元中
procedure CopyFile(const FileName DestName: TFileName)
var
CopyBuffer: Pointer;
TimeStamp BytesCopied: Longint;
Source Dest: Integer;
Destination: TFileName;
const
ChunkSize: Longint = ;
begin
Destination := ExpandFileName(DestName)
if HasAttr(Destination faDirectory) then
Destination := Destination + \ + ExtractFileName(FileName)
TimeStamp := FileAge(FileName)
GetMem(CopyBuffer ChunkSize)
try
Source := FileOpen(FileName fmShareDenyWrite)
if Source 《 then
raise EFOpenError Create(FmtLoadStr(SFOpenError ))
try
Dest := FileCreate(Destination)
if Dest 《 then
raise EFCreateError Create(FmtLoadStr(SFCreateError ))
try
repeat
BytesCopied := FileRead(Source CopyBuffer^ ChunkSize)
if BytesCopied 》 then
FileWrite(Dest CopyBuffer^ BytesCopied)
until BytesCopied 《 ChunkSize;
finally
FileSetDate(Dest TimeStamp)
FileClose(Dest)
end;
finally
FileClose(Source)
end;
finally
FreeMem(CopyBuffer ChunkSize)
end;
end;
如果我们不使用FileSetDate过程 Windows自动把当前时间作为时间戳写入文件
文件移动事实上是文件拷贝与文件删除的结合 fmxutils单元中的MoveFile过程实现了这一功能
procedure MoveFile(const FileName DestName: TFileName)
var
Destination: TFileName;
begin
Destination := ExpandFileName(DestName)
if not RenameFile(FileName Destination) then
begin
if HasAttr(FileName faReadOnly) then
raise EFCantMove Create(Format(SFCantMove ))
CopyFile(FileName Destination)
DeleteFile(FileName)
end;
end;
EFCanMove是一个自定义异常类
type
EFCanMove := Class(EStreamError)
有关自定义异常类请参阅第十二章
文件删除 文件更名直接调用Delphi文件管理过程DeleteFile RenameFile 它们都以文件名为参数 操作执行前应弹出一个对话框进行确认 执行完毕后应调用Update方法更新FileList的显示
lishixinzhi/Article/program/Delphi/201311/25232信长之野望14怎么改param文件
说明:修改param.n14很简单,不过首先必须备份一下。修改有两个方法:
一、使用记事本打开param.n14(双击该文件然后选“从一安装列表中选择程序”,选择记事本打开即可);然后根据提供的字串搜索(提供的字串搜索结果都是唯一的),然后就可以进行数值上的修改;注意不要删掉空格
二、将param.n14改名param.n13,然后使用天道van修改器的param修改器来修改;优点是提供了参数的序号,可以直接根据参数序号修改,更加安全
直辖范围修改:
刚刚找到了两个直辖范围相关的参数,分别是31号参数(100000)和32号参数(40)。这两个值之间是貌似有相互制约,就是必须两个值都增大才行。
方法:
用记事本打开param.n14,搜索“1 70 100000 40 6 70”字串(这个字串只出现一次),里面的100000和40就是需要修改的参数。第一个参数建议不要超过900000,第二个参数不要超过900;把他们设置为500000和500应该完全足够了。
注意:是否有副作用尚且不知。
新筑城参数修改:
“20 2 2 2 5000 50”中的5000是新筑城的初始人口,50是新筑城的民忠,他们分别为1127号和1128号参数
校园网提示mac网卡地址被修改怎么办
找到安装客户端的文件夹,找到log文件夹。如:C:\Drcom\DrUpdateClient\Log
2
打开log文件夹,找到auth_log文件,打开该文件。
3
在该文件中找到最近时间段的“MAC地址被修改,请删除此注册表项恢复原始MAC地址!”的信息。
4
看到对应的INF了么,把把那个地址复制下来,比如这个就直接复制 “4D36E972-E325-11CE-BFC1-08002bE10318”。
5
点击“开始”,在搜素那个地方输入“regedit”或点击“运行”,输入“regedit”,确定后即可打开注册表。
6
在注册表里面鼠标右键“查找”,弹出的对话框里把刚复制的输入进去,或依次进入
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002等主键下,如果主键下有params项,则该主键也是网卡所使用的;
7
查找DriverDesc的内容,了解网卡使用了哪个主键(例如0001)
8
根据MAC地址被修改,请删除此注册表项恢复原始MAC地址!”中提到的主健,删除对应的0022、0023、0026文件夹。全部删除后,注销或重启电脑即可。
END
单击右下角的联网图标,右键点击打开网络共享中心。
单击连接中的无线网络连接或者单击本地连接。
单击状态中的属性。
单击属性中的配置。
找到配置中的高级,找到本地管理的mac地址或者(network address),选中不存在,单击确定即可。该方法适用于usb外接网卡。
方法/步骤2
账号是否在不同的电脑上登录过校园网?如果是,那么把现在电脑的mac地址抄下来,去网管那里让他处理就行了。如果从来只在一台电脑上校园网,那就找网管申诉吧
在校园网中,MAC地址也可以用来识别用户。对于校园网的正式用户,其MAC地址会登记在服务器端,假如你是非法用户,服务器中就没有你的网卡MAC地址,这样当你试图连上网时,服务器就会立刻认出你、阻止你连上网络。
Matlab中的mdl文件怎么打开
1、有一个已经编写好的mdl文件需要被模型调用。
2、在Simulink中新建一个New Model,将“Simulink Library Browser”中的“Model”元件拖入新建的界面中。
3、双击Model,进行参数设置。其中,“Model name”中要填入“Test.mdl”,但是,如果没有关联引用的mdl文件所在路径,则无法打开。
4、通过“Browse…”,选择mdl文件,如果没有关联路径,会提示,选择“Add Path”即可。
5、随后就可以把mdl文件打开。
python读取文件拼接数据发送请求
1、首先打开Pycharm,新建一个demo项目,项目下新建一个Python文件。
2、其次把要请求参数拼接到URL后面,请求参数写到params里。
3、最后使用字符串入参去请求post发送即可。

更多文章:
unlikely(not likely和unlikely含义一样吗)
2025年10月23日 20:45
kindeditor 在dialog中居中(在Iframe中使用jquery ui dialog 怎么使弹出窗口居于浏览器中间)
2025年7月27日 23:15
ASP.NET MVC 4框架揭秘:Controller类型的缓存?RxCache缓存框架
2026年6月1日 06:00
java编程工具免费(请问java编写程序除了用eclipse,还可以用什么我主要是想做web前端的,有没有什么视图化的软件啊)
2025年8月4日 12:30
memcached性能(PHP中4个加速,缓存扩展的区别和选用建议)
2025年9月8日 08:45
2 3表示什么python(python语句:print(*[1,2,3]),是什么意思)
2026年8月14日 22:30
java下载了打不开(为什么下载了java也玩不了我的世界)
2026年5月17日 05:15
timeformat函数(GetTimeFormat怎么用,各个参数尤其是最后一个有点看不懂)
2025年11月13日 04:30
sqlite3规则(sqlite3数据库 运行一段时间后 命令行操作出现:Error:unsupported file format)
2025年10月25日 22:45
extensional mentality的意思(mentality是什么意思)
2026年1月6日 13:00











