|
Hello,
i have a ms access database, there is information written in cyrillic encoding. When i read the text from c++ using Ado, it cannt read proper text, it reads only "???????????????", what should i do to read correct text in c++?
here is the code
<br />
CString strItem; <br />
strItem = (char *) (_bstr_t) pRecordPtr->Fields->GetItem("name")->Value;<br />
strItem is "?????" if when encoding is cyrillic.
thanks
|
|
|
|
|
Gofur Halmurat wrote: what should i do to read correct text in c++?
Study the subject "character encoding" so you understand it. Perhaps start here[^] but look beyond that as well.
|
|
|
|
|
Hello,
Is there sql command like "SET CHARACTER SET utf8" in Jet Sql, Mysql has the command, but wondering that Microsoft Jet sql has it?
if Microsoft Jet Sql has it, it would be better to change encoding
thanks
|
|
|
|
|
you should consider using UNICODE strings.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
<A HREF="http://www.soonr.com">SoonR Inc -- PC Power delivered to your phone</A>
|
|
|
|
|
Why all the casting? What is the type of Value ?
Steve
|
|
|
|
|
The Value's type is _variant_t
I tried to convert _variant_t to CString
<br />
_variant_t vari= ...;<br />
CString s;<br />
s = (LPCSTR)(_bstr_t)vari.bstrVal;<br />
but it doesnt show the right encoding, i think the problem is with UNICODE
but i dont know how to implement it.
thanks
|
|
|
|
|
Hello everyone,
About Template Partial Specialization,
http://www.cprogramming.com/tutorial/template_specialization.html
sometimes in real case like below,
http://www.sgi.com/tech/stl/iterator_traits.html
there will be two definitions at the same time,
<code>
template <typename T>
class Foo {
}
template <typename T>
class Foo <T *>
{
}
</code>
In theory, compiler will match the latter one with first priority compared with the 1st one.
My question is, I tihnk for basic data types it is easy to match,
example,
when we pass Foo <int*>, the latter one is matched and T is int. But for arbitrary data types, like used data types, how could compiler judge whether a type is pointer (when the latter template class should be matched) or not a pointer (when the first template class should be matched).
thanks in advance,
George
|
|
|
|
|
I guess it will depend on what you code inside. In extremis, it would be like a pointer void pBuf = NULL, you can get whatever you want with it, but afterwards to use it in another places you may have to cast the type. Maybe is not the best way, but is possible.
So that the template without parameter is just a void container that can hold whatever you give in, other thing will be how to use it after.
I like some of your questions, maybe I shouldn't answer if I don't know the answer for sure, but this way I learn too. Other people can correct/confirm me as well
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
Thanks Nelek,
I do not quite understand your points below. I think void pBuf = NULL should be void* pBuf = NULL? Please feel free to correct me if I am wrong.
And it is appreciated if you could provide some pseudo-code to show your points below. A couple of lines of code is more effective for a large section of literal description for developer.
Nelek wrote: In extremis, it would be like a pointer void pBuf = NULL, you can get whatever you want with it, but afterwards to use it in another places you may have to cast the type.
regards,
George
|
|
|
|
|
Because the Setup and Deployment project doesn't allow me to execute a batch file (why, is beyond me) I am making a simple c program to execute the batch file. Now its been a while since I've used C so after reading a little bit here is what I have.
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int main(int argc, char * argv[])<br />
{<br />
system("setsdwperm.bat " + *argv[1]);<br />
}<br />
I got the project on the add new project dialog: Visual C++ -> General -> Empty Project
When I look at the project properties under configuration properties it says Configuration Type is Application (.exe). But no .exe is produced when I build it. I get a log file, manifest, obj, dep, idb, and pdb files. What other setting do I need to change?
|
|
|
|
|
eggsovereasy wrote: system("setsdwperm.bat " + *argv[1]);
oh my god !!!
when you want to concatenate strings, you mustn't use the + operator !!! you have to use strcat() .
moreover, system() is deprecated if you're targetting your code for a given plateform (for Windows, you should prefer ShellExecute() or CreateProcess() for instance).
|
|
|
|
|
Ok, everything I try throws exceptions and I can't use the debugger with it?
Any suggestions on how I would do this? all I need to do is combine "setsdwperm.bat " with the first argument and execute it.
|
|
|
|
|
#include <stdio.h>
#include <stdlib.h>
int _tmain(int argc, TCHAR* argv[]) {
TCHAR pszBuffer[256] = {0};
strcpy(pszBuffer, _T("setsdwperm.bat"));
strcat(pszBuffer, argv[1]);
ShellExecute(NULL, _T("open"), pszBuffer, NULL, NULL, SW_SHOWNORMAL);
}
an even more easy way is this:
#include <stdio.h>
#include <stdlib.h>
int _tmain(int argc, TCHAR* argv[]) {
ShellExecute(NULL, _T("open"), _T("setsdwperm.bat"), argv[1], NULL, SW_SHOWNORMAL);
}
-- modified at 13:22 Monday 19th November, 2007
|
|
|
|
|
Probably you are looking at the wrong place ([ADDED]provided you didn't make errors, see toxcct reply...).
You ca check the value of the 'Output Directory' setting inside the 'Configuration Properties->General' window (Menu Project Properties).
Or, if you prefer, you can check it in the linker command line (/OUT option).
By default (I'm talking about VS2005) the executable is inside the 'debug' (or 'release') subfolder of the solution one.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
Yeah, with C# projects it puts all the compiled files in Solution Dir\Project Dir\Output Dir, but with this it was in Solution Dir\Output Dir.
Thanks.
|
|
|
|
|
how to open .tif file in VC++ MFC from file menu?
|
|
|
|
|
What's giving you trouble? The menu part? Opening a file?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
i am able to open the .tif file in OnDraw using libtiff library. But i want to open it from file open menu. it requires pDC to open. How to open from file open menu?
|
|
|
|
|
Opening the file has nothing to do with a DC or pDC.
Are you trying to work with a TIFF file without a 3rd party library?
If so, here's a couple options...
1) Use GDI+...
<font color="Green">
</font>void CMyView::OnDraw(CDC *pDC)
{
Gdiplus::Bitmap bitmap(L"C:\\test.tif", FALSE);
Gdiplus::Graphics graphics(*pDC);
graphics.DrawImage(&bitmap, 0, 0, bitmap.GetWidth(), bitmap.GetHeight());
}
2) Study the TIFF specification[^] and write code to parse the TIFF file.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I want to know, how many time I compile my application, for make the version detail in the program.
what's the function can support this issue.
Please advise.
|
|
|
|
|
Refer to
http://support.microsoft.com/kb/237870#appliesto
Regards
Bhawna
|
|
|
|
|
Hi,
I am facing a build issue in my PC, with Microsoft Visual Studio-6.0. When i go for a build from the VC++ ide, the build gets stuck while running the link.exe or lib.exe files. When i click on Stop Build button, there is no effect. And I cannot close the ide also, it says "build in progress". i need to explicitly kill process MSDEV.exe from task manager. This issue observed only in my machine(not in any other machine). I am using Dell machine, Gx280 model, with Pentium-4 , 2.8 Ghz and 1GB RAM.I reinstalled Visual Studio, but still the problem persists.
Please suggest a solution.please please
Syam
SYAMLAL
|
|
|
|
|
Does it happen for every project, or just a particular one?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
It happens for all projects. Evenif i try a sample application also, it will give this problem.
Sometimes i am running build scripts for building all the executables, related to my project. Then it gets stuck in between.
Thanks,
Syam
SYAMLAL
|
|
|
|
|
Things to try: switch off incremental linking in the project settings, delete all the temporary generated files associated with the project .obj .ncb etc. Then do a full rebuild from scratch. This usually clears the blockage as it were.
Like any complex product Visual Studio is far from bug free and some of these can cause the linker to sit in an endless loop. I have to have the intellisense Dll excised from my VS 2005 installation because one of my projects causes intellisense to consume 98% of the processing power endlessly. Such is life
Nothing is exactly what it seems but everything with seems can be unpicked.
|
|
|
|