home *** CD-ROM | disk | FTP | other *** search
- {
- This example script allows edit any host(s) metavariable from host's context menu
- }
-
- program Toggle_state;
- var tmi:TNVMenuItem;
- hst:TNVHost;
- v,v1,v2:integer;
- varname,vardata:string;
- begin
- hst:=TNVHost.create;
- tmi:=TNVMenuItem.create;
- tmi.flags:=NVMENUFLAG_CONTEXT;
- tmi.msg:=$852;
- tmi.txt:='Edit any metavariable';
- tmi.Refresh;
- varname:=ReadIni('EditAnyVar.nvs','LastVarName','cdesc');
- repeat
- v:=WaitEvent(v1,v2);
- if(v=tmi.msg)then
- begin
- hst.GetHost(0,NVOBJ_SELECTED);
- if(hst.id<>0)then
- begin
- if(InputQuery('Metavariable name','Enter name of the host''s metavariable to be edited:',varname))then
- begin
- vardata:=hst.GetMetaVar(varname);
- if(InputQuery('Metavariable value','Enter new '''+varname+''' value:',vardata))then
- begin
- hst.nextid:=0;
- repeat
- hst.GetHost(hst.nextid,NVOBJ_SELECTED);
- if(hst.id<>0)then
- begin
- hst.SetMetaVar(varname,vardata);
- Action(NVACTION_SETSTATE,hst.id);
- end;
- until hst.nextid=0;
- end;
- end;
- end;
- end;
- until v=0;
- WriteIni('EditAnyVar.nvs','LastVarName',varname);
- tmi.Delete;
- tmi.Free;
- hst.Free;
- end.
-