473,763 Members | 7,541 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

problem on creating functor for std::sort

lok
i have a class:

template <class T1, class T2>
class CPairMapping {
public:
typedef std::pair<T1, T2> ValuePair_t;
typedef std::vector<Val uePair_t> ValueList_t;
typedef std::binary_fun ction< ValuePair_t, ValuePair_t, bool> ValuePair_IsLes s;

void SortAscend(cons t ValuePair_IsLes s& isLess_) {
std::sort(Map.b egin(), Map.end(), isLess_);
}

// skip other funciton like add,delete,look up...
protected:
ValueList_t Map;
};

i want to sort the Map with a functor supplied by the caller of SortAscend()
i created a functor:
typedef COne2ManyMappin g<int, int> INT2INTMap;
class INT2INTMap_IsLe ss: public INT2INTMap::Val uePair_IsLess {
public:
bool operator() (INT2INTMap::Va luePair_t lhs_,INT2INTMap ::ValuePair_t rhs_)
{
return true;
}
};

up to now, no compile or link error
but if i call the SortAscend loke this:
INT2INTMap a;
a.AddEntry(1, 2);
a.AddEntry(3, 4);
a.SortAscend( INT2INTMap_IsLe ss() );

my vc++ 6.0 compiler reported:
error C2064: term does not evaluate to a function
see reference to function template instantiation '
void __cdecl std::_Unguarded _insert(
struct std::pair<int,i nt> *,
struct std::pair<int,i nt>,
struct std::binary_fun ction<
struct std::pair<int,i nt>,
struct std::pair<int,i nt>,
bool

)
' being compiled

what is the problem ?
thx
Jul 22 '05 #1
8 3503
lok wrote:
i have a class:

template <class T1, class T2>
class CPairMapping {
public:
typedef std::pair<T1, T2> ValuePair_t;
typedef std::vector<Val uePair_t> ValueList_t;
typedef std::binary_fun ction< ValuePair_t, ValuePair_t, bool>
ValuePair_IsLes s;

void SortAscend(cons t ValuePair_IsLes s& isLess_) {
std::sort(Map.b egin(), Map.end(), isLess_);
}

// skip other funciton like add,delete,look up...
protected:
ValueList_t Map;
};

i want to sort the Map with a functor supplied by the caller of
SortAscend()
i created a functor:
typedef COne2ManyMappin g<int, int> INT2INTMap;
class INT2INTMap_IsLe ss: public INT2INTMap::Val uePair_IsLess {
public:
bool operator() (INT2INTMap::Va luePair_t
lhs_,INT2INTMap ::ValuePair_t rhs_)
{
return true;
}
};

up to now, no compile or link error
but if i call the SortAscend loke this:
INT2INTMap a;
a.AddEntry(1, 2);
a.AddEntry(3, 4);
a.SortAscend( INT2INTMap_IsLe ss() );

my vc++ 6.0 compiler reported:
error C2064: term does not evaluate to a function
see reference to function template instantiation '
void __cdecl std::_Unguarded _insert(
struct std::pair<int,i nt> *,
struct std::pair<int,i nt>,
struct std::binary_fun ction<
struct std::pair<int,i nt>,
struct std::pair<int,i nt>,
bool

)
' being compiled

what is the problem ?


Your operator() is not const, so it isn't considered when std::sort
tries to call your function object.

Jul 22 '05 #2
lok

"Rolf Magnus" <ra******@t-online.de> wrote in message
news:bq******** *****@news.t-online.com...
lok wrote:
i have a class:

template <class T1, class T2>
class CPairMapping {
public:
typedef std::pair<T1, T2> ValuePair_t;
typedef std::vector<Val uePair_t> ValueList_t;
typedef std::binary_fun ction< ValuePair_t, ValuePair_t, bool>
ValuePair_IsLes s;

void SortAscend(cons t ValuePair_IsLes s& isLess_) {
std::sort(Map.b egin(), Map.end(), isLess_);
}

// skip other funciton like add,delete,look up...
protected:
ValueList_t Map;
};

i want to sort the Map with a functor supplied by the caller of
SortAscend()
i created a functor:
typedef COne2ManyMappin g<int, int> INT2INTMap;
class INT2INTMap_IsLe ss: public INT2INTMap::Val uePair_IsLess {
public:
bool operator() (INT2INTMap::Va luePair_t
lhs_,INT2INTMap ::ValuePair_t rhs_)
{
return true;
}
};

up to now, no compile or link error
but if i call the SortAscend loke this:
INT2INTMap a;
a.AddEntry(1, 2);
a.AddEntry(3, 4);
a.SortAscend( INT2INTMap_IsLe ss() );

my vc++ 6.0 compiler reported:
error C2064: term does not evaluate to a function
see reference to function template instantiation '
void __cdecl std::_Unguarded _insert(
struct std::pair<int,i nt> *,
struct std::pair<int,i nt>,
struct std::binary_fun ction<
struct std::pair<int,i nt>,
struct std::pair<int,i nt>,
bool

)
' being compiled

what is the problem ?


Your operator() is not const, so it isn't considered when std::sort
tries to call your function object.


thx for your rely

i changed the operator() to this:
bool operator() (INT2INTMap::Va luePair_t lhs_,INT2INTMap ::ValuePair_t rhs_)
const
{
return true;
}

the same error still occured
Jul 22 '05 #3
lok wrote in news:69******** *************** ***@posting.goo gle.com:
i have a class:

template <class T1, class T2>
class CPairMapping {
public:
typedef std::pair<T1, T2> ValuePair_t;
typedef std::vector<Val uePair_t> ValueList_t;
typedef std::binary_fun ction< ValuePair_t, ValuePair_t, bool>
ValuePair_IsLes s;

void SortAscend(cons t ValuePair_IsLes s& isLess_) {
std::sort(Map.b egin(), Map.end(), isLess_);
This isn't going to work std::binary_fun ction< > isn't a binary function
its a base class for function object's that *only* supplies some
typedef's that describe the arguments and return values.

It does *NOT* have a virtual operator () (T const &, T const &) const.

You need to pass std::sort() a genuine functor.

std::less< ValuePair_t >() would be a good start.

std::sort(Map.b egin(), Map.end(), std::less< ValuePair_t >() );

}

// skip other funciton like add,delete,look up...
protected:
ValueList_t Map;
};

i want to sort the Map with a functor supplied by the caller of
SortAscend()

You can a make SortAscend() a template member function (uppgrade your
compiler first) or make a functor with a virtual operator () ...


i created a functor:
typedef COne2ManyMappin g<int, int> INT2INTMap;
class INT2INTMap_IsLe ss: public INT2INTMap::Val uePair_IsLess {
public:
bool operator() (INT2INTMap::Va luePair_t
lhs_,INT2INTMap ::ValuePair_t rhs_) {
return true;
}
};
Make operator () a const member, also unless you like writing programmes
that hang or crash make it a valid Ordering function (model a < b) simply
returning true is nonsence.

std::sort(Map.b egin(), Map.end(), INT2INTMap_IsLe ss() );

up to now, no compile or link error
but if i call the SortAscend loke this:
INT2INTMap a;
a.AddEntry(1, 2);
a.AddEntry(3, 4);
a.SortAscend( INT2INTMap_IsLe ss() );

my vc++ 6.0 compiler reported:
error C2064: term does not evaluate to a function
Yup std::binary_fun ction<> isn't a functor.
see reference to function template instantiation '
void __cdecl std::_Unguarded _insert(
struct std::pair<int,i nt> *,
struct std::pair<int,i nt>,
struct std::binary_fun ction<
struct std::pair<int,i nt>,
struct std::pair<int,i nt>,
bool
>

)
' being compiled


HTH.

Rob.
--
http://www.victim-prime.dsl.pipex.com/
Jul 22 '05 #4
lok

"Rob Williscroft" <rt*@freenet.RE MOVE.co.uk> wrote in message
news:Xn******** *************** ***********@195 .129.110.130...
lok wrote in news:69******** *************** ***@posting.goo gle.com:
i have a class:

template <class T1, class T2>
class CPairMapping {
public:
typedef std::pair<T1, T2> ValuePair_t;
typedef std::vector<Val uePair_t> ValueList_t;
typedef std::binary_fun ction< ValuePair_t, ValuePair_t, bool>
ValuePair_IsLes s;

void SortAscend(cons t ValuePair_IsLes s& isLess_) {
std::sort(Map.b egin(), Map.end(), isLess_);
This isn't going to work std::binary_fun ction< > isn't a binary function
its a base class for function object's that *only* supplies some
typedef's that describe the arguments and return values.

It does *NOT* have a virtual operator () (T const &, T const &) const.

You need to pass std::sort() a genuine functor.

std::less< ValuePair_t >() would be a good start.

std::sort(Map.b egin(), Map.end(), std::less< ValuePair_t >() );


thx for your reply
i realize the problem (though not completely understand...)
but i need my own less comparison (that's why i want to create a
INT2INTMap_IsLe ss functor)

}

// skip other funciton like add,delete,look up...
protected:
ValueList_t Map;
};

i want to sort the Map with a functor supplied by the caller of
SortAscend()

You can a make SortAscend() a template member function (uppgrade your
compiler first) or make a functor with a virtual operator () ...


i think this is the direction to go
can u explain further ? thx


i created a functor:
typedef COne2ManyMappin g<int, int> INT2INTMap;
class INT2INTMap_IsLe ss: public INT2INTMap::Val uePair_IsLess {
public:
bool operator() (INT2INTMap::Va luePair_t
lhs_,INT2INTMap ::ValuePair_t rhs_) {
return true;
}
};
Make operator () a const member, also unless you like writing programmes
that hang or crash make it a valid Ordering function (model a < b) simply
returning true is nonsence.


it just a test code to make the code more simple


std::sort(Map.b egin(), Map.end(), INT2INTMap_IsLe ss() );

up to now, no compile or link error
but if i call the SortAscend loke this:
INT2INTMap a;
a.AddEntry(1, 2);
a.AddEntry(3, 4);
a.SortAscend( INT2INTMap_IsLe ss() );

my vc++ 6.0 compiler reported:
error C2064: term does not evaluate to a function


Yup std::binary_fun ction<> isn't a functor.
see reference to function template instantiation '
void __cdecl std::_Unguarded _insert(
struct std::pair<int,i nt> *,
struct std::pair<int,i nt>,
struct std::binary_fun ction<
struct std::pair<int,i nt>,
struct std::pair<int,i nt>,
bool
>

)
' being compiled


HTH.

Rob.
--
http://www.victim-prime.dsl.pipex.com/

Jul 22 '05 #5
lok
i modified the code as follow:
=============== =============== ====
#include <vector>
#include <functional>
#include <string>
using std::string;

template <class T1, class T2 >
class CPairMapping {
public:
typedef std::pair<T1, T2 > ValuePair_t;
typedef std::vector<Val uePair_t > ValueList_t;

class ValuePair_IsLes s {
public:
virtual bool operator() (const ValuePair_t& lhs_,const ValuePair_t&
rhs_) const;
};

void SortAscend(cons t ValuePair_IsLes s* isLess_) {
std::sort(Map.b egin(), Map.end(), *isLess_);
}
protected:
ValueList_t Map;
};

typedef CPairMapping< string, string > STR2STRMap;

class STR2STRMap_IsLe ss: public STR2STRMap::Val uePair_IsLess {
public:
bool operator() (const STR2STRMap::Val uePair_t& lhs_, const
STR2STRMap::Val uePair_t& rhs_) const {
return lhs_.first().si ze() < rhs_.first().si ze(); // #error line
}
};
int main() {
STR2STRMap a;
STR2STRMap_IsLe ss isLess;
a.SortAscend( &isLess );
return 0;
}
=============== =============== ====
now vc compiler reported at #error line:
error C2064: term does not evaluate to a function
error C2228: left of '.size' must have class/struct/union type
error C2064: term does not evaluate to a function
error C2228: left of '.size' must have class/struct/union type

it seem compiler doesnt recognize STR2STRMap::Val uePair_t is a pair<
string, string > object

how can i solve this error ?
thx
Jul 22 '05 #6
lok wrote in news:69******** *************** ***@posting.goo gle.com:

i modified the code as follow:
=============== =============== ====
Firstly my appologiess, I gave bad advise, makeing operator() virtual
was not a good idea as functors are mostly passed by value (so that
an ordinary function is also a functor), so slicing would occur
and what gets passed to std::sort is the base class with the
original operator ().

The following is a fix (of sorts) but it has no real advantage
over using a simple function pointer. Though it could if you need
to make the functor more complex.

#include <vector>
#include <functional>
#include <algorithm> // std::sort()
#include <string>

using std::string;

template <class T1, class T2 >
class CPairMapping
{
public:

typedef std::pair<T1, T2 > ValuePair_t;
typedef std::vector< ValuePair_t > ValueList_t;

class ValuePair_IsLes s :
std::binary_fun ction<
ValuePair_t const &, ValuePair_t const &, bool

{
protected:

typedef
bool (*m_cmp_t)(
ValuePair_t const &lhs_, ValuePair_t const & rhs_
)
;
m_cmp_t m_cmp;

public:

ValuePair_IsLes s( m_cmp_t cmp ) : m_cmp( cmp ) {}

bool operator() (
ValuePair_t const &lhs_, ValuePair_t const &rhs_
) const
{
return m_cmp( lhs_, rhs_ );
}
};

void SortAscend( ValuePair_IsLes s isLess_ )
{
std::sort( Map.begin(), Map.end(), isLess_ );
}

protected:

ValueList_t Map;
};

typedef CPairMapping< string, string > STR2STRMap;

class STR2STRMap_IsLe ss: public STR2STRMap::Val uePair_IsLess
{
static bool cmp(
STR2STRMap::Val uePair_t const &lhs_,
STR2STRMap::Val uePair_t const &rhs_
)
{
return lhs_.first.size () < rhs_.first.size (); // #error line

// note the lack of .first().size() ..
}

typedef STR2STRMap::Val uePair_IsLess base_t;

public:

STR2STRMap_IsLe ss() : base_t( cmp ) {}
};
int main()
{
STR2STRMap a;
STR2STRMap_IsLe ss isLess;
a.SortAscend( isLess );
return 0;
}
Here's a simple function version, there is *alot* less cruft if
you really don't need it.
#include <vector>
#include <functional>
#include <algorithm> // std::sort()
#include <string>

using std::string;

template <class T1, class T2 >
class CPairMapping
{
public:

typedef std::pair<T1, T2 > ValuePair_t;
typedef std::vector< ValuePair_t > ValueList_t;

typedef bool (*ValuePair_IsL ess)(
ValuePair_t const &lhs_, ValuePair_t const & rhs_
);

void SortAscend( ValuePair_IsLes s isLess_ )
{
std::sort( Map.begin(), Map.end(), isLess_ );
}

protected:

ValueList_t Map;
};

typedef CPairMapping< string, string > STR2STRMap;

bool STR2STRMap_IsLe ss(
STR2STRMap::Val uePair_t const &lhs_,
STR2STRMap::Val uePair_t const & rhs_
)
{
return lhs_.first.size () < rhs_.first.size ();
}

int main()
{
STR2STRMap a;
//STR2STRMap_IsLe ss isLess;
a.SortAscend( STR2STRMap_IsLe ss );
return 0;
}

Rob.
--
http://www.victim-prime.dsl.pipex.com/
Jul 22 '05 #7
lok
after some little modification,
no compile, link or runtime error now
the code are follow:
=============== ======
#include <vector>
#include <functional>
#include <string>
using std::string;

template <class T1, class T2 >
class CPairMapping {
public:
typedef std::pair<T1, T2 > ValuePair_t;
typedef std::vector<Val uePair_t > ValueList_t;

class ValuePair_IsLes s {
public:
virtual bool operator() (const ValuePair_t& lhs_,const ValuePair_t&
rhs_) const {
return lhs_ < rhs_;
}
};

void SortAscend(cons t ValuePair_IsLes s& isLess_) {
std::sort(Map.b egin(), Map.end(), isLess_);
}
protected:
ValueList_t Map;
};

typedef CPairMapping< string, string > STR2STRMap;

class STR2STRMap_IsLe ss: public STR2STRMap::Val uePair_IsLess {
public:
bool operator() (const STR2STRMap::Val uePair_t& lhs_, const
STR2STRMap::Val uePair_t& rhs_) const {
return lhs_.first.size () < rhs_.first.size ();
}
};

int main() {
STR2STRMap a;
STR2STRMap_IsLe ss isLess;
a.SortAscend( &isLess );
}
=============== ======
but in debug mode, i found std::sort called the operator() of
CPairMapping::V aluePair_IsLess instead of the operator() of
STR2STRMap_IsLe ss
it seem the dynamic binding of virtual function failed to work
is this because a new CPairMapping::V aluePair_IsLess is created to
pass to the std::sort funciton ?

how to solve this problem ?

thx
Jul 22 '05 #8
lok wrote in news:69******** *************** ***@posting.goo gle.com:
after some little modification,
no compile, link or runtime error now
the code are follow: [snip] but in debug mode, i found std::sort called the operator() of
CPairMapping::V aluePair_IsLess instead of the operator() of
STR2STRMap_IsLe ss
it seem the dynamic binding of virtual function failed to work
is this because a new CPairMapping::V aluePair_IsLess is created to
pass to the std::sort funciton ?

how to solve this problem ?

This works on the 3 conpilers I tried, (unfortunatly I haven't got
VC++ 6.0). See the comments inline:

#include <vector>
#include <functional>
#include <algorithm> /* forgot this again (std::sort) */
#include <string>
#include <iostream>

using std::string;

template <class T1, class T2 >
class CPairMapping
{
public:

typedef std::pair<T1, T2 > ValuePair_t;
typedef std::vector<Val uePair_t > ValueList_t;
typedef typename std::vector<Val uePair_t >::iterator iterator;
class ValuePair_IsLes s
{
public:
virtual bool operator() (
const ValuePair_t& lhs_,const ValuePair_t& rhs_
) const
{
return lhs_ < rhs_;
}
};

void SortAscend(cons t ValuePair_IsLes s& isLess_)
{
/* This is the trick,
force std::sort to take a Comparitor by reference
*/
std::sort<
iterator, ValuePair_IsLes s const &(

Map.begin(), Map.end(), isLess_
)
;
}

void add( T1 const &a, T2 const &b )
{
Map.push_back( ValuePair_t( a, b ) );
}

iterator begin() { return Map.begin(); }
iterator end() { return Map.end(); }

protected:

ValueList_t Map;
};
typedef CPairMapping< string, string > STR2STRMap;

class STR2STRMap_IsLe ss: public STR2STRMap::Val uePair_IsLess
{
public:
bool operator() (
const STR2STRMap::Val uePair_t& lhs_,
const STR2STRMap::Val uePair_t& rhs_
) const
{
return lhs_.first.size () < rhs_.first.size ();
}
};
template < typename Iterator >
std::ostream &print_pairs ( std::ostream &os, Iterator ptr, Iterator lim
)
{

if ( ptr != lim ) for (;;)
{
os << "( " << ptr->first << ", " << ptr->second << " )";
if (++ptr == lim ) break;
os << ", ";
}
return os;
}
int main()
{
STR2STRMap a;
STR2STRMap_IsLe ss isLess;

a.add( "2", "a" );
a.add( "1", "b" );

print_pairs( std::cerr, a.begin(), a.end() ) << "\n";

a.SortAscend( isLess ); /* pass by ref */

print_pairs( std::cerr, a.begin(), a.end() ) << "\n";
}


Rob.
--
http://www.victim-prime.dsl.pipex.com/
Jul 22 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
2339
by: alexhong2001 | last post by:
Does "std::sort" work only with sequence containers, not associative containers at all? Among sequential containers, can it be used with "list", "queue" and other sequence containers besides "vector"? Are "istringstream" and "ostringstream" covered in the book, "STL Tutorial and Reference" (second edition) by D. Musser, et al.? Seems like I could not find any related topic in the book.
4
3349
by: hall | last post by:
I accidently overloaded a static member function that I use as predicate in the std::sort() for a vector and ended up with a compiler error. Is this kind of overload not allowed for predicates and if so, why not? Shouldn the compiler be able to tell which of he overloaded functions to use? The second A::comp() is the one I accidently added and gives the error message (in Borland C++Builder 6) Unit1.cpp E2285 Could not find a match for
8
4224
by: Manfred | last post by:
Hello I am new to template programming, so i tried the 'example' from http://www.sgi.com/tech/stl/functors.html. I can compile the code but when i want to run the program I get a segmentation fault when the part of std::sort(...) is reached, but I don't understand why. ------------ Code start ---------------------
15
3341
by: Peter Olcott | last post by:
Does anyone know how to do this?
4
4533
by: prakashsahni | last post by:
I am using a sort func object like struct mystruct { bool operator () (MyClass* const &a, MyClass* const&b) {}; } Invoke it like std::sort(vec.begin(), vec.end(),mystruct); Where vec is an std::vector<MyClass*>.
5
3909
by: fade | last post by:
Good afternoon, I need some advice on the following: I've got a class that has a member std::vector<CStringm_vFileName and a member CString m_path; The vector contains a bunch of filenames with no path included (no C:\...) eg: my_file2.jpg, my_file1.bmp, etc... and m_path stores the path, eg: C:\folder1 I want to sort this vector according to different criterion, such as
11
656
by: Jeff Schwab | last post by:
Would std::sort ever compare an object with itself? I'm not talking about two distinct, equal-valued objects, but rather this == &that. The container being sorted is a std::vector. I've never seen this, but a coworker says he is. NB: I can't post sample code that reproduces the issue, nor do I claim any bug in the STL implementation (GCC 3.4.2). I'm just hoping a definitive answer resides in one of the brains who frequent this group.
1
2471
by: Markus Dehmann | last post by:
In the following code example, I define several Comparator classes which contain different compare functions to use with std::sort. I have a Sorter class that gets passed a Comparator and is supposed to sort using the specific Comparator that's passed to it. But it always uses the Comparator base class and not the derived class that it is supposed to use, although the functions are virtual. How can I make the code work? You might argue...
10
6262
by: ikarus | last post by:
Hello C++ Gurus! I'm comparing sorting algorithm for study goals. I've compared STL std::sort and hand-coded introsort on millions (tens of millions) of integers array sorting. It was tested on random, sorted, and sorted in reverse arrays. In all tests on such a huge arrays std::sort is faster by ~1/4 then my version. So it seems that it some call optimization. My 'hand coded' version is based on D. Musser's suggestions and on some...
0
9563
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9386
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10144
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
9937
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9822
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8821
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6642
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
1
3917
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
3522
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.