Ty jesteś niereformowalny ;) Nic się nie nauczyłeś, błądzisz nadal po omacku, a twierdzisz że uczyliśmy się też na przykładach jak Ty. To fakt, do wielu początkujących najlepiej przemawiają przykłady. Ale wymyśliłeś sobie za trudny program dla siebie, bo nie znasz podstaw, nie umiesz przerobić gotowca to po co się za to bierzesz. A jak się coś napisze to zaspamujesz w odpowiedzi sześcioma wiadomościami na PW, później robisz focha, a w międzyczasie oferujesz 5 (słownie pięć PLN) za napisanie za Ciebie podsuniętego rozwiązania z serwerem pod Simple TCP, który komunikował by się przez skrypt PHP na stronie www i blokował lub odblokowywał net w zależności od wywołanego parametru. A tekże przekazywał pobrane z dynupdate.no-ip.com IP komputera na którym stałby serwerek kontrolujący Twoją siostrę czy kogo tam chcesz. Ale ok - pomogę Tobie częściowo i na szybko. Dołaczyłem do tego posta cztery pliki, które opiszę poniżej. Wedle mnie wszystko działa jak należy, a program blokujący trzy wybrane hosty zajmuje na moim już nie najnowszym, bo złożonym z rok temu komputerze maksimum okołó dwóch procent procesora. Tak mi pokazał Process Explorer i nie mam podstaw by mu nie ufać. Poza tym taka rada. Albo piszesz bez formatki w konsoli lub WinAPI albo pod VCL. Zdecyduj się. Bo wprawdzie można to robić, ale po co pakować wielgachne i "tuczące" dla exeka moduły VCL jak można użyć zamiast TStringList tablicy itp. Ja użyłem trzy elementowej na próbę, ale nic nie stoi na przeszkodzie aby użyć dynamicznej, a adresy wczytać z pliku włąsną funkcją czy tam nawet proceurą.
Także w poniższych archiwach znajdują się:
copy_ip.rar
- prosty program pobierający Twoje IP ze strony http://dynupdate.no-ip.com/ip.php i wklejający je do Schowka. Program można uruchomić na przykład z parametrem :1234
co doda do skopiowanego IP również taki ciąg znaków. Pisałem to kiedyś na szybko, aby w łatwy sposób z pod klienta IRC mIRC'a oraz alias komendy do uruchamiania tego pliku - móc podać przeciwnikowi swoje IP przed grą P2P w Sensible World of Soccer pod Amigową Kaillerą dla Windowsa, bo kopiowanie adresu ze strony autora dllki napisanej do trybu P2P przestało działać, bo strona autora padła. Dzięki temu kodowi zobaczysz jak można używać SimpleTCP do łaczenie się po HTTP zamiast Synapse, co sprawia że można pisać małe i zgrabne programy. Synapse przydaje się do HTTPS i innych rzeczy, bo pisząc pod SimpleTCP masz dostęp też do samych socketów ale bez "narzutu" klas VCL. Dzięki temu możesz na przykład zapisywać przyrostowo pobierany plik ze strony www, a nie do TMemoryStream i dopiero na dysk czyli tak, jak w Synapse. Co oczywiście nie umniejsza możłiwościom Synapse, ale dla mnie piszącego ostatnio głownie w WinAPI to SimpleTCP jest wręcz wspaniałym modułem, a na stronie autora masz też prosty przykład serwera.
netblock.rar
- blokuje wybrany IP po TCP.
netblock_2.rar
- blokuje wszystkie IP po TCP oprócz podanego
netblock_3.rar
- blokuje wybrane IP po TCP podane w tablicy (w przykładzie trzy elementowej).
Wszystkie projekty posiadają build.bat
do wygodnego skompilowania i zupxowania z poza IDE Delphi 7, które jak UPX musi być oczywiście w PATH. Pliki konfiguracyjne w większości przypadków generują *.dcu do podkatalogu DCU, a program szuka w ...\LIB\FOR_WINAPI\ modułów z http://kolmck.net/sys/SysDcu7.zip które powodują że exek jest nieco mniejszy. Tutaj credits dla Miśkad, który mi je polecił dawno temu. Niestety moduły te mają jedną wadę, mianowicie w aplikacji konsolowej, jeżeli je posiadamy i użyjemy to nie będzie możłiwe przekierowanie zawartości konsoli do pliku tekstowego przez >>
. Plik będzie pusty. Ale tutaj do wyboru albo maksymalnie małe exeki albo możłiwość przekierowania konsoli. Niestety. I dalej proszę pokombinuj chociaż trochę sam albo pisz do działu Praca jak chcesz kolejne gotowce. Te pisałem dla siebie. Nie wykluczone że napiszę na próbę taki serwer pod SimpleTCP który będzie sprawdzał IP i stronę www aby komunikował się z nim i pozwalała blokować cały ruch po TCP. Tylko wiedz jedno, że ani ja ani nikt tutaj raczej (podkreślam raczej, także nawet zdesperowani: tomriddle czy nnn, który by się dostał tutaj po ewentualnym odbanowaniu) nie napiszą Tobie nic co ma więcej niż 5 linijek kodu za 5 PLN, bo pisząc, że też pracujesz powinieneś znać wartość pieniądza i wiedzieć, że jak się czegoś nie umie lub nie ma możliwości zrobienia to albo się nauczysz albo kupujesz lub płacisz. Prosty przykład: chcesz zjeść chleb, a nie umiesz go wypiec lub nie masz ku temu warunków, a nie chcesz płacić mandatu czy obciachu ryzykując jego kradzież to idziesz i go kupujesz. Pomijam już fakt, że osoby niezamożne dostać mogą go z różnych pomocowych fundacji czy instytycji. Ale masz czas i prąd oraz komputer aby siedzieć tak jak ja po nocach (chociaż ja nie zawsze ;)) to ogarnij się i napisz coś wreszcie sam co zadziała i z czego będziesz zadowolony. Bo ja nie jestem od wszystkiego ekspertem, a te kody do blokowania IP wygooglowałem kiedyś i sobie przerobiłem aby korzystały z funkcji Timera w aplikacji bez okna do którego mogą trafiać komunikaty. Także tym się mogę podzielić. Dalej już kobminuj sam i myśl. Chociaż o wiele łatwiej by Ci było programować jakbyś zaczął od jakiegoś kursu Delphi. Może być nawet ten dostępny na 4p. Po jego lekturze umiał byś więcej i radził sobie lepiej sam. Bo jako pierwszy program w Delphi pisanie coś w rodzaju prostego pseudo firewalla nie jest dobrym pomysłem. Ok - pora spać. Rozpisałem się za wszystkie czasy :P Dobranoc.