C'est la suite de [APPLICATION WINDOWS] j'ai rajouter un dialog qui s'ouvre
avec dedans la posibilité de lire d'ecrire et d'effacer un fichier. En vous laissant choisir le text dans une edit box
Source / Exemple :
/*
Vous avez OBLIGATOIREMENT besoin de telecharger le .zip pour les resource sinon le programme ne se compilera pas
#include <windows.h> //include obligatoire pour toute applic window
#include <stdio.h>
/*
On inclue le fichier resource pour :
- LE DIALOG !
#include "resource.h"
/*
Procedure Qui traite les messages window
BOOL OnCommand(UINT msg,HWND hwnd);
//on declare les fonction pour liore et ecrire dansun fichier
char* Lire (void);
void Ecrire(char *texte);
HRESULT DlgProc(HWND dlgHandle,UINT uMsg,WPARAM Wparam,LPARAM lParam)
{
switch(uMsg)
{
/*
Permet de fermer l'application quand on clique sur la croix fermer
case WM_CLOSE:
MessageBox(0,"Creer par ZzZzZz ou Creatix de Ze fun chat, merci d'avoir essayé mon programme !","Createur",0);
PostQuitMessage(0);
break; //fin WM_CLOSE
/*
On gere maintenant les actions
case WM_COMMAND :
/*
Wparam est un WORD de 2 octet. Il y a deux parametres dans un Wparam
Dans le premier octet on specifie l'id du controle
et dans le 2em octet on specifie se qui s'y pass
dans notre exemple "a été cliqué"
LOWORD sert a avoir le premier octet d'un WORD et
HI WORD le dernier.
if ((LOWORD(Wparam) == IDC_BUTTON3) && (HIWORD(Wparam) == BN_CLICKED))
{
DialogBox(0,MAKEINTRESOURCE(IDD_DIALOG2),GetDesktopWindow(),(DLGPROC)DlgProc);
}
//bouton clear
if ((LOWORD(Wparam) == IDC_BUTTON10) && (HIWORD(Wparam) == BN_CLICKED))
{
SetWindowText(GetDlgItem(dlgHandle,IDC_EDIT2),"");
}
//bouton Lire
if ((LOWORD(Wparam) == IDC_BUTTON24) && (HIWORD(Wparam) == BN_CLICKED))
{
SetWindowText(GetDlgItem(dlgHandle,IDC_EDIT2),Lire());
}
//bouton effacer
if ((LOWORD(Wparam) == IDC_BUTTON6) && (HIWORD(Wparam) == BN_CLICKED))
{
DeleteFile("Ecriture.txt");
}
//bouton ecrire
if ((LOWORD(Wparam) == IDC_BUTTON5) && (HIWORD(Wparam) == BN_CLICKED)) {
char *texte;
texte = (char *)malloc(GetWindowTextLength(GetDlgItem(dlgHandle,IDC_EDIT2))+1);
GetWindowText(GetDlgItem(dlgHandle,IDC_EDIT2),texte,GetWindowTextLength(GetDlgItem(dlgHandle,IDC_EDIT2)));
Ecrire(texte);
MessageBox(0,"Le message a bien été écrit","Félicitation",0);
}
//bouton quitter
if ((LOWORD(Wparam) == IDC_BUTTON2) && (HIWORD(Wparam) == BN_CLICKED))
{
PostQuitMessage(0);
}
break; //fin WM_COMMAND
}
return 0; //si l'applic tourne mal on return 0 se qui ferme le prog
}
/*
fonction qui gere le menu
BOOL OnCommand(UINT msg,HWND hwnd) {
switch (msg) {
case ID__ABOUT :
MessageBox(hwnd,"Créé par ZzZzZz (Creatix sur diboo)","About",0);
return 0;
case ID_FILE_QUITTER :
PostQuitMessage(0);
return 0;
}
return 0;
}
/*
fonction principale WinMain
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hinstancePRECEDENTE, LPSTR CmdLine, int CmdShow)
{
/*
On creer le dialog qui va etre utilisé comme fenetre principale
DialogBox(0,MAKEINTRESOURCE(IDD_DIALOG1),GetDesktopWindow(),(DLGPROC)DlgProc);
return 0; //en cas de pépin on ferme l'applic
}
void Ecrire(char *texte) {
FILE *stream;
stream=fopen("Ecriture.txt","w+");
fwrite(texte,strlen(texte)+1,1,stream);
fclose(stream);
}
char* Lire (void)
{
FILE *stream;
char texte[4000];
stream=fopen("Ecriture.txt","r+");
fgets(texte,4000,stream);
fclose(stream);
return texte;
}
Conclusion :
Un grand merci a OrsE qui ma beaucoup aider sur les fonction fwrite et fread
et aller voir son site du coup qui vaut la peine car ya quelques tuto plutot interessent www.demorse.org
Merci de laisser un commentaire apres avoir telecharger la source car la derniere foit 60 vue et pas 1 seul commentaires lol donc 1 ptit effort si vous voulez d'autres sources. Une deniere chose il y a 1 seul bug quand vous writer dans le fichier la derniere lettre ne se write pas si quelqun peut expliquer d'ou cela vient il est la bienvenue a laisser un commentaires pour m'expliquer cela meric encore a vous ++
www.demorse.org
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.