how to port a palm program to my O2 - MDA II, XDA II, 2060 General

I started using the O2 about two years ago but realized that I couldn't let go of my Palm because of a program (MathPad). Does anybody know how to port this program to the O2 so I don't have to always bring 2 pda's with me (O2 and palm)? OR is anybody familiar with a similar program on the pocket pc OS. A short description of the MathPad below.
Aki
MathPad is a tool for solving and storing mathematical equations in standard algebraic syntax. It works just like the standard MemoPad app, except that if you write down an equation and tap the Solve button, it computes the answer and fills it in for you. These equations can be simple math expressions like "2+2=", or algebraic expressions using variables such as "sqrt(x+4) / acos(0.7) = y**3". MathPad provides operators for exponentiation, bitwise AND, OR, NOT, and XOR, bit shifts, integer or modulo division, comparisons, and Boolean logic. Functions for trigonometry (including inverse and hyperbolics), logarithms, and date manipulation are also provided. MathLib is required for use of the trigonometric functions, but all other features work on any Pilot-compatible PDA, running any OS version

if you by port mean recompiling then that very much depend on using what tool the application was made
if you just want to run the program ...
http://news.com.com/2100-1040-270567.html?legacy=cnet

There are a couple of palm emulators for pocketpc as well.
Some work very well.
V

Thanks Rudegar for the link. I found the article quite interesting. Wish they had some sort of trial version for the software. Getting the ROM seem quite tricky. I also noticed that it was dated 2001... any idea on where it is now?
Thanks too Vijay,
Would you have a specific emulator you can recommend? I tried it out when I first got the O2 but it never ran and I gave up on the emulator.

use styletap to run most palm apps on your ppc
http://styletap.com/
if you need help send me a pm.. your pinoy din dba?

Related

Where can I get SDKs for XDA II?

I saw a lot of programs developed for XDA II, and they are for XDA II only. So it must be a SDK documents somewhere, otherwise no-one can write codes specific for XDA II, Am i correct?
If so, could anyone tell me where can I get the XDA II's SDK?
Thanks in advance
SDK is the PocketPC2003 SDK available free from Microsoft.
It really needs embedded Visual C++ 4, also available free from Microsoft.
http://www.microsoft.com/windowsmobile/default.mspx
They'll also send you all the tools on DVD for a small handling fee, as they are huge downloads.
andyclap said:
SDK is the PocketPC2003 SDK available free from Microsoft.
It really needs embedded Visual C++ 4, also available free from Microsoft.
http://www.microsoft.com/windowsmobile/default.mspx
They'll also send you all the tools on DVD for a small handling fee, as they are huge downloads.
Click to expand...
Click to collapse
Sorry, I didn't make myself clear.
I have the generic SDK from MS, what I need is the SDK for XDA II, it should come from XDA II's manufacture.
Thanks
well there are not xda2 stk
but there are a collection of stk's
one of them is ms's
another is the one which the cam program uses
another is the stk of the ati 2d chip
i think ati will give you their sdk if you reg at their site or something
dont think the cam's sdk is something they would let people get their hands on
a xda2 sdk would be like having a dell Latitude sdk
it dont work like that
Rudegar said:
well there are not xda2 stk
but there are a collection of stk's
one of them is ms's
another is the one which the cam program uses
another is the stk of the ati 2d chip
i think ati will give you their sdk if you reg at their site or something
dont think the cam's sdk is something they would let people get their hands on
a xda2 sdk would be like having a dell Latitude sdk
it dont work like that
Click to expand...
Click to collapse
Thanks, where is the website for ATI? could you post a link please?
BTW, what I need to do is to develop GSM related applications specific for XDA II, say, timed SMS sending. It is best if I can plug my apps into their build-in apps like SMS (it does not have timed SMS sending options)
Aha you're after the device SDK for the XDAII. You want to know what drivers are supplied and how to use them to control the specific hardware at the lowest level, e.g. ATI graphics, Radio hardware, Camera, Bluetooth, Buttons, comms, etc.
... unfortuantely HTC are an absolutely closed shop. Getting any information out of them is like getting blood out of a stone. A particularly hard and bloodless stone.
This site is really the closest thing we have, although as mentioned above you might have some luck with the specific hardware manufacturers such as ATI (although they are also notoriously unforthcoming). There's also sourceO2, who have similar level of knowledge about supporting low level development on the XDAII as a particularly stupid earthworm.
Usual rant follows... If only the device manufacturers would properly open up their products to developers, they'd see a wealth of applications developed that'd make their hardware a real "must have". They probably think it'd eat into their profits on the next device they produce, which is all they're interested in really.
Incidentally, you can both send SMSs, and use the notification subsystem to schedule an app to run at a particular time via the PPC2003 API. So it'd be fairly simple to knock up a client-side SMS timed sending application wihtout hacking RIL.
Hi, andyclap
Thanks a lot for your informative reply.
I am not actually developing very low level applications. What I planned to do is to develop some value added little programs that could be a plug-in or such a kind.
To make myself clear, I can use an example to explain what I might want to do:
The build-in SMS program does not have the feature the let you send a timed (scheduled) SMS. I am wishing to do is:
insert a menu item into its original context menu (tap-and-hold on SMS message body), you can choose to send at specific time
Anyone have an idea?
build in sms programs are not something which would make it a special xda program
all pocketpcs would be able to use that
that is unless you want to block your application somehow from being used on other pocketpc's then the xda then i suppose you need to access some reg indentifier or something
you want me to give your the link to ati ?
well if you are too lazy to type it then i suppose I must
http://www.ati.com/products/handheld.html
Hmm this may be quite hard to do, as I the messaging system is quite unextensible. It's fine if you want to create a new format from scratch, but extending an existing form handler is, I think, impossible.
Some low level dirty tricks (subclassing windows etc) might work, but would be pretty tricky to do, and very hacky.
I just wish somebody would give the PocketPC team a Symbian SDK, Symbian really got it right when it comes to messaging.
Yes, i can write a new SMS program, but it will need me to deal with Contacts object. I mean, I have to write code for fetching data stored in the build-in contacts database. If I can just plug my function into its contextmenu, I will only need to implement a simple function program (setting date/time, save phone number and message text, create a notification, etc).
Using SetWindowLong can hook into the *****, but this program model is some kind of fragile, very easy to crush the system or the apps itslef, not really stable if not tested thoroughly

Accessing tapi functions

Hi everybody
I'm using a WinCE Pascal and developing a smartphone application.
My problem is that I can't import the tapi's functions using their names, so
I must use the functions index.
I didn't succeed to find a table of the functions index, and I can't copy tapi.dll to the PC (and use dumpbin to view the exports list).
What can I do?
Thanks
Kobi
Tapi.dll is part of the ROM so you can't copy it.
There are many tools on this site that let you dump ROM, the simplest to use is mamiach's TestWM5.exe.
Since you only need one file, I will post it, but this is from WM5 device. I'm not sure if the ordinals are the same for all OS versions.
PS: You might want to look in to switching to c++, the transition from Pascal is easy (at least it was for me) and the language opens up more options.
Thank you very much
Hi Levenum
Your answer did help me very much
Thanks for the tapi.dll (and WM5 is my target OS).
According to use c++ - If I couldn't solve this problem then I was using eVC++, but I prefer to use FPC (Free Pascal Compiler) for WinCE, altough of all its disadvantages (no debugger/emulator, poor IDE, no complete library of static binding - fit to WinCE because of its multi OS ability.
The language itself is equivavalent in its abilities to c++ (including definition of operators and so on)
Thanks
Kobi

New programmer on pocketPC... advice?

hey guys, I'm a career developer with tons of experience in a lot of things except PocketPC. I want to play around a bit with PPC, but would like to hear about the development platforms, languages, etc. that you're using and what you like about them. I don't know anybody personally that's even remotely interested.
I'm currently using VIsualStudio2005/C# for my day job, and am pondering whether that's a good fit for PPC. A lot of documentation exists for both managed and native PPC C# code. Managed code is more like the stuff I do all day.
What I've found so far is that managed code requires runtimes to be installed (already there on WM6 i hear), there's a noticeable delay when starting a managed program, and a lot of functions are missing from the .NetCF.
I'd probably be writing business apps (database stuff, web back-end client/server, etc.) as well as hacks like today plugins, utility programs, etc.
Should I just start right out with native coding, or try and hack away with managed code. What's your opinion?
roboHaxx,
As i'm sure you're already aware of, choice of language on this environment really depends on the application you're designing.
I tend to use Visual Studio/C# for applications that I need to develop rapidly where I'm not too concerned about load times. The .NetCF libraries really helps in ensuring things get done quicker but there's a tradeoff in speed and functionality but not by too much thanks to all the new spec devices that are coming out.
If I'm developing something that doesnt need to get done faster, and I need quick loading times (like today plugins for example), I tend to stick with C (evc4).
Personally I stay away from .NET and all related stuff like it was toxic waste.
As kunz wrote it is too slow for PPC (at least for now) and if you want to use the .NET CF 2 any user with a device prier to WM 6 (which is the majority for at least another year) will have to install 5MB worth of run time.
But there are some very nice apps made with CF already out there like Hitchhiker so it defiantly has its place.
One problem though: if you want to develop system components like today plugins, keyboards (SIP) or control panel applets you will need a component written in C / C++. All those are DLLs that the system expects to export certain functions. This can not be done with managed code, and as far as I know not at all in C#.
One final recommendation: look up all threads started by Vijay555.
He wrote a pretty good summary of programing tools and options for WM devices somewhere on this forum.
Thanks for the replies. I'm think I'm starting to get a grip on this platform.
Sounds like the same principles as programming on a PC. For business apps (like in my day job), the managed, quick-to-market environments like C#, .net and CF2 prevail. But for performance, versatility and access to everything, C is the way to go. C++ if you must.
by the way, I thnk you can create DLLs in any Visual Studio language. I do it all the time with C# and VB. Now whether these DLLs can export the functions that are needed in PPC, I don't know the answer to that.
kunz, you said
If I'm developing something that doesnt need to get done faster, and I need quick loading times (like today plugins for example), I tend to stick with C (evc4).
pardon the dumb question but, what is evc4? A compiler I presume. That was going to be my next question. Which compilers do you like?
eVC is eMbedded Visual C++ 4.0 its a free C++ IDE for Windows Mobile from Microsoft.
It is almost identical to VS 6 (if you are familiar with it).
It won't except WM 5 or 6 SDKs, but any program create on it (with WM 2003 SDKs) will run on any Smartphone or Pocket PC starting with WM 2003 through WM 6.
For older versions you will need eVC 3.
The following pages should provide some useful information:
http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage
http://www.pocketpcdn.com/tools/index.html
Enjoy!
Hi,
I am programmer but I'm new in mobile development too.
I have an ideal to write a program that can speak the caller number instead of ringtone. The problem is that I don't know how to get the receiving call events.
Can we solve this situation with .net compact framework?
Anyone have documents to share?
Thanks

Need a c/c++ compiler !

hello guys,
i have been trying to figure out a way to do some c or c+ programming on the go, i have a desktop replacement laptop and i dont wanna have to carry it with me with all of my other books to school everyday. i am tryin to find a c++ compiler (hopefully gui)
i have tried
pocket gcc (installed but doesnt work)
pocketc (needs a translator to work)
evc++ (apparantly either i downloaded the desktop version or this is not what i was looking for)
i am just looking to do some c or c++ coding without a laptop at school.
thanks in advance.
joe
gcc works maybe you just set it up wrong
if you can do with c# then there is a c# compiler that runs on pocketpc
it dont have a gui though but any notepad'ish program can edit those files
otherwise there is this
http://www.pocketgear.com/software_detail.asp?id=5723
but it's not a fullblown compiler imho
never seen other real compilers or development envioments for pocketpc's
think the demand is TINY!
Yeah, Pocket GCC has worked successfully for me in the past.
However, I used Mamaich's version, and this was on a WM2003 device. You need to find a compatible Console output first for WM5 (you're using the Hermes right?). I can't remember if we found a good one for >= WM5.
There's various Basic type programming languages as well for native device development, and PocketC, but that's very very old.
V
How about C#....
Hi,
Ig you can bare using C# instead, I've just posted above about a free tool I created called "C# IDE Mobile" which allows writing/executing C# compact framework applications directly on the PPC.... But if you need C, then this won't help.
Harvey
Actually i have updated to wm6 and i am not sure if that is the reason cmd program from gcc wont work in it. I cant even find any sort of manual for it either.
and yes i do need a c compiler because from next semester i am startin to take unix courses and its mostly c programming. and if i get an idea in the middle of history class i might want to try it out on the phone instead of lappy.
so does anyone else have any ideas about a non translating program for c or c++
i was wondering if evc++ was only for PC and not PPC's cause i couldnt find a non xp version.
so i guess no compiler's huh?
evc++ is a IDE for windows which enable people to make pocketpc applications
not to run on the ppc
for the most parts the syntax of c# even java too is the same as
with c
so if all you need to do is make different algoritmes then you can use those
or the vi editor i linked too
if wm6 have the same issue with cmd as wm5 then this thread may help
http://forum.xda-developers.com/showthread.php?t=255114
does someone have a success with Tiny C compiler for ARM (tcc-arm) ?
IMHO, it would be quite handy for on-pocket development
I'm not sure if you can develop PocketPC-Applications with this, but I think its possible.
Try Visual Studio Express (C++-Edition) combined with the Windows Mobile SDK and the Windows Mobile Emulator Images.
All free, all available @ Microsoft Download Center. It's not tiny, but it's GUI and you can extend the pure C++-Development Environment with the ability to develop mobile applications and even to test them on Emulator.
Personally I'm developin mobile .NET Applications with Visual Studio Professional + Windows Mobile SDK and Windows Mobile Emulator. Works fine.
DennisMoore,
TCC is great due to its small size. And the reason why I'm interested in TCC is ability to cross-compile it to make it usable not only for ppc development, but for development on ppc. GCC is too huge application
try searching Bloodshed Dev-C++
I tried PocketDOS and TurboC++
Some time ago I was looking for this same thing and as I was just trying to do small DOS application (educational) then my best option was TurboC++ running in Pocket DOS. It can be changed to other pocket pc DOS emulator (there is a freeware one)/DOS C compiler.
pgcc should work
vijay555 said:
Yeah, Pocket GCC has worked successfully for me in the past.
However, I used Mamaich's version, and this was on a WM2003 device. You need to find a compatible Console output first for WM5 (you're using the Hermes right?). I can't remember if we found a good one for >= WM5.
There's various Basic type programming languages as well for native device development, and PocketC, but that's very very old.
V
Click to expand...
Click to collapse
I have this installed on my WM6 device and it works fine. In order to make the console work, you have to make a change in the registry.
see
http://forum.xda-developers.com/showthread.php?t=275019&highlight=console
Is this thread still active?
I use PGCC on my T-mobile Dash. I basically have to use batch files named without the following keys: W, E, R, S, D, F, X, C, V, which correspond to 1-9 on the dial pad. For example a file named run.bat would show up as 3un.bat so I would have to name it as such. I was attempting at one time to remap the keyboard to the HTC Excalibur like PocketDOS but, it was out of my experience level. I created a console pack from several different files that I modified. I had to jump through some hoops to discover this but, it's half the fun.
vijay555 said:
Yeah, Pocket GCC has worked successfully for me in the past.
However, I used Mamaich's version, and this was on a WM2003 device. You need to find a compatible Console output first for WM5 (you're using the Hermes right?). I can't remember if we found a good one for >= WM5.
There's various Basic type programming languages as well for native device development, and PocketC, but that's very very old.
V
Click to expand...
Click to collapse
Here's another console, tried it on WM6.1 and works like a charm.
http://forum.xda-developers.com/showpost.php?p=1854003&postcount=28
As for pocket GCC, i remember that it had some problems if file paths passed to it contained any spaces, so "/storage card" was a bit of a problem, and obviously, putting it in device's memory isn't even possible on many current pda's. The solution i came up with was renaming "/Storage card" to something wothout spaces (like "/SD").
You can do it by a simple registry edit the key:
Code:
HKLM/System/Storage Manager/Profiles/SDMemory/Folder
or
HKLM/System/Storage Manager/Profiles/SDMMC/Folder
(i don't remember which one it was, so you'll have to do some experimenting)
to anything you would like. After a soft reset you'll see the storage card mounted to a different folder.

Getting into WM5/WM6 programming?

I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
I would also be very interested in a thread or good reference on how to start to program app for mobile gadgets. Actually i'm a Delphi coder, and i would like to implement some applications on WM platform, but when i search over internet there's plenty of information, but no usefull information with "real-life" recomendations.
depend on the platform and language one wish to use really
there is c#.net, vb.net c++.net
c++ miniMFC, c++ PureWin32 sdk
oldVB
...
here are some other posts asking pretty much the same thing from the forum
http://forum.xda-developers.com/showthread.php?t=225405&highlight=programming
http://forum.xda-developers.com/showthread.php?t=237932&highlight=programming
http://forum.xda-developers.com/showthread.php?t=241670&highlight=programming
http://forum.xda-developers.com/showthread.php?t=245426&highlight=programming
http://forum.xda-developers.com/showthread.php?t=228043&highlight=programming
http://forum.xda-developers.com/showthread.php?t=317913&highlight=programming
http://forum.xda-developers.com/showthread.php?t=302548&highlight=programming
http://forum.xda-developers.com/showthread.php?t=327164&highlight=programming
http://forum.xda-developers.com/showthread.php?t=305926&highlight=programming
http://forum.xda-developers.com/showthread.php?t=336251&highlight=programming
http://forum.xda-developers.com/showthread.php?t=226412&highlight=programming
codeguru.com got examples of various windows mobile programs too today items and such
about delphi i dont know if anybody got some info i would say borlands site
Thanks rud. I was aware of various other posts, but my question was more of a "How steep is the learning curve?" rather than "How do you do it?".
There was also an element of "How do you do it?" insofar as there seem to be better or worse ways of going about various kinds of app (eg today apps with gesture support) which I am finding a bit of a minefield, but I feel that the new post was valid because I am giving an indication of my experience level and what I am trying to acheive - none of the posts you listed cover the combination of stuff I am trying to do. Reqs like pulling from outlook db and allowing gesture scrolling in a today plugin, I dunno, I may waste ages with C#, for example, only to realise it is a breeze with C++... I also note that a google search for wm programming gesture scroll today screen currently ranks this very thread #5. By tomorrow that'll be a googlewhack then.
Yes, there are various posts about how to get started, but I think maybe a sticky would be in order with a bit of info on the various paths - the vb/c++/c# options are quite bewildering - stuff like
levenum said:
Your question is mainly a matter of personal preference.
Here is my opinion on C++ vs. C#:
C++ advantages:
- Native code is faster than .NET
- Easier access to Win32 APIs
- Ability to write system components like keyboards and today plugins.
C# advantages:
- Saves on coding time
- Allows use of many .NET CF components to quickly accomplish complex tasks.
Please note that I am bias. I hate .NET and want nothing to o with it. Specially on mobile devices that do not have the processing power to spare for the .NET overhead.
Click to expand...
Click to collapse
is really useful, maybe if it were expanded upon, info such as for this route you need visual studio, etc, etc it would make a really good sticky for the dev section.
evilc said:
I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
Click to expand...
Click to collapse
Hey!
Congrats on getting your hands on with Windows Mobile...
The easiest way is to download Visual Studio 2005(2008 You have it on MSDN) - and create a new application with it.
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Still slogging my way thru this...
I got hold of an MSDN disc, first off I installed visual studio 6 - bad move.
Had to uninstall before trying to install VS 2005, now I think it has screwed something up, every time I try and create a "Smart Device Win32" project, I get a "Project creation failed" error. I may have to re-GHOST my OS to get rid of it
So much time just finding out what apps I need and what options to choose to start a project...
I found http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage which seems helpful
Thanks for responses!
Evilc, you link of msdn is excellent point, many thanks!
I have also just started programming in C++ ..i dnt have any knowledge of any type of codes..i learned every thing frm MSDN libraries ( i have many many of them caz i have VS 2006 VS 2005 and VS 2008 )..i recommend you to work with C++ because it uses less system resources and is fast..hope this helps..check out my Kitchen coded in C++ ( link in signature )
Yeah, I think C++ is definately more what I am looking for from what I have learned thus far.
Re-Ghosted OS - totally fresh XP SP2, installed Visual Studio 2005, still the same error. GRRR!
Visual C++ --> Smart Device --> Win32 Smart Device Project == "Project Creation Failed"
Other Languages --> Visual C# --> Smart Device --> Windows CE 5.0 --> Device Application == Project created OK.
Some posts I have found on the net say it is an IE7 issue, I may try uninstalling that or flashing back to an OS image with IE6 only, but this is really winding me up and taking a *lot* of my time...
I uninstalled IE7 and the problem went away. Woohoo!!
starting programming windows mobile
hello
1. see my web site.
2. see my book recommendations, especially the 'programming windows ce' by douglas boling. It has an example for many things and a today sample too. Most is based on visual c++ 3.0/4.0. Embedded Visual C 4 can be loaded free of charge at ms.
regards
josef
Nice site, thanks.
The windows mobile 6 sdk actually has a today screen sample, along with samples of most of the things I need to do.
neofix said:
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Click to expand...
Click to collapse
Are we using the same language?? Cos this (C++ Win32 for Mobile Devices) is by far and above the most difficult programming language to get into that I have ever tried. Yes, worse than ASM.
Trying to code an app that prints "Hello World" has taken me over 5 hours with no success yet - most languages I have a go at it's 5 minutes.
From http://msdn2.microsoft.com/en-us/library/ms901121.aspx :
Code:
int DrawText(
HDC hDC,
LPCTSTR lpString,
int nCount,
LPRECT lpRect,
UNIT uFormat
);
It gives a brief description of what the parameters are, but absolutely no examples and no explanation of what all the parameters do or how to initialize them, so even browsing an example is no use to me.
u can simply try
MessageBox::Show(" your message ");
ather90 said:
u can simply try
MessageBox::Show(" your message ");
Click to expand...
Click to collapse
Isn't that .NET ?
I thought the consensus was that Native Win32 or whatever it is called was the better way to go?
This is part of the problem. I cannot even work out what to put in a search engine to pull out info on the right "flavour" of C and for the pocketpc. It's *so* bewildering.
Hello evilc.
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
levenum said:
Hello evilc.
Click to expand...
Click to collapse
Hello! <waves>
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
Click to expand...
Click to collapse
I tracked down the problem when I got home and installed on my desktop. When doing it on the laptop, whilst installing SP1 for studio 2005, I had hit "Not Now" to a reboot request and it had said installation failed. When I installed SP1 on my desktop and said "Yes" to the reboot request, the problem went away, so I guess it was fixed in SP1 but the installer is a bit picky.
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Click to expand...
Click to collapse
Wish I had that advice before as I wasted a day messing around with an MSDN CD, trying to work out what to install and what not. So does the eVC 4 download include an IDE? If not, what do you use?
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
Click to expand...
Click to collapse
You don't have to tell me twice to avoid the bloatware ****e
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
Click to expand...
Click to collapse
No GDI Experience. I take it this would be the library of choice for drawing the screen of a today screen app? Stuff like the HTC Home clock or the new Face Contacts - they would likely use Native C++ and GDI? Doesnt strike me as something you would do with a form.
Also, anyone got the skinny on vertically scrolling by click-and-drag inside a today screen app? Just a case of enabling a parameter? Has to be coded manually? Best way to do it smoothly? If you have seen the Conduits Pocket Player 3.x browse list - how it "eases in" and "eases out" at the ends of the list, has inertia so you can "flick" down the list, the alphabetical bar instead of the regular scroll bar - is that all coded manually or is there an api or something that can help?
Thanks for the help!
I just noticed your apps in your sig - checked out LVM time - noticed there was source - wooohoo! I generally pick these things up by example.
All that code just for a (configurable) clock on one line - wow. Great though, a really good example of a today app - minimal enough in functions so it is easier to suss how it all slots together, but full featured enough (implimented example of an options screen - yay!) to show how to do various things.
And Gnu as well! Nice, this will be the basis of my first test project too I think - at least now I have a framework to test out what I want to do and how to go about it without having to work out how to code the basis of the application.
I thank you from the bottom of my heart sir.
I tried to build it in VS2005, but I got a
fatal error C1083: Cannot open include file: 'todaycmn.h': No such file or directory
A quick google search showed todaycmn.h was part of the SDK, I found the file, dropped it into the headers section of the project, but no joy. I will probs just try eVC.
Oh, and having developed a today plugin, maybe you can answer this one:
As far as I can tell so far, debugging isn't very easy with a today app - something to do with the fact that the dll is not releasable? Is this an issue I will come up against? I hope its not a case of "reinstalling" the app each time you want to test... I was thinking maybe along the lines of have it as a normal app for debugging, then make it a today plugin when you want to build to use it?
I dunno, probably trying to run before I can walk, my books shoulda been here today, oh well. Sorry for all the questions...
@evilc:
Are you using standard Win32 or MFC?
You may want to try using MFC since you get the flexibility of native development but with some nice class libraries that make your life easier.
As for click and drag behavior, that is usually implemented by handling the WM_LBUTTONDOWN, WM_LBUTTONUP and WM_MOUSEMOVE.
When you get wm_lbuttondown you set a flag that says the user is dragging. You use wm_mousemove to update the stylus position as long as this flag is set, then you unset it on wm_lbuttonup.
That's the basic idea anyway. Someone made a post about gesture recognition in this forum a few weeks ago with sample code. You should see if you can find that.
Managed Today Screen plugins
See:
http://msdn2.microsoft.com/en-us/library/ms839442.aspx
for some background on the concept.
And:
http://www.christec.co.nz/blog/archives/279
Outlines what I think is a very ingenius technique for managed today screen plugins.
For those of you that want an easy way to make a today screen app in c#. Chris did all the C++ work for you.
Also I forgot to mention that the SDK samples cover all most every application type you can think of. Most of the good ones are Win32 though.
Also, keep in mind that you can use P/Invoke from your C# apps to call native APIs. So don't let people tell you you need to use C++ just because you can access more api's. I will say that you should use C++ for games, or other apps that require high speed or advanced GUI's (it is VERY hard to do interesting gui techniques with C# and interop, trust me).
And finally, I would highly recommend using the most recent version of visual studio you can get (especially if you're using vista), unless your machine can't handle a newer version. I say so because visual studio gets more and more powerful as an editor with each new iteration and I personally can't go back after I get used to the new features they introduce. And the new versions are almost necessary if you're going to do .net development.

Categories

Resources