|
Short and to the point
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Thank you, however Manfred's it's the right 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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Excellent
|
|
|
|
|
Well, Manfred's it's the right one.
Thank you, anyway.
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Yeah, I upvoted his answer but your answer sure made me
|
|
|
|
|
Going strictly by OP's question yours is the most succinct answer possible.
Have a 5!
"With sufficient thrust, pigs fly just fine."
Ross Callon, The Twelve Networking Truths, RFC1925
|
|
|
|
|
This book might be just for you: Secure Programming Cookbook for C and C++[^].
Content information:
•How to avoid common programming errors, such as buffer overflows, race conditions, and format string problems
•How to properly SSL-enable applications
•How to create secure channels for client-server communication without SSL
•How to integrate Public Key Infrastructure (PKI) into applications
•Best practices for using cryptography properly
•Techniques and strategies for properly validating input to programs
•How to launch programs securely
•How to use file access mechanisms properly
•Techniques for protecting applications from reverse engineering
[Edit]
Just in case I've decided to add this link to a SSL tutorial: C++ Socket library tutorial[^].
[/Edit]
Regards,
Manfred
"With sufficient thrust, pigs fly just fine."
Ross Callon, The Twelve Networking Truths, RFC1925
|
|
|
|
|
I think you just answered half the questions on this board.
Two very excellent links.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
Im writing some data in to file.
For that, im taking values and assign it to the struct varaible and then i add that sruct to CPtrList.
Then im writing this CPtrList in file.
But it writes some garbage value.
I dont know where im doing wrong.
Assigning values to struct:
sLbl= new SGraphLbl;
sTagName = (CString)czTagGetVal;
int pos = sTagName.Find("\n");
sName = sTagName.Left(pos-1);
if(sName.Right(1) == "Y")
{
sTagName = sName.Left(sName.GetLength()-2);
sTagName.TrimLeft();
sTagName.TrimRight();
sLbl->sTagName = sTagName;
sLbl->LblNo = Cnt;
sLbl->iTagInd = Cnt;
sLbl->PageNo = iPage;
}
LblList[iPage].AddTail(sLbl);
I am writing in to file in a seperate function
void Listtofile()
{
CFile gpFile;
if (!gpFile.Open( sFileName,CFile::modeCreate|CFile::modeWrite))
{
AfxMessageBox( sFileName + (CString)" - File Write Error");
return;
}
for(int iPage =0; iPage<NoPages; iPage++)
{
POSITION hPos = LblList[iPage].GetHeadPosition();
while(hPos)
{
SGraphLbl *Pd = (SGraphLbl *)LblList[iPage].GetNext(hPos);
gpFile.Write(Pd,sizeof( struct SGraphLbl));
}
}
gpFile.Close();
}
It writes some thing if file and also i cannot read the file also.
Anu
|
|
|
|
|
I don't know if this solves your problem, but this code may fail:
sTagName = (CString)czTagGetVal;
int pos = sTagName.Find("\n");
sName = sTagName.Left(pos-1);
pos is -1 when the string did not contain a line feed. If it contains multiple line feeds, all charaters at and right of it are removed. You are using a CString. So this may be better (removes also carriage returns):
sName.Remove('\n');
sName.Remove('\r');
|
|
|
|
|
Anu_Bala wrote: gpFile.Write(Pd,sizeof( struct SGraphLbl));
Since your struct contains a reference to a CString object, the above line is not the right way to serialize it (you're just writing the address of the CString to the file, while yout should write its content).
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi,
I am using eclipse IDE with MinGw installed. I copied all the libxl C libraries into the C:\MinGw\include but when I try to compile the program, I get the below errors :
D:\Faez\Software & Download\ExcelFilePgm\Debug/../MyFirstExcelFile.c:14: undefined reference to `xlCreateBookCA'
D:\Faez\Software & Download\ExcelFilePgm\Debug/../MyFirstExcelFile.c:17: undefined reference to `xlBookAddSheetA'
D:\Faez\Software & Download\ExcelFilePgm\Debug/../MyFirstExcelFile.c:20: undefined reference to `xlSheetWriteStrA'
D:\Faez\Software & Download\ExcelFilePgm\Debug/../MyFirstExcelFile.c:21: undefined reference to `xlSheetWriteNumA'
D:\Faez\Software & Download\ExcelFilePgm\Debug/../MyFirstExcelFile.c:23: undefined reference to `xlBookSaveA'
D:\Faez\Software & Download\ExcelFilePgm\Debug/../MyFirstExcelFile.c:24: undefined reference to `xlBookReleaseA'
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Time consumed: 515 ms.
Here is the program I am trying to compile:
#include <stdio.h>
#include <libxl.h>int main()
{
BookHandle book = xlCreateBook(); // xlCreateXMLBook()
if(book)
{
SheetHandle sheet = xlBookAddSheet(book, L"Sheet1", 0);
if(sheet)
{
xlSheetWriteStr(sheet, 2, 1, L"Hello, World !", NULL);
xlSheetWriteNum(sheet, 3, 1, 1000, NULL);
}
xlBookSave(book, L"example.xls");
xlBookRelease(book);
}
return 0;
}
Thanks,
Faez
|
|
|
|
|
Where did you copy the .lib files, and have you added that location to your LIB environment variable or project settings?
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
I have copied the libxl.lib file to the the path C:\MinGW\lib
Also, I set the LIB environment varible to the same path as above
Alternately I tried adding the Library path in the project under Library tab
But all in vain.
|
|
|
|
|
You must add the LibXL libraries to your project so that they can be linked. How to do this depends on your project management. If it uses a make file, they must be added there.
|
|
|
|
|
Can you tell me the procedure of eiditing the make file respectivelive please..
I have copied the libxl.lib file to the the path C:\MinGW\lib
Also, I set the LIB environment varible to the same path as above
Alternately I tried adding the Library path in the project under Library tab
But all in vain.
|
|
|
|
|
I don't use the Eclipse / MinGW combination. If you have a make file, you may post it here provided it contains only a few lines (otherwise post just the relevant lines containing 'LIB' and the final build/link command).
Copying the library to a specfic path and adding that path to the LIB environment variable is the correct way. But you must also add the library file name to your project. With Linux make files, this can be done using LDLIBS = -llibxl -l<other-lib> .
|
|
|
|
|
Any idea why error says "undefined reference to `xlCreateBookCA' " when I am calling the xlCreateBook() function..?
|
|
|
|
|
Faez Shingeri wrote: Any idea why error says "undefined reference to `xlCreateBookCA' " when I am calling the xlCreateBook() function..?
Yes. It is because the linker ld (see at end of output from your initial question) did not find the function xlCreateBookCA in any of your source files or the specified libraries.
Where and how did you add the library name to your project make file? Note that the library names must be specified without the .lib extension.
|
|
|
|
|
THANKS A ZILLION Jochen....!
It worked like a charm.... I was giving the .lib extension...
ur AMAZING...! u made my day..
Thanks again
|
|
|
|
|
Hi,
Could you tell me how to use a variable declared in a function, which is in another file..
Example:
There is a function named as below whose declaration is present in a header file named "SheetW.h"
const wchar_t* xlSheetReadStr(SheetHandle handle, int row, int col, FormatHandle* format);
Now, how do I use the "row" variable in my main file..?
I tried
1)extern int row; //did not work....
2)extern "C" func-name(); //this too did not work..
Thanks,
Faez
|
|
|
|
|
row is not a variable, it is a parameter of the function, that must be passed. In the above function, it specifies the row number of the cell which content should be read. You will typically pass a local variable (e.g. when retrieving data from within a loop), or pass a fixed number like '1'.
|
|
|
|
|
Hi,
Is there a way by which I can add a ".txt" extension to a filename that I have recieved from a a variable as below..?
const wchar_t* s = xlSheetReadStr(sheet, firstRow+1, 5, NULL);
's' contains a value say "ABC"... I gotta rename it to ABC.txt.... to perform file operations on that file (ABC.txt)..
Thanks,
Faez
|
|
|
|
|
You must create a copy of the string and append the extension. There are several ways to do this:
wchar_t lpszFileName[_MAX_PATH];
wcscpy(lpszFileName, s);
wcscat(lpszFileName, L".txt");
swprintf(lpszFileName, _MAX_PATH, L"%s.txt", s);
std::wstring wstr(s);
wstr += L".txt";
CStringW strFileName;
strFileName.Format(L"%s.txt", s);
This question shows me that you are an absolute beginner to C/C++. This is not a problem. We all were beginners once. But I recommend not to start with a rather complex program using an external library to read Excel files. You should get a good book or tutorial for C++ beginners and work trough it before writing such programs.
|
|
|
|
|
I am really a beginner to C programming Jochen...
I really gotta sitback and build my basics first... Any suggestions for this C beginner..?
BTW... when I tried using the above suggested wchar functions, the code crashes and I get an error saying "An unhandled Win32 exception occured "......
|
|
|
|