|
Sorry I am a bit of a retard when it comes to programming I only started to learn last week.
what command would I use because I need to pad it with hex code 20
Thanks
James
|
|
|
|
|
What kind of message are you writing? Text messages, binary messages?
Tomasz Sowinski -- http://www.shooltz.com
To some its a six-pack, to me it's a support group
|
|
|
|
|
text this is what I have so far
stream tmpFile("tmpfile", ios::trunc);
tmpFile << "\x01"<<"{1:F01"<
|
|
|
|
|
using namespace std;
ostringstream os;
os << "\x01"<<"{1:F01"<<senderbic<<"0000000000}{2:I"<<mttype<<receivebic<<"X}{4:";
os << "\x0A"<<"\x3A"<<"20:MT999 TEST "<< loop;
os << "\x0A"<<"\x3A"<<"21:DOS-PCC TEST";
os << "\x0A"<<"\x3A"<<"79:TEXT Field";
os << "\x03";
string padding(512 - os.str().length(), 0x20);
os << padding;
ofstream of("c:\\test.txt", ios::out | ios::app);
of << os.str();
Tomasz Sowinski -- http://www.shooltz.com
To some its a six-pack, to me it's a support group
|
|
|
|
|
Thankyou Iam very new to programming but have been searching for ages for this
Thanks
|
|
|
|
|
Hi,
I have my Visual C++ 6.0 application Trial.exe & MS Acces databse table Trial.mdb
*) These steps I did try at my friend PC (Window 98 & without Jet DAO engine) as
article Q23002 suggested:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q233002
1) Run MDAC_TYP.exe
2) Reboot PC
3) Jet40Sp3_Comp.exe
4) Reboot PC
5) Copy my Trial.exe Trial.mdb in c: drive as needed
6) Run Trial.exe & the PC said: "Can not initialize DAO Jet 4.0"
*) However, I did not perform those with Regsvr32 Dao360.dll in c:\Program
Files\Common Files\Microsoft Shared\DAO to become COM.dll ... because I am
not sure how to do it ! I did try do it in DOS environment c:\Windows\System
as Regsvr32 Dao360.dll), but the result is the same in (6)!
*) Do you think I need in DOS environment C:\Program Files\Common
Files\Microsoft Shared\DAO: "Regsvr32 Dao360.dll COM.dll"?
Can anyone help me, I need it for this afternoon!
Many thanks,
|
|
|
|
|
I'm having trouble with the LPBYTE param of this API.
I want to move text from my dialog based application to this api to send.
LPTSTR buffer;
m_cSendText.GetWindowText(buffer, 256);
nasStatus = NetMessageBufferSend(NULL,
awcToNameW,
awcFromNameW,
(LPBYTE)buffer,
256);
When I run my program all I get is a string of ?'s. How do I setup the 4th param so that it sends the text properly?
Thanks
Tom Wright
tawright915@yahoo.com
|
|
|
|
|
Okay I found that I did not have this set correctly is should be
CString buffer;
m_cSendText.GetWindowText(buffer);
nasStatus = NetMessageBufferSend(NULL,
awcToNameW,
awcFromNameW,
(LPBYTE)&buffer,
m_cSendText.GetWindowTextLength());
But I'm still getting junk in the message box. Any suggestions?
Tom Wright
tawright915@yahoo.com
|
|
|
|
|
The problem is the unecessary & to take the address of the CString object. If you only need read access to the string data in a CString object, you can use the (LPCTSTR) conversion operator to get a pointer to the buffer. Then you'll have to use a cast, because NetMessageBufferSend() expects an LPBYTE rather than an LPCTSTR. That is, change
(LPBYTE)&buffer,
to
(LPBYTE)(LPCTSTR) buffer,
Casting away the constness of the LPCTSTR doesn't matter in this case, since NetMessageBufferSend () is only going to read the buffer.
Stephen C. Steel
Kerr Vayne Systems Ltd.
|
|
|
|
|
No this still does not work. I must not be setting something up right.
I have a dialog based app with 2 edit fields on it. And a control variables called:
m_cCompName.
m_cSendText.
LPWSTR awcToNameW;<br />
LPWSTR awcFromNameW;<br />
CString ComputerName;<br />
<br />
awcToNameW = T2W(ComputerName);<br />
awcFromNameW = T2W(ComputerName);<br />
NET_API_STATUS nasStatus;<br />
<br />
nasStatus = NetMessageBufferSend(NULL,<br />
awcToNameW,<br />
awcFromNameW,<br />
(LPBYTE)(LPCTSTR)TextSend,<br />
TextSend.GetLength());<br />
<br />
So what am I doing wrong. This should work. Right?
Thanks
Tom Wright
tawright915@yahoo.com
|
|
|
|
|
Usually NetXXX Api never use ANIS strings. Even if not explicitly mentioned in MSDN, I would try to convert the message buffer also to UNICODE.
--
Daniel Lohmann
http://www.losoft.de
(Hey, this page is worth looking! You can find some free and handy NT tools there )
|
|
|
|
|
That's what I ended up doing.
Thanks
Tom Wright
tawright915@yahoo.com
|
|
|
|
|
I want to know whether this is possible to access RAM through VC++? If yes then can i read or write data in RAM?
Please reply soon........
Samir Sood
|
|
|
|
|
Almost whatever you do in C++, you access RAM Of course you can only access memory managed by your process, otherwise your program will generate "Access violation" exception.
Vagif Abilov
MCP (Visual C++)
Oslo, Norway
Hex is for sissies. Real men use binary. And the most hardcore types use only zeros - uppercase zeros and lowercase zeros.
Tomasz Sowinski
|
|
|
|
|
You can access all memory mapped to application address space, randomly mapped to physical RAM by OS. If you need to access a physical RAM, you need to go down to driver level, if it's possible at all.
Pavel
Sonork 100.15206
|
|
|
|
|
Can u provide me with some api level information for it
Samir Sood
|
|
|
|
|
|
I have several constant variables that I want to use in my applications. What do you thing is best to define in a common header file?
#define VALUE 5
or
const int VALUE = 5;
?
Best regards,
Alexandru Savescu
|
|
|
|
|
using const is more C++ convenient. Also the debugger knows the value of the symbol. No overhead in resulting code.
But I'm used to #define, and it's hard to chnge the routine
Pavel
Sonork 100.15206
|
|
|
|
|
Pavel Klocek wrote:
using const is more C++ convenient
I thought so!
Pavel Klocek wrote:
But I'm used to #define, and it's hard to chnge the routine
Yes, so was I, no I am starting to change it and begin use const, or enums or static members in classes. This can also help hide some implementation details.
Best regards,
Alexandru Savescu
|
|
|
|
|
|
I agree. However, do you find macros useful? Or are they old fashioned and C-style (not c++)?
Best regards,
Alexandru Savescu
|
|
|
|
|
Alexpro wrote:
However, do you find macros useful?
Rarely. Sometimes they're useful for blocks of repeated code (a'la BEGIN_MESSAGE_MAP).
Alexpro wrote:
Or are they old fashioned and C-style (not c++)?
It depends who you ask
Tomasz Sowinski -- http://www.shooltz.com
** Putt knot yore thrust inn spel chequers. **
|
|
|
|
|
you should use inline functions rather than macros, there is more type checking and problems can be found ealier.
as far as #define or const int,
i'm not too sure of what the VC compiler does ( i'm pretty sure it gives an error ) if two global variables have the same name in an object file. But other compilers might just allow multiply defined globals which can be a nightmare to track down.
stick to #define for just numbers.
Asim Hussain
e: asim@jawache.net
w: www.jawache.net
|
|
|
|
|
Generally, const is preferrable, as it adds some type safety and integrates well with the symbol linking mechanism. There's one caveat though: If you try to define a constant like this inside a class:
class A{
public:
static const VALUE=5;
...
}; VC++ complains, even though this is perfectly legal C++. The standard workaround is to define VALUE as an enum:
class A{
public:
enum {VALUE=5};
...
};
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|