小编HX_*_*ned的帖子

如何使用Windows批处理命令在Jenkins中使用环境变量?

我正在尝试在我的xcopy脚本中使用Jenkins(全局)环境变量.

${WORKSPACE} doesn't work
"${WORKSPACE}" doesn't work
'${WORKSPACE}' doesn't work
Run Code Online (Sandbox Code Playgroud)

windows hudson batch-file jenkins

66
推荐指数
2
解决办法
9万
查看次数

将System Env变量传递给Jenkins Slave

这开始让我发疯了......但似乎我不幸自己想出来:/

我需要设置一个机构共享两个从机之间的字符串值,例如,名为从属和从.

目前我发现的最接近的是这个问题: Jenkins Slave Environment Variable Refresh

但它仍然旨在启用buildcripts中的访问,而不是Slaves环境变量本身.(相关SO问题:如何在Jenkins中使用Windows批处理命令使用环境变量?)

目前我有这个设置:

1)在A上工作A被触发.

它执行这个Windows批处理代码(显然,实际路径被替换为'<>'):

cmd /c start java -jar <path_of_slave>\slave.jar -jnlpUrl  <url_of_slave>/slave-agent.jnlp

setenv.exe /m HOR_BUILD_ID -delete
setenv.exe /m HOR_BUILD_ID %BUILD_NUMBER%
setenv.exe /m HOR_UPSTREAM_ID -delete
setenv.exe /m HOR_UPSTREAM_ID %JOB_NAME%
Run Code Online (Sandbox Code Playgroud)

相当不言自明和直截了当的imho.

2)A上的作业具有上游作业B,即成功构建时触发.因此,在从属B中,B构建执行此批处理代码(显然,实际路径被替换为'<>'):

SetLocal EnableDelayedExpansion

@echo off
@echo --- Refreshing Environemnt variables... 
@echo on
set prgfil=%ProgramFiles(x86)%
call "%WORKSPACE%\..\..\..\tools\misc\resetvars.bat"
@echo --- Reading environment variables... 
copy /y "<path_containing_%HOR_UPSTREAM_ID%_variable" "<path_containing_%HOR_BUILD_ID%_variable" …
Run Code Online (Sandbox Code Playgroud)

continuous-integration environment-variables slave jenkins

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

Delphi中的Windows和提示

今天早上我终于明白了,决定向你求助.问题是在我的Delphi应用程序中根本没有显示任何提示...我已经阅读了关于THintAction的问题,我已阅读指南/教程/手册,试图手动调用提示窗口(触发事件处理程序),但没有任何效果.他们只是没有表现出来.我的想法已经用完......

我试过:在组件,表单,事件处理程序,应用程序activatehint()上设置父showhints ...

有没有其他方法可以做到这一点(当然,API调用除外)?

windows delphi

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

NSIS插件"nsScreenshot"在Windows NT 6.x中不起作用

我添加了一个比原始插件晚3年发布的代码,但它仍然返回错误...

代码是直截了当的......但我仍然很想念一些方面......

看到这段代码:

{
        nsScreenshot NSIS Plugin
        (c) 2003: Leon Zandman (leon@wirwar.com)

        Re-compiled by: Linards Liepins (linards.liepins@gmail.com)
        Code by: http://www.delphitricks.com/source-code/forms/make_a_desktop_screenshot.html
        (e) 2012.
}
library nsScreenshot;

uses
  nsis in './nsis.pas',
  Windows,
  Jpeg,
  graphics,
  types,
  SysUtils;

const
  USER32 = 'user32.dll';

type
  HWND = type LongWord;
  {$EXTERNALSYM HWND}
  HDC = type LongWord;
  {$EXTERNALSYM HDC}
  BOOL = LongBool;
  {$EXTERNALSYM BOOL}

{$EXTERNALSYM GetDesktopWindow}
function GetDesktopWindow: HWND; stdcall; external USER32 name 'GetDesktopWindow';
{$EXTERNALSYM GetWindowDC}
function GetWindowDC(hWnd: HWND): HDC; stdcall; external USER32 name 'GetWindowDC';
{$EXTERNALSYM GetWindowRect}
function …
Run Code Online (Sandbox Code Playgroud)

delphi plugins screenshot nsis delphi-xe

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

以编程方式更新dokuwiki页面内容的选项

SOers!

我在内容修改自动化方面遇到了DokuWiki的一些问题.我需要以编程方式更新页面,在我的情况下,数据源将是文本文件,将进行正则表达式解析,输出将插入到DokuWiki页面中.

到目前为止,我还没有发现任何与此功能有关的内容,但我真的怀疑我只是需要这样的东西,所以再次进入bycicle并不是最好的方式:)

目前这个问题有一些内容:

在Dokuwiki Render插件中访问原始Wiki页面内容

我的子问题是 - 如何使用它来进行内容修改?我有时间浏览整个dokuwiki源代码,所以我希望有一些lego块可以简单地连接在一起,以便在不开发新接口等的情况下实现它.

非常感谢您的回复!

automation dokuwiki

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

从DPR或Delphi中的其他功能/过程访问子功能/过程

我知道 - 子程序的私有访问模式是其父代程序/过程,对吧?

有没有办法从"外部世界" - dpr或单位中的其他功能/程序访问它们?

另外 - 哪种方式需要更多的计算和空间来编译文件?

例如:

function blablabla(parameter : tparameter) : abcde;
 procedure xyz(par_ : tpar_);
 begin
  // ...
 end;
begin
 // ...
end;

procedure albalbalb(param : tparam) : www;
begin
 xyz(par_ : tpar_); // is there any way to make this function public / published to access it therefore enabling to call it this way?
end;

// all text is random.

// also, is there way to call it from DPR in this manner?

// …
Run Code Online (Sandbox Code Playgroud)

delphi access-specifier subroutine

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

TApplicationEvents作为动态组件或静态跟踪Delphi中的调用例程

不幸的是,我没有从我的开发PC中写这个问题所以我可能会犯一些错误.请抱歉...所以 - 我的问题 - 您使用什么方法在应用程序中实现错误记录?

在web(http://delphi.about.com)是很好的事件处理程序,但它只是复制文件中的系统错误,但我想通过捕获内存和堆栈(和处理器信息,如果我有时间)扩展其功能).我是否应该知道我是否动态调用它,而不是在表单上添加其组件?

procedure TForm1.ApplicationEvents1Exception(Sender: TObject; E: Exception) ;
var
   ErrorLogFileName : string;
   ErrorFile : TextFile;
   ErrorData : string;
begin
   ErrorLogFileName := ChangeFileExt(Application.ExeName,'.error.log') ;
   AssignFile(ErrorFile, ErrorLogFileName) ;

   //either create an error log file, or append to an existing one
   if FileExists(ErrorLogFileName) then
     Append(ErrorFile)
   else
     Rewrite(ErrorFile) ;

   try
     //add the current date/time and the exception message to the log
     ErrorData := Format('%s : %s',[DateTimeToStr(Now),E.Message]) ;
     WriteLn(ErrorFile,ErrorData) ;
   finally
     CloseFile(ErrorFile)
   end;

   //Show the exception
   Application.ShowException(E) ;
end; …
Run Code Online (Sandbox Code Playgroud)

delphi static components dynamic event-handling

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

如何在Unicode-by-default Delphi XE Applications的消息对话框中使用ASCII Art符号

我搜索了主题优惠,但没有设法让一个...

对不起,如果我误会了.如果是,请在此处指出正确的问题.

好的,回到商界.情况:我正在使用ShowMessage()作为应用程序中某些事件的简单"状态简报"提供程序:

procedure SatusBriefingDialog();
begin
  if Sender = SomeObject then 
  begin
    Application.NormalizeToMosts;
    MessageDlg(Handle, PChar('The_string_that_forms_nice_informative_window / dialog'));
    Application.RestoreTopMosts;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

现在,我想打磨它,因此我想使用扩展的ascii表,但是,我无法选择访问它们的最佳方式.也许我只是不知道那个神奇的功能......

以下是使用OEMToANSI/OEMToChar和反向功能的方法:http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_20381022.html.我尝试了它们没有运气,因为:

来自EDN/MS-Help的语法

BOOL OemToChar(LPCSTR lpszSrc,LPTSTR lpszDst);

参数

lpszSrc [in]指向OEM定义的字符集中以空字符结尾的字符串的指针.

lpszDst [out]指向已翻译字符串的缓冲区的指针.

如果将OemToChar函数用作ANSI函数,则可以通过将lpszDst参数设置为与lpszSrc参数相同的地址来转换字符串.如果将OemToChar用作宽字符函数,则无法执行此操作.

我需要的是Char(Ord(170)); ,Char(Ord(180)); 和查尔(奥德(190)) - http://www.asciitable.com/.显然,使用默认的WInXP代码页我不能使用它们.现在,我谷歌了一下,找到了这个解决方案:


FormShow事件代码:

procedure TMain.FormShow(Sender: TObject);
var
   i : longint;
begin
  re.Font.Name := 'Terminal';
  re.Font.Size := 9;
//seems that charset must be set last
  re.Font.Charset := OEM_CHARSET;
  re.DefAttributes.Name := 'Terminal';
  re.DefAttributes.Size := 9;
  re.DefAttributes.Charset …
Run Code Online (Sandbox Code Playgroud)

delphi ascii dialog ascii-art delphi-xe

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

Delphi:程序执行和内部过程/函数从CMD调用或在关联的扩展上使用Doubleclick

所以 - 最近我遇到一些问题,确定调用程序的方式,如果在两个时间参数都相同 - 比如:/ something/something.我在runetime将图标与程序相关联,我可以使用cmd来调用它,但是,每当我在相关文件上使用doubleclikc(带图标)时,只需打开程序,但不会调用所需的rotine,因为我没有必要的触发器/属性/参数如果执行双击,而不是运行...> appname.exe/something/something.

你能举出简单的例子,还是从理论上写出所有必需的功能等等.

目前,正如你猜测的那样,我使用ParamStr/ParamCount/blablabla/FindCMDLineSwitch /和其他一些功能......但......仍然... :(

delphi parameters cmd function procedures

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