Einführung in Palm-C

Willkommen!

Wenn du im Nexave-Forum mitmachen möchtest, schreib an community@nexave.de. Wir haben die Registrierungsfunktion in unserem Diskussionsforum nämlich deaktiviert, weil sich praktisch nur noch Spammer und Werbebots registriert haben. Per E-Mail sind wir dir gern behilflich, einen Account anzulegen.
  • Hi @all!


    ich würde gerne beim entwickeln von Software für den Palm mal was schnelleres machen als PocketC u.Ä.. Deshalb hab ich mir überlegt mit C für den Palm anzufangen. Ich kann schon ein Bisschen richtiges C aber habe gemerkt, dass "Palm-C" ganz anders ist. Deshalb meine Frage: Gibt es ein Buch / eBook oder eine Internetseite / -tutorial auf der man C für den Palm lernen kann? Wenn ja wo?


    MfG


    MisterX

    History:
    24.12.2000: Palm m100 (funzt noch einwandfrei...)
    15.07.2004: PalmOne Zire 71 (Verbindung Cradle-Anschluss->Gerät defekt => nicht mehr aufladbar)
    10.05.2006: PalmOne LifeDrive (am 29.9. zw. 22 und 22:15 geklaut-.-)

  • ist es möglich, den inhalt eines resource-labels zu verändern? wenn ja wie?

    History:
    24.12.2000: Palm m100 (funzt noch einwandfrei...)
    15.07.2004: PalmOne Zire 71 (Verbindung Cradle-Anschluss->Gerät defekt => nicht mehr aufladbar)
    10.05.2006: PalmOne LifeDrive (am 29.9. zw. 22 und 22:15 geklaut-.-)

    • Offizieller Beitrag
    Zitat

    Original von MisterX
    ist es möglich, den inhalt eines resource-labels zu verändern? wenn ja wie?


    Die API-Docs haste aber, oder? Also es gibt kein Palm-C. Es gibt eine API, so wie es die auch unter anderen OSen gibt. Es gibt normalerweise keine clib, aber die meisten Sachen kann man per API nachbilden. Oberflächenprogrammierung ging noch nie über die clib, sondern das ist immer Abhängig von der API des Betriebssystems/Grafiksystem. Also API-Docs (als PDF) von PalmSource herunterladen und mal in der Referenz nachschauen: FrmCopyLabel würde ich hier vorschlagen. Aber lies Dir unbedingt die Beschreibung dazu durch!!!


    Gruß
    Henk

  • ich hab mir jetzt meine eigene funktion gebastelt...

    Code
    void changeLabel(const char *newtext,UInt32 ObjID,UInt32 FrmID) {
        FormPtr frm;
        ControlPtr ctl;
        frm = (FormPtr)FrmGetFormPtr(FrmID);
        ctl = (ControlPtr)FrmGetObjectPtr(frm,FrmGetObjectIndex(frm,ObjID));
        CtlSetLabel(ctl,newtext);
    }


    aber noche eine frage... wie kann ich einen float oder int wert in einen string zur ausgab umwandeln? es gibt die funktion "StrIToA"... allerdings stürzt dabei der simulator immer ab...

    History:
    24.12.2000: Palm m100 (funzt noch einwandfrei...)
    15.07.2004: PalmOne Zire 71 (Verbindung Cradle-Anschluss->Gerät defekt => nicht mehr aufladbar)
    10.05.2006: PalmOne LifeDrive (am 29.9. zw. 22 und 22:15 geklaut-.-)

    • Offizieller Beitrag
    Zitat

    Original von MisterX
    ich hab mir jetzt meine eigene funktion gebastelt...

    Code
    void changeLabel(const char *newtext,UInt32 ObjID,UInt32 FrmID) {
        FormPtr frm;
        ControlPtr ctl;
        frm = (FormPtr)FrmGetFormPtr(FrmID);
        ctl = (ControlPtr)FrmGetObjectPtr(frm,FrmGetObjectIndex(frm,ObjID));
        CtlSetLabel(ctl,newtext);
    }


    aber noche eine frage... wie kann ich einen float oder int wert in einen string zur ausgab umwandeln? es gibt die funktion "StrIToA"... allerdings stürzt dabei der simulator immer ab...


    Wohl weil Du keinen Speicher reserviert hattest, auf den Dein Char * zeigt?
    Ansonsten:


    Char string[64];
    StrPrintF(string, "%d", 1234);


    Float ist schwieriger, würde ich eher so machen:


    #define ABS(a) (a < 0) ? (-a) : (a)


    Char string[64];
    float f = 3.14159
    StrPrintF(string, "%d.%04d", (int) f, ABS((int) ((f - ((int) f)) * 10000)) );


    Wobei es auch den FloatManager gibt, der Fließkommazahlen unterstützt. Den nehm ich aber nie.


    Gruß
    Henk

  • Hallo,
    will ja keine Schleichwerbung machen aber es gibt ein deutsches Buch von Dirk Nöldner.


    Ist zwar schon ein bisserl alt in der schnellebigen Palm zeit, aber die Grundfunktionen haben sich ja nicht verändert.


    aber ohne die API geht es auch nicht.


    Doch in die freie PODS (Eclipse) muss mann sich einarbeiten die gabs damals noch nicht.
    Den neuen Resource (XML) Editor finde ich für mich auch logischer oder was sagt Ihr dazu?