initial commit
This commit is contained in:
commit
e957e1becc
|
@ -0,0 +1,13 @@
|
|||
# Build files
|
||||
/build-fx
|
||||
/build-cg
|
||||
/*.g1a
|
||||
/*.g3a
|
||||
|
||||
# Python bytecode
|
||||
__pycache__/
|
||||
|
||||
# Common IDE files
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
.vscode
|
|
@ -0,0 +1,38 @@
|
|||
# Configure with [fxsdk build-fx] or [fxsdk build-cg], which provide the
|
||||
# toolchain file and module path of the fxSDK
|
||||
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(MyAddin)
|
||||
|
||||
include(GenerateG1A)
|
||||
include(GenerateG3A)
|
||||
include(Fxconv)
|
||||
find_package(Gint 2.9 REQUIRED)
|
||||
|
||||
set(SOURCES
|
||||
src/main.c
|
||||
# ...
|
||||
)
|
||||
# Shared assets, fx-9860G-only assets and fx-CG-50-only assets
|
||||
set(ASSETS
|
||||
# ...
|
||||
)
|
||||
set(ASSETS_fx
|
||||
assets-fx/example.png
|
||||
# ...
|
||||
)
|
||||
set(ASSETS_cg
|
||||
assets-cg/example.png
|
||||
# ...
|
||||
)
|
||||
|
||||
fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA)
|
||||
|
||||
add_executable(myaddin ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}})
|
||||
target_compile_options(myaddin PRIVATE -Wall -Wextra -Os)
|
||||
target_link_libraries(myaddin Gint::Gint)
|
||||
|
||||
if("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50)
|
||||
generate_g3a(TARGET myaddin OUTPUT "Scanftst.g3a"
|
||||
NAME "ScanfTst" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png)
|
||||
endif()
|
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
|
@ -0,0 +1,3 @@
|
|||
example.png:
|
||||
type: bopti-image
|
||||
name: img_example
|
Binary file not shown.
After Width: | Height: | Size: 8.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
|
@ -0,0 +1,3 @@
|
|||
example.png:
|
||||
type: bopti-image
|
||||
name: img_example
|
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
|
@ -0,0 +1,174 @@
|
|||
#include <gint/display.h>
|
||||
#include <gint/keyboard.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <gint/gint.h>
|
||||
#include <fxlibc/printf.h>
|
||||
|
||||
char c;
|
||||
char c1, c2;
|
||||
char temp1, temp2;
|
||||
int i1, i2;
|
||||
float f1, f2;
|
||||
|
||||
float sd;
|
||||
float sf;
|
||||
int n[9];
|
||||
|
||||
void operate( void )
|
||||
{
|
||||
|
||||
FILE* fichier = fopen( "data.txt", "r" );
|
||||
fscanf( fichier, "%c%n", &c, &n[0] );
|
||||
fscanf( fichier, "%d%n", &i1, &n[1] );
|
||||
fscanf( fichier, "%f%n", &f1, &n[2] );
|
||||
|
||||
/*
|
||||
fscanf( fichier, "%c", &temp1 );
|
||||
fscanf( fichier, "%c", &c1 );
|
||||
fscanf( fichier, "%c", &temp2 );
|
||||
fscanf( fichier, "%c", &c2 );
|
||||
*/
|
||||
|
||||
fscanf( fichier, "%c%n%c%n%c%n%c%n", &temp1, &n[3], &c1, &n[4], &temp2, &n[5], &c2, &n[6] );
|
||||
|
||||
fscanf( fichier, "%u%n", &i2, &n[7] );
|
||||
fscanf( fichier, "%g%n", &f2, &n[8] );
|
||||
fclose( fichier );
|
||||
}
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
__printf_enable_fp();
|
||||
|
||||
dclear(C_WHITE);
|
||||
dtext(1, 1, C_BLACK, "Sample fxSDK add-in.");
|
||||
dupdate();
|
||||
|
||||
gint_world_switch( GINT_CALL( operate ));
|
||||
|
||||
dprint( 1, 20, C_GREEN, "0/ FILE value : char : %c - n= %d ", c, n[0] );
|
||||
dprint( 1, 30, C_BLUE, "1/ FILE value : integer : %d - n= %d ", i1, n[1] );
|
||||
dprint( 1, 40, C_RED, "2/ FILE value : float : %f - n= %d ", f1, n[2] );
|
||||
dprint( 1, 50, C_GREEN, "3/ FILE value : char : %c - %c - n= %d ", temp1, c1, n[4] );
|
||||
dprint( 1, 60, C_GREEN, "4/ FILE value : char : %c - %c - n= %d ", temp2, c2, n[6] );
|
||||
dprint( 1, 70, C_BLUE, "5/ FILE value : integer : %d - n= %d ", i2, n[7] );
|
||||
dprint( 1, 80, C_RED, "6/ FILE value : float : %f - n= %d ", f2, n[8] );
|
||||
|
||||
|
||||
sscanf( "6789.123", "%f", &sf );
|
||||
sscanf( "-123456789.123456789", "%f", &sd );
|
||||
dprint( 1, 90, C_RED, "7/ STR value : float : %f ", sf );
|
||||
dprint( 1, 100, C_RED, "8/ STR value : float : %f ", sd );
|
||||
|
||||
char tab[10]={0};
|
||||
int n;
|
||||
|
||||
sscanf( " AbCdEfgHiJkLmNoP", "%5c%n", &tab[0], &n );
|
||||
dprint( 1, 110, C_GREEN, "9/ STR value : char* : %s - n= %d", tab, n );
|
||||
|
||||
sscanf( " AbCdEfgHiJkLmNoP", " %5c%n", &tab[0], &n );
|
||||
dprint( 1, 120, C_GREEN, "10/ STR value : char* : %s n= %d", tab, n );
|
||||
|
||||
sscanf( " AbCdEfgHiJkLmNoP", "%% %10c%n", &tab[0], &n );
|
||||
dprint( 1, 130, C_GREEN, "11/ STR value : char* : %s n= %d", tab, n );
|
||||
|
||||
char str[30];
|
||||
sscanf( " AbCdEfgHiJkLmNoP", "%s%n", &str[0], &n );
|
||||
dprint( 1, 140, C_GREEN, "12/ STR value : char* : %s n= %d", str, n );
|
||||
|
||||
sscanf( " AbCdEfgHiJkLmNoP", " %s%n", &str[0], &n );
|
||||
dprint( 1, 150, C_GREEN, "12/ STR value : char* : %s n= %d", str, n );
|
||||
|
||||
sscanf( " AbCdEfgHiJkLmNoP", "%10s%n", &str[0], &n );
|
||||
dprint( 1, 160, C_GREEN, "13/ STR value : char* : %s n= %d", str, n );
|
||||
|
||||
sscanf( " AbCdEfgHiJkLmNoP", " %10s%n", &str[0], &n );
|
||||
dprint( 1, 170, C_GREEN, "14/ STR value : char* : %s n= %d", str, n );
|
||||
|
||||
|
||||
int val = 123;
|
||||
char buf[100];
|
||||
sprintf(buf, "%p", (void*)&val);
|
||||
dprint( 1, 180, C_BLACK,"15/ Original =%s\n", buf);
|
||||
void *ptr;
|
||||
sscanf(buf, "%p", &ptr);
|
||||
dprint( 1, 190, C_BLACK,"16/ Read back=%p\n", ptr);
|
||||
int *iPtr = ptr;
|
||||
if (iPtr == &val) {
|
||||
dprint( 1, 200, C_BLACK,"Pointers match\n");
|
||||
}
|
||||
|
||||
char a;
|
||||
short b;
|
||||
unsigned int i;
|
||||
int d;
|
||||
|
||||
sscanf( "4294967295", "%u", &i );
|
||||
sscanf( "4294967295", "%hd", &b );
|
||||
sscanf( "4294967295", "%hhd", &a );
|
||||
dprint( 1, 210, C_BLUE, "17/ %d %d %u", a, b, i );
|
||||
|
||||
dupdate();
|
||||
|
||||
getkey();
|
||||
|
||||
dclear( C_WHITE);
|
||||
|
||||
sscanf( "1234567890", "%u", &i );
|
||||
dprint( 1, 10, C_BLUE, "18/ full read : %u", i );
|
||||
|
||||
sscanf( "1234567890", "%1u", &i );
|
||||
dprint( 1, 20, C_BLUE, "19/ 1 char max read : %u", i );
|
||||
|
||||
sscanf( "1234567890", "%5u", &i );
|
||||
dprint( 1, 30, C_BLUE, "20/ 5 char max read : %u", i );
|
||||
|
||||
sscanf( "1234567890", "%20u", &i );
|
||||
dprint( 1, 40, C_BLUE, "21/ 20 char max read : %u", i );
|
||||
|
||||
sscanf( "-1234567890", "%d", &d );
|
||||
dprint( 1, 50, C_BLUE, "18/ full read : %d", d );
|
||||
|
||||
sscanf( "-1234567890", "%2d", &d );
|
||||
dprint( 1, 60, C_BLUE, "19/ 2 char max read : %d", d );
|
||||
|
||||
sscanf( "-1234567890", "%5d", &d );
|
||||
dprint( 1, 70, C_BLUE, "20/ 5 char max read : %d", d );
|
||||
|
||||
sscanf( "-1234567890", "%20d", &d );
|
||||
dprint( 1, 80, C_BLUE, "21/ 20 char max read : %d", d );
|
||||
|
||||
|
||||
float g;
|
||||
|
||||
sscanf( "12345.67890", "%f", &g );
|
||||
dprint( 1, 100, C_RED, "18/ full read : %f", g );
|
||||
|
||||
sscanf( "12345.67890", "%1f", &g );
|
||||
dprint( 1, 110, C_RED, "19/ 1 char max read : %f", g );
|
||||
|
||||
sscanf( "12345.67890", "%5f", &g );
|
||||
dprint( 1, 120, C_RED, "20/ 5 char max read : %f", g );
|
||||
|
||||
sscanf( "12345.67890", "%20f", &g );
|
||||
dprint( 1, 130, C_RED, "21/ 20 char max read : %f", g );
|
||||
|
||||
sscanf( "-12345.67890", "%f", &g );
|
||||
dprint( 1, 140, C_RED, "18/ full read : %f", g );
|
||||
|
||||
sscanf( "-12345.67890", "%2f", &g );
|
||||
dprint( 1, 150, C_RED, "19/ 2 char max read : %f", g );
|
||||
|
||||
sscanf( "-12345.67890", "%5f", &g );
|
||||
dprint( 1, 160, C_RED, "20/ 5 char max read : %f", g );
|
||||
|
||||
sscanf( "-12345.67890", "%20f", &g );
|
||||
dprint( 1, 170, C_RED, "21/ 20 char max read : %f", g );
|
||||
|
||||
|
||||
dupdate();
|
||||
getkey();
|
||||
return 1;
|
||||
}
|
Loading…
Reference in New Issue