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 :

Programme en C et C++


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut Programme en C et C++
    Bonjours a tous,

    Je suis en train de faire une interface graphique pour un prog que j'ai en C l'interface ce fais donc en C++

    J'utilise Borland pour crée tous sa et je voudrai savoir si il serai pas plus "juste" de laisser mon programme en c dans un autre fichier qui se trouve dans mon projet puis prendre tout les paramètre et ensuite les envoyer a mon programme qui tourne en C.

    Si votre avis est que oui c'est plus juste de faire comme cela, je vous dirai ok je veux bien le faire mais peux t'on me donner 2 3 indication quand a la procédure a suivre pour effectuer cela ?

    ou alors j'adabte mon code pour le faire fonctionner directement dans mes lignes de C++ avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    extern "C" { 
    // code C 
    }
    merci de me laisser votre avis et vos conseil :-)

  2. #2
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,
    Si j'étais confronté au même problème, je réecriré tout mon programme sous c++builder, afin de garantir tout les bugs, erreur et autres chôse.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    je voudrai bien mais je me sens pas capable de tout refaire en C++....

    et oui je prend la solution de facilité....

    je suis encore bien trop noob au niveau de C++

  4. #4
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Citation Envoyé par Freektrax
    je voudrai bien mais je me sens pas capable de tout refaire en C++....

    et oui je prend la solution de facilité....

    je suis encore bien trop noob au niveau de C++
    il faut faire un effort, on peut t'aider, le forum est fais pour ça.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    J'ai pas non plus envie de faire chier tout le monde avec mes petites conneries... j'arrete deja pas de posé des questions a la con depuis 2 3 jours...

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    juste encore une question

    j'ai donc mon fichier .cpp avec mon programme en C dedans.

    comment je peux faire pour que dans mon programme C++ il envoi les données que je veux a ce .cpp puis l'execute et après qu'il revienne sur mon prog C++ de base ?

  7. #7
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Donne un bout de code, c'est bien pour mieu te comprendre.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Voilà le soft que je doit transformer pour avoir une interface graphique d'installation:

    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
    79
    80
    81
    82
    83
    84
    85
     
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
     
    int main()
    {
       FILE *P_File;
       int location;
       int i;        /* Variable de controle */
       char tcp[104];
       char printname[50];
       char print[100];
       char printnumber[3];
       char addressip[15];
       char batfile[12] = "install.bat";
     
     
     
     /*     Construction de l'adresse IP   */
     
       strcpy(addressip, "192.168.");
       printf("What is your location?\nPress '1' for HEROS \nPress '2' for  Jargo\nThen press enter\n");
       scanf("%d", &location);
     
       strcpy(printname, "HP Color LaserJet 3800 - ");
       if (location!=1.0)
    	 { strcat(printname, "JAR ");}
     
       switch (location)
       {
    		  case 1:
    			   strcat(addressip, "1.");
    			   break;
    		  case 2:
    			   strcat(addressip, "9.");
    			   break;
    		  default:
    			   printf("\nERROR");
    			   return 0;
       }
       printf("\nWhat is the number of the printer you wish to install?\n(Enter only the last three number)\n");
       scanf("%s", &printnumber);
       strcat(addressip, printnumber);
       strcat(printname, printnumber);
     
       printf("\nIP address = %s% \n Printer name = %s% \n", addressip,
    printname);
     
     
     
     /*     Creation du port TCP/IP pour imprimante puis ecriture dans le bat
    */
       strcpy(tcp, "cscript C:\\WINDOWS\\system32\\prnport.vbs -t -r IP_");
       strcat(tcp, addressip);
       strcat(tcp, " -o raw -n 9100 -h ");
       strcat(tcp, addressip);
       strcat(tcp, " -me -2e");
       printf("\nCreation du port 243\nla ligne de commande sera:\n%s", tcp);
     
       P_File = fopen(batfile, "w");
       fprintf(P_File, "%s%\n", tcp);
       fclose(P_File);
     
     
    /* Installation d'une 3800 */
     
      strcpy(print, "rundll32 printui.dll,PrintUIEntry /if /b \"");
      strcat(print, printname);
      strcat(print,"\" /f \\\\server\\share\\Printers_Drivers\\HP_3800\\hpc3800c.inf /r \"IP_");
      strcat(print, addressip);
      strcat(print, "\" /m \"HP Color LaserJet 3800 PCL 6\" /z");
      printf("\nInstallation de l'impr sur port xxx:\n%s", print);
     
    /* ecriture ds le futur bat */
       P_File = fopen(batfile, "r+");
       fseek(P_File, 0, SEEK_END);
       fprintf(P_File, "%s", print);
       fclose(P_File);
     
         i = system ("install.bat");
    /*    remove("install.bat");
       return 0;
     */
    }

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    voila ce prog qui est dans un fichier .cpp qui marche en mode console et je doit le faire interagire ou le passer 100% C++ pour l'interger

  10. #10
    Membre averti
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Points : 360
    Points
    360
    Par défaut
    A voir ce code, le problème n'est pas de convertir en C++ un programme en C, mais de convertir dans l'IDE C++ Builder avec ses contrôles VCL ce qui actuellement est géré avec des printf et des scanf. A part ça, tu pourrais parfaitement conserver les commandes du genre strcpy ou fopen, ça fonctionnerait, même si ce n'est pas courant d'utiliser cela dans C++ Builder.

    Il te faut donc préparer une forme avec les différentes zones de saisie que tu utiliseras ensuite dans ton programme quasiment comme aujourd'hui si tu le désires. L'astuce consistera à renvoyer un char* à partir d'un TEdit avec quelque chose commeBien sûr, on peut faire autrement et utiliser des instructions qui sont plus communes dans C++ Builder.
    RAD Studio 10.3 / Ubuntu 20.04 - RYZEN 7 2700X - 24Go de RAM

  11. #11
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonsoir,

    allez on va t'aider sur ce cout là, ton programme ecrit en C peut parfaitement être retranscrit en C++ sous Builder.

    Alors on vas préparer le plancher : dite nous ce que tu as comme version de BCB, pour savoir ce que tu as comme VCL installée.
    As tu un bon niveau en programmation evenementielle.
    Sais-tu comment ecrire une application 32bits (sous windows).

    il faut être patient ...

    Asuivre ...
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  12. #12
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Juste une question, dois-tu vraiment utiliser le masque "192.168...." :
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  13. #13
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Et pour commencer voici un aperçu sur l'aspect globale de l'application
    Pièce jointe 8078
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  14. #14
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par kmaniche
    Alors on vas préparer le plancher : dite nous ce que tu as comme version de BCB, pour savoir ce que tu as comme VCL installée.
    As tu un bon niveau en programmation evenementielle.
    Sais-tu comment ecrire une application 32bits (sous windows).
    J'ai la derrniere version de C++Builder (evaluation30j)
    Mon niveau de programmation est pas ce que je dirai de bon... mais après j'essai de me demerder :-)(meme si c'est pas toujours facile)
    Pour crée l'appli oui... le probleme c'est de faire fontionner un forme et une appli en commande dos ... sa j'ai jamais fais.

    Citation Envoyé par kmaniche
    Juste une question, dois-tu vraiment utiliser le masque "192.168...."
    Et oui pour cela pas le choix...

    Citation Envoyé par kmaniche
    Et pour commencer voici un aperçu sur l'aspect globale de l'application
    Pièce jointe 8078
    Bha cela resemble a 2 goute d'eau a ce que j'ai déja fais :-)
    Citation Envoyé par kmaniche
    Bonsoir,

    allez on va t'aider sur ce cout là, ton programme ecrit en C peut parfaitement être retranscrit en C++ sous Builder.
    Bha sa c'est vraiment super sympa de votre par merci beaucoup :-)
    mais j'ai pas non plus envie de vous faire faire mon petit boulot... c'est vrai que sur ce coupe j'ai surtout besoin d'explication

  15. #15
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour, as-tu constuit un nouveau projet avec une Tform qui ressemble à la pièce jointe.
    Si oui, dit nous où tu
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  16. #16
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par kmaniche
    Bonjour, as-tu constuit un nouveau projet avec une Tform qui ressemble à la pièce jointe.
    Si oui, dit nous où tu
    oui oui le tform dans un new projet j'ai deja depuis un moment ... la je me

    pour ajouter 2 valeur a la suite dans un char* car += ne marche pas.

    et integer des valeur dans system("macommande"&variable"suitedecommande");

  17. #17
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    regarde du coté de strcpy, et jete un coup d'oeil dans strutils.hpp.

    aussi pour concaténé un string et un int :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monStr = "bonjou" + IntToStr(154) + "qqc" ;
    @+
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  18. #18
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    aurai tu aussi une explication pour system(); ?

    car je voudrai interger plusieur ligne de commande dans un meme cmd.exe a la suite je ne croie pas que ce sois possible avec system();

    si oui comment ?

  19. #19
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Utilise un fichier de commande ".bat" où tu enregistre toutes les commande par ligne, ensuite en utilisant WinExec ou ShellExecute tu lance l'execution de ce fichier ".bat".
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  20. #20
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    y a pas une autre methode ?

    car sa veux dire que je doit faire aller ecrire mes variable dans le .bat...

Discussions similaires

  1. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  4. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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