IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

generateur de code pour des tickets de cyber?


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 10
    Points : 12
    Points
    12
    Par défaut generateur de code pour des tickets de cyber?
    je tiens à remercier chaleuresement tous ceux qui m'apportent leur coup de pouce.

    voilà je voudrais savoir comment generer les codes qui seront utilisés dans le compteur de cybercafe que je suis en train de monter.
    quelle fonction utilisée soyez precis s.v.p

    comment intercepter les erreurs sous builder et les traiter moi meme.
    c'est à dire comment fonctionne le try catch...
    exemple lorsqu'un poste client se connecte avant le serveur dans le cadre de mon compteur de cyber; le client envoi une erreur du genre socket asychrone et plante je voudrais pouvoir intercepter cette erreur et dire tout simplement à l'usager de lancer d'abord le serveur et surtout empecher le programme de planter.
    en general comment traiter les erreurs? merci d'avance

  2. #2
    Membre habitué
    Avatar de dj_benz
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 178
    Points : 135
    Points
    135
    Par défaut
    Salut.
    Tout d'abord, que veux-tu exactement faire avec un client et un serveur? A ce que je comprends, tu montes un cybercafé et tu voudrais une appli pour manager les gens qui s'installent sur les postes, genre pour compter le temps qu'ils restent.
    A ce moment là, il te faut un serveur sur un PC distinct (celui derriere le comptoir) qui va commander, et des "programmes clients" sur chaque poste des "clients humains". Dans ce cas là, tu auras pas le problème de lancer le serveur avant, puisque ce sera toi qui le lance en arrivant le matin.
    Mais bon, donnes plus d'infos sur ce que tu veux faire exactement avec ça.

    Au niveau des try catch, c'est assez simple. Ca marche avec des classes Exception. Ce sont des objets qui sont "renvoyés" par une fonction qui a eu un problème (si c'est toi qui crée la fonction en question, c'est à toi de coder cette partie: voir plus loin)
    En utilisant les try, tu vas récupérer l'exception renvoyée par la fonction, et tu vas pouvoir la traiter, dans le bloc catch. Je m'explique en exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    try
    {
        faire_pleins_d_actions_qui_risquent_de_planter();
        ouvrir_un_fichier();
    }
    catch (FileNotFoundException& exc)
    {
        ecrire("erreur: fichier non trouve");
    }
    catch (AlreadyOpenedException& exc)
    {
        ecrire("erreur: fichier deja ouvert");
    }
    catch(...)
    {
        ecrire("erreur inconnue");
    }
    A ce que tu peux voir, les blocs catch permettent de récupérer plusieurs types d'erreurs, et même des erreurs inconnues ou non prévues (avec 3 points...) En cherchant dans l'aide, tu trouveras le nom exact des classes d'exception pour chaque type de problème.

    Si c'est toi qui code une fonction qui risque d'avoir un problème, c'est à toi de repérer l'erreur et de le faire savoir à la fonction appelante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    main()
    {
        int number;
     
        try
        {
            number = donner_un_chiffre_positif();
        }
        catch( NegativeNumberException& exc)
        {
            ecrire("erreur: nombre négatif");
        }
    }
     
    int donner_un_chiffre_positif()
    {
        int n = lire();
        if (n>=0)
            return n;
        else
            throw ( NegativeNumberException() );
    }
    Le fait d'appeler "throw ( NegativeNumberException() )" crée un objet de type dérivé de Exception, et le renvoi à l'appelant (ici, main), qui le capte et traite en fonction.

    J'espere que ça t'a éclairé sur les Exception et que j'ai pas été trop confus.
    Mais dis nous clairement ce que tu veux faire.

    @+
    Benz

  3. #3
    Membre actif Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Points : 206
    Points
    206
    Par défaut
    slt

    avant de commencer aussi loin , apprend a envoyez des simple messages entre poste.

    que le client se connect av le serveur , ne pose aucun problem !!

    tu dois juste mettre un timer dans le client pour qui'l recherche le serveur
    dans ce timer tu aura par exemple :

    socketClient->activer =true;

    et tu aura une reposne dans les evenement du composant socket client.
    onsocketerror .. qqch comme ca

    des code devront etre stocké dans un bd, lorsque que le client tape un code
    , tu envoie comme message au serveur les codes tapez.

    ex: code*1111-0000! (protocol d'envoie pour tratiter ton message)

    dans un switch tu traites le 1er mot ici code

    code : " ptr1 = strtok(message,"-"); ptr1 recoit = 1111 a sauver
    ptr2 = strtok(NULL,"-"); ptr2 recoit = 0000 a sauver

    ici tu interroge la bd avec t 2 valeur
    int ok = code_connexion(ptr1,ptr2);

    if(ok) envoye le message au client qui deverrouille le pc

    else return; // ne rien faire

    ----------------
    j'ai devllopé un logiciel de gestion pour cybercafé hyper complet.

    les details de mon logiciel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Le fonctionnement sous n’importe qu’elle system Windows
     
     Le fonctionne sous un réseau câblé et sans fil.
     
     Un contrôle et une gestion d’accès des utilisateurs.
     
     Un accès via Serveur aux lecteurs partagés des postes clients se trouvant dans le réseau.
     
     Une connexion avec et sans code pin aux postes clients (Possibilité d’imprimer les codes pin).
     
     Une gestion d’abonnement pour les clients habitués.
     
     La possibilité de recharger le temps de connexion d’un utilisateur sans fermer sa session (la recharge peut se faire avant et durant une connexion, à partir de l’ordinateur utilisé et du poste serveur).
     
     Plusieurs tarifications de connexions selon le mode de connexion. 
     (Internet - Jeux - Privé)
     
     Des statistiques complètes et détaillées des connexions établies.
     
     Une gestion de ventes de produits.
     
     Une gestion d’employés (Calcule du temps et des nombres de prestations des employés et vous pourrez décider les fonctions du logiciel auxquels ils auront accès).
     
     Une gestion d’imprimante.
     
     Un system de facturation pour les utilisateurs. 
     
     Le contrôle des processus exécutés dans le réseau.
     
     La fermeture automatique de tout les processus ouvert par un utilisateur à sa déconnexion.
     
     Nettoyage automatique du bureau, ainsi qu’une partie importante de la base de registre.
     
     L’extinction et redémarrage à distance des ordinateurs, par ordinateur ou pour tout le réseau.
     
     Une visualisation à distance des écrans des ordinateurs se trouvant dans le réseau.
     
     La détection des ordinateurs se connectant et se déconnectant du réseau.
     
     La possibilité de lancer un compteur manuel pour n’importe qu’elle type de client et mode de connexion (Très efficace pour comptabiliser le temps de connexion des utilisateurs d’ ordinateurs ne nécessitant pas une connexion dans le réseau et des consoles de jeux).
     
    Des restrictions sur le system Windows à distance et en local sans redémarrage.
     
    Le contrôle d’accès à l’utilisation d’une imprimante réseau 
    (Possibilité d’interdire et d’autoriser des impressions par ordinateur ou pour tout le réseau, fini les surplus de feuille imprimée).
     
     L’allumage des ordinateurs du réseau, par ordinateur ou pour tous d’un clic.
     
     Une gestion de communication en Voix sur IP (voice over Ip) 
     
    D’autres options sont en développement et les mises à jours sont complètement GRATUITES
     
    Ex : Transferts des recettes vers un site protégé "site en asp", accessible uniquement par mot de passe que seul les gérant posséderont.

    le tout programmé en c++ builder.

    @+

Discussions similaires

  1. Probleme avec code pour des btn
    Par abyssal31 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 26/01/2010, 14h28
  2. probleme de code pour des postes differents
    Par will Igetit dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/09/2008, 04h43
  3. optimisation du code pour des combobox
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/03/2008, 13h30
  4. Réponses: 2
    Dernier message: 27/04/2006, 16h45
  5. code pour interbase 6.0 et 6.5 de generateur
    Par tripper.dim dans le forum InterBase
    Réponses: 4
    Dernier message: 01/07/2002, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo