Kermit Napisano Sierpień 21, 2019 Autor Zgłoś Udostępnij Napisano Sierpień 21, 2019 Chce, aby po 2x kliknieciu na plik o podanym rozszerzeniu mój program otworzył go, pobieram ściezke pliku za pomocą parametru ParamStr(1); Ale pod win98 ukazuje się taki zapis: D:\MOJEDO~1\MOJEPR~1\PROJECTS\BEZPOŚ~1\NOWY.NAT Chodzi o nazwy folderów i plików które sa dłuższe niz 8 znaków. W winXp wszystko działa ładnie Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 21, 2019 Zgłoś Udostępnij Napisano Sierpień 21, 2019 Dzieje sie tak poniewaz tam panuje stary system okreslania sciezek w ktorych nazwa katalogu nie moze byc dluzsza niz 8 znakow (pozostalosc po dosie). Ale mozesz spokojnie uzywac tej sciezki w programie bo sie pokapuje. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Kermit Napisano Sierpień 21, 2019 Autor Zgłoś Udostępnij Napisano Sierpień 21, 2019 tak wiem system sie pokapuje...a jak np. bede chcial zrobic historie otwieranych plików? to bedzie brzydko:/ Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 21, 2019 Zgłoś Udostępnij Napisano Sierpień 21, 2019 Podczas przeszukiwania MSDN cos takiego mi sie obilo, moze uzycie tej funkcji cos pomoze: SetFileApisToANSI(); Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Kermit Napisano Sierpień 22, 2019 Autor Zgłoś Udostępnij Napisano Sierpień 22, 2019 Znalazłem tam tylko takie cos, google tez za bardzo nie pomogły...jak ja to mam wykorzystac dalej? void SetFileApisToANSI(void); Parameters This function has no parameters. Return Values This function has no return value. eeee? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Surprise Napisano Sierpień 22, 2019 Zgłoś Udostępnij Napisano Sierpień 22, 2019 Hej! (jak mnie dawno nie było na tym forum..hehe) Myslę, że po prostu wywołaj tę funkcję, normalnie bez niczego, bo przecież nie ma parametierów...heh Funkcja to prostu przestawia zapis sciezki uzywanej, czy zwracanej przez niektóre funkcje (jak napisał Nicon - wszystko przez Dosa...hehe). _lopen GetDriveType LoadLibrary CopyFile GetFileAttributes LoadLibraryEx CreateDirectory GetFullPathName MoveFile CreateFile GetModuleFileName MoveFileEx CreateProcess GetModuleHandle OpenFile DeleteFile GetSystemDirectory RemoveDirectory FindFirstFile GetTempFileName SearchPath FindNextFile GetTempPath SetCurrentDirectory GetCurrentDirectory GetVolumeInformation SetFileAttributes GetDiskFreeSpace GetWindowsDirectory To są te funkcje, również buforek argv jest na to podatny. Istnieje jeszcze VOID SetFileApisToOEM(VOID), która działa odwrotnie. A tak na marginesie, znalazłem to pirwszy raz w helpie...taaak polecam helpa, zabójcza broń...hehe Pozdrawiam Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 22, 2019 Zgłoś Udostępnij Napisano Sierpień 22, 2019 Tutaj masz dokumentacje funkcji prosto z MSDN: SetFileApisToANSI The SetFileApisToANSI function causes a set of Win32 file functions to use the ANSI character set code page. This function is useful for 8-bit console input and output operations. VOID SetFileApisToANSI(VOID) Parameters This function has no parameters. Return Values This function has no return value. Remarks The Win32 file functions whose code page is set by SetFileApisToANSI are those functions exported by KERNEL32.DLL which accept or return a file name. The SetFileApisToANSI function complements the SetFileApisToOEM function, which causes the same set of Win32 file functions to use the OEM character set code page. The 8-bit console functions use the OEM code page by default. All other functions use the ANSI code page by default. This means that strings returned by the console functions may not be processed correctly by other functions, and vice versa. For example, if the FindFirstFileA function returns a string that contains certain extended ANSI characters, and the 8-bit console functions are set to use the OEM code page, then the WriteConsoleA function will not display the string properly. Use the AreFileApisANSI function to determine which code page the set of file functions is currently using. Use the SetConsoleCP and SetConsoleOutputCP functions to set the code page for the 8-bit console functions. To solve the problem of code page incompatibility, it is best to use Unicode for console applications. Console applications that use Unicode are much more versatile than those that use 8-bit console functions. Barring that solution, a console application can call the SetFileApisToOEM function to cause the set of Win32 file functions to use OEM character set strings rather than ANSI character set strings. Use the SetFileApisToANSI function to set those functions back to the ANSI code page. When dealing with command lines, a console application should obtain the command line in Unicode form, and then convert it to OEM form using the relevant character-to-OEM functions. Note also that the argv function uses the ANSI character set. Poprostu wywolaj ta funkcje na poczatku programu i powinno pomoc. Ale naprawde ludzie zadziwiacie mnie. Zaloze sie ze szukales tylko na polskich stronach, bo jak wezmiesz angielskie i wpiszesz nazwe funkcji to na pierwszej pozycji wyskakuje stronka MSDN z pelna dokumentacja, ehh. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 22, 2019 Zgłoś Udostępnij Napisano Sierpień 22, 2019 Tutaj masz dokumentacje funkcji prosto z MSDN: SetFileApisToANSI The SetFileApisToANSI function causes a set of Win32 file functions to use the ANSI character set code page. This function is useful for 8-bit console input and output operations. VOID SetFileApisToANSI(VOID) Parameters This function has no parameters. Return Values This function has no return value. Remarks The Win32 file functions whose code page is set by SetFileApisToANSI are those functions exported by KERNEL32.DLL which accept or return a file name. The SetFileApisToANSI function complements the SetFileApisToOEM function, which causes the same set of Win32 file functions to use the OEM character set code page. The 8-bit console functions use the OEM code page by default. All other functions use the ANSI code page by default. This means that strings returned by the console functions may not be processed correctly by other functions, and vice versa. For example, if the FindFirstFileA function returns a string that contains certain extended ANSI characters, and the 8-bit console functions are set to use the OEM code page, then the WriteConsoleA function will not display the string properly. Use the AreFileApisANSI function to determine which code page the set of file functions is currently using. Use the SetConsoleCP and SetConsoleOutputCP functions to set the code page for the 8-bit console functions. To solve the problem of code page incompatibility, it is best to use Unicode for console applications. Console applications that use Unicode are much more versatile than those that use 8-bit console functions. Barring that solution, a console application can call the SetFileApisToOEM function to cause the set of Win32 file functions to use OEM character set strings rather than ANSI character set strings. Use the SetFileApisToANSI function to set those functions back to the ANSI code page. When dealing with command lines, a console application should obtain the command line in Unicode form, and then convert it to OEM form using the relevant character-to-OEM functions. Note also that the argv function uses the ANSI character set. Poprostu wywolaj ta funkcje na poczatku programu i powinno pomoc. Ale naprawde ludzie zadziwiacie mnie. Zaloze sie ze szukales tylko na polskich stronach, bo jak wezmiesz angielskie i wpiszesz nazwe funkcji to na pierwszej pozycji wyskakuje stronka MSDN z pelna dokumentacja, ehh. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Surprise Napisano Sierpień 22, 2019 Zgłoś Udostępnij Napisano Sierpień 22, 2019 No Nicon, mnie też to zadziwia, taki fajny help, no i MSDN, a tak mało osób z tego korzysta. Czasem nawet nie trzeba super-ekstra umieć angielskiego,wystarczy trochę intuicji i własnych eksperymentów, ale co to tam...pozdrawiam 8) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.