使用Delphi 7,无论如何强制输入框只允许从0到100的数字输入?
谢谢!
假设我的程序中有一个重要的密码,我想让它更安全,例如:
ftp.password := 'mypassword';
Run Code Online (Sandbox Code Playgroud)
大约8年前,我用"破解东西"来获得乐趣,所以我很容易通过使用OllyDbg找到了这样的东西.
我需要知道的是,是否有办法让这件东西不被窥探.我想过将密码直接存储到组件中,但是再次不知道它是否会有用.
我需要制作一个简单的闹钟应用程序,而不是播放声音,将文件上传到ftp(让后者弄清楚).事实证明,在执行线程时,定时器无效.
这是我到目前为止所得到的:
var
ttime : tDateTime;
timerstr : string;
timealarm : string;
aThread : TMyThread;
begin
aThread := tMyThread.Create(false);
ttime := Now;
timestr := FormatDateTime('hh:nn:ss', ttime);
timealarm := '09:30:30';
if timestr = timealarm then
aThread.Resume; //The thread will execute once and terminate;
end;
Run Code Online (Sandbox Code Playgroud)
你们能想出另一种方法,让这种命令每天以更有效的方式发生一次吗?
谢谢.
使用简单的代码,例如:
procedure TForm1.cxButton1Click(Sender: TObject);
begin
ftp.Host := 'domain';
ftp.Username := 'user';
ftp.Password := 'password';
ftp.Connect;
ftp.Put('C:\_Projects\testpicture.JPG');
ftp.Quit;
ftp.Disconnect;
end;
Run Code Online (Sandbox Code Playgroud)
我得到以下结果:
我究竟做错了什么?
谢谢.
我需要扫描特定文件夹中的最新文件(基本上检查修改日期以查看哪个是最新的),但请记住,文件具有随机名称.这是我到目前为止所得到的:
procedure TForm1.Button1Click(Sender: TObject);
begin
ftp.Host := 'domain';
ftp.Username := 'username';
ftp.password := 'password';
ftp.Connect;
ftp.Put('random-filename.ext'); //This is where it should grab only the latest file
ftp.Quit;
ftp.Disconnect;
end;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
谢谢!
我已经尝试了一些可用的选项,比如Netcoole的Delphi2CS和TurnSharp.它们都是非常简单的代码,如果你有组件,它将产生大量的错误.我的项目很大,大约1GB,计算所有vcl,源和存储库.是否有这样的工具来进行这种重型转换?谢谢.
procedure TfrmProgress.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_RETURN then
begin
Self.Close;
end;
end;
Run Code Online (Sandbox Code Playgroud)
然后按Enter键,没有任何反应......
编写此代码的不是我,而是以前的程序员.但是,我注意到他没有提供解密算法,导致加密无用.
我怎么解密这个?
function Encrypt(jstr: String): String;
var
I: Integer;
A: Real;
begin
if Length(jstr) = 0 Then begin
Result := '';
Exit;
end;
A := 0;
for I := 0 To Length(jstr) do
A := A + (Ord(jstr[I]) * Pos(jstr[I],jstr)) / 33;
Result := FormatFloat('0000000000.0000000000',A);
if Pos(',',Result) > 0 then begin
Insert('.',Result,Pos(',',Result));
Delete(Result,Pos(',',Result),1);
end;
end;
Run Code Online (Sandbox Code Playgroud)
谢谢!
这是线程内部代码的一部分(或者它可能是一个计时器,无关紧要):
timenow := Now;
strtime := FormatDateTime('hh:nn:ss', timenow);
if frmBackup.getmetime = strtime then
begin
frmBackup.lawl.Position := frmBackup.lawl.Position + 10;
end;
Run Code Online (Sandbox Code Playgroud)
基本上,进度条只是一个测试,知道它执行了多少次.到目前为止,我无法阻止它执行多次.我需要它执行一次(当getmetime = strtime时)然后继续线程/定时器而不执行代码,只在时间到来时再次执行它.
可能?
谢谢!