Mentoss Opublikowano 16 Sierpnia 2011 Udostępnij Opublikowano 16 Sierpnia 2011 Jak sprawdzić rozmiar pliku bez otwierania go? Chodzi o to, że świeżo stworzony plik przez chwilę istnieje, ale jest pusty i nie da się go otworzyć, a dopiero po chwili nabiera masy i czytelności. Ja natomiast potrzebuję otworzyć go tuż po stworzeniu tak, aby nie wywalał błędów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 16 Sierpnia 2011 Udostępnij Opublikowano 16 Sierpnia 2011 Otwórz plik file_bin_open i sprawdź file_bin_size. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 16 Sierpnia 2011 Autor Udostępnij Opublikowano 16 Sierpnia 2011 Problem w tym, że nie mogę go otworzyć, bo nie jest jeszcze do końca stworzony. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 16 Sierpnia 2011 Udostępnij Opublikowano 16 Sierpnia 2011 To zależy od rodzaju pliku, który się tworzy. W każdym razie plik dopiero co stworzony zawsze zajmuje zero bajtów, więc nijak sprawdzić, ile będzie zajmował po wypełnieniu go - chyba, że wcześniej obliczy się ten rozmiar na podstawie danych, które zapiszesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 16 Sierpnia 2011 Autor Udostępnij Opublikowano 16 Sierpnia 2011 Chcę właśnie wykorzystać to, że jak nie można go otworzyć, ma 0B. Sprawdzając rozmiar pliku bez otwierania go, będę wiedział, czy można go już otworzyć, czy trzeba jeszcze czekać. W ten sposób nie wywali errora, który w tej chwili crash-uje proces. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 16 Sierpnia 2011 Udostępnij Opublikowano 16 Sierpnia 2011 Powinieneś mieć pożliwość przewidzenia, kiedy plik nie będzie pusty. Nie wiem, czy to zadziała: GML f = file_text_open_read(ścieżka) if(file_text_eof(f)) { file_text_close(f) exit //jeśli jest pusty, dalszego kodu nie wykona } dalszy kod Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 16 Sierpnia 2011 Autor Udostępnij Opublikowano 16 Sierpnia 2011 nn, to nie ma prawa zadziałać, jako że nie można go wgl. otworzyć. Po prostu wywala errora, i tyle - nie ma dalej czytania, czy plik sie skończył, czy nie, a bez sensu by było przy każdym pliku czekać np. dwie sekundy, żeby na pewno zdążyło się zrobić i dalej działać. Musi być przecież jakiś sposób, żeby sprawdzić, czy plik jest zdatny do otwarcia, czy odmówi współpracy... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 16 Sierpnia 2011 Udostępnij Opublikowano 16 Sierpnia 2011 U mnie działa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 16 Sierpnia 2011 Autor Udostępnij Opublikowano 16 Sierpnia 2011 A u mnie nie... Chyba, że nie w tym problem. Od czego może być windowsowa ramka "Unexpected error occured when running the game.", czy cóś takiego ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 16 Sierpnia 2011 Udostępnij Opublikowano 16 Sierpnia 2011 Podaj kod, który masz tam, gdzie te operacje z plikiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 16 Sierpnia 2011 Autor Udostępnij Opublikowano 16 Sierpnia 2011 Znaczy, ja Ci powiem tak: napisałem sobie dll-a, który szyfruje mi pliki. Bierze plik A i tworzy plik B, który jest odwzorowaniem pliku A po zakodowaniu/odkodowaniu. I to działa dobrze, ALE po zakończeniu działania biblioteki, jeżeli chcę ten plik od razu otworzyć do czytania, to wyskakuje error. Jeśli nie - wszystko jest dobrze. Sam sprawdziłem zawartość pliku po odszyfrowaniu i działanie programu bez natychmiastowego otwierania pliku - wszystko działa poprawnie. N mam pojęcia o co chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 16 Sierpnia 2011 Udostępnij Opublikowano 16 Sierpnia 2011 Zamykasz plik przed zakończeniem działania biblioteki? Nie widzę innej przyczyny problemu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 17 Sierpnia 2011 Autor Udostępnij Opublikowano 17 Sierpnia 2011 Zamykam. I nie mam pojęcia, o co może chodzić. Jeżeli mam (to z testu dlla): GML var txt; txt='C for coding,#D for decoding.'; draw_text(room_width/2-string_width(txt)/2,room_height/2-string_height(txt)/2,txt); if keyboard_check_pressed(ord('C')) { cai(get_open_filename('',''),get_save_filename('','')); } else if keyboard_check_pressed(ord('D')) { cad(get_open_filename('',''),get_save_filename('','')); } natomiast, jeżeli dam samo cad(get_open_filename('',''),get_save_filename('','')); , to już wywala błęda. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się