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 Discussion :

RAD génération source API ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 309
    Par défaut RAD génération source API ?
    Bonjour à tous

    Débutant en C, depuis plusieurs jours, je fais des essais sur CodeBlock, Dev-C++ pour voir le fonctionnement des RAD en C
    Tout ce que j'ai trouvé pour l'instant ce sont des RAD qui font appel à des bibliotheques (WxSmith ou autres) ou bien à des ressources
    Je voudrais savoir si vous auriez eu connaissance d'un RAD qui génére la GUI uniquement en API ??

    Je vous remercie et vous souhaite une bonne journée

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    "API" seul ne veut rien dire.

    Parles-tu de l'API Windows? Tu cherches un RAD capable de générer du code C utilisant l'API Windows sans autre bibliothèque?
    Je ne suis pas sûr que ça existe.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Bonjours andrebernard,

    il faut que tu soit plus explicite si tu veut avoir des réponses pertinentes:

    un RAD je ne sais pas ce que c'est (malgré que je sache ce qu'est code::block et co), il faut expliquer les acronymes (Séparé les lettres par des points permet de voir que c'est un acronyme.) que tu utilise et même les termes si tu le juge nécessaire, ce qui l'est souvent, car l'informatique est un domaine vaste et tout le monde ne connais pas tout.

    Il faut soigner la présentation du sujet de ton post, décoration de texte sont la bienvenue, codes source, liens vers tel ou tel terme, a l'appuie etc...

    Je ne vœux pas te faire la morale, seulement t'aider a ma manière, mais personnellement J.R.P (J'ai Rien Piger) a ton poste.

    Au plus de gens comprennent a quoi tu fait référence, au plus tu aura de chances qu'ont puissent t'aider.

    Sinon bonne année a toi et bonne continuation a toi en C.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 309
    Par défaut
    Bonjour à tous les deux
    Et tout d'abord merci de vos réponses et de votre interêt à ma question

    MEDINOC
    Tu as tout à fait compris la question, c'est exactement le sens de ma demande.
    Je m'excuse pour l'imprécision au sujet de windows, n'utilisant que lui, j'en oublie le grand LINUX ou même IOS
    Je me doutais un peu de la réponse, étant donné que j'ai cru comprendre en regardant VC++ 2006 que la création d'interface graphique passait déjà à l'époque par des ressources.
    J'aime beaucoup les API, c'est pourquoi je cherchais l'équivalent en n'utilisant que ces dernières.
    C'est bizarre que personne n'est pensé à coder ce genre d'application ?
    Peut être que dans le monde du C, programmer uniquement en ligne de code n'est pas habituel.
    Je ne sais pas car je ne connais pas les "traditions" de ce super langage.

    Luke spywoker
    un RAD je ne sais pas ce que c'est
    Je suis très étonné de ta réponse
    Débutant en C, mais 30 années dans certains autres langages, je ne pensais pas qu'un programmeur ne puisse pas savoir ce qu'est un RAD
    Un peu comme si tu m'avais dit que tu ne savais pas ce qu'est un IDE (Integrated Development Environment)..
    Tu doit donc être un de ces super programmeurs, qui codent tout "à la mano" en txt avec un bloc note, pour compiler tes créations en ligne de code
    J'ai déjà croisé des maîtres de la console, qui ne savaient même pas créer une fenêtre Windows, c'est pourquoi je sais que des gens comme toi existent, bien que cela reste assez admirable et très surprenant, pour ma part bien sûr.

    car l'informatique est un domaine vaste et tout le monde ne connais pas tout.
    Tu as raison, ne connaissant pas ce langage, j'en oublie aussi l'étendue de son empire

    (Séparé les lettres par des points permet de voir que c'est un acronyme.)
    Tu as donc deviné que c’était bien des acronymes, et je pense que dans une société ou ceux ci règnent de plus en plus, par snobisme parfois , mais aussi par nécessité, mais je pensais naïvement qu'il n'est plus besoin à notre époque de mettre des points, pour deviner ce de quoi nous parlons.
    Je n'ai pas souvenir d'avoir vu écris nulle part depuis que je croise l'USB (Universal Serial Bus) sur les PC (Personal Computer), que je les utilise chez moi, dans les TCL (Transports Communs Lyonnais), dans les trains de la SNCF (Société national des Chemins de Fer) ou tout autre autre lieu, ces fameux point que tu me dit être OBLIGATOIRES à la compréhension de la dite abréviation ?
    En outre, tu constateras que ces fameux points n'apparaissent pas non plus OBLIGATOIREMENT sur le NET
    http://fr.wikipedia.org/wiki/D%C3%A9...27applications
    Je terminerais sur le sujet, par dire qu'il ne faut pas non plus confondre les acronymes, qui font partie intégrante de la langue française, depuis la nuit des temps, que ce soit avant ou après JC (Jesus Chist) et les élucubrations que pratiquent les jeunes et maintenant les moins jeunes constituées de suites de consonnes imprononçables qu'ils ont coutume d'appeler pompeusement le "Langage" SMS (Short Message Service)

    En outres, je reconnais que venant des sous langages haut niveau BASIC (Beginner All Purpose Symbolic Instruction Code), un RAD (Rapid Application Developpement) est un outil des plus communs, ce qui n'est pas le cas du C ou de l'ASM (Assembleur) qui eux sont LES langages de programmations, le Frigidaire de l'armoire frigorifique, Vélux de la fenêtre de toit, Rolls de la voiture, etc..bref LA référence, la base de la programmation.
    Pour moi le C est un rêve, un nirvana, que je pense pouvoir espérer toucher du bout du doigt, maintenant qu'au bout de X années de prog j'ai un peu manipulé, les UDT (User Defined Type), Pointeurs, CallBack, Thread et autres "joyeuseries" de la programmation bas niveau

    J.R.P (J'ai Rien Piger)
    Les acronymes que j'ai utilisé sont tous officiels et font partie du monde de la prog.
    Je ne me serais jamais permis d'utiliser une abréviation "SMSIQUE" qui aurait, de par mon point de vue, manqué de respect à ce forum

    Au plus de gens comprennent a quoi tu fait référence, au plus tu aura de chances qu'ont puissent t'aider.
    Tu as aussi raison, mais là encore un grave dilmene se pose, continuellement sur des forums des autres langages, on a coutume de me traiter de "bavard", de créateur de "pavé", ou autres gentillesse qui ne sont pas si méchantes que cela, mais qui vous font sentir quand même que je gonfle un peu les gens avec mes grands textes
    Alors, connaissant le serieux des forums C, et respectant et admirant ceux qui le pratiquent couramment comme un PADAWAN (C'est pas un acronyme hein !!! ) admire son MAÎTRE, je me suis dit, je vais faire court et employer des mots de professionnels de la programmation, afin de ne pas commencer par les gonfler au premier message...mission accomplie

    Sinon bonne année a toi et bonne continuation a toi en C.
    Je te remercie beaucoup et je te la souhaite encore meilleure que la mienne
    Déjà fier d'avoir pu parler à deux de mes idoles, cette année commence bien
    Quand à ma continuation...cela fait plusieurs fois que j'essai et abandonne le C faute à sa difficulté dans la gestion des fenêtres et des pointeurs, mais je pense cette fois avoir assez de bille pour me relancer à nouveau.
    J'en rêve donc un jour ou l'autre j'atteindrais mon but, c'est à dire pouvoir coder une petite GUI (Graphique User Interface) toute en C
    C'est pourquoi, je m'étais dit que si un MAITRE avait eu cette idée avant moi...et bien il m'aurait grandement facilité la tâche
    Alors plutôt que de parler de continuation...je vais parler de "Commenciation" (Ni acronyme, ni français !!! )

    A VOUS DEUX
    Merci à vous, les autres membres et tous les utilisateurs du C, de continuer à l'utiliser.
    Personnellement attaché aux choses efficaces, de base et sans fioritures, cela me fait bondir d'entendre que le C est un vieux langage, has-been, et que l'avenir est la POO (Programmation orientée Objet) ou le monde du WEB
    C'est de mon avis faire offense aux valeurs qui ont créé la programmation et surtout oublier que le C est d'après TYOBE un des langages le plus utilisé du monde :
    http://www.tiobe.com/index.php/conte...pci/index.html

    Mais aussi oublier que sans le C et l'ASM, grand nombre d'OS (Operating System) et ces fameux "supers" nouveaux langages n'auraient jamais vu le jour.
    De la à dire qu'ils ne sont que des "surcouches" pour personnes n'ayant pas le temps, les capacités (comme moi), ou la passion de la programmation, je n'en suis pas loin ...

    Au plaisir de vous relire

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Les ressources font partie du SDK standard de Windows et sont utilisables depuis un code C, tu sais.
    Mais les ressources DIALOG sont juste un moyen rapide de créer une fenêtre et ses contrôles; ce n'est pas vraiment du RAD quand on voit le code qu'on doit écrire derrière (la DialogProc), même si ça reste plus simple que tout faire soi-même (créer manuellement les contrôles).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 309
    Par défaut
    Les ressources font partie du SDK standard de Windows et sont utilisables depuis un code C, tu sais.
    Ahh !! d'accord, je me demandais d'ou elles venaient

    ce n'est pas vraiment du RAD quand on voit le code qu'on doit écrire derrière (la DialogProc),
    Je pense que par DialogProc, tu dois parler des événements gérés dans la callback comme un WM_SIZE, par exemple au redimensionnement de la fenêtre ?

    Je me suis mal expliqué, c'est vrai que j'ai un peu galvaudé le terme de RAD.
    En fait, je ne cherche pas une application qui gère les événements comme dans VB, mais juste une application qui permet de tracer les fenetres et autres controles, les positionner, puis cliquer sur un bouton et générer un code C pure, simple avec appel d'API
    CreateWindow()
    DestroyWindow()
    SendMessage()
    ShowWindow()
    UpdateWindow()
    MessageBox()
    etc ..

    Pour ce qui est des événements, j'ai l'habitude de les gérer moi même dans la callBack

    J'ai fait quelques essais, je m'excuse pour vos yeux, c'est surement trés mal codé , mais ça marche et j'en suis le premier surpris et content
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    HWND OpenWindow(LPSTR Titre)
    {
     
        HWND HwndFenetre;
     
        WNDCLASS wc;
        wc.cbClsExtra = 0;
        wc.cbWndExtra = 0;
        wc.hInstance = g_hInst;
        wc.hbrBackground = (HBRUSH)(COLOR_WINDOW);
        wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
        wc.hCursor = LoadCursor(NULL,IDC_ARROW);
        wc.lpszClassName = "Fenetre";
        wc.lpszMenuName = NULL;
        wc.style = CS_HREDRAW|CS_VREDRAW;
        wc.lpfnWndProc = (WNDPROC) CallBackWindows;
        RegisterClass(&wc);
     
        HwndFenetre = CreateWindow("Fenetre", Titre, WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, g_hInst, 0);
        ShowWindow(HwndFenetre, SW_SHOW);
        UpdateWindow(HwndFenetre);
     
        return HwndFenetre;
     
    }
     
    // using _stdcall the winmain entry
    int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR line, int CmdShow)
    {
        g_hInst = hInst;
        MSG msg;
     
        FenetrePrincipale = OpenWindow("Coucou");
        FenetreSecondaire = OpenWindow("Coucou2");
     
        while(GetMessage(&msg, 0, 0, 0))
        {
            if(msg.message == WM_CLOSE || msg.wParam == WM_CLOSE || msg.lParam == WM_CLOSE)
            {
                MessageBox(0, "Coucou", "Je me ferme",1);
            }
     
           TranslateMessage(&msg);
           DispatchMessage(&msg);
        }
     
        return msg.wParam;
    }
     
    // function def's?
    LRESULT APIENTRY CallBackWindows(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    {
        switch(msg)
        {
           case WM_CLOSE:
     
               MessageBox(0, "Hello", "Welcome Message",1);
               SendMessage(hwnd, WM_DESTROY, 0, 0);
               break;
     
            case WM_DESTROY:
     
                DestroyWindow(hwnd);
     
                if(hwnd == FenetrePrincipale)
                {
                    PostQuitMessage(0);// destroy code out of memory
                }
     
                break;
     
            default:
     
            return DefWindowProc(hwnd, msg, wParam, lParam);
        }
     
        return 0;
    }
    Ca marche sauf pour essayer de detecter l'evenement dans la boucle while(GetMessage(&msg, 0, 0, 0))
    J'ai essayé de capter l'evenement et cela ne marche pas, mais peut être que l'on a pas le droit de le faire en C et que le passage par la callback est obligatoire
    if(msg.message == WM_CLOSE || msg.wParam == WM_CLOSE || msg.lParam == WM_CLOSE)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur génération classe API jaxb
    Par bdptaki dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 30/04/2011, 23h36
  2. Réponses: 3
    Dernier message: 13/01/2010, 14h28
  3. [Sources] API shellExecute, Ouverture conditionelle d'un fichier/dossier
    Par SfJ5Rpw8 dans le forum Vos contributions VB6
    Réponses: 3
    Dernier message: 17/09/2006, 15h16
  4. [Recherche]une API pour colorer le code source
    Par kedare dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 31/07/2006, 08h48
  5. [JAR]Obtenir les sources de l'api Java
    Par compu dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 18/11/2005, 01h53

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