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

Windows Discussion :

[Tous les langages] Gros problème.


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut [Tous les langages] Gros problème.
    Bonjour à tous !

    Je requiert votre aide, qui sera l'une des plus précieuses...

    Voilà.. Je suis en train de faire une interface pour mon programme de téléchargement en masse, mais j'ai un gros prob... car l'autre était en batch et j'utilise le programme Wget pour télécharger les fichiers (URL enregistrées dans un user.fichiers dans le dossier de Wget).

    Ce que je voudrais faire, c'est une fenêtre avec dedans :
    -un champ de texte modifiable par l'utilisateur, où on peut faire Copier coller (normal quoi^^)
    - un bouton "télécharger" pour que quand on clique dessus, ça enregistre le contenu du champ de texte dans le user.fichiers et que ça lance un fichier .bat...

    Est-ce que vous pourriez m'aider svp?? merci d'avance.
    Astrofan



    EDIT : J'ai eu une idée, c'est de le faire en C++, mais je sais pas comment inscrire dans le fichier user.fichiers le contenu du champ d'édition dont l'ID est IDC_EDIT1... Comment faire?
    Merci d'avance !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    Pourriez-vous répondre s'il vous plait?

  3. #3
    Membre chevronné Avatar de pascal.barbier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 362
    Par défaut
    Quel est exactement le problème
    Eventuellement, attaches un bout du code qui pose problème.

  4. #4
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Du calme. Ceci est un forum d'entraide, si quelqu'un souhaite t'aider, il le fera de lui-même.
    Il y a beaucoup de langages pour réaliser ce que tu veux faire. Quelles connaissances de la programmation as-tu ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    Ben en fit, j'apprends tout seul le C++...après en fait, j'ai pas de code source car je ne sais pas faire de programme en mode fenêtre...

    je voudrais qu'il y ait ça :



    (désolé pour le dessin^^) Et je voudrais que lorsque l'utilisateur clique sur le bouton "télécharger", ça enregistre le contenu de la zone éditable dans un fichier, et que ça lance un .bat^^

    Voilà...

  6. #6
    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
    Si tu y vas en C++ avec l'API Windows, je te conseille un truc de ce genre pour sauvegarder le contenu:
    • GetDlgItem() pour récupérer le handle de ta zone d'édition IDC_EDIT1
    • GetWindowTextLength() pour avoir la taille du texte, pour un malloc() si nécessaire
    • GetWindowText() pour récupérer le texte
    • Et ensuite, une bète écriture de fichier avec les flux C ou les streams C++ (voir FAQ pour ces deux technologies).
    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.

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Avec les API windows c'est une solution mais ce sera plus simple et plus rapide avec un "framework" comme la VCL livrée avec Borland C++ Builder ou bien MFC avec VC++6 ou bien Qt,WxWidget....
    ce que tu demandes avec VC++ et MFC je le fais en 10minutes

  8. #8
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Si tu n'as jamais fait de programmation, commencer par le C++ peut s'avérer fastidieux (même si c'est tout à ton honneur). Mais ne perds pas de vue que l'application que tu souhaites faire peut-être également réalisée en C, en Java, en Visual Basic, en Delphi... Si tu débutes, je ne saurais trop te conseiller Visual Basic ou Delphi. Si tu as envie de quelque chose de gratuit et de solide, tu peux essayer Java. Mais ce que dit ma signature pour le C s'applique également (en moindre mesure) au C++.

    Bon courage.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    Merci pour toutes vos réponses^^ Je ne savais pas qu'on pouvait faire des fenêtres en C...Car c'est vrai que le C est plus simple...Je vais essayer comme vous m'avez dit^^, Je vous tiens au courant.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    Bon... j'ai toujours un problème... en fait, vu que j'ai fait que de la console jusqu'à maintenant, je suis vachement paumé^^

    j'ai mon code source de base (donné par Visual Studio C++ 2003), j'ai repéré l'endroit pour gérer les menus (avec un switch), mais après, je ne sais pas où mettre tout mon code... snifff help me please! ^^ Car j'en ai marre de te taper la tete contre les murs

    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    // test2.cpp : Defines the entry point for the application.
    //
    
    #include "stdafx.h"
    #include "test2.h"
    #define MAX_LOADSTRING 100
    
    // Global Variables:
    HINSTANCE hInst;								// current instance
    TCHAR szTitle[MAX_LOADSTRING];					// The title bar text
    TCHAR szWindowClass[MAX_LOADSTRING];			// the main window class name
    
    // Forward declarations of functions included in this code module:
    ATOM				MyRegisterClass(HINSTANCE hInstance);
    BOOL				InitInstance(HINSTANCE, int);
    LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM);
    LRESULT CALLBACK	About(HWND, UINT, WPARAM, LPARAM);
    
    int APIENTRY _tWinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPTSTR    lpCmdLine,
                         int       nCmdShow)
    {
     	// TODO: Place code here.
    	MSG msg;
    	HACCEL hAccelTable;
    	
    
    	// Initialize global strings
    	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    	LoadString(hInstance, IDC_TEST2, szWindowClass, MAX_LOADSTRING);
    	MyRegisterClass(hInstance);
    
    	// Perform application initialization:
    	if (!InitInstance (hInstance, nCmdShow)) 
    	{
    		return FALSE;
    	}
    
    	hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_TEST2);
    
    	// Main message loop:
    	while (GetMessage(&msg, NULL, 0, 0)) 
    	{
    		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
    		{
    			TranslateMessage(&msg);
    			DispatchMessage(&msg);
    		}
    	}
    
    	return (int) msg.wParam;
    }
    
    
    
    //
    //  FUNCTION: MyRegisterClass()
    //
    //  PURPOSE: Registers the window class.
    //
    //  COMMENTS:
    //
    //    This function and its usage are only necessary if you want this code
    //    to be compatible with Win32 systems prior to the 'RegisterClassEx'
    //    function that was added to Windows 95. It is important to call this function
    //    so that the application will get 'well formed' small icons associated
    //    with it.
    //
    ATOM MyRegisterClass(HINSTANCE hInstance)
    {
    	WNDCLASSEX wcex;
    
    	wcex.cbSize = sizeof(WNDCLASSEX); 
    
    	wcex.style			= CS_HREDRAW | CS_VREDRAW;
    	wcex.lpfnWndProc	= (WNDPROC)WndProc;
    	wcex.cbClsExtra		= 0;
    	wcex.cbWndExtra		= 0;
    	wcex.hInstance		= hInstance;
    	wcex.hIcon			= LoadIcon(hInstance, (LPCTSTR)IDI_TEST2);
    	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
    	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
    	wcex.lpszMenuName	= (LPCTSTR)IDC_TEST2;
    	wcex.lpszClassName	= szWindowClass;
    	wcex.hIconSm		= LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);
    
    	return RegisterClassEx(&wcex);
    }
    
    //
    //   FUNCTION: InitInstance(HANDLE, int)
    //
    //   PURPOSE: Saves instance handle and creates main window
    //
    //   COMMENTS:
    //
    //        In this function, we save the instance handle in a global variable and
    //        create and display the main program window.
    //
    BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
    {
       HWND hWnd;
    
       hInst = hInstance; // Store instance handle in our global variable
    
       hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
          CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
    
       if (!hWnd)
       {
          return FALSE;
       }
    
       ShowWindow(hWnd, nCmdShow);
       UpdateWindow(hWnd);
    
       return TRUE;
    }
    
    //
    //  FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
    //
    //  PURPOSE:  Processes messages for the main window.
    //
    //  WM_COMMAND	- process the application menu
    //  WM_PAINT	- Paint the main window
    //  WM_DESTROY	- post a quit message and return
    //
    //
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	int wmId, wmEvent;
    	PAINTSTRUCT ps;
    	HDC hdc;
    
    	switch (message) 
    	{
    	case WM_COMMAND:
    		wmId    = LOWORD(wParam); 
    		wmEvent = HIWORD(wParam); 
    		// Parse the menu selections:
    		switch (wmId)
    		{
    		case IDM_ABOUT:
    			DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
    			break;
    		case IDM_EXIT:
    			DestroyWindow(hWnd);
    			break;
    		default:
    			return DefWindowProc(hWnd, message, wParam, lParam);
    		}
    		break;
    	case WM_PAINT:
    		hdc = BeginPaint(hWnd, &ps);
    		// TODO: Add any drawing code here...
    		EndPaint(hWnd, &ps);
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		break;
    	default:
    		return DefWindowProc(hWnd, message, wParam, lParam);
    	}
    	return 0;
    }
    
    // Message handler for about box.
    LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	switch (message)
    	{
    	case WM_INITDIALOG:
    		return TRUE;
    
    	case WM_COMMAND:
    		if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
    		{
    			EndDialog(hDlg, LOWORD(wParam));
    			return TRUE;
    		}
    		break;
    	}
    	return FALSE;
    }
    où mettre le code, et surtout quel code mettre^^ car Médinoc m'a donné quelles fonctions à utiliser, mais comment les utiliser, telle est la question...

    Merci d'avance

  11. #11
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Citation Envoyé par astrofan Voir le message
    Bon... j'ai toujours un problème... en fait, vu que j'ai fait que de la console jusqu'à maintenant, je suis vachement paumé^^
    eh oui mais les programmes GUI ce ne sont pas des programmes consoles et c'est infiniment plus complexe...Un programme fenêtré il faut gérer les messages etc...
    Si tu peux essayer de te procurer le livre de Charles Peztold sur la programmation Windows mais je doute que tu puisses encore le trouver .

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    ok Mat.M^^ J'essaierai de le trouver... En attendant, je sais pas trop comment faire... sniff . Oui je suis un nOob (lOl), oui je saute trop vite les étapes (re-lol), mais bon... j'ai toujours été comme ça^^

  13. #13
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Kio,
    Citation Envoyé par astrofan Voir le message
    ok Mat.M^^ J'essaierai de le trouver... En attendant, je sais pas trop comment faire... sniff . Oui je suis un nOob (lOl), oui je saute trop vite les étapes (re-lol), mais bon... j'ai toujours été comme ça^^
    Mais la programmation est un des très nombreux domaines où on ne peut pas courir avant de savoir marcher.

  14. #14
    Membre confirmé Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Par défaut
    Si la création à la main d'une interface utilisateur te rebute, je te conseille de te tourner vers des éditeurs plus avancés te permettant de placer toi-même tes propres contrôles.
    Pour exemple, je me suis mis récemment au C# en récupérant Visual C# Express. La création d'une interface graphique y est nettement simplifiée. Après, je ne sais pas si télécharger et installer toute la plateforme est justifié s'il s'agit de ne créer que le programme dont tu nous parles, sans t'en resservir par la suite...

    Les compilateurs Borland te permettent de créer très facilement tes interfaces, mais il faut y mettre le prix, par contre. Côté Java, j'ai aussi entendu parler d'un plugin sous Eclipse pour pouvoir créer ses interfaces utilisateurs (info à vérifier).

  15. #15
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013

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

Discussions similaires

  1. hello world dans tous les langages
    Par Jean-Philippe André dans le forum Humour Informatique
    Réponses: 16
    Dernier message: 05/12/2012, 01h18
  2. Dites du bien de tous les langages que vous avez utilisés, si vous le pouvez
    Par Idelways dans le forum Langages de programmation
    Réponses: 38
    Dernier message: 05/02/2011, 22h41
  3. Réponses: 14
    Dernier message: 14/12/2010, 10h19

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