|
Is there any free/paid software/source code which provides a viewer for doc,pdf,xls,ppt etc files?
|
|
|
|
|
|
MKC002 wrote: Is there any free/paid software/source code which provides a viewer for doc,pdf,xls,ppt etc files?
for personel use or for commercial use?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
|
Hello everyone,
i have a problem,
i want to use FLTK in visual studio 2010. I installt it correctly, I copied the .lib files into the lib folder and the FL folder into the include folder in my Visual studio 2010 directory. My problem is when i compile the folowing code to see if everything works i get these errors:
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <FL/FL_Window.h>
int main()
{
Fl_Window w(200, 200, "title");
Fl_Box b(0, 0, 200, 200, "Hie");
w.show();
return Fl::run();
}
1>------ Build started: Project: testGUI+, Configuration: Debug Win32 ------
1>Build started 13.06.2010 11:45:01.
1>InitializeBuildStatus:
1> Touching "Debug\testGUI+.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>fltkd.lib(Fl.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_Display_Device::device_type" (?device_type@Fl_Display_Device@@2PBDB)
1>fltkd.lib(Fl_Double_Window.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_Display_Device::device_type" (?device_type@Fl_Display_Device@@2PBDB)
1>fltkd.lib(Fl.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_GDI_Graphics_Driver::device_type" (?device_type@Fl_GDI_Graphics_Driver@@2PBDB)
1>fltkd.lib(Fl.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall Fl_Surface_Device::set_current(void)" (?set_current@Fl_Surface_Device@@UAEXXZ)
1>fltkd.lib(fl_draw_image.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_System_Printer::device_type" (?device_type@Fl_System_Printer@@2PBDB)
1>fltkd.lib(Fl_Double_Window.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_System_Printer::device_type" (?device_type@Fl_System_Printer@@2PBDB)
1>fltkd.lib(fl_rect.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_System_Printer::device_type" (?device_type@Fl_System_Printer@@2PBDB)
1>fltkd.lib(fl_font.obj) : error LNK2019: unresolved external symbol "public: static char const * const Fl_System_Printer::device_type" (?device_type@Fl_System_Printer@@2PBDB) referenced in function "class Fl_Font_Descriptor * __cdecl find(int,int,int)" (?find@@YAPAVFl_Font_Descriptor@@HHH@Z)
1>fltkd.lib(Fl_Bitmap.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_System_Printer::device_type" (?device_type@Fl_System_Printer@@2PBDB)
1>fltkd.lib(Fl_Pixmap.obj) : error LNK2001: unresolved external symbol "public: static char const * const Fl_System_Printer::device_type" (?device_type@Fl_System_Printer@@2PBDB)
1>C:\Users\Danii\documents\visual studio 2010\Projects\testGUI+\Debug\testGUI+.exe : fatal error LNK1120: 4 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.18
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
im sorry if this has been explained before.. i couldnt find anything..
Red&Black
|
|
|
|
|
Just copying a library into VC++'s libraries folder doesn't necessarily mean that the linker can automatically link with them (unless the author does some fancy non-portable things - as FLTK is fairly portable I guess they didn't). There are several ways you can get the linker to link with the libs. this[^] article goes over them better than I could.
Cheers,
Ash
|
|
|
|
|
I see no way to create push like button on ribbon. I am trying to simulate same using CMFCRibbonButton.
How to set the button state as highlighted/clicked/pressed in ON_COMMAND.
AksharRoop
|
|
|
|
|
I need some code for a template
matrix gauss_jordan(void) { // Gauss-Jordan matrix inversion
assert(this->data[].size() == this->data.size()); // Must be a square
};
I have not seen much of help so far
I do have a code to put a matrix into row echelon form
http://www.contract-developer.tk
modified on Saturday, June 12, 2010 3:59 PM
|
|
|
|
|
That is because the message boards are about answering questions and providing guidance for those who are doing the work.
You are asking for someone to do the work for you.
When you have made some progress then by all means ask about specific issues or points.
|
|
|
|
|
VeganFanatic wrote: assert(this->data[].size() == this->data.size()); // Must be a square
what is data type of data!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
I make everything a template. This way its agnostic to the underlying data to a point.
I have templates for vector and matrix already and I can now use vector equations, so when I made my matrix I leveraged that capability a lot. Make the work a lot easier.
I finally have LU decomposition, I wanted other algorithms in the library to be used in special cases.
http://www.contract-developer.tk
|
|
|
|
|
Hello everybody!
I create the class used to show some graphics, like this:
CMyElemView >> CZoomView >> CScrollView >> CView
when I called this,but is empty .
void CMyElemView ::PrintPreview()
{
CScrollView::OnFilePrintPreview();
}
void CMyElemView ::Print()
{
CScrollView::OnFilePrint();
}
otherwise , I created other class,it used to show some text:
CMyTextView >> CTextBaseView >> CBCGPEditView >> CView
This can be successed to show the text, but the CMyElementView doesn't.
What cause is this error generally ?
|
|
|
|
|
I have created a class and a tamplate to create an array with a size based on two of the parameters. What I am looking to do is populate the years[0] with the start parameters value and continue to year[stop]= the stop parameters value.
#include<iostream><br />
using namespace std;<br />
<br />
template <class T, int start, int stop><br />
class MyArray {<br />
T test [stop-start]; <br />
};<br />
<br />
int main () {<br />
MyArray <int, 1790, 1820> years; <br />
return 0;<br />
}<br />
so... MyArray <int, 1790, 1820> years; would create an array with 30 values starting at array[0] = 1790 and ending with array[30]=1820. Is this possible?
|
|
|
|
|
To begin with, I think you want stop-start+1 because 1790 to 1820 is actually 31 years. Correspondingly, if you passed in 1 and 10 you should have 10 items and not 9, right ?
Anyway, no, I don't think you can do exactly what you wrote there. Have you seen what the compiler thinks about that ? It will probably tell you that the array size must be a constant expression. I think you need to use new to make the array of variable size.
|
|
|
|
|
As long as the start and stop values are compile-time constants, I am pretty sure you can use Template Metaprogramming[^] to populate the array.
|
|
|
|
|
I recommend you use the std::vector class for this.
You can do the following -
std::vector<T> myArray;
myArray.reserve(stop - start + 1);
|
|
|
|
|
I think you meant vector::resize() .
---
IMO using the std::vector does not add any value in this case. In fact it's the other way around.
* It will allocate memory from the heap, whether you have an automatic instance or not. Possibly affecting performance and fragmentation. (Not a problem for most application, but still)
* There is no added bounds checking. It is just as good (or bad) as the native array.
* Memory management is provided for you in both cases.
Use of std::vector might be useful if:
* You work with years spanning over millions of years. Otherwise it might consume your stack in no-time.
* Maybe the compiler/linker can optimize your class due to the fact that all instances (with the same type parameter) have the same size. (sizeof(std::vector<int>) is not affected by the number of elements while sizeof(int[N]) is.) Unfortunately, my knowledge of linker optimization techniques is not what it should be so I really don't know. But I wouldn't mind knowing.
|
|
|
|
|
template <class T, int start, int stop>
class MyArray {
T test [stop-start+1];
public:
MyArray()
{
for (int i = 0; i < (stop - start + 1); ++i)
test[i] = start + i;
}
};
MyArray<int, 1999, 2010> arr;
|
|
|
|
|
Here's a quick counter question... Do you actually need an array?
The reason this springs to mind is that you've made the array private so no one outside of your interface can use it. Well, apart from using some disgusting tricks that you should burn in a personal hell for.
So if your final class interface is going to be something like:
template <class T, int first, int last>
class year_range
{
public:
T nth_year_in_range( int n );
};
you could actually eliminate the array wholesale:
T nth_year_in_range( int n )
{
return T( start + n );
}
Of course if you need the array for something else then this won't work.
Cheers,
Ash
|
|
|
|
|
matrix operator=(const matrix &that) {
matrix ret;
ret.resize(this->data.size(), this->data[0].size());
for (int i = 0; i < that.data.size(); i++)
for (int j; j > that.data[0].size(); j++)
ret[i][j] = that[i][j];
return ret;
};
Seems to be no good, what am I doing wrong
http://www.contract-developer.tk
|
|
|
|
|
are you getting an error message of any kind ?
|
|
|
|
|
Claims there are no operators available, to support the abstract vector algebra.
Error 2 error C2679: binary '-' : no operator found which takes a right-hand operand of type 'aa::vector<base>' (or there is no acceptable conversion) matrix.h 114 1 fibonacci
http://www.contract-developer.tk
|
|
|
|
|
vector operator-(const vector *that) { // parallelogram law
vector ret;
assert(this->data.size() == that.data.size());
ret.resize(this->data.size());
#pragma omp parallel for
for (int i = 0; i < this->data.size(); i++)
ret.data[i] = this->data[i] - that.data[i];
return ret;
};
http://www.contract-developer.tk
|
|
|
|
|
Without knowing what your representation of matrix is it's a bit hard to work out if you're copying it correctly.
Cheers,
Ash
PS: Having said that what you've implemented is going to be more of a factory or clone method. While it might be legal C++ it wouldn't half surprise anyone trying to use the class. Would you expect that writing a = b; wouldn't change the value of a?
|
|
|
|
|
Should be:
matrix operator=(const matrix &that) {
for (int i = 0; i < this->rows; i++)
for (int j=0; j < this->cols; j++)
(*this)[i][j] = that[i][j];
return *this;
}
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]
|
|
|
|