|
Advancedinstaller.com
this can also be used to create Setup but
i have no experience on it.
Vikas Amin
Embin Technology
Bombay
vikas.amin@embin.com
|
|
|
|
|
|
Thank You
toxcct
Vikas Amin
Embin Technology
Bombay
vikas.amin@embin.com
|
|
|
|
|
Thanks for U'r Reply
Regards
Jeeva
|
|
|
|
|
Search for InnoSetup - it is free and good for most install tasks.
Igor Green
http://www.grigsoft.com/
Compare It! + Synchronize It! - files and folders comparison never was easier!
Igor Green
http://www.grigsoft.com/ - files and folders comparison tools
|
|
|
|
|
Thanks for U'r Reply
Regards
Jeeva
|
|
|
|
|
Jeeva Mary Varghese wrote: Can anyone plz tell me how to create a setup file(Project Deployment) for an application in VC++.
IN continuation with previous comment, here is the link :-
http://www.jrsoftware.org/isinfo.php[^]
"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
|
|
|
|
|
you can use Visual Studio Installer for creating setup in vc++. this tool is available in visual studio tools.
|
|
|
|
|
Thanks for U'r Reply
Regards
Jeeva
|
|
|
|
|
I want to use eidt box to transmiss a file's name and path to a CFile object.
How to do it? Not use CFileDialog class. I have a problem about this. The debug tell me the type is not right. I'm a new ,so do not laugh me!
|
|
|
|
|
Take a look at this overload of the CFile constructor:
<br />
CFile(LPCTSTR lpszFileName, UINT nOpenFlags);<br />
lpszFileName is the full path to the File.
nOpenFlags contains the flags for opening the File. See the declaration of CFile for the
possible values.
|
|
|
|
|
Nobody in this forum laughs on anyone (one is not born wise )
else he is punished by the webmaster
This example might help u go through it
<br />
CFile f;<br />
CFileException e;<br />
char* pFileName = "test.dat";<br />
if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) )<br />
{<br />
#ifdef _DEBUG<br />
afxDump << "File could not be opened " << e.m_cause << "\n";<br />
#endif<br />
}<br />
<br />
<br />
#include <afx.h><br />
#include <afxwin.h><br />
#include <iostream><br />
<br />
using namespace std;<br />
<br />
CWinApp theApp;<br />
<br />
int main(int argc, char *argv[])<br />
{<br />
if (!AfxWinInit(GetModuleHandle(NULL), NULL, GetCommandLine(), 0))<br />
{<br />
cout << "panic: MFC couldn't initialize!" << endl;<br />
return 1;<br />
}<br />
<br />
<br />
CFile sourceFile;<br />
CFile destFile;<br />
<br />
<br />
if (argc != 3)<br />
{<br />
cout << "usage: " << argv[0];<br />
cout << " <source> <dest>" << endl;<br />
cout << endl;<br />
return 1;<br />
}<br />
<br />
<br />
CFileException ex;<br />
<br />
<br />
if (!sourceFile.Open(argv[1],<br />
CFile::modeRead | CFile::shareDenyWrite, &ex))<br />
{<br />
<br />
TCHAR szError[1024];<br />
ex.GetErrorMessage(szError, 1024);<br />
cout << "Couldn't open source file: ";<br />
cout << szError;<br />
return 1;<br />
}<br />
else<br />
{<br />
if (!destFile.Open(argv[2], CFile::modeWrite |<br />
CFile::shareExclusive | CFile::modeCreate, &ex))<br />
{<br />
TCHAR szError[1024];<br />
ex.GetErrorMessage(szError, 1024);<br />
cout << "Couldn't open source file: ";<br />
cout << szError;<br />
<br />
sourceFile.Close();<br />
return 1;<br />
}<br />
<br />
BYTE buffer[4096];<br />
DWORD dwRead;<br />
<br />
<br />
do<br />
{<br />
dwRead = sourceFile.Read(buffer, 4096);<br />
destFile.Write(buffer, dwRead);<br />
}<br />
while (dwRead > 0);<br />
<br />
<br />
destFile.Close();<br />
sourceFile.Close();<br />
}<br />
<br />
return 0;<br />
}<br />
Vikas Amin
Embin Technology
Bombay
vikas.amin@embin.com
|
|
|
|
|
I'm writing a C++ application that needs to compare two text files for differences (addition/changes/deletion of an line), so some source code for comparing is required that is fast (and accurate) as some files maybe more than 5MB in size, but usually will be several hundred KB.
The output could be either to another text file or a List Control.
Any recommendations as to what to use, or any examples available would be most appreciated.
|
|
|
|
|
Why don't you take a look at WinDiff?
Alternatively you could consturct 2 CStdioFile obejcts, ReadLine() 'em and store the values in CStringArray's. Those in memory representations can be read faster than the actual files.
Actually it reminds me of a similar task I had to do when I learend programming, so feel free to ask me any questions
|
|
|
|
|
To compare files as big as 5MB is crucial task ,
putting the data in memory & comparing will be
fast.
:->
can suggest one tip , keep a log of the file
last modified and check for the size and time
of modification . If there is not change in
size , then u dont need to compare the data of file.
Vikas Amin
Embin Technology
Bombay
vikas.amin@embin.com
|
|
|
|
|
You can find WinDiff sources, or have a look at WinMerge.sf.net. Comparison itself could be a hardest part, since there are plenty of algorithms. You can search for MYERS's Difference Algorithm.
Igor Green
http://www.grigsoft.com/
Compare It! + Synchronize It! - files and folders comparison never was easier!
Igor Green
http://www.grigsoft.com/ - files and folders comparison tools
|
|
|
|
|
P Gibson wrote: Any recommendations as to what to use, or any examples available would be most appreciated.
Go to the top of this page and type 'diff' into the Search field.
|
|
|
|
|
P Gibson wrote: so some source code for comparing is required that is fast (and accurate) as some files maybe more than 5MB in size, but usually will be several hundred KB.
What about using Memory Mapped Files, Link :-
http://www.codeproject.com/win32/cmemmap.asp[^]
"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
|
|
|
|
|
How can i create an edit box that takes as keyboard input numbers(integer, float, double) and + and - signs only?
When i check marked the Numbers in the Edit Box properties only +ve integers could be entered.
|
|
|
|
|
nripun wrote: When i check marked the Numbers in the Edit Box properties only +ve integers could be entered.
Subclass the Edit Box, here is link concerning with it :-
http://www.codeproject.com/editctrl/validatingedit.asp[^]
"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
|
|
|
|
|
Hi,
I created template class just like:
template < typename T > class DataList
{
AddNode(const T val) // Input data must be read only
{
// some codes
}
// some more functions
};
In main():
LPCSTR str = "Hello"; // Const char string
DataList<char*> data; // Data list for char strings
data.AddNode(str); // Add the string
When compiling I get the error as...
error C2664: 'AddNode' : cannot convert parameter 1 from 'const char *' to 'char *const '
What could be wrong?
Thank you.
<B>- NS -</B>
|
|
|
|
|
What do u actully want to do with
this type of declaration.
Can u tell me reason so that i can
help u to find some solution .
Vikas Amin
Embin Technology
Bombay
vikas.amin@embin.com
|
|
|
|
|
I am creating a general purpose linked list class.
It is basically used for numbers. In that case no problem.
I intended to use it for strings also. In that case the AddNode function is supposed to accept 'const char*' as input. In the template class I wrote some virtual functions that can be used for allocating memory for the strings, in the derived classe.
For example, in AddNode I will call a function like
virtual void SetVal(...);
In the base class, this function just copies the input value to the node value. But in the derived class, it will allocate memory needed for storing the input string to node value and copy the string using strcpy(...).
I think, you got what I want to do. I won doing this by excluding the const input string. But it is recommented that pass input strings as read only.
- NS -
|
|
|
|
|
<br />
template < typename T > class DataList<br />
{<br />
public:<br />
AddNode(const T val)
{<br />
}<br />
};<br />
<br />
<br />
IN Main function <br />
<br />
LPCSTR str = "Hello";
DataList< char *> data;
data.AddNode((char*)str);
the above code satisfies your demand , i just type casted the LPCSTR to char *
and to access the AddNode declared it with Public scope .
If u want to check just try changing the { val="v";} u will see an compiler
error for constant.
//////////////////////////////////////////////////////////////////////
Vikas Amin
Embin Technology
Bombay
vikas.amin@embin.com
|
|
|
|
|
I'm sorry, it will make every call to this function need a typecast, which is not acceptable...
Further more the input data is not sefe.
You wrote:
val="v";
In this, the pointer, val is become a const, that's why we cannot assign another pointer("v") to it. But we can change the contents, for example *val = 'a' or strcpy(val,"hi") is possible.
- NS -
|
|
|
|