Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   C++ var "casting" by name! (http://www.go4expert.com/forums/cpp-var-casting-t8811/)

xan8ter 14Feb2008 00:43

C++ var "casting" by name!
 
I have a for loop
and I have 25 var named Case_P1 to Case_P25 in type double
I wanna do it simple as i can i just want show this var value in 25 TextBox named
ECase_1 To ECase_25:
So, i tought it was :
Code:

for (int i =1;i<=25;i++)
{

char *name= ("CaseP" + String(i)).c_str();
double *NV = reinterpret_cast<double*> (name);
E_Case_(i)->Text = String(*NV);
// I want this Case_P(i); Not supposed to be hard?!?!
//Something like that!
E_Case_(i) = Case_P(i);
}

So, i can't use vector or tabs, is an already implemented code! i can't change var types.
thx
Thx you !

:):):)

sanjaik 20Feb2008 18:13

Re: C++ var "casting" by name!
 
Code:

void connectionDlg::OnBtnConnect()
{
        int conResult;
        int pos;
        int oldlen;
        int newlen;
       
        CString ConnectionString,Msg;
        CString IpAddress ,Directory,Password,UserName;

        char tmpLastDrive[100]        =        {""};
        char strmsg[100]                =        {""};
        char tmp;
       
        UpdateData(true); //retrieve data

        for( TCHAR cLetter = _T('A'); cLetter <= _T('Z'); cLetter++ )
        {
                CString sDrive = cLetter;
                sDrive += _T(":");       
               
                /** Determine Whether a disk drive is removal or fix */
                UINT nType = GetDriveType( sDrive + _T("\\") );
               
                /**  GetDriveType fuction Retuen values Drive types               
                        DRIVE_UNKNOWN    0
                        DRIVE_NO_ROOT_DIR 1
                        DRIVE_REMOVABLE  2
                        DRIVE_FIXED      3
                        DRIVE_REMOTE      4
                        DRIVE_CDROM      5
                        DRIVE_RAMDISK    6
                */
       
                if( DRIVE_REMOVABLE <= nType && nType <= DRIVE_RAMDISK )
                {
                        strLastMappedDriveOrHardDisk = sDrive;
                }
        }

        /**
          *        If Connect Dialog is called from withing get path then,
        *        maintain the remote drive string for insertions in
        *        ID_CMB_MAPPED_DRIVES combobox
        */

        if(!bConnectDlgCalledFromGetPath)
        {
                ConnectionString= "net use ";
                ConnectionString = ConnectionString + " * \\\\";
                ConnectionString = ConnectionString + m_strIpAddress +"\\" +  m_strDirectory + " ";
                ConnectionString = ConnectionString + m_strPassword + " ";
                ConnectionString = ConnectionString + "/user:"+m_strUserName;
        }
        else
        {
                strcpy(tmpLastDrive,strLastMappedDriveOrHardDisk);
                tmp = tmpLastDrive[0];
                tmp ++;
               
                ConnectionString= "net use ";
                ConnectionString = ConnectionString + _T(tmp) + ": \\\\" ;
                ConnectionString = ConnectionString + m_strIpAddress +"\\" +  m_strDirectory + " ";
                ConnectionString = ConnectionString + m_strPassword + " ";
                ConnectionString = ConnectionString + "/user:"+m_strUserName;
        }

        /**
        *        Command To Mapping NetWork Drive
        *        net use g: \\192.9.202.113\d$ versa2001 /user:administrator
        */

        /** Fire Network mapping Command */
        conResult = system(ConnectionString);
        if(conResult == 0)
        {
                if(bConnectDlgCalledFromGetPath)
                {
                        strLastMappedDriveOrHardDisk = _T(tmp) ;
                        strLastMappedDriveOrHardDisk = strLastMappedDriveOrHardDisk + _T(":");
                        gMappedDrives[++MappedDriveCounter] = strLastMappedDriveOrHardDisk;
                        bInsertIntoComboBox = true;
                }
               
                Msg = "Connection successful";
                AfxMessageBox(Msg);
       
                sprintf(strmsg,"Drive Number : %d is Mapped Successfully",NoOfMappedDrives);
                m_strMessage = CString(strmsg);

                CEdit * ce = (CEdit *) GetDlgItem(IDC_TXT_IP_ADDRESS);
                ce->SetFocus();
                m_strIpAddress =        "";
                m_strDirectory =        "";
                m_strUserName =                "";
                m_strPassword =                "";
                UpdateData(false);
        }
        else
        {
                /**
                *        Sometime if d$ is mapped and user puts d then
                *        The local device name is already in use
                */
                pos = m_strDirectory.ReverseFind('$');
                if(pos == -1)
                        m_strDirectory = m_strDirectory + "$";
                else
                {
                        oldlen = m_strDirectory.GetLength();
                        newlen = oldlen-1;
                       
                        m_strDirectory.GetBufferSetLength(newlen);
                }
                       
                /** done only if dlg is called  from dlggetpath */
                strcpy(tmpLastDrive,strLastMappedDriveOrHardDisk);
                tmp = tmpLastDrive[0];
                tmp ++;
               
                ConnectionString= "net use ";
                ConnectionString = ConnectionString + _T(tmp) + ": \\\\" ;
                ConnectionString = ConnectionString + m_strIpAddress +"\\" +  m_strDirectory +" ";
                ConnectionString = ConnectionString + m_strPassword + " ";

                ConnectionString = ConnectionString + "/user:"+m_strUserName;
               
                conResult = system(ConnectionString);
                if(conResult == 0)
                {
                        if(bConnectDlgCalledFromGetPath)
                        {
                                strLastMappedDriveOrHardDisk = _T(tmp) ;
                                strLastMappedDriveOrHardDisk = strLastMappedDriveOrHardDisk + _T(":");
                                gMappedDrives[++MappedDriveCounter] = strLastMappedDriveOrHardDisk;
                                bInsertIntoComboBox = true;
                        }

                        Msg = "Connection Successful";
                        AfxMessageBox(Msg);
                }
                else
                AfxMessageBox("There was an error in Connecting");
        }
}



All times are GMT +5.5. The time now is 01:56.