_uf_ComProps.pas

unit _uf_ComProps;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, xocLabel, ExtCtrls, Registry,ShellApi;

type
  T_FCOM_PROPS = class(TForm)
    AA_0534_btSave: TButton;
    AA_0569_Btncanz: TButton;
    eComNameTABcap: TTabControl;
    AA_0591_Label1: TLabel;
    Label2: TLabel;
    eComPASSA: TEdit;
    oComImage: TImage;
    Bevel3: TBevel;
    eIDD: TEdit;
    Panel1: TPanel;
    AA_0592_ccGoWeb: TCheckBox;
    eeWeb: TLabel;
    AA_0608_Label3: TLabel;
    AA_0609_Label4: TLabel;
    eeRules: TLabel;
    AA_0590_Label6: TLabel;
    eeForum: TLabel;
    AA_0610_Label8: TLabel;
    eeChatBox: TLabel;
    eeDesc: TLabel;
    DeficoImage: TImage;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure AA_0569_BtncanzClick(Sender: TObject);
    procedure AA_0534_btSaveClick(Sender: TObject);
    procedure eeWebClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    vTM:TListItem;
    vND:TTreeNode;
  end;

var
  _FCOM_PROPS: T_FCOM_PROPS;

implementation

uses _uc_refs_vars, _uc_refs_consts, _uc_funcs, Unit1, _uf_xoc_model,
  _uc_GuiLanG;

{$R *.DFM}

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
procedure T_FCOM_PROPS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;

//------------------------------------------------------------------------------
procedure T_FCOM_PROPS.FormShow(Sender: TObject);
var
i:integer;
FRX:T_FrameXOC;
sName:String;
begin


FRX:=nil;

  if (vND<>nil) then
  begin
  sName:=vND.Text;

      for i:=0 to _FXOC_MAIN.PaneLxocTABS.ComponentCount-1 do
      if (T_FrameXOC(_FXOC_MAIN.PaneLxocTABS.Components[i]).Hint=sName) then
      begin
      FRX:=T_FrameXOC(_FXOC_MAIN.PaneLxocTABS.Components[i]);
      break;
      end;

  end;





     if (vTM<>nil) then
     begin
     eComNameTABcap.Tabs.Text :=' '+vTM.Caption+' ';
     eIDD.Text             :=vTM.sava_f;
     eComPASSA.Text        :=vTM.uzr_id;
     AA_0592_ccGoWeb.Checked :=(vTM.pat_n[1]='1');
     oComImage.Picture.Icon:=DeficoImage.Picture.Icon;
     end
     else
     if (vND<>nil) then
     begin
     eComNameTABcap.Tabs.Text :=' '+vND.Text+' ';
     eIDD.Text             :=vND._EXO_NODE_COM_IDX;
     eComPASSA.Text        :=vND._EXO_NODE_USER_ID;
     AA_0592_ccGoWeb.Checked :=(vND._EXO_NODE_20BOOLS[11]='1');

     if (FRX<>nil) then oComImage.Picture.Icon:=FRX.ComLogoImage.Picture.Icon
                   else oComImage.Picture.Icon:=DeficoImage.Picture.Icon;

     eeDesc.Caption:=vND._EXO_NODE_MESSAGE;
     eeWeb.Caption:=vND._EXO_NODE_COM_IDX;
     eeRules.Caption:=vND._EXO_NODE_COM_IDX;
     eeForum.Caption:=vND._EXO_NODE_COM_IDX;
     eeChatBox.Caption:=vND._EXO_NODE_PATH_NB;
     end
     else ShowMessage('Error properties sender');

//if ccGoWeb.Checked then ccGoWeb.Tag:=1 else ccGoWeb.Tag:=0; // to remember default for node sender
end;

//------------------------------------------------------------------------------
procedure T_FCOM_PROPS.AA_0569_BtncanzClick(Sender: TObject);
begin
close;
end;

//------------------------------------------------------------------------------
procedure T_FCOM_PROPS.AA_0534_btSaveClick(Sender: TObject);
var
Reg:TRegistry;
val,sComUrl:String;
sUzerSET :String[3];
c:Char;
begin


if (AA_0592_ccGoWeb.Checked) then c:='1' else c:='0';




     if (vTM<>nil) then
     begin
     sComUrl:=vTM.sava_f;
     vTM.uzr_id:=eComPASSA.Text; // save soon in start Box
     vTM.pat_n[1]:=c;

     sUzerSET:=vTM.pat_n;
     end
     else
     if (vND<>nil) then
     begin
     sComUrl:=vND._EXO_NODE_COM_IDX;
     vND._EXO_NODE_USER_ID:=eComPASSA.Text; // save soon at Node
     vND._EXO_NODE_20BOOLS[11]:=c;

     sUzerSET:=copy(vND._EXO_NODE_20BOOLS,11,3);
     end
     else ShowMessage('error_setting_com_properties');





           //------------save com Login Password   to registry
           Reg := TRegistry.Create;
           try
           if Reg.OpenKey('\Software\'+_APPLICATION_REGISTRY_NAME+'\Communities',true) then
           begin
           val:=reg.ReadString(sComUrl);
           val:=SetStringBetween(val,'$µC','$µD',eComPASSA.Text);
           val:=SetStringBetween(val,'$µE','$µF',sUzerSET);
           reg.WriteString(sComUrl,val);
           Reg.CloseKey;
           end;
           finally Reg.Free; end;



(*  no need ....
// if sender is node then user wants web, give him web
if ( (vND<>nil)and(ccGoWeb.Tag=0)and(ccGoWeb.Checked) ) then
CreateComsOwnWebTab(vND.Text,vND._EXO_NODE_COM_IDX,vND._EXO_NODE_PATH_NB);

*)


Close;
end;

//------------------------------------------------------------------------------
procedure T_FCOM_PROPS.eeWebClick(Sender: TObject);
begin
ShellExecute(0,'open',pchar(TLabel(Sender).Caption),nil,nil,SW_SHOWNORMAL);
end;

//------------------------------------------------------------------------------
procedure T_FCOM_PROPS.FormCreate(Sender: TObject);
begin
GoSetLANG(Self); //----- go loadLang --- if ok  (1st here)
Caption:='ExoSee - '+___ccc__0044__ComProps;
if NOT(_VV_THE_LANGUAGE_FILE_EXISTS) then exit;
AA_0608_Label3.Caption:=AA_0608_Label3.Caption+' :';
AA_0609_Label4.Caption:=AA_0609_Label4.Caption+' :';
AA_0610_Label8.Caption:=AA_0610_Label8.Caption+' :';
end;

end.





../delphi71code/exosee-code-source/uf_comprops-pas..