Префикс А или W есть только у тех функций и констант, которые работают с текстом. А - ANSI 8 бит на символ W - Wide (UNICODE) 16 бит на символ из windows.pas Код (Text): ... function FindNextFile; external kernel32 name 'FindNextFileA'; function FindNextFileA; external kernel32 name 'FindNextFileA'; function FindNextFileW; external kernel32 name 'FindNextFileW'; ... Итого: FindNextFile = FindNextFileA
что-то я не пойму. Юзаю функцию FindNextFileA она требует передачу хэндла из предыдущей функции FindFirstFileA и структуру, которую она заполняет информацией о файле. Дак вот, рекомендуется делать так find_struct db 314 dup (?) (кстати, че значит dup?)))) типо массива чтоли) т.е с этим отрабатывает все наура. когда объявляю find_struct db 1 dup (?) тоже самое все наура) хотя смещение 44 - это имя файла. Объясните, почему второй раз тоже срабатывает, куда он данные сует, если выделено в 314 раз меньше места
еще никак не пойму. вот есть строго заданая строка str1 db "123",0 и str2 db "456",0 нужно к str1 прибавть str2, чтобы получилось 123456. Как в паскале например=)
WinApi гарантирует сохранение регистров esi, edi, ebp, esp, ebx Изменяются EFLAGS, edx, ecx. В eax возвращается результат(ошибка).
Luzer А как FindNextFileA узнает сколько памяти было выделенно! Она запишет данные по адресу find_struct и еще 313 байт, затирая те данные которые идут после find_struct. --------------------------- The lstrcat function appends one string to another. LPTSTR lstrcat(LPTSTR lpString1, LPTSTR lpString2); Parameters lpString1 [in, out] Pointer to a null-terminated string. The buffer must be large enough to contain both strings. lpString2 [in] Pointer to the null-terminated string to be appended to the string specified in the lpString1 parameter. Return Value If the function succeeds, the return value is a pointer to the buffer. If the function fails, the return value is NULL. The first argument, lpString1, must be large enough to hold lpString2 and the closing '\0', otherwise a buffer overrun may occur. (с) MSDN