|
Hi,
I want to develop for the Palm OS ( I have a Palm Vx), I read there is a DLL or whatever that allows you to write your code in Visual C++, is that true ?
How can I get something free and good to program the Palm ?
Thanks, Bye !
Braulio
|
|
|
|
|
download the Palm SDK and an emulator
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Thanks,
And one question more..., how hard is it to get results ?, Or can be done simple applications ? ( is so hard as Windows raw C programming ?)
Bye !
Braulio
|
|
|
|
|
Here are some snippets from a talk I once gave on Palm OS coding :-
If you gimme your email address I'll send you the entire presentation.... the snippets below represent only about 33% of the presentation.
The PilotMain Function
The PilotMain() acts as the entry point for the application. It is analogous to main() in DOS programs or WinMain() in Windows applications. PilotMain() can check for launch codes which are passed as arguments. It is responsible for starting two important functions, StartApplication() and EventLoop().
The StartApplication() Function
This function is responsible for initializing the required data structures. It also initializes the program’s initial user interface by activating the initial form. Then it calls the EventLoop() function
The EventLoop() Function
The EventLoop function processes events going though these steps:
• EvtGetEvent retrieves the next available event from the
system event queue and passes it to a succession of event
handlers for processing.
• Each handler can choose (by returning a non-zero value) to handle an event, so that it’s not seen or processed by subsequent event handlers.
The EventLoop function processes all the events that flow through the application as it executes. EventLoop returns when an event is encountered that directs the application to quit. When control returns to PilotMain from EventLoop, the application quits, returning an error code of zero.
The SysHandleEvent Function
EventLoop gives the SysHandleEvent function the first opportunity to process each event. This function processes low-level events, like low-battery conditions, application launch, power keys, and Graffiti ® writing recognition.
Writing your first program
1. Create your form using Constructor for Palm OS
2. Add a button to your form
3. Save the resource file
4. Write the C program
5. Create the project using Code Warrior
6. Add the C program and the resource
7. Build it
8. Test it on the emulator
The Code
#include <pilot.h>
#include "MemoPadRsc.h"
static void StartApplication(void);
static Boolean MainFormHandleEvent(EventPtr event);
static void EventLoop(void);
static void StartApplication(void)
{
FormPtr frm;
frm = FrmInitForm(MemoPadMainForm);
FrmSetActiveForm(frm);
FrmDrawForm(frm);
}
static Boolean MainFormHandleEvent(EventPtr event)
{
Boolean handled = false;
EventType newEvent;
if (event->eType == ctlSelectEvent)
{
MemSet(&newEvent, sizeof(EventType), 0);
newEvent.eType = appStopEvent;
EvtAddEventToQueue(&newEvent);
handled = true;
}
return(handled);
}
static void EventLoop(void)
{
EventType event;
do
{
EvtGetEvent(&event, evtWaitForever);
if (! SysHandleEvent (&event))
if (! MainFormHandleEvent(&event))
FrmHandleEvent(FrmGetActiveForm(), &event);
}
while (event.eType != appStopEvent);
}
DWord PilotMain(Word cmd, Ptr cmdPBP, Word launchFlags)
{
if (cmd == sysAppLaunchCmdNormalLaunch)
{
StartApplication();
EventLoop();
}
return(0);
}
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Thanks !
My e-mail address is: bdiez@holtegroup.com
Bye !
Braulio
|
|
|
|
|
Hi Nish !,
Yes I would like to get the full palm article ( I want to try somethings), my e-mail adress is: bdiez@holtegroup.com
But then the palm thing does not have any standard control isn´t it ? ( b.g. TreeCtrl)
Thanks, Bye !
Braulio
|
|
|
|
|
Okay, I have emailed it. I hope you do find it useful as an introduction. good luck!!!
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Braulio Díez wrote:
How can I get something free and good to program the Palm ?
See here for a free, GCC based tool chain for programming the Palm.
|
|
|
|
|
Thanks,
And one question more..., how hard is it to get results ?, Or can be done simple applications ? ( is so hard as Windows raw C programming ?)
Bye !
Braulio
|
|
|
|
|
where can i find odbc drivers for XP?
|
|
|
|
|
I was under the impression that XP came with ODBC drivers. Are you looking for one driver in particular? Try downloading the latest MDAC from http://www.microsoft.com/data/
Michael
|
|
|
|
|
Hi,
i have a database with tables person,position and player.
Person Table Definition:
person_id -> unique id of the person
person_first_name -> person first name
person.person_last_name -> person last name
For instance:
1,John,Scotch
2,Paul,Whisky
Position Table Definition:
position_id -> unique position id
position_short -> short description of the position
position_long -> description of the position
For instance:
1,QB,Quarterback
2,WR,Wide Receiver
3,TE,Tight End
4,DE,Defensive End
5,DT,Defensive Tackle
6,CB,Cornerback
Player Table Definition:
player_id -> unique player id
player_person_id -> foreign key pointing to Person table
player_offense_position_id -> foreign key pointing to Position table
player_defense_position_id-> foreign key pointing to Position table
For instance:
1,1,3,4
2,2,2,6
Now i want to display the info like this:
Name Last Name Off Posit. Def Posit.
John Scotch Tight End Defensive End
Paul Whisky Wide Receiver Cornerback
My query succeeds when i only use both id's for the
position instead of the descriptive form:
select person.person_first_name, person.person_last_name,
player.player_offense_position_id,
player.player_defense_position_id
from person, player
where
player.player_person_id = person.person_id
It also works when i change 1 of the id's to the long description:
select person.person_first_name, person.person_last_name,
position.position_long,
player.player_defense_position_id
from person, player, position
where
player.player_person_id = person.person_id
and player.player_offense_position_id = position.position_id
But then only the foreign key of the offensive position is resolved.
When i try to have both offense and defensive id's as descriptions,
like this, it doesn't work:
select person.person_first_name, person.person_last_name,
position.position_long,
position.position_long,
from person, player, position
where
player.player_person_id = person.person_id
and player.player_offense_position_id = position.position_id
and player.player_defense_position_id = position.position_id
How can i replace both the offensive position id and the defensive
position id with their respective entries from the position table?
(i.e. resolve the foreign key and use the long description)
Also, is there a reference to the SQL syntax anywhere?
As you can see, i'm rusty on the sql part
BK
|
|
|
|
|
You need to use table aliases in your query if you have multiple foreign keys pointing to different rows of one table, try:
SELECT
person.person_first_name,
person.person_last_name,
pos1.position_long,
pos2.position_long
FROM
person,
player,
position pos1,
position pos2
WHERE
player.player_person_id = person.person_id
AND player.player_offense_position_id = pos1.position_id
AND player.player_defense_position_id = pos2.position_id
|
|
|
|
|
YES! it worked. thanks a million. been looking through some old sql courses that i had lying around but i didn't succeed in finding the sollution!
thanks again!!!
BK
|
|
|
|
|
And I guess that you think now why I want to do this!
But don't ask!
I want to get the window of a button or any control in another application.
I know how to get the windows window:
HWND theWnd = ::FindWindow(classname, ortitlename);
But then I want to get the window handle of a button that is in window theWnd.
Hope you understand!
And I tell ya again, please don't ask me WHY!
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
If you have the ID for the control (very easy to know using Spy++, that comes as an utility in Visual Studio), ::GetDlgItem(theWnd,id) returns a handle to the button you're interested in.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
PS: And if you want to programmatically press the button, here's how:
::SendMessage(hwndDlg,WM_NEXTDLGCTL,(WPARAM)hwndButton,(LPARAM)TRUE);
::SendMessage(hwndButton,BM_CLICK,0,0);
|
|
|
|
|
Hombreeee !!!
Gente de España !!!, aquí uno de Málaga !!! ( Braulio), Un saludo
Braulio
Braulio Díez Botella
Holte Innovation Málaga
|
|
|
|
|
are you swearing at him???
LOL
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
No, only, is always fun to find people from Spain ( like me), I know few people from Spain that uses CodeProject, ... that´s why... ( not U.S., or U.K., Or U... )
|
|
|
|
|
Yeah, I understand.
Anyway, I was just kidding
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Que tal, hombre
Yo de Cáceres, pero trabajando en Madrid.
Mi impresión es que aquí en CodeProject debemos ser muy poquitos. Desgraciadamente la sección de "Demographics" del CodeProject nos engloba en "Others" así que es difícil saber.
Un saludo,
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Cáceres !
Allí estuve yo hace un par de años, no veas que ciudad más chula !, lo que es la ciudad medieval es increible, y por la noche ya me quede flipado dando una vuelta por ahí. Tengo unos amiguetes en Berzocana, así que con un poco de suerte me subo al valle del Jerte esta primavera a ver si pillo los Almendros en flor, dicen que es la hostia...
Ya ve, lo de Madrid/Barcelona, está a la orden del día, yo me fui dos años al extranjero, y después de eso me quería quedar en Málaga trabajando, pero te das cuenta de que esto es un boquete ( supongo que caceres en el tema de trabajo de informático de verdad es lo mismo), en la empresa en la que estoy, somos gente bastante competente con C++ y C#, y las pasamos putas... a veces te entran hasta ganas de o irte fuera, o preparte unas oposiciones y tirar por la borda toda el montón de años que has estado estudiando y trabajando.
Oye, pues encantado de encontrarte por aquí, seguiremos en contacto , un saludo
Braulio
|
|
|
|
|
But I can't get the ID of a button!?
I use Find Window and drags the point to the window with buttons, and then... ehat then to do?!?!?!???
HELPFUL FOR AN ANSWER!! :
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Since you know the coordinates of the button (you'll have to convert them from screen to client), you can use ChildWindowFromPointEx().
/ravi
"There is always one more bug..."
ravib@ravib.com
http://www.ravib.com
|
|
|
|
|
use EnumChildWindows
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|