Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

visual c++ vs other programs

Status
Not open for further replies.

ccowy

IS-IT--Management
Sep 1, 2006
3
NO
Hallo there,

i'm quite new to c++ and was trying to find a good place where i can discuss some issues, unfortunetely i found the Microsofts forum where none answered my questions...

I have a project similar to Microsofts Encarta and was wondering what software, or set of sofwares did they use in order to create it. I will very much appreciate your answer or any possible leads that will help me solve my issue.

thanks!
 
Please be more specific. What part(s) of Encarta are you trying to duplicate?

The very broad answer to your question is that they used Microsoft Visual C++ to create the application. Visual C++ includes a large set of functions called the "Win32 API" and these functions communicate with Windows using messages to control the machine's hardware, such as video, sound, and the CD player.
 
I am very very new to V C++ and this is the reason why i asked such a broad question. I meant primarily the application ENCARTA as it is. Did they use a database to store the articles and what kind of. What program did they use to make the interaction between the topics, what did they use to layout the pages, how do the SEARCHES work. How did they create the quizes and so on. Can V C++ do all of it or do i need some other programs? Where is it best to start?

Sorry this must sound dumb:)) from me but you should have seen my questions a year ago when i started using Interdev:)
 
:^) Okay, unfortunately, the answers to almost all of your questions are, "no one but Microsoft knows for sure". Yes, they use *some* kind of database, but it likely was specifically designed for ENCARTA. How or in what ways? Those are what are known as "trade secrets".

However, *you* can use a general database such as Access to store your information, including relative links to photos (but not the photos themselves). When I say "relative links", I mean that when the user installs your application, you know that all photos will be in a certain directory under your main application folder. So your link would *not* include the entire path (C:\Program Files\MyApplication\Photos\myface.jpg), since you don't really know if the user is going to install on the C: drive or the D: drive. Your link would just be an offset from wherever your application was installed (MyApplication\Photos\myface.jpg).

The interaction between topics is likely also stored in the database. A word in an article may have some sort of data element that is used to find an entry in a link table. The entry is where the actual link information is stored. The actual technique is probably much more sophisticated than this simple explanation, but thats where those "trade secrets" come in once again.

As far as the page layout is concerned, they likely create a certain number of page "templates" with the page attributes predefined. Then, they just "pour" the text and photos onto the page into prearranged areas. Again, I'm guessing, but the template idea only makes sense.

Mathematicians have studied search algorithms for many years, and you'd better believe that Microsoft knows which one(s) are most efficient within their application (but I don't). If you want more information on searching, check out a book on Algorithms (no, I didn't say "Al Gore Rhythms" LOL ) at a university or local library or bookstore, or talk to someone more boring than me.

I'm sorry, I can't comment on the quizzes, since I don't remember what their user interface looks like.

To answer your last question... YES. Visual C++, combined with a database such as Access, can do all of this. If you're trying to make a commercial product, you'll need to make friends with a lot of people who are experts on each of these topics.

Another option you may want to consider which could make your development easier, is to use Visual Basic for the client (user interface) portion. Then, you could create C++ functions (in a DLL library) for the algorithms and database access routines.

I hope these thoughts help you... and that you get very rich and remember me with fondness and generosity. |-0
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top