|
I think you asked like this question yesterday,right?
|
|
|
|
|
siddharthsan wrote: I have to get the filename...
What filename?
siddharthsan wrote: I cannot use CFileDialog because FlashPlayer is already having a dialog.
Since when are dialogs a limited resource?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hi all,
My application was binding to a specific address earlier, but now there is a requirement of binding it to INADDR_ANY, the problem which i'am facing while binding to INADDR_ANY is...the client can able to listen to the data coming from main IP of server i.e
for ex: my server system is having 7 IP's like 172.16.8.1 to 172.16.8.7, and main IP is 172.16.8.1...if client is connecting with 172.16.8.1 it works fine...but if it is connecting with other IP's, client is unable to listen to the data coming from other IPS.
Can any one suggest me a solution for this
mpk1979
|
|
|
|
|
If you bind to INADDR_ANY how will the other end know what address to send to?
|
|
|
|
|
Please consider this example:
#include <vector>
#include <list>
#include <algorithm>
using namespace std;
...
list <int> nums;
list <int> ::iterator nums_iter;
nums.push_back (3);
nums.push_back (7);
nums.push_front (10);
nums_iter = find(nums.begin(), nums.end(), 3);
if (nums_iter != nums.end())
{
cout << "Number " << (*nums_iter) << " found." << endl;
}
else
{
cout << "Number not found." << endl;
}
Here the elements are of type "int". So we can directly make a "find". But what if the pushed elements are objects? or struct variables?
for example:
typedef struct myStruct
{
int x;
int y;
}myStruct_t
myStruct_t mySObj; mySObj.x=10;mySObj.y=20;
list <myStruct_t> lst_mySObj;
list <myStruct_t>::iterator mySObj_iter;
How do I do the rest of the rest of the things?
Like this :???
mySObj_iter = find(lst_mySObj.begin(), lst_mySObj.end(),mySObj.x );
Not sure
*
|
|
|
|
|
Astricks wrote: typedef struct myStruct
{
int x;
int y;
}myStruct_t
In this case,class/struct should have operator == defined.
Which takes care of rest of the things.
Let me modify your code like this,
typedef struct myStruct
{
int x;
int y;
bool operator == (const myStruct rhs)
{
return ((x==rhs.x) && (y== rhs.y));
}
}myStruct_t ;
Now your code work with this structure.
|
|
|
|
|
Nice, it compiles now. Thanks. Now, the "find" doesn't work ! anyway thanks I've moved a step up.
list <myStruct_t> lst_mySObj;
for(int i=1;i<=20;i++)
{
myStruct_t mySObj;
mySObj.x =i;
mySObj.y=i;
}
myStruct_t mySObjFind;
mySObjFind.x =5;
mySObjFind.y=5;
list<myStruct_t>::iterator mySObj_iter;
;
;
mySObj_iter = find(lst_mySObj.begin(), lst_mySObj.end(),mySObjFind );
;
;
;
*
|
|
|
|
|
How have you defined the operator == on your struct?
|
|
|
|
|
Yes:
typedef struct myStruct
{
int x;
int y;
bool operator == (const myStruct rhs)
{
printf("\n%d,%d-%d,%d",rhs.x,rhs.y,x,y);
return ((x==rhs.x) && (y== rhs.y));
}
}myStruct_t;
*
|
|
|
|
|
It looks ok, but normally we would not pass a copy, try changin it to this
bool operator == (const myStruct& rhs) not that it should make a difference.
|
|
|
|
|
I changed it to reference type, but still doesn't work
I tried to print them :
for (mySObj_iter=lst_mySObj.begin(); mySObj_iter != lst_mySObj.end(); mySObj_iter++)
{
printf("\n%d",(*mySObj_iter).x);
}
Even this doesn't work
*
|
|
|
|
|
I think you forgot to add the object to list, Following code works perfectly for me,
typedef struct myStruct
{
int x;
int y;
bool operator == (const myStruct rhs)
{
return ((x==rhs.x) && (y== rhs.y));
}
}myStruct_t ;
int main()
{
list<myStruct_t> nums;
list<myStruct_t>::iterator nums_iter;
for(int i=1;i<=20;i++)
{
myStruct_t mySObj;
mySObj.x =i;
mySObj.y=i;
nums.push_back(mySObj);
}
myStruct_t mySObj;
mySObj.x =5;
mySObj.y=5;
nums_iter = find(nums.begin(), nums.end(), mySObj);
printf("\nHere%d\n",(*nums_iter).x);
if (nums_iter != nums.end()){
cout << "Number " << "a" << " found." << endl;
}else
{ cout << "Number not found." << endl;} }
|
|
|
|
|
|
Often the biggest headaches come from the simplest of mistakes
|
|
|
|
|
Hi,
I want to enumerate identifiers of menu items of MS-Office apps & Internet Explorer. I found MS-Office apps share resources stroed in some dll (MSO.dll, may be wrong). So can anybody help.
Thanks a lot!
- Santosh.
-- modified at 0:58 Thursday 8th February, 2007
|
|
|
|
|
Regards,
Chinna.
-- modified at 3:42 Thursday 8th February, 2007
|
|
|
|
|
Kotesh.N wrote: Why __cdecl Calling convention set to be Default.
what do you want to know abt it
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
thanks for helpin me out yesterday guys.
guys can uyou help me with this.
How can the following fuction can happen:
on Buttin click Save, the text file present in the Dialog box's-Edit box should be saved.I am getting junk when savoin the file.what are the required changes needed to make in the code given below.
void CReadDlg::OnSave()
{
char szFilters[]="MyType Files (*.txt)|*.txt|All Files (*.*)|*.*||";
CFileDialog fileDlg (false,"txt", "*.txt",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
fileDlg.DoModal();
// TODO: Add your control notification handler code here
UpdateData(true);
HANDLE hFile = NULL;
DWORD dwBufSize=BUFSIZE;
BOOL bRet;
DWORD dwBytesWritten;
char buffer[BUFSIZE];
hFile = CreateFile(fileDlg.GetPathName(),
GENERIC_WRITE |GENERIC_READ,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
//m_ed = fileDlg.GetPathName();
//m_text_ctrl=buffer[BUFSIZE];
m_text_str = buffer;
bRet = WriteFile(hFile,
buffer,
BUFSIZE,
&dwBytesWritten,
NULL);
m_text_ctrl.SetWindowText(buffer);
if( hFile!=NULL )
{
CloseHandle(hFile);
hFile = NULL;
}
}
shashank
|
|
|
|
|
guys can uyou help me with this.
Yes. But first please fix your display name so we know who we're talking to.
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: fix your display name so we know who we're talking to
|
|
|
|
|
can u guys give tell me the solution ,now that i have updated my name.
guys can you help me with this.
How can the following fuction can happen:
on Buttin click Save, the text file present in the Dialog box's-Edit box should be saved.I am getting junk when savr the file.what are the required changes needed to make in the code given below.
void CReadDlg::OnSave()
{
char szFilters[]="MyType Files (*.txt)|*.txt|All Files (*.*)|*.*||";
CFileDialog fileDlg (false,"txt", "*.txt",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
fileDlg.DoModal();
// TODO: Add your control notification handler code here
UpdateData(true);
HANDLE hFile = NULL;
DWORD dwBufSize=BUFSIZE;
BOOL bRet;
DWORD dwBytesWritten;
char buffer[BUFSIZE];
hFile = CreateFile(fileDlg.GetPathName(),
GENERIC_WRITE |GENERIC_READ,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
//m_ed = fileDlg.GetPathName();
//m_text_ctrl=buffer[BUFSIZE];
m_text_str = buffer;
bRet = WriteFile(hFile,
buffer,
BUFSIZE,
&dwBytesWritten,
NULL);
m_text_ctrl.SetWindowText(buffer);
if( hFile!=NULL )
{
CloseHandle(hFile);
hFile = NULL;
}
}
sagar
|
|
|
|
|
Siddam wrote: char buffer[BUFSIZE];
hFile = CreateFile(fileDlg.GetPathName(),
GENERIC_WRITE |GENERIC_READ,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
//m_ed = fileDlg.GetPathName();
//m_text_ctrl=buffer[BUFSIZE];
m_text_str = buffer;
bRet = WriteFile(hFile,
buffer,
BUFSIZE,
&dwBytesWritten,
NULL);
m_text_ctrl.SetWindowText(buffer);
I cannot see buffer is initialized by something. Obviously, its going to have junk.
|
|
|
|
|
value of buffer is ? and also I think m_text_ctrl(editbox) is null
|
|
|
|
|
Could you find problem(buffer) ?
|
|
|
|
|
hi! All
I need to update the child dialog window from some other window how can i do I have did the folllowing for that.
//the following dialog having the listview control on event(NM_CLICK) of that listitem the other
window show.
i have did the following way.
LRESULT CALLBACK GlobaListProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
.
.
.
.
.
.
case WM_NOTIFY:
{
switch(LOWORD(wParam))
{
case IDC_LIST4:
LPNMLISTVIEW pnm = (LPNMLISTVIEW)lParam;
if(pnm->hdr.hwndFrom == hList &&pnm->hdr.code == NM_CUSTOMDRAW)
{
return TRUE;
}
if(((LPNMHDR)lParam)->code == LVN_KEYDOWN)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)lParam;
if( pLVKeyDow->wVKey == VK_DELETE )
{
int iSlected=0;
iSlected=SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED);
if(iSlected==-1)
{
MessageBox(hList,_T("No Items in ListView"),_T("Error"),MB_OK|MB_ICONINFORMATION);
break;
}
ListView_DeleteItem(hList,iSlected);
}
}
if(((LPNMHDR)lParam)->code == NM_RCLICK)
{
HMENU hMenu = LoadMenu (NULL, MAKEINTRESOURCE (IDR_MENU1));
HMENU hPopupMenu = GetSubMenu (hMenu, 0);
POINT pt;
SetMenuDefaultItem (hPopupMenu, -1, TRUE);
GetCursorPos (&pt);
TrackPopupMenu (hPopupMenu,TPM_LEFTALIGN, pt.x, pt.y, 0, hDlg, NULL);
DestroyMenu (hPopupMenu);
DestroyMenu (hMenu);
}
<code>
if(((LPNMHDR)lParam)->code == NM_CLICK)
{
iSelect=SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED);
if(iSelect==-1)
{
break;
}
index=iSelect;
ShowWindow(hWndinoutfiledir,SW_HIDE);
ShowWindow(hwndEncrypt,SW_HIDE);
ShowWindow(hwndSplit,SW_HIDE);
ShowWindow(hwndUpload,SW_HIDE);
<big>ShowWindow(hwndTagEditorDlg ,SW_SHOW);</big> UpdateWindow(hwndTagEditorDlg);
} </code>
break;
}
}
break;
}
LRESULT CALLBACK TagEditorProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
Utility util;
switch(message)
{
case WM_INITDIALOG:
if(_ProtectSet[index].listviewIndex==index)
{
SetDlgItemText(hDlg,IDC_EDIT_ARTIST,util.ConvertStringToWCHAR(_ProtectSet[index].artist));
SetDlgItemText(hDlg,IDC_EDIT_ALBUM,util.ConvertStringToWCHAR(_ProtectSet[index].album));
SetDlgItemText(hDlg,IDC_EDIT_COPYRIGHT,util.ConvertStringToWCHAR(_ProtectSet[index].copyright));
SetDlgItemText(hDlg,IDC_EDIT_AUTHOR,util.ConvertStringToWCHAR(_ProtectSet[index].author));
SetDlgItemText(hDlg,IDC_EDIT_GENRE,util.ConvertStringToWCHAR(_ProtectSet[index].genre));
SetDlgItemText(hDlg,IDC_EDIT_DESCRIPTION,util.ConvertStringToWCHAR(_ProtectSet[index].desc));
}
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_SAVE_TAG:
_ResideId3TagForSelectedFile(hDlg);
break;
}
break;
}
return FALSE;
}
void _ResideId3TagForSelectedFile(HWND hDlg)
{
static int i=0;
Utility util;
TCHAR buff[MAX_PATH];
ListView_GetItemText(hList,index,0,(LPWSTR)&buff,MAX_PATH);
std::wstring buff_input(buff);
std::string compare(buff_input.begin(),buff_input.end());
WCHAR w_Artist[MAX_PATH],w_Title[MAX_PATH],w_Album[MAX_PATH],w_Year[MAX_PATH],w_Copyright[MAX_PATH],w_Author[MAX_PATH];
WCHAR w_Gener[MAX_PATH],w_Desc[MAX_PATH];
string str_Artist,str_Title,str_Album,str_Year,str_Copyright,str_Authour,str_Gener,str_Desc;
GetDlgItemText(hDlg,IDC_EDIT_ARTIST,w_Artist,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_TITLE,w_Title,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_ALBUM,w_Album,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_YEAR,w_Year,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_COPYRIGHT,w_Copyright,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_AUTHOR,w_Author,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_GENRE,w_Gener,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_DESCRIPTION,w_Desc,MAX_PATH);
str_Artist=util.ConvertWCHARToString(w_Artist);
str_Title=util.ConvertWCHARToString(w_Title);
str_Album=util.ConvertWCHARToString(w_Album);
str_Year=util.ConvertWCHARToString(w_Year);
str_Copyright=util.ConvertWCHARToString(w_Copyright);
str_Authour=util.ConvertWCHARToString(w_Author);
str_Gener=util.ConvertWCHARToString(w_Gener);
str_Desc=util.ConvertWCHARToString(w_Desc);
int int_Year=atoi(str_Year.c_str());
_ProtectSet[i++].Exchangedata(index,compare,str_Artist,str_Title,int_Year,str_Album,str_Copyright,str_Authour,str_Gener,str_Desc);
}
detail
so once i click on the lisitem view it will call/display other window. for that i saved all that tag in the object respectively filename and index of listview. i have taken static int i for object stored. then when i finished each item with corrsponding itemlist for all tags.
when i context switch in the listview from one lits item to other it couldnt display the respective tags for the particular file. is there any missed thing?
Amit
|
|
|
|
|