小编Art*_*hur的帖子

在delphi7中安全删除文件

我完成它后,我需要安全地删除我的输入文件,此时我用零覆盖所有数据,这很麻烦,因为我的临时文件夹变满了旧文件,文件名也是安全问题.

我不希望将它们移动到回收站,而是希望它们跳过它并消失,这与字节擦除相关,因为数据恢复软件可以从回收站之外恢复项目.由于名称也很重要,我需要在删除它们之前重命名它们.

delphi security file-io

2
推荐指数
1
解决办法
1312
查看次数

Windows注册表文件关联菜单

我最近(今天)开始在Delphi中使用我的注册表进行meddeling.:)所有工作正常,我的自定义文件类型现在打开我的程序,但有2个问题,我无法解决.

1)我想要从所有文件类型"打开"的选项,所以我添加

  reg := TRegistry.Create;
  reg.RootKey := HKEY_CLASSES_ROOT;
  reg.LazyWrite := false;
  reg.OpenKey('*\OpenWithList\EncryptionSystem', true);
  reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
  reg.CloseKey;
  reg.free;
Run Code Online (Sandbox Code Playgroud)

如果我使用regedit查看注册表,它肯定会出现,但是当我右键单击一个文件并选择打开它时它不存在...

所以我加了这个

  reg.OpenKey('*\shell\Encrypt\command', true);
  reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
  reg.CloseKey;
Run Code Online (Sandbox Code Playgroud)

这适用于每个文件,但选项位于顶部,带有"打开"和"编辑".我有点希望它像大多数程序一样出现在菜单子部分中...我意识到我需要使用shellext但我不理解这些如何与上下文菜单处理程序一起工作的结构...我已经学会了所有无论如何我从阅读注册表...我知道shellext的名称出现在".*"后面,但至于大胡言乱语的含义我不知道.

windows delphi registry shell-extensions

2
推荐指数
1
解决办法
3615
查看次数

如何通过shell打开调用Delphi程序打开多个文件

我目前正在使用:

if ParamStr(1)<>'%1' then
begin
  address.Text:=ParamStr(1);
  autoconfigfile;
end;
Run Code Online (Sandbox Code Playgroud)

获取用于通过文件关联打开文件的文件的名称.

我现在想要开发对多个文件进行操作的能力.即如果我选择5个文件并右键单击并选择打开"EncryptionSystem".我有注册表项:

  reg.OpenKey('*\shell\Encrypt\command', true);
  reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
  reg.CloseKey;
Run Code Online (Sandbox Code Playgroud)

为所有文件添加右键单击打开功能.然后我想要检测的能力

  1. 多少个文件
  2. 每个文件的路径名

delphi parameters filenames command-line

2
推荐指数
2
解决办法
2743
查看次数

数组作为结果类型和函数输入

在delphi7我有一个函数,我需要返回一个数组作为结果类型b

"function createsbox(key:tkey):byte的数组[0..255];" 这是不允许的,它期望"识别器预期但发现阵列"是错误抛出.如果我声明一个记录类型的数组似乎工作正常,但对一个函数这样做似乎没有意义.

arrays delphi function

1
推荐指数
1
解决办法
5273
查看次数

删除临时目录

我有这个代码,

showmessage('C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID);
if removedir('C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID) then
  showmessage('Removed')
else
  showmessage('Failed');
Run Code Online (Sandbox Code Playgroud)

消息显示C:\TEMP\0并且该目录确实存在,因为程序先前创建它并使用其中的文件然后删除它们.我可以看到文件和目录,所以我知道他们在那里.程序成功删除文件但不删除目录.

如果我对其工作的目录进行硬编码 - 这意味着它接受字符串 C:\TEMP\0但不接受C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID两者等同于C:\TEMP\0.我无法对这些目录进行硬编码,所以我该怎么办?如何从字符串+字符串转换removedir()为期望的字符串.我仔细研究了Delphi的基础知识,并期待一个字符串.

我很困惑,因为string + string = string.到底是怎么回事?

delphi directory

1
推荐指数
2
解决办法
2027
查看次数

Php在网页中提交按钮

我最初有这样的提交按钮

<form action="<?php $self ?>" method="post" >
    <input name="search" type="hidden" >
    <INPUT TYPE = "Submit" Name = "Submit1" VALUE = "search">
</form>
Run Code Online (Sandbox Code Playgroud)

它使这个声明成真

if(isset($_POST['Search'])){}
Run Code Online (Sandbox Code Playgroud)

一时间一切都很顺利,然后我将提交按钮设为图像

<form action="<?php $self ?>" method="post" >
    <input name="Search" type="hidden" />
    <INPUT value="Search" TYPE="image" SRC="search.jpg" BORDER="0"  ALT="Search">
</form>
Run Code Online (Sandbox Code Playgroud)

更多时间一切都很好,直到我想把这个按钮变成文本链接..

我在互联网上看了很多东西,在那里我了解到它不能在html中完成但是需要java脚本..所以我试着使用这段代码,但它不再使我的声明真实.

这是我找到的javascript提交按钮

<a href='javaScript:document.FORM_NAME.submit()'>Submit</a>
Run Code Online (Sandbox Code Playgroud)

我对你的两个问题向导有1)我在哪里提交提交的价值?2)如何让这个替换我早期的提交按钮?

html php text submit

1
推荐指数
1
解决办法
3644
查看次数

delphi中的图像缓冲区实现

上下文

我正在绘制画布,它会定期更新并闪烁.逻辑思考我认为这是因为我的重绘方法清除了Canvas,然后一次将一个元素绘制到画布上.所以我的想法是写一个Timage,然后将图片设置为Timage.


信息

这是我的代码

procedure Tmainwindow.Button3Click(Sender: TObject);
var bufferpicture:TImage;
begin

//draw stuff to bufferpicture
  //***
//draw stuff to bufferpicture

myrealpicture.picture:=bufferpicture.picture;

end;
Run Code Online (Sandbox Code Playgroud)

运行代码后,我得到一个错误显示如下. 替代文字


问题 如何将画布设置为另一个画布,因为画布是只读属性?或者有更好的方法来做我想做的事情?

delphi buffer drawing canvas image

1
推荐指数
1
解决办法
1112
查看次数

如何将数据库值输入和输出代码.在Delphi 7中

背景

我正在制作一个简单的程序来记录数据并使用.MDB数据库进行一些计算.通过Jet 4访问.

目标

我希望能够从主键上的sql查询中获取/从任何字段中获取值(一个结果)

当前

我目前已连接到数据库,我可以通过"数据控件"查看编辑数据

如下所示:

在此输入图像描述

如何访问数据库中的数据,以便将值放入合适的变量然后将其写回?

database delphi ms-access delphi-7

1
推荐指数
1
解决办法
9572
查看次数

PHP逻辑如果声明

我有这个代码:

$distance= -1 ;//default
//distance calc
if($dgalaxy = $galaxy){
    if(($dx = $x) && ($dy = $y))
    {
            //inter planitary currently unknown formula
    }else{
            $distance = round(Sqrt(pow(($dx-$x),2)+pow(($dy-$y),2)));//interstllar
    }
}else{//intergalatic
    if ($galaxy < $dgalaxy){
            $distance = (((9-fmod($galaxy,10))*200)+2000+(fmod($dgalaxy,10)*200));//anti clockwise galactic
    }else{
            $distance = (((fmod($galaxy,10))*200)+2000+(fmod(9-$dgalaxy,10)*200));//clockwise galactic
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该为每个计算返回一个值,除了行星间条款.对于星际(当($ dgalaxy = $ galaxy)和x,y坐标不同时)这运行星际公式,这很好.

但是,当$ dgalaxy!= $ galaxy时,它返回-1,这意味着它没有运行任何一个银河距离计算!

我做错了什么,我该如何解决?

php logic

0
推荐指数
1
解决办法
347
查看次数