|
I use wininet to connect on ftp server.
InternetOpen OK.
- InternetOpen(_T("FTP"),INTERNET_OPEN_TYPE_PROXY ,NULL,NULL,INTERNET_FLAG_ASYNC);
InternetConnect(to the ftp) OK
- InternetConnect(hInternetOpen,_T("XXX.XXX.XXX.XXX"),INTERNET_INVALID_PORT_NUMBER,_T("pocket"),_T("password"),INTERNET_SERVICE_FTP,INTERNET_FLAG_TRANSFER_BINARY,NULL);
But when i use ftpputfile
- FtpPutFile(hFtpconnection,_T("test.txt"),_T("test.txt"), FTP_TRANSFER_TYPE_BINARY,NULL)
The ftp server(WAN) receive the command but the file is not send and a timeout close the transfer.
Into LAN ftp server, this code works!!! But not on a remote(WAN) server!!!
I nothing any more understands there.
Please help meeeee! thanks
|
|
|
|
|
Hi All!
I have a cabwiz problem!
I can't include registry key width commas - example: "ToDay" - How can I do it?
THX
Sorry my bad english
|
|
|
|
|
I got question about XML, i found some articles about how to use it on pocket.
So i've tried to write a programm, but it doesn't compile. Maybe i don't have the dll's or *.h ??? I got Embeded 3.0.
|
|
|
|
|
|
Hello,
I've been trying to move items up and down in a DataGrid in the .Net Compact Framework, using Visual Basic .Net 2003. I have tried using the InsertAt command, but I have not been able to get it to work.
Here is my current code to move an item up:
Dim currentpos As Integer
currentpos = DataGrid1.CurrentRowIndex
If currentpos >= 0 Then
Dim row As DataRow
row = DataTable.Rows(DataGrid1.CurrentRowIndex)
Dim NewRow As DataRow
NewRow = DataTable.NewRow
NewRow(0) = row.ItemArray.GetValue(0)
DataTable.Rows.RemoveAt(DataGrid1.CurrentRowIndex)
DataTable.Rows.InsertAt(NewRow, currentpos - 1)
End If
My code seems to sometimes work, other times it moves two items up, and sometimes it moves items around randomly.
Could anyone please help?
Thanks
|
|
|
|
|
Hi all,
I want to start mobile programing.
Is there any links to help me?
Best Wishes.
Thanks.
|
|
|
|
|
What platforms do you want to target?
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
I need to write a .NET compact framework application that play a playlist of MP3 audio items on a Pocket PC(Win CE). The items need to be overlapped and/or played simultaneously.
It looks fairly simple to do overlaps of linear (noncompressed) files in DirectX or to play MP3's using the Windows MediaPlayer but how do I do both.
I have tried to find out what approach to use to be able to do this.
Any suggestions?
-Svein
|
|
|
|
|
Hi y'all:
I have a iPAQ HP 5550 with winCE 4.2 and i want to read from serial port using evc++ 4.0. I have written this code, and it works (it reads) but it doesn't work fine, because i know what i have to read and the results i get are not good. So, it reads, but it doesnt write correctly in the file.
I have to say that i proved the same code (except necessary changes) in a PC with Visual Studio 6.0 and it works fine!
CAN ANYBODY HELP ME?? Thanks a lot !
Here's the code:
/***********************************************************/
#include <windows.h>
#include <winbase.h>
DWORD WINAPI ReadThread( LPVOID lpParam );
static HANDLE hPort;
static HANDLE hFile;
BOOL auxbool;
DWORD dwNumberOfBytesWritten;
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//////////////////////////////////////////////////////////////////
TCHAR *filename = TEXT("\\multithread.txt");
hFile = CreateFile(filename, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
LPTSTR lpszPortName;
lpszPortName = TEXT("COM1:");
DWORD dwError;
DCB PortDCB;
COMMTIMEOUTS CommTimeouts;
hPort = CreateFile (lpszPortName,
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
//// IOCTL_SERIAL_SET_QUEUE_SIZE /////
SetupComm(hPort, 131072, 131072);
ZeroMemory(&PortDCB, sizeof(PortDCB));
PortDCB.DCBlength = sizeof (DCB);
if(!GetCommState (hPort, &PortDCB))
{
MessageBox (NULL, TEXT("ERROR : Falla GetCommState"),TEXT("Error"), MB_OK);
char *error = "ERROR : Falla GetCommState";
WriteFile(hFile, error, sizeof(error), &dwNumberOfBytesWritten, NULL);
return 0;
}
//// IOCTL_SERIAL_SET_BAUD_RATE ////
PortDCB.BaudRate = CBR_57600;
//// IOCTL_SERIAL_SET_LINE_CONTROL ////
PortDCB.StopBits = ONESTOPBIT;
PortDCB.Parity = NOPARITY;
PortDCB.ByteSize = 8;
//// IOCTL_SERIAL_SET_CHARS ////
PortDCB.EofChar = 0;
PortDCB.fErrorChar = 0;
PortDCB.EvtChar = 0;
PortDCB.XonChar = 0x11;
PortDCB.XoffChar = 0x13;
//// IOCTL_SERIAL_SET_HANDFLOW ////
// PortDCB.shake ??
// PortDCB.replace ??
PortDCB.XonLim = 0;
PortDCB.XoffLim = 16384;
// resto
PortDCB.fBinary = TRUE;
PortDCB.fParity = FALSE;
PortDCB.fOutxCtsFlow = FALSE; //
PortDCB.fOutxDsrFlow = FALSE; //
PortDCB.fDtrControl = DTR_CONTROL_HANDSHAKE; //
PortDCB.fDsrSensitivity = FALSE; //
PortDCB.fTXContinueOnXoff = TRUE; //
PortDCB.fOutX = FALSE; //
PortDCB.fInX = FALSE; //
PortDCB.fErrorChar = FALSE;
PortDCB.fNull = FALSE;
PortDCB.fRtsControl = RTS_CONTROL_HANDSHAKE; //
PortDCB.fAbortOnError = FALSE;
PortDCB.wReserved = 0;
if (!SetCommState (hPort, &PortDCB))
{
MessageBox (NULL, TEXT("Unable to configure the serial port"),TEXT("Error"), MB_OK);
char *error = "Unable to configure the serial port";
WriteFile(hFile, error, sizeof(error), &dwNumberOfBytesWritten, NULL);
return FALSE;
}
GetCommTimeouts (hPort, &CommTimeouts);
// CommTimeouts.ReadIntervalTimeout = MAXDWORD;
CommTimeouts.ReadIntervalTimeout = MAXDWORD;
CommTimeouts.ReadTotalTimeoutMultiplier = 0;
CommTimeouts.ReadTotalTimeoutConstant = 0;
CommTimeouts.WriteTotalTimeoutMultiplier = 10;
CommTimeouts.WriteTotalTimeoutConstant = 1000;
if (!SetCommTimeouts (hPort, &CommTimeouts))
{
MessageBox (NULL, TEXT("Unable to set the time-out parameters"),
TEXT("Error"), MB_OK);
dwError = GetLastError ();
char *error = "Unable to set the time-out parameters";
WriteFile(hFile, error, sizeof(error), &dwNumberOfBytesWritten, NULL);
return FALSE;
}
//// IOCTL_SERIAL_PURGE ////
PurgeComm(hPort, PURGE_RXCLEAR);
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
DWORD dwThreadId, dwThrdParam = 1;
HANDLE hThread;
hThread = CreateThread(
NULL, // default security attributes
0, // use default stack size
ReadThread, // thread function
&dwThrdParam, // argument to thread function
0, // use default creation flags
&dwThreadId); // returns the thread identifier
// Check the return value for success.
if (hThread == INVALID_HANDLE_VALUE)
{
char *error = "CreateThread failed";
WriteFile(hFile, error, sizeof(error), &dwNumberOfBytesWritten, NULL);
}
else
{
CloseHandle( hThread );
}
//////////////////////////////////////////////////////////////////
Sleep(3000);
auxbool = TRUE;
CloseHandle( hThread );
CloseHandle(hFile);
CloseHandle(hPort);
return TRUE;
}
/*****************************************************************/
DWORD WINAPI ReadThread( LPVOID lpParam )
{
UCHAR Byte = 0x00;
UCHAR xL = 0x00;
UCHAR xH = 0x00;
UCHAR buff[1000];
UCHAR cero = 0x30;
UCHAR uno = 0x31;
UCHAR dos = 0x32;
UCHAR tres = 0x33;
UCHAR cuatro = 0x34;
UCHAR cinco = 0x35;
UCHAR seis = 0x36;
UCHAR siete = 0x37;
UCHAR ocho = 0x38;
UCHAR nueve = 0x39;
UCHAR a = 0x41;
UCHAR b = 0x42;
UCHAR c = 0x43;
UCHAR d = 0x44;
UCHAR e = 0x45;
UCHAR f = 0x46;
UCHAR otro = 0x2A;
UCHAR spc = 0x20;
UCHAR LF = 0x0A;
DWORD dwBytesTransferred;
DWORD dwCommModemStatus;
DWORD dwBytesWritten;
DWORD dwErrors;
COMSTAT comstatus;
int cuenta = 1;
WriteFile (hFile, &spc, 1, &dwBytesWritten, NULL);
SetCommMask (hPort, EV_RXCHAR);
if (hPort != INVALID_HANDLE_VALUE)
{
cuenta=1;
}
else
{
cuenta=1;
}
while (hPort != INVALID_HANDLE_VALUE)
{
WaitCommEvent (hPort, &dwCommModemStatus, 0);
SetCommMask (hPort, EV_RXCHAR);
if (dwCommModemStatus & EV_RXCHAR)
{
do
{
ZeroMemory(buff, sizeof(buff));
ClearCommError(hPort, &dwErrors, &comstatus);
if (comstatus.cbInQue <= 1000)
{
ReadFile (hPort, buff, comstatus.cbInQue, &dwBytesTransferred, 0);
}
else
{
ReadFile (hPort, buff, 1000, &dwBytesTransferred, 0);
char *error = "Más de mil";
WriteFile(hFile, error, sizeof(error), &dwNumberOfBytesWritten, NULL);
}
if (dwBytesTransferred > 0)
{
for (int p = 0; p < (int)dwBytesTransferred; p++)
{
for (int i=0; i<=3; i++)
{
xL = xL + (buff[p] & (1 << i));
xH = xH + ((buff[p] & (1 << (i+4)))>>4);
}
switch (xH)
{
case 0 : WriteFile (hFile, &cero, 1, &dwBytesWritten, NULL); break;
case 1 : WriteFile (hFile, &uno, 1, &dwBytesWritten, NULL); break;
case 2 : WriteFile (hFile, &dos, 1, &dwBytesWritten, NULL); break;
case 3 : WriteFile (hFile, &tres, 1, &dwBytesWritten, NULL); break;
case 4 : WriteFile (hFile, &cuatro, 1, &dwBytesWritten, NULL); break;
case 5 : WriteFile (hFile, &cinco, 1, &dwBytesWritten, NULL); break;
case 6 : WriteFile (hFile, &seis, 1, &dwBytesWritten, NULL); break;
case 7 : WriteFile (hFile, &siete, 1, &dwBytesWritten, NULL); break;
case 8 : WriteFile (hFile, &ocho, 1, &dwBytesWritten, NULL); break;
case 9 : WriteFile (hFile, &nueve, 1, &dwBytesWritten, NULL); break;
case 10 : WriteFile (hFile, &a, 1, &dwBytesWritten, NULL); break;
case 11 : WriteFile (hFile, &b, 1, &dwBytesWritten, NULL); break;
case 12 : WriteFile (hFile, &c, 1, &dwBytesWritten, NULL); break;
case 13 : WriteFile (hFile, &d, 1, &dwBytesWritten, NULL); break;
case 14 : WriteFile (hFile, &e, 1, &dwBytesWritten, NULL); break;
case 15 : WriteFile (hFile, &f, 1, &dwBytesWritten, NULL); break;
}
switch (xL)
{
case 0 : WriteFile (hFile, &cero, 1, &dwBytesWritten, NULL); break;
case 1 : WriteFile (hFile, &uno, 1, &dwBytesWritten, NULL); break;
case 2 : WriteFile (hFile, &dos, 1, &dwBytesWritten, NULL); break;
case 3 : WriteFile (hFile, &tres, 1, &dwBytesWritten, NULL); break;
case 4 : WriteFile (hFile, &cuatro, 1, &dwBytesWritten, NULL); break;
case 5 : WriteFile (hFile, &cinco, 1, &dwBytesWritten, NULL); break;
case 6 : WriteFile (hFile, &seis, 1, &dwBytesWritten, NULL); break;
case 7 : WriteFile (hFile, &siete, 1, &dwBytesWritten, NULL); break;
case 8 : WriteFile (hFile, &ocho, 1, &dwBytesWritten, NULL); break;
case 9 : WriteFile (hFile, &nueve, 1, &dwBytesWritten, NULL); break;
case 10 : WriteFile (hFile, &a, 1, &dwBytesWritten, NULL); break;
case 11 : WriteFile (hFile, &b, 1, &dwBytesWritten, NULL); break;
case 12 : WriteFile (hFile, &c, 1, &dwBytesWritten, NULL); break;
case 13 : WriteFile (hFile, &d, 1, &dwBytesWritten, NULL); break;
case 14 : WriteFile (hFile, &e, 1, &dwBytesWritten, NULL); break;
case 15 : WriteFile (hFile, &f, 1, &dwBytesWritten, NULL); break;
}
xL = 0x00;
xH = 0x00;
Byte = 0x00;
if (cuenta%16 == 0)
{
cuenta = 1;
WriteFile (hFile, &LF, 1, &dwBytesWritten, NULL);
}
else
{
cuenta++;
}
WriteFile (hFile, &spc, 1, &dwBytesWritten, NULL);
}
}
} while ((dwBytesTransferred == 1) && (auxbool = FALSE));
}
}
return 0;
}
/*****************************************************************/
|
|
|
|
|
I got interesting problem...
I wrote a programm, that parses a string (like CSV), but separating value is "#". This programm works ok on Asus MyPAL, Compaq, and works different on HP, it parses the string wrong... I can't understand... Please, anybody... help...
|
|
|
|
|
Can you please show the code?
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Yes, by the way - thank you very much for everything, you helps me so much, every time... You are my HERO!!!
Here is the code:
CFile f;
int ColumnsNumber;
int ColumnsLength;
char* Razdelitel = "?";
char* String;
if(f.Open((CString)DATA_DESTINATION+_T("Nomen.dat"),CFile::modeRead))
{
f.Read(&ColumnsNumber,sizeof(int));
f.Read(&ColumnsLength,sizeof(int));
char* data = new char[ColumnsLength+1];
data[ColumnsLength] = 0;
f.Read(data,ColumnsLength);
String = strtok(data,Razdelitel);
String = strtok(NULL,Razdelitel);
String = strtok(NULL,Razdelitel);
String = strtok(NULL,Razdelitel);
for(int i = 0;i<ColumnsNumber-4;i++)
{
CString str = strtok(NULL,Razdelitel);
Nomen::PRICESHEAD.push_back(str);
}
delete[] data;
data = new char[f.GetLength()-ColumnsLength-9];
f.Seek(ColumnsLength+9,CFile::begin);
f.Read(data,f.GetLength()-ColumnsLength-9);
Razdelitel = "#";
String = strtok(data,Razdelitel);
do
{
Nomen n;
n.m_FullPath = String;
n.m_Code = strtok(NULL,Razdelitel);
n.m_Name = strtok(NULL,Razdelitel);
n.m_Ostatok = strtok(NULL,Razdelitel);
for(unsigned int i = 0;i<Nomen::PRICESHEAD.size();i++)
{
n.m_Prices.push_back(strtok(NULL,Razdelitel));
}
CString temp;
for(i = 0;i<n.m_FullPath.GetLength();i++)
{
if(n.m_FullPath.GetAt(i)!=10)
temp+=n.m_FullPath.GetAt(i);
}
n.m_FullPath = temp;
temp = "";
for(i = 0;i<n.m_Name.GetLength();i++)
{
if(n.m_Name.GetAt(i)!=10)
temp+=n.m_Name.GetAt(i);
}
n.m_Name = temp;
m_Nomenklatura.push_back(n);
}
while(String = strtok(NULL,Razdelitel));
delete [] data;
}
else
{
MessageBox(NULL,_T("Can't load Nomen"),_T("Îøèáêà Çàãðóçêè Ôàéëà"),MB_ICONERROR);
}
f.Close();
Razdelitel = "?";
if(f.Open((CString)DATA_DESTINATION+_T("Agents.dat"),CFile::modeRead))
{
f.Read(&ColumnsNumber,sizeof(int));
f.Read(&ColumnsLength,sizeof(int));
char* data = new char[ColumnsLength+1];
data[ColumnsLength] = 0;
f.Read(data,ColumnsLength);
String = strtok(data,Razdelitel);
String = strtok(NULL,Razdelitel);
for(int i = 0;i<ColumnsNumber-2;i++)
{
KontrAgent::HEAD.push_back(strtok(NULL,Razdelitel));
};
delete[] data;
data = new char[f.GetLength()-ColumnsLength-9];
f.Seek(ColumnsLength+9,CFile::begin);
f.Read(data,f.GetLength()-ColumnsLength-9);
data[f.GetLength()-ColumnsLength-10] = 0;
Razdelitel = "#";
String = strtok(data,Razdelitel);
do
{
KontrAgent k;
k.m_Code = String;
k.m_Name = strtok(NULL,Razdelitel);
for(int i = 0;i<KontrAgent::HEAD.size();i++)
{
k.m_Columns.push_back(strtok(NULL,Razdelitel));
}
m_KontrAgents.push_back(k);
}
while(String = strtok(NULL,Razdelitel));
}
else
{
MessageBox(NULL,_T("Íå Ìîãó Çàãðóçèòü ôàéë êîíòðàãåíòîâ"),_T("Îøèáêà Çàãðóçêè Ôàéëà"),MB_ICONERROR);
}
the structure Nomen is
struct Nomen
{
CString m_FullPath;
CString m_Ostatok;
CString m_Code;
CString m_Name;
CString m_Quantity;
CString m_PriceType;
CString m_PriceTypeName;
vector <CString> m_Prices;
static vector <CString> PRICESHEAD;
};
and Kontratent is:
struct KontrAgent
{
CString m_Code;
CString m_Name;
vector <CString> m_Columns;
static vector <CString> HEAD;
};
|
|
|
|
|
Looks like you are mixing char with wchar_t . This may work but you have to know exactly what you are doing: is the file encoded in ANSI or UNICODE? If it is an ANSI file, my approach is to read it all into a buffer and convert, to UNICODE and then parse it.
Note that the difference you are expereiencing with the different machines may be due to different levels of support of the char string functions in the different machines (my guess).
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Well, i can't understand the real problem with it,
because i made this:
char* data = "Something;AND another";
char* token = strtok(data,";");
CString = token;
and i can't see the difference between this:
WCHAR * wdata = new WCHAR[strlen(data)]
MultiByteToWideChar(CP_ACP,NULL,data,strlen(data),wdata,strlen(data));
char* wtoken = wcstok(wdata,L";");
CString = wtoken;
So, can you explain, i thought that when i make char* to CString i makes the widestring by itself.
By the way i made up what you said, and now waiting the responce from the man who uses the different type of pocket - i hope it will help (what you advised me to do).
Thanks.
The new code looks like this:
CFile f;
int ColumnsNumber;
int ColumnsLength;
WCHAR* wRazdelitel = L"?";
WCHAR* wString;
if(f.Open((CString)DATA_DESTINATION+_T("Nomen.dat"),CFile::modeRead))
{
f.Read(&ColumnsNumber,sizeof(int));
f.Read(&ColumnsLength,sizeof(int));
char* data = new char[ColumnsLength+1];
WCHAR* wdata = new WCHAR[ColumnsLength+1];
f.Read(data,ColumnsLength);
data[ColumnsLength] = 0;
MultiByteToWideChar(CP_ACP,NULL,data,ColumnsLength+1,wdata,ColumnsLength+1);
wString = wcstok(wdata,wRazdelitel);
wString = wcstok(NULL,wRazdelitel);
wString = wcstok(NULL,wRazdelitel);
wString = wcstok(NULL,wRazdelitel);
for(int i = 0;i<ColumnsNumber-4;i++)
{
CString str = wcstok(NULL,wRazdelitel);
Nomen::PRICESHEAD.push_back(str);
}
delete[] data;
delete[] wdata;
data = new char[f.GetLength()-ColumnsLength-9];
wdata = new WCHAR[f.GetLength()-ColumnsLength-9];
f.Seek(ColumnsLength+9,CFile::begin);
f.Read(data,f.GetLength()-ColumnsLength-9);
data[f.GetLength()-ColumnsLength-10] = 0;
MultiByteToWideChar(CP_ACP,NULL,data,strlen(data)+1,wdata,strlen(data)+1);
wRazdelitel = L"#";
wString = wcstok(wdata,wRazdelitel);
do
{
Nomen n;
n.m_FullPath = wString;
n.m_Code = wcstok(NULL,wRazdelitel);
n.m_Name = wcstok(NULL,wRazdelitel);
n.m_Ostatok = wcstok(NULL,wRazdelitel);
for(unsigned int i = 0;i<Nomen::PRICESHEAD.size();i++)
{
n.m_Prices.push_back(wcstok(NULL,wRazdelitel));
}
CString temp;
for(i = 0;i<n.m_FullPath.GetLength();i++)
{
if(n.m_FullPath.GetAt(i)!=10)
temp+=n.m_FullPath.GetAt(i);
}
n.m_FullPath = temp;
temp = "";
for(i = 0;i<n.m_Name.GetLength();i++)
{
if(n.m_Name.GetAt(i)!=10)
temp+=n.m_Name.GetAt(i);
}
n.m_Name = temp;
m_Nomenklatura.push_back(n);
}
while(wString = wcstok(NULL,wRazdelitel));
delete [] data;
delete [] wdata;
}
else
{
MessageBox(NULL,_T("Íå ìîãó çàãðóçèòü ôàéë íîìåíêëàòóðû"),_T("Îøèáêà Çàãðóçêè Ôàéëà"),MB_ICONERROR);
}
f.Close();
wRazdelitel = L"?";
if(f.Open((CString)DATA_DESTINATION+_T("Agents.dat"),CFile::modeRead))
{
f.Read(&ColumnsNumber,sizeof(int));
f.Read(&ColumnsLength,sizeof(int));
char* data = new char[ColumnsLength+1];
WCHAR* wdata = new WCHAR[ColumnsLength+1];
f.Read(data,ColumnsLength);
data[ColumnsLength] = 0;
MultiByteToWideChar(CP_ACP,NULL,data,ColumnsLength+1,wdata,ColumnsLength+1);
wString = wcstok(wdata,wRazdelitel);
wString = wcstok(NULL,wRazdelitel);
for(int i = 0;i<ColumnsNumber-2;i++)
{
KontrAgent::HEAD.push_back(wcstok(NULL,wRazdelitel));
};
delete[] data;
delete [] wdata;
data = new char[f.GetLength()-ColumnsLength-9];
wdata = new WCHAR[f.GetLength()-ColumnsLength-9];
f.Seek(ColumnsLength+9,CFile::begin);
f.Read(data,f.GetLength()-ColumnsLength-9);
data[f.GetLength()-ColumnsLength-10] = 0;
MultiByteToWideChar(CP_ACP,NULL,data,f.GetLength()-ColumnsLength-9,wdata,f.GetLength()-ColumnsLength-9);
wRazdelitel = L"#";
wString = wcstok(wdata,wRazdelitel);
do
{
KontrAgent k;
k.m_Code = wString;
k.m_Name = wcstok(NULL,wRazdelitel);
for(int i = 0;i<KontrAgent::HEAD.size();i++)
{
k.m_Columns.push_back(wcstok(NULL,wRazdelitel));
}
CString temp;
for(i = 0;i<k.m_Code.GetLength();i++)
{
if(k.m_Code.GetAt(i)!=10)
temp+=k.m_Code.GetAt(i);
}
k.m_Code = temp;
temp = "";
for(i = 0;i<k.m_Name.GetLength();i++)
{
if(k.m_Name.GetAt(i)!=10)
temp+=k.m_Name.GetAt(i);
}
k.m_Name = temp;
m_KontrAgents.push_back(k);
}
while(wString = wcstok(NULL,wRazdelitel));
delete [] data;
delete [] wdata;
}
Any opinions, or advice - i will appreciate...
Thanks again
|
|
|
|
|
Hi all,
In my application using eVC++ 4.0, I have to draw ellipses with different line styles such as dashed, dotted,
dashed-dotted..
I do it in VC++ 6.0, using Bezier Functions...
But some of the functions are not supported in eVC++ 4.0.
Is there any way to draw these ellipses?
Please help me...
Thanks in Advance,
Arun AC
|
|
|
|
|
hello everybody...
actually, i'm beginner on this.
for information, my bos want me to develop a mobile application.
what language should i use?
my plan is using tricubes1020.
can anyone help me on this...
what is the first thing should i do...
fauzi
|
|
|
|
|
I have an IPAQ PDA and I want to write a c# code which uses a image file that must be downloaded over internet by giving the url. I tried
WebClient Client = new WebClient ();
Client.DownloadFile("http://www.xxxx.com/image.jpg", " image.jpg");
but compact framework doesn't cover WebClient class.
So how can I handle it with httpwebrequest class or any other class???
By the way, how can I just directly put it on the screen? without using memory, I mean I dont want it to be written on harddisk.
thanks...
|
|
|
|
|
Hi,
I'm trying to use the CFileDialog but it doesn't show me any directory.
For example:
CFileDialog dlg(true);//,TEXT("can"),NULL,NULL,TEXT("*.*"));
dlg.DoModal ();
But when the program is running,it shows the dialog whitout any directory or file.
Can anyone help me?
Regards,
Eli.
|
|
|
|
|
Hi, I'm developing a Dialog app in Visual C++. I want to add an Active Control to my project but it doesn't work. The ACtiveX control is registered in my Desktop, and I drag it to my dialog app. Then I copy the .dll and the app to my POcket PC and I execute the app and it doesn't run.
Maybe I have to register the ActiveX control in the Pocket PC? I read something about use "regsrvce.exe" for register ActiveX control but I don't find it.
How can I do it??
Thanks.
Regards.
Regards,
Javier
|
|
|
|
|
Hi,
Is there any way to use the regular controls(such as Labels & EditBoxs)
in the vertical way instead of the horizonal way?
I need to develope application to a PDA that will be put on horizonal stand.
Regards,
Eli
|
|
|
|
|
Hi, I am having problem getting the LBUTTONDOWN message from the DesktopExplorerWindow.
The problem is that I cannot use any window in my application, because I wan´t to seamlessly fade from the desktop bitmap to an application bitmap using the directdraw blit for the primary surface( that is the DesktopWindow.... ).
If I create the window, during the launch of the window you can see the borders of the window coming from nowhere and then expanding to the real size of the window.
That is precisly what I don´t want to see!
I have tried to create the window without any border, specifying only the WS_VISIBLE style, but with no luck.
So, how can I get the LBUTTONDOWN message from the DesktopWindow not using any window?
Thanks, for taking your time, Dani
|
|
|
|
|
Hi,
I don't understand - why do you need the LBUTTONDOWN message in a PocketPC application????
Regards,
Eli.
|
|
|
|
|
Well,actually the OS is wince 4.2, and all user input is coming from either the touchscreen/stylus or 4 buttons/switches.
I wan´t to redirect all the messages that goes to the desktopwindow, catch the LBUTTONDOWN message from my application and respond to it.
Then I am going to make a "fake" window by blitting to the primary surface using direct draw.
I want a message pump for my "fake "window that only catches the LBUTTONDOWN message.
The thing is that I don´t want to create any window, because when launching the window without anything on it and using no style at all produces a small box getting bigger and bigger until the window is fully expanded that is the border of the window (....and Yes it shows the border even if I have not specified that I want it, I have put the style of the window to NULL ).
I wan´t to be able to fade out the desktop window and fade in to my "fake" direct draw window seamlessly without creating any window!
The fake window is actually the primary surface which is also the desktop window.
Actually what I wan´t to do, If i explain it simple, is that I wan´t a background application (that is an application without any window) running that responds to every mouseclick send in the system.
In a PC or visual c++ this is done with a HOOK that filters the mouse messages, but in windows ce HOOK:ing with SetWindowsHookEx is not supported!
So what can I possible do, to achieve this?
|
|
|
|
|
Hi, I try to create a tab control for two dialogs in a dialog-based project.
In "On-initdialog" main Dialog, I do:
[code]m_pTabCtrl->Create(TCS_TABS | TCS_FIXEDWIDTH | WS_CHILD | WS_VISIBLE, CRect(0,0,100,20), this,1);[/code]
, where "m_pTabCtrl" is a pointer to a CTabCtrl member variable.
Then I want to add the 2 dialogs to this tab control, but I dont know how to do it.
Anyone can help me to complete the tab control?Do I need to add another code?
Thank you.
Regards,
Javier
|
|
|
|
|
Hi, I'm Javier. I'm developing a dialog-based application in windows mobile 2003 SE with embedded Visual
C++ 4. It's a full screen app. When I put the screen in landscape mode, appears a vertical scroll bar in my main dialog app, although
my dialog window is smaller than the screen.
I want to know any way to remove or hide this scroll bar, How can I do it?
Any help will be appreciated.
Thanks you.
Regards,
Javier
|
|
|
|
|