Powerbuilder - 获取唯一文件名

时间:2017-01-24 09:37:16

标签: powerbuilder

我正在寻找如何在Powerbuilder 11版本中获取唯一文件名的代码。我正在使用该功能。我使用以下代码,但没有工作

FUNCTION integer GetTempFileName (ref string tempdir, ref string prefix, integer seed, ref string tempfile ) LIBRARY "kernel32" alias for "GetTempFileNameW"

string ls_prefixe = "app"
integer li_seed = 0
string ls_filename
ls_filename = space(256)

li_rc = GetTempFileName(ls_tempdir, ls_prefixe, li_seed, ls_filename)
IF li_rc = 0 THEN
    MessageBox("Oups", "Error")
ELSE
    MessageBox("Unique filename", ls_filename)
END IF

2 个答案:

答案 0 :(得分:1)

这有效:

全球外部功能:

FUNCTION integer GetTempFileName (ref string tempdir, ref string prefix, integer seed, ref string tempfile ) LIBRARY "kernel32" alias for "GetTempFileNameA;ANSI"

代码:

integer li_rc 
string ls_tempdir = "c:\temp\"
string ls_prefixe = "app"
integer li_seed = 0
string ls_filename

ls_filename = space(256)

li_rc = GetTempFileName(ls_tempdir, ls_prefixe, li_seed, ls_filename)
IF li_rc = 0 THEN
   MessageBox("Oups", "Error")
ELSE
   MessageBox("Unique filename", ls_filename )
END IF

答案 1 :(得分:0)

为什么不使用PowerBuilder来执行此操作而不是Windows API?您可以使用Randomize方法轻松生成随机值。由于输出是整数,因此您可以生成多个值并将它们连接在一起。

示例:

String(Randomize(0)) + String(Randomize(0))

然后将其用作文件名。