Hi,

Can someone help me please?

I am trying to do a dialog with a textbox where I will type a text, and i would like to get that text and put in "setValue(text)" to set value of the attribute, I had found one script and I've used some parts but it appear error in line 65 "__toString(dlg.getDlgText("Text0"))". How can I get the text from the textbox and insert it in the var inside the "setValue()"?

// --------------------------------------------------------
// Script para mudar valores de Atributos não editáveis
// modelos e objetos de um certo grupo
// 
// --------------------------------------------------------
 
function main()
{
  var sname = new __holder("");
 
  userdlg();
    
  var ogroups = undefined;   var oattribute = undefined;   var ocurrentmodel = undefined;   var ocurrentobjdef = undefined;   var omodels = undefined;   var oobjects = undefined;   var ogroup = null; 
  var i = undefined;   var j = undefined;   var numberofobjects = 0;
  var atributo =  0;
  var atributo2 =  0;
  
  var g_nLoc = Context.getSelectedLanguage();
  ogroups = ArisData.getActiveDatabase().GroupList(ArisData.getSelectedGroups()[0]);
   
  for ( i = 0 ; i < ogroups.length; i++ ){
    ogroup = ogroups[i];
    omodels = ogroup.ModelList(true);
 
    for ( j = 0 ; j < omodels.length; j++ ){
      ocurrentmodel = omodels[j];
      var creator = ocurrentmodel.Attribute(Constants.AT_CREATOR,g_nLoc);
      creator.setValue(sname);
    }
 
    omodels = null;
 
    oobjects = ogroup.ObjDefList();
    for ( j = 0 ; j < oobjects.length; j++ ){
      ocurrentobjdef = oobjects[j];
      var creator = ocurrentobjdef.Attribute(Constants.AT_CREATOR,g_nLoc);
      creator.setValue(sname);
    }
    oobjects = null;
  }
   
  ogroups = null;
}
 
function userdlg()
{
  var nuserdlg = 0;   // Variable for the user dialog box
  //var sattrstr = __createArray("");   // List of strings of selectable attributes.
   
  var userdialog = Dialogs.createNewDialogTemplate(0, 0, 300, 200, "Troca de Valores");
     
  userdialog.Text(20, 100, 460, 20, "Digite o novo valor para troca");
  userdialog.TextBox(20, 130, 530, 20, "Text0", 0);
  userdialog.OKButton();
  userdialog.CancelButton();
 // userdialog.HelpButton("HID_c8746560_2f2f_11d9_017b_e10284184242_dlg_01.hlp");
 
  var dlg = Dialogs.createUserDialog(userdialog); 
  var sSection = "Process_Office/348b7ef0-944f-11e1-5844-00505637013f";  
   
  ReadSettingsDlgValue(dlg, sSection, "Text0", 1);
  nuserdlg = Dialogs.show(dlg);
  // Showing dialog and waiting for confirmation with OK
  if (nuserdlg != 0){
      sname = __toString(dlg.getDlgText("Text0"));
     
    // Write dialog settings to config 
    WriteSettingsDlgValue(dlg, sSection, "Text0");
  }
  return (nuserdlg != 0)
}
main();

Regards,

Jack

 or register to reply.

Notify Moderator