S-Bench (Weiter-)Entwicklung und mehr...

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.
  • Ich möchte es schaffen, mit hilfe von "UInt32 TimGetSeconds(void);" und einer Do-While-schleife, das zu erreichen:



    Also das das 'do' solange wiederholt wird, bis 10Sek rum sind.
    Nach jedem durchgang wird 'punkte' um eins erhöht, und die lasse ich dann nachher ausgeben... .


    Ich mache mich da jetzt an die Arbeit, muss ich was beachten?


    -- Ich habe keine Ahnung wie es gehn' soll! :schnieft: --



    UND warum gibt es hier den Error "qtxt.c: In function `PilotMain':
    qtxt.c:14: parse error before `)'":

  • Ich bin zwar nicht der Mega-Programmierer (Palm OS sowieso nicht, wenn, dann programmiere ich PHP), aber das sind nun doch Standard-Probleme, die Du eigentlich aus der Doku zur jeweiligen Prorammiersprache rauslesen kannst. Trotzdem ein allgemeiner Tip, wie das mit do...while geht:


    Du mußt erstmal die aktuelle Zeit ermitteln. Dann rechnest Du zehn Sekunden dazu und fragst im while ab, ob die aktuelle Zeit noch kleiner als der vorher ermittelte Wert ist. Ich würde aber nicht ganze Sekunden nehmen, sondern millisekunden oder Prozessor-Ticks, sofern die Funktionen das hergeben - sonst läuft die Schleife eher 11 Sekunden als 10 und ist doch ziemlich ungenau...


    Ich weiß nicht, ob PalmOS sowas wie den Unix-Timestamp kennt, damit geht sowas ganz easy (in PHP gibt es dafür z.B. microtime()), ansonsten mußt Du halt mal die Doku der entsprechenden Funktionen für die Zeitmessung zu Rate ziehen.



    Sei mir nicht böse, aber nach den Erfahrungen mit Deinen Problemen hier würde ich Dir dringend empfehlen, daß Du Dir ein gutes Buch zur C-Programmierung ganz allgemein und zur PalmOS-Programmierung im besonderen kaufst - die meisten Deiner aktuellen Fragen kannst Du Dir dann nämlich auch sparen, die findest Du dann in den Büchern beantwortet ;).


    Gute Anlaufstellen für Bücher zur Programmierung sind meiner Erfahrung nach Addison-Wesley, Markt & Technik und O'Reilly. Einfach mal bei Amazon nach "C-Programmierung" oder "Palm OS" suchen. Die Entwickler hier werden es Dir danken, wenn sie nicht mit Anfängerfragen überhäuft werden, die man in der Regel in einem guten Buch beantwortet bekommt.

    Gruß
    Trekkie22

    --------
    Das Leben ist ein beschissenes Adventure, aber die Grafik ist geil!

    Pilot Pro+2MB Upg. > IIIe > m105 > IBM Workpad c3 > m130 > T|E > Treo 650 > Centro > TX+2GB & Treo650+2GB > pre & 3G iPod Touch 64GB & TX+2GB > iPhone 4 & iPad 2 > iPhone 5 & iPad 2

  • Hmm, ja, okay.


    Nurnoch eine Frage:


    Ich habe den qtxt:


    In der Alert möchte ich nun aber den Wert von c ausgeben, wie mache ich das?



    -
    Oh, ich sehe grad das c ja garnicht der Wert der Sek. hat,... .
    OK frag ich so:
    Wie kann ich nach den Rechnungen die Sekunden abfragen un in der Alert anzeigen?
    ...
    -


    Das ist jetzt zwar ne einfache Frage, aber egal:
    Wie funktioniert das mt der Ausgabe in nr Alert über ^1 ?

  • Kannst du mir zufällig sagen wo das in der PalmOS Companion finde, bzw. unter welchem Stichwort ich am besten suchen kann? Ich habe noch nichts entdeckt... .
    Deshalb: Weist du ein Stichwort dazu, das es trifft?
    ?(


    --


    Mein Qtxt sieht so aus, und jetzt möchte ich die Zeit, also die Sekunden in der Alert ausgeben lassen...:


    TimGetSeconds(); gibt ja die Sekunden aus, oder? Und wie bringe ich das jetzt in die Alert?


    Mfg

    • Offizieller Beitrag

    Schaust Du in der PalmOS References, siehste was Du mit TimSetSeconds für einen Blödsinn machst udn was es mit TimGetSeconds auf sich hat. Und dann schaust Du bei Frm-Mgr unter FrmCustomAlert...

  • .... simonpalm, man hat den eindruck, du denkst erst, während du den beitrag schreibst, nicht schon vorher ...

    mfg


    juggernaut


    Herr Schaaf, wie trainieren Sie Freistöße? Gibt es da auch noch mehr Varianten als "BUMM DRAUF"?
    T. Schaaf (trocken): "BUMM DRIN"!

    Zitat von OWL (zu ´runterfallenden $martphones):

    Man könnte höchstens universell festhalten, daß es entweder hält oder kaputtgeht.

  • danke.


    kennt noch wer was anderes?


    --
    Zurück zu meinem 'Problem':
    Ich weiß nicht, wie ich das mit

    Code
    TimGetSeconds();


    in while hier anstellen soll:


    Probiert habe ich schon einiges, unter anderem erfolglos dashier:


    Ähm, und das mit ^1, ^2 und ^3 weiß ich jetzt, z.B.:


    Code
    FrmCustomAlert(1000, "Hallo, das war ^1", "Und das war ^1" , NULL);


    - Aber wie kann ich da den Wert eine Variable x ausgeben lassen?


    Mfg

  • ein lernquelltext von meinen ersten versuchen liegt im dateienanhang...



    edit by B@tze ) Anhang entfernt !


    Und nur mal so nebenbei bemerkt : Mods sehen die IP Adresse ;) ,also macht es keinen Sinn als "Gast" zu posten

  • Hmm, unterer Qtxt ist schon nicht schlecht, aber nicht ganz.
    Ich möchte doch das do 3Sek lang lauft, wo ich bei jedem durchgang eine Variable erhöhe usw... .
    Aber in der Alert zeigt es komische Werte an, die nicht stimmen: points = -2000nochwas und time = 0!


    Qtxt:
    UInt32 PilotMain(UInt16 cmd, void *cmdPBP, UInt16 launchFlags) {


    if (cmd == sysAppLaunchCmdNormalLaunch) {


    int x;
    int y;
    char zeit[10];
    int points;
    int timget;
    char ausgabe[10];


    points=1;

    timget = TimGetSeconds();
    do {
    for(x=0;x<=2;x++) {
    for(y=0;y<=55;y++);
    points++;
    }
    }
    while (timget=timget+3);

    StrPrintF(ausgabe, "%d.",points);
    StrPrintF(zeit, "%d.",timget);

    FrmCustomAlert(1000 , ausgabe , zeit , NULL);
    return 0;
    }
    }


    und?

    • Offizieller Beitrag

    Ok, ich sehe Du machst Fortschritte und Fortschritte soll man belohnen:


    while (timget=timget+3);


    Macht: setze timget auf den Wert von timget + 3. Das Ergebnis solch einer Zuweisung ist der Wert der Zuweisung selber. Da die ungleich 0 ist, gilt das als wahr und er sollte die Schleife eigentlich nie verlassen. Aber timget ist ja nur int, das hatten wir schonmal, das ist ein 16bit Wert auf dem Palm. Eine Zeit ist aber 32 bit. Also Mach das mal so:


    UInt32 timget;


    timget = TimGetSeconds();


    do
    {
    } while (TimGetSeconds() < (timget + 3))


    und schalte mal bitte in Deinem makefile: -wall ein
    Das sollte eine Warnung wert sein, wenn man einen UInt32-Wert einer int-Variablen zuweist.


    Nochwas: Du willst ja die Zeitdifferenz anzeigen, laso: StrPrintF(strTime, "%ld", TimGetSeconds() - timget);


    %ld weil das Ergebnis einer Rechnung mit UInt32 wieder 32 bit ist.


    Gruß
    Henk

  • (@MegaView: Was ist eigentlich "Fluglotse" - Bekomme ich das?)


    Da kann ich helfen, auch wenn ich nicht MetaView bin. Fluglotse gibts hier: http://pdassi.de/vshop/product.php?prod_id=3661



    edit by B@tze ) Ich habe deine SID aus dem Link entfernt, oder möchtest du das andere User auf deine Kosten einkaufen :huh:


    <EDIT>Hups. Danke. Ist mir nicht aufgefallen... :oh-nein: </EDIT>

    Gruß
    Trekkie22

    --------
    Das Leben ist ein beschissenes Adventure, aber die Grafik ist geil!

    Pilot Pro+2MB Upg. > IIIe > m105 > IBM Workpad c3 > m130 > T|E > Treo 650 > Centro > TX+2GB & Treo650+2GB > pre & 3G iPod Touch 64GB & TX+2GB > iPhone 4 & iPad 2 > iPhone 5 & iPad 2

    2 Mal editiert, zuletzt von trekkie22 ()

  • Wie kann man seine selbst entwickete Software für z.B. 2Euro "kostenpflichtig" insWWW setzen, also so gerechtlich gesehen auch und so? Mhh, das weich hier ja eigentl. vom Thema ab!


    Zum s-bench:
    Ich würde in do {...} auch gern n paar bitmaps-bilder ausgeben lassen,... .
    Wie geht das, bzw. nach "was" kann ich da suchen + muss ich was beachten?


    Will denn keiner Antworten?
    Ich warte immer noch!