Gering Napisano Grudzień 31, 2018 Autor Zgłoś Udostępnij Napisano Grudzień 31, 2018 Mam pewien problem związany z algorytmem przeszukiwania dysku . Sciągam sobie przykład i kompiluje nic nie zmieniając . Powstaje exe i program chodzi po nacisnieciu przycisku program rozpoczyna szukanie i sie zawiesz ( nie odpowiada ) a HDD ciągle pracuje . Przestaje odpowiadac tez system . Dzieje sie tak po kompilacji w Visual C++ i DevC++ a mój system to WinXp . Myslałem ze powdem jest to ze nie pokazuje rozszezen plików , bo przeciesz program z przykładu zapisuje do listy piki Exe wiec zrobiłem by były widoczne i nic nadal jest tak samo . Pomocy . Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Habit Napisano Grudzień 31, 2018 Zgłoś Udostępnij Napisano Grudzień 31, 2018 czlowieku, ty myslisz, ze mi opowiesz to ci pomoge? Wklej albo source, albo zapodaj na maila, to sie pomysli 8) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Freak Napisano Grudzień 31, 2018 Zgłoś Udostępnij Napisano Grudzień 31, 2018 Wrzuć wyszukiwanie pliku do nowego wątku to program nie będzie się wieszał jeśli przez dłuższy czas niczego nie znajdzie. Clever coś tam o tym pisał :) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gering Napisano Grudzień 31, 2018 Autor Zgłoś Udostępnij Napisano Grudzień 31, 2018 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Grudzień 31, 2018 Zgłoś Udostępnij Napisano Grudzień 31, 2018 Najprostrzy algorytm przeszukujacy cala zawartosc dysku wyglada tak (w delphi): Procedure szuk(Path:String); Var F:TWIN32FindData; H:THandle; Begin H:=FindFirstFile(PChar(Path+'*.*'),F); If H=INVALID_HANDLE_VALUE then exit; Repeat If (F.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY<>0) and (F.cFilename[0]<>'.') then szuk(Path+F.cFilename+'\'); If (F.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)=0 then ;//i tutaj mozna obsluzyc sciezki znalezionych plikow until not FindNext(H,F); FindClose(H); end; funkcje wywoluje sie ze scezka, w ktorej chcemy przeszukac podkatalogi. Trzeba zapamietac, ze w tym algorytmie dodatkowo do konca podanej sciezki trzeba dodac backslash ("\"). Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gering Napisano Styczeń 1, 2019 Autor Zgłoś Udostępnij Napisano Styczeń 1, 2019 Nie wychodzi mi . Nie umiem tego przepisac na C++ . Moze ma ktos inny przykładzik na przeszukiwanie dysku . Postrzebuje tego bo pisze antivirusa . Prosze o pomoc Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Freak Napisano Styczeń 1, 2019 Zgłoś Udostępnij Napisano Styczeń 1, 2019 Ghost bez obrazy ale żeby napisać antyvira to trzeba posiadać ogromną wiedzę, a tobie nawet nie wychodzi napisanie takiego algorytmu. Pomyśl w jaki sposób działa taki algorytm i napisz go sobie sam lub popatrz na gotowy działający kod który już masz, bo się wysiliłem i sprawdziłem :) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Styczeń 1, 2019 Zgłoś Udostępnij Napisano Styczeń 1, 2019 Moze troche nie na temat napisze, a dodatkowo spowoduje lawinowe dodawanie postow ale cholernie zzera mnie ciekawosc. Ghost jakiego antywirusa starasz sie napisac? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Styczeń 3, 2019 Zgłoś Udostępnij Napisano Styczeń 3, 2019 Algorytm działa poprawnie, a nie odpowiada dlatego że jest na głównym wątku programu. Ale po sprawdzeniu zacznie znów odpowiadać. Zobacz wtedy czy będą dodane te elementy do ListBoxa, a jak nie to spróbój zmniejszyć rozmiar elementu który dodajesz (długość łańcucha). Napisz co tam Ci wyszło. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gering Napisano Styczeń 3, 2019 Autor Zgłoś Udostępnij Napisano Styczeń 3, 2019 Jak zmienic wątek ??? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gering Napisano Styczeń 4, 2019 Autor Zgłoś Udostępnij Napisano Styczeń 4, 2019 Nic mi nie wychodzi prosze o pomoc z tym algorytmem moze jakis kod Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Styczeń 4, 2019 Zgłoś Udostępnij Napisano Styczeń 4, 2019 Moge tylko stwierdzic, ze probujesz skakac na zbyt gleboka wode jak dla ciebie. Musisz wiedziec, ze nikt za ciebie programu nie napisze; znudzi sie wrescie kazdemu dopowiadac ciagle cos na jeden temat bo ty sobie rady nie dajesz. Radzil bym ci zaopatrzec sie w jakas ksiazke o programowaniu dla windows i zaczac od podstaw. Co z tego, ze nauczysz sie tworzyc nowe watki jak w pewnym momencie nie bedziesz wiedzial jak wybrnac z pewnej sytuacji gdy np. program ci sie zawiesi. Musisz mimo wszystko poznac troche teorii dotyczacych problematyki api. Piszesz program antywirusowy. Czy masz definicje wzorow wirusow, ktore chcesz zwalczyc? W jaki sposob chcesz (jak juz poznasz przeszukiwanie wszystkich katalogow) otwierac dany plik, aby go sprawdzic tak, zeby to trwalo szybko. Chyba nie sadzisz, ze zwykle ReadFile ci wystarczy. Czy znasz takie funkcje jak CreateFileMapping czy MapViewOfFile? Czy masz juz w glowie szybki, zmyslny algorytm przeszukiwania zadanego ciagu? Czy znasz budowe plikow exe PE - 32 bitowych? Czy...Itd, itd. Nie twierdze, ze nic z tych rzeczy nie umiesz, ale powinienes po tym tekscie sie sam zorientowac czy podolasz tak trudnym zadaniom. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Styczeń 5, 2019 Zgłoś Udostępnij Napisano Styczeń 5, 2019 Twardy dobrze mówi. Nikt nie twierdzi że nie napiszesz tego antyvira, ale raczej nie teraz, to ze Ci to bardzo ciezko idzie tylko moze cie zniechecic. Odsylam Cie do literatury, polecam: https://stud.wsi.edu.pl/~webber/czarny/?link=ebooks, jeśli znasz anglika to poszukaj sobie bo jest dostępny w necie "Programowanie windows" Charlesa Petzolda. Miłej lektury 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.