C++ var "casting" by name!

xan8ter's Avatar, Join Date: Feb 2008
Newbie Member
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 !


Last edited by shabbir; 14Feb2008 at 09:12.. Reason: Code block - http://www.go4expert.com/forums/misc.php?do=bbcode#code
0
sanjaik's Avatar
Light Poster
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");
	}
}

Last edited by shabbir; 20Feb2008 at 18:31.. Reason: Code block