Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

Hallo Forum !

Hilfe beim Programmieren mit dem fx-9860G SDK.

Hallo Forum !

Beitragvon zillion42 » Mi 4. Jan 2012, 05:12

Hallo,

ich habe einen neuen Taschenrechner :)
Jetzt habe ich mir das SDk runtergeladen und folgendes programmiert, so als interface erstmal.

Mein Problem ist das im SDK auf dem emulator für meine FX-9860 GII SD alles wunderbar läuft auf dem Rechner selbst aber leider gar nichts. Kann mir da vielleicht jemand weiterhelfen...

MFG und Danke schonmal


Code: Alles auswählen
/*****************************************************************/
/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                                 */
/*   File name : [ProjectName].c                                 */
/*                                                                 */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                                 */
/*****************************************************************/
#include "fxlib.h"
#include "stdlib.h"
#include "stdio.h"

#define MAX 20

int programIndex = 0;
//****************************************************************************
//  AddIn_main (Sample program main function)
//
//  param   :   isAppli   : 1 = This application is launched by MAIN MENU.
//                        : 0 = This application is launched by a strip in eACT application.
//
//              OptionNum : Strip number (0~3)
//                         (This parameter is only used when isAppli parameter is 0.)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int AddIn_main(int isAppli, unsigned short OptionNum)
{
   unsigned int key;
   char cProgramIndex[2];
   int printCounter = 0;

   //Display has
   //8x21 Chars
   //128x64 Dots
   
   //List of Applications
   
   char* list[20][20];
   
   //                 012345678901234567890
   strcpy(list[0],  "App1");
   strcpy(list[1],  "App2");
   strcpy(list[2],  "App3");
   strcpy(list[3],  "App4");
   strcpy(list[4],  "App5");
   strcpy(list[5],  "App6");
   strcpy(list[6],  "App7");
   strcpy(list[7],  "App8");
   strcpy(list[8],  "App9");
   strcpy(list[9],  "App10");
   strcpy(list[10], "App11");
   strcpy(list[11], "App12");
   strcpy(list[12], "App13");
   strcpy(list[13], "App14");
   strcpy(list[14], "App15");
   strcpy(list[15], "App16");
   strcpy(list[16], "App17");
   strcpy(list[17], "App18");
   strcpy(list[18], "App19");
   strcpy(list[19], "App20");

   Bdisp_AllClr_DDVRAM();
   
   //Header + Index
   locate(1,1);
   Print((unsigned char*)"Add_In");
   //Index Top Right
   sprintf(cProgramIndex, "Index: 0%d",  programIndex+1);
   locate(13,1);
   Print((unsigned char*)cProgramIndex);

   //Initialize List Display
   //First Index [0] marked
   locate(1,3+printCounter);
   PrintRev((unsigned char*)list[programIndex+printCounter]);
   
   //Then from Line 4 to 8 unmarked
   for(printCounter = 0; printCounter<6-1; printCounter++)
   {
      locate(1,3+1+printCounter);
      Print((unsigned char*)list[programIndex+1+printCounter]);
   }
   
   while(1)
   {
      GetKey(&key);
      
      if(IsKeyDown(KEY_CTRL_DOWN))
      {
         programIndex++;
      }
      
      if(IsKeyDown(KEY_CTRL_UP))
      {
         programIndex--;
      }
         
      if(programIndex < 0)
      {
         programIndex = 0;
      }
      if(programIndex > MAX-1)
      {
         programIndex = 19;
      }
      
      if(programIndex < 10)
      {
         sprintf(cProgramIndex, "Index: 0%d",  programIndex+1);
      }
      else
      {
         sprintf(cProgramIndex, "Index: %d",  programIndex+1);
      }
      
      locate(13,1);
      Print((unsigned char*)cProgramIndex);
      
      //if not scrolling
      if(programIndex < 6)
      {
         for(printCounter = 0; printCounter<6; printCounter++)
         {
            locate(1,3+printCounter);
            
            if(programIndex == printCounter)
            {
               PrintRev((unsigned char*)list[printCounter]);
            }
            else
            {
               Print((unsigned char*)list[printCounter]);
            }
         }
      }
      //else start scrolling
      else
      {
         for(printCounter = 0; printCounter<5; printCounter++)
         {
            locate(1,3+printCounter);
            Print((unsigned char*)"                     ");
            locate(1,3+printCounter);
            Print((unsigned char*)list[programIndex+printCounter-5]);
         }
         locate(1,8+printCounter);
         Print((unsigned char*)"                     ");
         locate(1,8);
         PrintRev((unsigned char*)list[programIndex]);
      }

   }
   
   return 1;
}




//******************************************************************************
//**************                                                ****************
//**************                 Notice!                        ****************
//**************                                                ****************
//**************  Please do not change the following source.    ****************
//**************                                                ****************
//******************************************************************************


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
//  InitializeSystem
//
//  param   :   isAppli   : 1 = Application / 0 = eActivity
//              OptionNum : Option Number (only eActivity)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section
zillion42
 
Beiträge: 3
Registriert: Mi 4. Jan 2012, 04:39
Taschenrechner: FX-9860 GII SD

Re: Hallo Forum !

Beitragvon cfxm » Mi 4. Jan 2012, 05:52

Es gibt eine offizielle Mitteilung, dass IsKeyDown() mit den neuen "Power Graphic 2"-Modellen nicht mehr unterstützt wird.
Zuletzt geändert von cfxm am Mi 14. Nov 2012, 19:27, insgesamt 1-mal geändert.
cfxm
 
Beiträge: 739
Registriert: Mi 1. Apr 2009, 19:39

Re: Hallo Forum !

Beitragvon zillion42 » Mi 4. Jan 2012, 06:45

Danke... klappt jetzt...

also entweder so

Code: Alles auswählen
while(1)
{
      GetKey(&key);
      
      if(key == KEY_CTRL_DOWN)
      {
         programIndex++;
      }
      
      if(key == KEY_CTRL_UP)
      {
         programIndex--;
      }
}


oder so

Code: Alles auswählen
int kcode1 = 0;
int kcode2 = 0;
short unused = 0;

while(1)
{
      
      if(Bkey_GetKeyWait(&kcode1, &kcode2, KEYWAIT_HALTOFF_TIMEROFF, 0,
                     1, &unused) == KEYREP_KEYEVENT)
      
      {
         if((kcode1 == 2)&&(kcode2 == 9)) programIndex--;
         if((kcode1 == 3)&&(kcode2 == 8)) programIndex++;
      }
}
zillion42
 
Beiträge: 3
Registriert: Mi 4. Jan 2012, 04:39
Taschenrechner: FX-9860 GII SD


Zurück zu fx-9860G SDK (Alle fx-9860G Modelle)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste