home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2007 April / PCpro_2007_04.ISO / files / dsl / NVinst.exe / Scripts / Scripter / EditAnyVar.nvs < prev    next >
Encoding:
Text File  |  2007-02-10  |  1.1 KB  |  49 lines

  1. {
  2. This example script allows edit any host(s) metavariable from host's context menu
  3. }
  4.  
  5. program Toggle_state;
  6. var tmi:TNVMenuItem;
  7.     hst:TNVHost;
  8.     v,v1,v2:integer;
  9.     varname,vardata:string;
  10. begin
  11. hst:=TNVHost.create;
  12. tmi:=TNVMenuItem.create;
  13. tmi.flags:=NVMENUFLAG_CONTEXT;
  14. tmi.msg:=$852;
  15. tmi.txt:='Edit any metavariable';
  16. tmi.Refresh;
  17. varname:=ReadIni('EditAnyVar.nvs','LastVarName','cdesc');
  18. repeat
  19. v:=WaitEvent(v1,v2);
  20. if(v=tmi.msg)then
  21. begin
  22. hst.GetHost(0,NVOBJ_SELECTED);
  23. if(hst.id<>0)then
  24.  begin
  25.  if(InputQuery('Metavariable name','Enter name of the host''s metavariable to be edited:',varname))then
  26.   begin
  27.   vardata:=hst.GetMetaVar(varname);
  28.   if(InputQuery('Metavariable value','Enter new '''+varname+''' value:',vardata))then
  29.    begin
  30.    hst.nextid:=0;
  31.    repeat
  32.    hst.GetHost(hst.nextid,NVOBJ_SELECTED);
  33.    if(hst.id<>0)then
  34.     begin
  35.     hst.SetMetaVar(varname,vardata);
  36.     Action(NVACTION_SETSTATE,hst.id);
  37.     end;
  38.    until hst.nextid=0;
  39.   end;
  40.  end;
  41.  end;
  42. end;
  43. until v=0;
  44. WriteIni('EditAnyVar.nvs','LastVarName',varname);
  45. tmi.Delete;
  46. tmi.Free;
  47. hst.Free;
  48. end.
  49.