Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35+USB/75(+E)/85/95 SD >> Add-ins >> Fx lock
Fx lock
Version : 2.01 Taille : 6120 octets Ajouté le : 2014-02-11 18:41 Modifié le : 2018-10-06 14:31
Auteur : nicocreation
Posté par :
PlanetcasioHors ligneMembrePoints: 623 Défis: 0 Message
Planète Casio - Add-in Casio - Fx lock - nicocreation - Calculatrices
Nombre de visites sur cette page : 15038
Score au progrank : 65
Note actuelle : 8.75/10 noté 4 fois
Vous devez être connecté(e) pour noter (inscription).
3371 téléchargements | Voir les Tests (3)


A cause du changement de processeur des nouvelles Graph 35+ USB, 75 et 95 SD, de nombreux addins sont incompatibles avec ces calculatrices.
Rendre un addin compatible - Plus d'informations sur ce problème - Liste des addins compatibles

Description :

Cet add-in développé par Nicolas d'Avenia sur le site topprogcasio permet de bloquer l\'accès à votre calculatrice si vous ne possédez pas le code que vous déterminerez à la première utilisation.

Détails techniques
Cliquez pour enrouler

Le mot de passe est stocké dans un fichier de 10 octets.
Le développeur est joignable à : Autorisation de la divulgation en attente des admins.
publié de base sur www.top-progcasio.com.


Détails d'installation
Cliquez pour enrouler
1) Vous mettez le programme sur la calto.
2) Vous lancez l'appui.
3) Si le fichier du code n\'existe pas encore, Le programme vous demandera de rentrez un mot de passe 2 fois. Ce mot de passe sera enregistré dans un fichier de 10 octets.
4) Vous pouvez directement éteindre la calto ou sortir du prog avec (MENU) et puis éteindre la calto.
5) La calto est protégée.

Optionnel : si vous voulez, vous pouvez mettre un bout de scotch sur les circuits imprimés de votre calto à l'endroit du bouton reset.
ça le désactive.

Merci à Gollum pour ces indications.


Une version améliorée Shadow15510 (message)


Note sur 10 Commentaire Date de notation
8Très bon addin. Interface à modifier ...Le 12.02.2014 à 17:47
8.8Voir le testLe 22.05.2023 à 03:01
9.2Voir le testLe 26.02.2014 à 17:26
9Voir le testLe 27.06.2016 à 12:53

Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 10-03-2014 à 21:34 | #
D'ailleurs, quelqu'un sait à quoi ressemblait l'icône de base ?
LancelotHors ligneMembrePoints: 1274 Défis: 160 Message
Posté le 11-03-2014 à 18:10 | # | Fichier joint
dans le gif.


LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message
Posté le 13-03-2014 à 10:59 | # | Fichier joint
l'originale est en pièce jointe (en zip car planète casio ne gère pas le bitmap monochrome)

lancelot, ne cherche pas a être plus troll que gollum
(l'icone que tu lui as donné, c'est lui qui la faite car justement il n'avait pas l'originale avec le code que je lui ait donné)
LancelotHors ligneMembrePoints: 1274 Défis: 160 Message
Posté le 13-03-2014 à 18:32 | #
ok
IntelligideHors ligneMembre de CreativeCalcPoints: 49 Défis: 5 Message
Posté le 13-03-2014 à 18:41 | #
même si le bouton reset est HS, on peut toujours reseter
GollumHors ligneMembrePoints: 1262 Défis: 2 Message
Posté le 18-04-2014 à 00:42 | #
oui, les piles.
je cherchais un moyen de mettre une pile de secours. je pense que jai trouvé.
Breizh_craftHors ligneModérateurPoints: 1161 Défis: 7 Message
Posté le 22-05-2014 à 15:28 | #
Hum...
Ce programme affiche que la Graph 85 est "lockée", mais ce prog fonctionne sur graph 75 et 95 aussi, et sur Graph 35+ USB tweakée mais ça revient à dire Graph 75.
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 22-05-2014 à 17:25 | #
oui c'est vrai, d'ailleurs je sais plus qui avait trouvé un moyen de détecter quelle était le modèle de ta calto. Quoi qu'il en soit, il faudrait changer le code source, ce qu'on ne peut faire sans l'autorisation de l'auteur.
Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 04-10-2018 à 12:47 | #
Je suis tombé sur le code et les commentaires, et je me suis permis de changer quelques détails
L'interface est en français, le code peut utiliser non-plus les chiffres mais toutes les touches (F1,F6 mais aussi Replay, et tous le clavier). J'ai remplacé Graph85 par Graph 75 mais on peut n'importe quoi et je travaille à mettre 10 caractères max dans le code au lieu de 8

Mais du coup j'aimerais savoir si j'ai le droit de mettre cette version en PJ...
Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 06-10-2018 à 14:20 | # | Fichier joint
Je me permet de mettre ma version , si cela pose un quelconque problème merci de me le dire
Les détail des "amélioration" sont dans le post ci-dessus, les 10 caractères sont intégrés et le fichier qui stocke le mot de passe fait donc 12 octets au lieux des 10 d'origine, le programme est compatible SH4

Le code entier
C'est tout

FONTCHARACTER pinFile[]={'\\','\\','f','l','s','0','\\','f','x','l','o','c','k','.','m','d','p',0};

int worb=1;
clignote()
{
    int i,j;
    worb=-worb;
    if(worb==1)
    {
        for(i=123;i<=127;i++)for(j=0;j<=4;j++)Bdisp_SetPoint_DD(i,j,1);
    }
    else
    {
        Bdisp_PutDisp_DD();
    }
}

int matchCode(unsigned char * pass1, unsigned char * pass2)
{
    while(*pass1==*pass2){
        if(*pass1==0)return 1;
        pass1++;
        pass2++;
    }
    return 0;
}

getUserCode(int pos_x, int pos_y, unsigned char * pass){
    unsigned int key;
    unsigned char etoile[2]={0x2A,0};
    int pos=0;
    SetTimer(1,350,clignote);
    do{
        GetKey(&key);
        if(pos<10 && key!=KEY_CTRL_DEL)
        {
            locate((pos_x+pos),pos_y);
            pass[pos]=(unsigned char)key;
            Print((unsigned char*)etoile);
            pos++;
        }
        if(key==KEY_CTRL_DEL && pos>0)
        {
            pos--;
            locate((pos_x+pos),pos_y);
            Print((unsigned char*)" ");
        }
    }while(key!=KEY_CTRL_EXE || pos==0);
    pass[pos]=0;
    KillTimer(1);
}

readPassword(unsigned char * buf){
    int file;
    file=Bfile_OpenFile(pinFile,_OPENMODE_READ);
    Bfile_ReadFile(file ,buf ,11,1);
    Bfile_CloseFile(file);
}

setPassword(unsigned char * pass){
    int file;
    unsigned char buf[12];
    int i=1;
    i=1;
    buf[0]=1;
    do{
        buf[i++]=*pass;
    } while(*(++pass));
    buf[i]=0;
    Bfile_DeleteFile(pinFile);
    Bfile_CreateFile(pinFile, 12);
    file=Bfile_OpenFile(pinFile,_OPENMODE_WRITE);
    Bfile_WriteFile(file,buf,12);
    Bfile_CloseFile(file);
}

unsigned char isFirstUse()
{
    unsigned char buf;
    int file;
    
    Bfile_CreateFile(pinFile,12);
    file=Bfile_OpenFile(pinFile,_OPENMODE_READ);
    Bfile_ReadFile(file ,&buf ,1,0);
    Bfile_CloseFile(file);
    
    if(buf!=1)return 1;
    return 0;
}

install()
{
    unsigned int key;
    unsigned char tampon=1;
    int file;
    unsigned char pass1[12];
    unsigned char pass2[12];
    
    file=Bfile_OpenFile(pinFile,_OPENMODE_WRITE);
    Bfile_WriteFile(file,&tampon,1);
    Bfile_CloseFile(file);
    
    locate(0,1);
    Print((unsigned char*)"Premiere utilisation");
    PopUpWin(2);
    locate(3,3);
    do
    {
        PopUpWin(2);
        locate(3,3);
        Print((unsigned char*)"mot de passe : 1");
        Bdisp_PutDisp_DD();
        getUserCode(4,4,pass1);
        PopUpWin(2);
        locate(3,3);
        Print((unsigned char*)"mot de passe : 2");
        Bdisp_PutDisp_DD();
        getUserCode(4,4,pass2);
    } while(matchCode(pass1,pass2)==0);
    Bdisp_PutDisp_DD();
    
    
    setPassword(pass1);
    PopUpWin(2);
    locate(3,3);
    Print((unsigned char*)"mot de passe : Ok");
    Bdisp_PutDisp_DD();
    GetKey(&key);
}

MessLock()
{
    unsigned int key;
    unsigned char pass1[12];
    unsigned char pass2[12];
    PopUpWin(5);
    Bdisp_PutDisp_DD();
    locate(3,2);
    Print((unsigned char*)"Cette Graph 75+");
    locate(3,3);
    Print((unsigned char*)"est verrouill\xE6\x0A""e");
    locate(3,4);
    Print((unsigned char*)"Entrez le code...");
    getUserCode(6,6,pass1);
    readPassword(pass2);
    if(matchCode(pass1,pass2)==0) MessLock();
    
}
ChangeCode()
{
    unsigned int key;
    unsigned char pass1[12];
    unsigned char pass2[12];
    unsigned char pass0[12];
    SaveDisp(1);
    PopUpWin(2);
    locate(3,3);
    Print((unsigned char*)"Entrez le code : ");
    Bdisp_PutDisp_DD();
    getUserCode(4,4,pass0);
    readPassword(pass1);
    if(matchCode(pass0,pass1)==0){
        locate(4,3);
        PopUpWin(2);
        Print((unsigned char*)"Rat\xE6\x0A"" !");
        GetKey(&key);
    }
    else
    {
        do
        {
            PopUpWin(2);
            locate(3,3);
            Print((unsigned char*)"Nouveau code : 1");
            Bdisp_PutDisp_DD();
            getUserCode(4,4,pass1);
            PopUpWin(2);
            locate(3,3);
            Print((unsigned char*)"Nouveau code : 2");
            Bdisp_PutDisp_DD();
            getUserCode(4,4,pass2);
        } while(matchCode(pass1,pass2)==0);
        setPassword(pass1);
        
        PopUpWin(2);
        locate(3,3);
        Print((unsigned char*)"Nouveau code : Ok");
        GetKey(&key);    
    }
    RestoreDisp(1);
    Bdisp_PutDisp_DD();
}
int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    
    unsigned char pass1[12];
    unsigned char pass2[12];
    
    Bdisp_AllClr_DDVRAM();
    
    if(isFirstUse())install();
    Bdisp_AllClr_DDVRAM();
    
    locate(1,1);
    Print((unsigned char*)"[F1] : changer code");
    locate(1,3);
    Print((unsigned char*)"[Menu] : Quitter");
    locate(1,6);
    Print((unsigned char*)"=====================");
    locate(1,7);
    Print((unsigned char*)"= Graph 75 prot\xE6\x0A""g\xE6\x0A""e =");
    locate(1,8);
    Print((unsigned char*)"=====================");


    
    SetQuitHandler(MessLock);
    
    SaveDisp(1);
    while(1){
        GetKey(&key);
        if(key==KEY_CTRL_F1)ChangeCode();
    }
    
    return 1;
}


Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 73 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd