标签: delphi-7

如果我只有BDE别名,如何获得Interbase密码?

我试图通过BDE在运行时连接到Interbase DB.我试图在一个无形的项目(但不是一个控制台应用程序)中这样做.别名是已知的.我从注册表中检索别名.示例:MyAlias.

//create alias params list  
AParams:= TStringList.Create;  

//create a session to get alias parameters  
ASession:= TSession.Create(nil);  
ASession.SessionName := 'MainSession';  
try  
 ASession.GetAliasParams(tmpAlias, AParams);  
finally  
 ASession.Free;  
end;  


//connect to database 
dbMain:= TDatabase.Create(nil);  
with dbMain do  
begin  
 //AliasName:= 'MyAlias';  
 DatabaseName:= 'test';  
 LoginPrompt:= False;  
 Params.Assign(AParams);  
 try  
  Connected:=True;  
  if Connected then ShowMessage('Connected!') else ShowMessage('Failed to Connect!');    
 finally  
  Free;  
 end; //try  
end;//with  

//free alias params list  
AParams.Free;
Run Code Online (Sandbox Code Playgroud)

无论如何,它看起来不像Session.GetParams实际获得密码.我如何获得密码?如果我知道别名,有没有办法从BDE获取所有连接信息并建立连接?如果客户端将来更改用户名和密码,我宁愿不对其进行硬编码.

delphi interbase bde delphi-7

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

如何避免图像被按钮隐藏

我在一个bitbutton的右上角保留了一个TImage组件.在加载Form时,图像的某些部分被隐藏在按钮中,就像在图像中一样.如何避免这种情况.并告诉我如何找到一个按钮的角落,以便我可以正确放置我的图像,以便在动态加载按钮的情况下正确显示通知.

在此输入图像描述

你的拉克什.

delphi delphi-7

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

Delphi 7中的用户语言支持

我的程序是用Delphi 7编写的,我想避免俄语或中文,韩语尝试使用我的软件,因为文件路径包含Unicode字符,我的程序无法处理它们(只要我不在我的程序上移植我的程序)新的Delphi版本支持UNICODE).

如何在Delphi 7中编写检测"Unicode语言"的函数?

delphi delphi-7 internationalization

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

将字符串类型定义为特定格式

我想知道是否有一种方法可以在delphi 7中定义一种类型的字符串或类似字符串,它是以特定格式,还是匹配某些规范?例如,我想限定TSizeString它接受值,如类型4x69x12或者甚至2.5x10.75.它应该要求x作为两个数字之间的唯一分隔符.所以不应该像什么x9652-44-6x6-2甚至没有4 x 6.

只是INTEGER + 'x' + INTEGERSINGLE + 'x' + SINGLE.

类似我猜想TFilename的工作方式,标准文件名可能看起来像C:\MyPath\MyFile.txt\\Storage\SomeDir\SomeFile.doc

delphi string casting delphi-7

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

使用EC软件帮助套件(EHS)的Delphi中的HTML帮助

我正在使用EC软件帮助套件(EHS)和Delphi 2010,我试图使用HelpROuter组件显示HTML帮助文件(*.chm)

procedure TfrmMain.Button3Click(Sender: TObject);
begin
 //load CHM file here
 HelpRouter1.Helpfile:= ExtractFilePath(Application.ExeName) + 'VPUCDS.chm';
 HelpRouter1.HelpContent;
end;
Run Code Online (Sandbox Code Playgroud)

它不显示帮助文件.我究竟做错了什么?

delphi delphi-7 delphi-2010

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

Delphi7 Canvas.TextOut无法编写新行

我试图用新行替换所有"#"来绘制:

Canvas.TextOut(0,0,''+StringReplace('a#b','#',#13#10,[rfReplaceAll]));
Run Code Online (Sandbox Code Playgroud)

但没什么.
TextOut打印"a#b"就像被替换的部分甚至不存在(但它确实存在):ab
而不是这样:

a
b
Run Code Online (Sandbox Code Playgroud)

#13#10是新行(Windows)对吗?
那为什么这不起作用?

谢谢.

delphi newline delphi-7

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

关闭应用程序时出现内存错误

在Delphi 7中关闭应用程序时,出现以下错误:

“ 0x011c34a6处的指令引用了0x018333f4处的内存。无法读取该内存。”

知道是什么原因导致此问题吗?

delphi delphi-7

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

在Delphi线程中,何时释放内存?

线程已分配

FreeOnTerminate := true;
Run Code Online (Sandbox Code Playgroud)

我知道它的内存会在终止时被释放,但终止事件何时会发生?

或者,以更通用的方式,何时释放与某个线程相关的内存?

delphi multithreading delphi-7

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

Delphi快加大整数?

function AddNumStrings (Str1, Str2 : string): string;
var
  i : integer;
  carryStr : string;
  worker : integer;
  workerStr,s : string;

  begin
  Result := inttostr (length(Str1));
  Result := '';
  carryStr := '0';

  // make numbers the same length
 s:=StringofChar('0',Length(Str1)-1);
 Str2:=s+Str2;

  i := 0;
  while i < length(Str1) do
  begin
    worker := strtoint(copy(Str1, length(str1)-i, 1)) +
              strtoint(copy(Str2, length(str2)-i, 1)) +
              strtoint (carryStr);
    if worker > 9 then
    begin
      workerStr := inttostr(worker);
      carryStr := copy(workerStr, 1, 1);
      result := copy(workerStr, 2, 1) + …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

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

在编辑框中输入文本时需要启用按钮

我想使用2个TEdit项目和一个按钮.如何检查所有编辑是否具有某些文本值.之后我想激活一个按钮.

主要形式Onshow事件:Btn1.Enabled:= false;

如果Edit1.text + Edit2.text有值,那么btn1.enabled:= true?

谢谢您的帮助!

delphi delphi-7

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