Fichier edit box

Signaler
Messages postés
19
Date d'inscription
mardi 13 mai 2003
Statut
Membre
Dernière intervention
16 juin 2003
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Il me met erreur disp erreur INVALID_HANDLE_VALUE! Je comprend pas cette erreur mon fichier est bien là où je ledis!

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Quel est ce mechant code qui ose t'embeter ?
BruNews, ciao...
Messages postés
19
Date d'inscription
mardi 13 mai 2003
Statut
Membre
Dernière intervention
16 juin 2003

Je vais te montrer ce tres tres mechant code si tu vois une merde dis le moi je deviens folle:

HANDLE hheap;
char szfile[264];
char szappname[] = "DispText";
char errDISPO[] = "INDISPONIBLE";
char errMEM[] = "DEFAUT MEMOIRE";
char errLECT[] = "DEFAUT LECTURE";

void __stdcall AfficheTxt(HWND hwndDlg)
{
HANDLE hfl;
DWORD len, val; char *c 0, *pmem 0;
unsigned short *temppmem;

hfl = CreateFile(L"c:\\doc\\charte.txt", GENERIC_READ, 0, 0,
OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, 0); //if(hfl INVALID_HANDLE_VALUE) {c errDISPO; goto dispErr;}
len = GetFileSize(hfl, 0); //if(!len || len 0xFFFFFFFF) {c errDISPO; goto dispErr;} // if((pmem (char*) HeapAlloc(hheap, 0, len+1)) 0) {c = errMEM; goto closeFL;}
pmem = (char*) HeapAlloc(hheap, 0, len+1);
val = 0; ReadFile(hfl, pmem, len, &val, 0);

//if(val !len) {c errLECT; goto outHeap;}
pmem[len] = 0;
SetDlgItemText(hwndDlg, IDC_CHARTE, pmem);

//outHeap: HeapFree(hheap, 0, pmem);
//closeFL: CloseHandle(hfl);
if(c == 0) return;
//dispErr: MessageBox(NULL,TEXT("erreur fichier"),TEXT("erreur fichier"),MB_ICONERROR | MB_OK );
}

BOOL __stdcall dlgFileOpen(HWND hOwner)
{
OPENFILENAME ofn;
memset(&ofn,0,sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME); ofn.nFilterIndex 1; ofn.lpstrFilter L"TXT\0*.txt\0\0"; ofn.lpstrFile szfile; ofn.nMaxFile MAX_PATH; ofn.hwndOwner = hOwner;
ofn.lpstrTitle = L"";
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; ofn.FlagsEx 1; szfile[0] 0;
return GetOpenFileName(&ofn);
}

BOOL CALLBACK CharteBoxProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message) {
case WM_INITDIALOG:
CenterWindow(hwndDlg);

// SetClassLong(hwndDlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION));

SetDlgItemText(hwndDlg,IDC_LOGONNAME,settingsInfo.Username);
hheap = GetProcessHeap();
AfficheTxt(hwndDlg);
return TRUE;
case WM_COMMAND:
switch(wParam) {

case IDOK:
EndDialog(hwndDlg, WLX_SAS_ACTION_LOGON);
break;
case IDCANCEL:
EndDialog(hwndDlg, WLX_SAS_ACTION_LOGOFF);
break;
}
return TRUE;
}
return FALSE;
}

Je mets le chemin en dur et ca marche pas HELP!
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Pourquoi L" ??? tu as mis _UNICODE ???
CenterWindow(hwndDlg); ??? c'est utile ???
Il faut laisser if(hfl == INVALID_HANDLE_VALUE) sinon tu risques badaboum.
Et pense a liberer la memoire de HeapAlloc();
Sinon sans le L devant nom de fichier devrait aller mieux si fichier n'est pas ouvert exclusif par un autre processus comme on le fait ici.
BruNews, ciao...
Messages postés
19
Date d'inscription
mardi 13 mai 2003
Statut
Membre
Dernière intervention
16 juin 2003

J'ai enleve le L, je libere hheapfree

Il m'affiche des symbole un peu bizarre un mot puis des fois une ligne aléatoire qui n'appartient meme pas au fichier!
Comprend pas
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Le mieux tu me l'envoies sinon y en aura pour 1 heure.
Je te le retourne gueri.
BruNews, ciao...
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Et 1 copie de ton fichier txt si possible que je verifie.
BruNews, ciao...