Blokowanie internetu

0

Potrzebuję sposobu funkcji na wyłączenie, włączenie internetu jednym kliknięciem przy czym sieć lokalna LAN powinna dalej działać.

Sposób w miare prosty i uniwersalny aby działał na Viście oraz XP z ipv4 oraz 6 oraz wszystkimi przeglądarkami

Pozdrawiam

0

niewiele z tego wynika...

0

to co nikt nie wie ?

0

"wstaw pustą bramkę" -> skasuj bramę domyślną, ustaw paskudną, cokolwiek byle nie była to brama do czegoś co daje internet =] a w linku jest podane jak można się bawić właściwościami połączenia =]

0

średnio fajny sposób

1
Norado napisał(a)

średnio fajny sposób

to zrób automat, który będzie odłączał kabel od netu i po sprawie

0
Misiekd napisał(a)
Norado napisał(a)

średnio fajny sposób

to zrób automat, który będzie odłączał kabel od netu i po sprawie

To mialo by smieszne?. Methoda na fake gatway jest do bani komplentnie gdy w gre wchodzi polaczenie przez proxy

Widze ze po prostu nie ma takiej metody.

0

Nie wiem, czy za tego posta nie dostanę warna, ale panowie co się wypowiadali, może wiedzą jak to zrobić, bo strona podana nie działa.
A bardzo mi na tym zależy.

Chciałbym, bez żadnych memo czy coś, bo mam aplikację, która wyświetla tylko komunikaty (tak, nie i ok) ^^

Czy być może to było to? Chodzi mi dokładniej zmianę adresu IP/a najbardziej to bramki :))

http://delphisource.blogspot.com/2008/02/setting-ip-address-subnet-dan-gateway.html

1

W innym postcie pytasz o ukryte pobieranie z FTP, tutaj o ukryte odłączanie neta. Oj. Coś mi się to nie za bardzo podoba. No nic - jak nie ja, to @Demonical Monk albo @madmike na pewno zareagują. A co do aplikacji bez Memo to w czym masz problem? Piszesz konsolową albo w WinAPI. Polecam szczególnie ten drugi sposób. Exek nie puchnie w wersjach Delphi 7, a takiej ponoć używasz. I poza tym pisząc w WinAPI można się wiele nauczyć. W google znajdziesz więcej informacji. Jeżeli zainteresuje Ciebie temat aby w WinAPI coś zakodzić to polecam posiłkowac się informacjami zawartymi na poniższej stronie internetowej: http://www.angelfire.com/hi5/delphizeus/

0

Napisałem po co mi potrzebne w innym temacie w odpowiedzi na Twój post, ja nawet nie pisze w WinAPI :D

uses
Forms,
SysUtils,
Windows,

i nie wiem czy wog. potrzebne mi te Forms, jak i tak ich nie używam, bo nie mam w aplikacji :D konsolowa to też nie jest :D

1

Do czystego WinAPI wystarcza Windows i inne, a reszte funkcji / procedur / typów - w razie potrzeb można "podkraść" z innych modułów mając ich źródła, a co przy dysponowaniu przez Ciebie wersją Enterprise jest możłiwe, bo takowa zawiera źródła większości modułów. Co do aplikacji konsolowej dla Synapse jeżeli z tego pakietu skorzystasz wystarczy wrzucić odpowiednie modułu do katalogu z projektem i dodać moduł httpsenddo sekcji uses. Poza tym na pewno przydadzą się Windows i oczywiście SysUtils jeżeli będziesz konwertował typy zmiennych, wielkośc liter, systemy liczb i takie rzeczy. Ogólnie jak dodasz do uses jakiś moduł i napiszesz w kodzie bez błędów nazwe modułu i postawissz zaraz za nią kropkę, to Delphi podpowie co jest w środku. A link do mojego artykułu o korzystaniu z HTTP pod Synapse podałem w innym postcie.

0

Ale blokować internet też tym można? Znaczy zmienić jakąś wartość w ustawieniach, bo siostra to nawet nie wie, że są tam takie ustawienia jak TCP/IP -> Właściwości :D
Więc to mi wystarczy, zmiana IP lub bramki :))

Ahh... no i odpowiedziałem w tamtym temacie :)
Dobrej nocy i miłego dnia :)

1

Późna pora i nie chce mi się analizowac tego kodu, do którego podałeś link. Anyway, tyle siedzisz przy google i coś słabo szukasz, bo ja kiedyś wygooglowałem sobie takie moduły jakie dołączam do tego posta plus dodatkowe funkcje, który pozwalaja na skompilowanie całości w WinAPI. Dołączony kod zablokuje możliwośc wejścia na wp.pl, ale jeżeli wywalisz warunek if (Item.dwRemoteAddr = IPToBlock) then w module netblock to według mnie powinno blokowac cały ruch, a na pewno będzie to skuteczne dla www, a przynajmniej na moim Windowsie 7 Ultimate 64 bity jest. Kod kompilowany pod Delphi 7 i jak widzisz nie ma formatki, a więc pisany w kosnoli, ale i jej można się pozbyć. Poza tym po UPXnięciu niecałe 14 KB. Rób co chcesz z tym kodem, ale współczuje siostrze tak despotycznego brata, który sam googluje za rozwiązaniami. które można przy odrobienie chęci łatwo znaleźć, a siostrze nie pozwala na korzystanie z dostępu do Intenretu ;/

EDIT: tak jak pisałem, po zakomentowaniu wspomnianej linijki blokuje całkowicie możliwość połączenia. Sprawdziłęm po HTTP i SFTP po SSH. Także całe TCP. Zapytania typu Ping i łączenie po UDP jest nadal możliwe, ale siostra i tak pewnie gra online albo przegląda strony www, więc na to nie wejdzie. Aby stworzyć skuteczniejszy bloker to musiał byś się bawić tak jak autorzy opiekuna ucznia/dziecka w Internecie i zakładać Hooki na funkcje służące do obsługi socketów. Oni robili to z użyciem pewnie płatnej wersji modułów madshiego, ale mi się tak nigdy nie udało to do końca zrobić. Taki sposób jak zaprezentowałem jest dla mnie zadowalający. Swoją drogą, to nie masz rutera na hasło, w którym mógłbys Sheluderem ustawić kiedy blokowany jest całkowicie ruch. Chyba, że siostra przepnie ruter i wepnie się do Intenetu bezposrednio, o ile to możliwe w przypadku Twojego ISP, a na ogół chyba tak, ale ja się nie znam na sieciach za dobrze.

0

Mam właśnie router, ale wole się nim nie bawić, nie może się podpiąc bezpośrednio, ponieważ, trzeba zarejestrować kartę :D:D Do czego potrzebna jest matka i jej pesel :D
Spróbuję jak napisałeś, tylko napisz jak to jeszcze odblokować :D
Żeby nie było, że zaraz sam sobie wyłączę i już nie włączę :D

Zmieniłem, jak napisałeś, ale jeszcze nie załączałem, żeby mi neta nie rozłączyło :D

1

Jest komunikat w progamie. Sprawdzaj najpierw co wrzuciłem, a dopiero później dalej pytaj. Trochę samodzielności i kombiowania. Albo możesz Ctrl+C przerywać działanie programu. A jak chcesz sobie napisac ukryty program w tle który po ponownym uruchomieniu na przykład z jakimś parametrem jako hasło się zamknie i odblokuje Internet po TCP, to zainreresuj się Mutexami. Więcej o nich w google.

0

Dobra, kolejny + dla Ciebie.
Tak blokuje cały internet:

BlockSelectedIP('');
usus
..., SysUtils

var 
..., _BLOKUJ : string;

begin
_BLOKUJ := StreamToString(MemStream); // przy pobieraniu z tego pliku

 if _BLOKUJ = IntToStr('1') then // Tu nie chce zamienić jeśli w pliku 1 to ma blokować ; //
     BlockSelectedIP('')
 else
     StopNetBlock;

end
Mam SysUtils, ale nie chce mi użyć IntToStr,

A i jak sprawdzić, czy jest internet? Bo np. nie ma neta, i załączy się program to nie wiem co się stanie, jak nie pobierze z tego pliku :D
oraz jak sprawdzić przed StopNetBlock, bo skoro nie blokuje, to po co ma StopowaćBlokowanie?

PS. Czemu jak aplikacja zrobi wszystko - przeanalizuje cały kod mi się wyłącza, i jak zrobić, aby powtarzała dany kod co 5minut - Timerem przy czym się nie wyłączała?

@Edit Z tym Int sobie poradziłem, dałem samo: ('1'), tylko nie wiem czemu mi nie działa ta funkcjia konwertowania zmiennej.

1

Nie potrzebnie się trudzić, wystarczy jedna komenda pod button o nazwie "Wyłącz":

WinExec(PChar('ipconfig /release'), SW_Normal);

Oraz jedna komenda pod button o nazwie "Włącz":

WinExec(PChar('ipconfig /renew'), SW_Normal);

Mam nadzieję że pomogłem :)

0

No i mamy problem, gdy za 5 minut mi znowu sprawdzi, włączy mi internet na kolejne 5minut, ponieważ pobrało '' z pliku txt ; /

0

W moim artykule masz pokazane jak pod Synapse pobrać do zmiennej FPage typu string daną stronę. A jeżeli nadal jest pusto w zmiennej, to być może następuje przekierowanie na inny adres (ResultCode wynosi wtedy na ogół 301 lub 302), co w Synapse trzeba obsłużyć samodzielnie. A jak to zrobić pokazuje mój artykuł, do którego podałem Ci wcześniej link.

0

Nie nie, no pobiera mi wszystko i jest ok, ale gdy nie mam neta, nic nie może pobrać z pliku, w związku z czym pisałem PM.
No i dodatkowo, aplikacja mi się zamyka, po wykonaniu wszystkiego :(
if FPage = '' then, to zastosować jeśli nie pobrało ^^ sam teraz wymyśliłem :x
Tylko jak z tym, aby aplikacja się nie zamykała :((
No i oczywiście, tym, aby nie blokował netblock witryny z DestHost, ale dodał ją jako wyjątek, resztę blokował :)

1

Odpowiedziałem Tobie ostatni raz na priva. Mogłeś sam pokobminować. Problem był z przekazywaniem parametrów, ale dla zmiennej globalnej kod zadziałał. Nieraz tak jest z niektórymi funkcjami i ich wywołąniem, że trzeba się w nich wesprzeć zmiennymi globalnymi dla sprawdzenia warunku. Przykładowo tak jest z gotowcem w moim artykule na: Uchwyt na podstawie nazwy pliku exe programu bez zmiennych globalnych otrzymywał byś błedy AV. Tutaj takowych nie ma, ale kod przez Timer jest źle wykonywany. Pomijam fakt, że tak jak już pisałem Tobie w prywatnej wiadomości, ja taką zdalną kontrolę dostepności i wyłaczania internetu zrobił bym na bazie prostego serwera WWW napisanego z użyciem SimpleTCP oraz skryptem php na stronie. Do tego przekazywanie na strone aktualnego IP i łaczenie się z nim. Jak uzyskać IP i dodatkowe linki do serwera podałem Tobie w wiadomości prywatnej, teraz zmobilizuj się, siądź i napisz to samodzielnie, bez ciągłego pytania o wszystko. Chętnie pomożemy w konkretnych problemach, a nie co chwila sam sobie jakieś generujesz, nie kobminując nic samodzielnie. Tak daleko nie zajdziesz. Chyba prościej będzie przeciąć siostrze kabel sieciowy albo gdzies go chować.

0

Wczytywanie z pliku do TStringList i blokowanie na ich podstawie IP

    SL := TStringList.Create;
  SL.LoadFromFile('domeny.txt');
  for i := 0 to SL.Count - 1 do
    begin
      IP := GetIPFromHost(SL[i]);
      BlockSelectedIP(IP);
    end;
  SL.Free;

Co jest z tym nie tak, działa jakby wczytywało to bez przerwy i powiększa pamięć? 99%procka zabiera coraz to więcej pamięci (miałem nawet 300 mb) ; o
Bez tego bierze tylko do 6 mb pamięci ; <
Chcę, żeby blokowało parę domen na raz :))

Trochę zmieniłem sobie netblocka (Wywałało czasem błąd przy Item := FBufferTCP^.table[I];, więc dodałem IFa przed):

function GetIP(AIP: DWORD): WideString;
var bytes: array[0..3] of Byte;
begin
  Move(AIP, bytes[0], SizeOf(AIP));
  Result := IntToStr(bytes[0]) + '.' +
  IntToStr(bytes[1]) + '.' +
  IntToStr(bytes[2]) + '.' +
  IntToStr(bytes[3]);
end;

procedure NetBlockTimerProc(uTimerID, uMessage : UINT; dwUser, dw1, dw2 : DWORD); stdcall;
var
  I : Integer;
  Item : MIB_TCPROW_OWNER_PID;
  LocalHost : String;
begin
  ReadTCPTable;
  LocalHost := GetIP(item.dwLocalAddr);
  if (GetIP(item.dwLocalAddr) = LocalHost) or (GetIP(item.dwLocalAddr) = LocalHost) and
  (GetIP(item.dwRemoteAddr) = String(IPToBlock)) then
  begin
    for I := 0 to FBufferTCP^.dwNumEntries - 1 do
    begin
      Item := FBufferTCP^.table[I];
      if (Item.dwRemoteAddr = IPToBlock) then
      begin
        KillConnection;
      end;
    end;
  end;
end;
1

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.

0

Nie no, nie potrafię ; ///

var
    Tablica : array of TStringList;
begin
    SetLength(Tablica, 1);
    Tablica[0] := TStringList.Create;
    Tablica[0].Add(RichEdit1.Lines[0]);
end;

Mój kod:

var
I: Integer;
SL : TStringList; (Użyte do czegoś z HTTP)
IPsToBlock : array of TStringList; // Jakoś 44 linijki tego, to wolę dynamiczną tablicę

begin
SetLength(IPsToBlock, 50);    // Najpierw dałem tablice o nazwie Domeny, lecz myślałem, że nie blokuje, bo coś z IPsArr jest powiązany IPsToBlock
    IPsToBlock[0] := TStringList.Create;
    IPsToBlock[0].LoadFromFile('domeny.txt');
  for I := Low(IPsArr) to High(IPsArr) do
  begin
    IPsArr[I] := GetIPFromHost(String(IPsToBlock[I]));
  end;
  BlockSelectedIPs;
  IPsToBlock[0].Free;
  // ...
  StopNetBlock;
end;
end.

Oczywiście poczytałem o działaniu "Tablic dynamicznych" (ogółem wiedziałem na czym polegają).

W chwili tworzenia programu nie jest możliwe określenie przez kompilator, z ilu elementów ostatecznie będzie składać się tablica. Stąd próba odczytu elementu spoza tablicy w trakcie działania programu może skończyć się komunikatem o błędzie, a nawet zawieszeniem działania aplikacji.

Miałem ten błąd, lecz zwiększyłem tablicę Domeny do 50.

Coś mi nic nie blokuje ; / Zły kod sobie zrobiłem? 0 błędów przy kompilowaniu :(

0

Nie no, nie potrafię ; ///

Bo zaczyna się od podstaw, wiesz?

Rany, za tego posta, mogę Ci obiecywać, jeśli wszystko zadziała, że przeczytam kursy nawet 2 różne!

NAJPIERW KURS, POTEM PYTANIA, ok? Będzie mniej bólu i dla ciebie i dla nas.

Koledzy usiłują ci pomóc przez 3 strony, a to znaczy, że nie umiesz pytać albo nie rozumiesz naszej odpowiedzi, tak czy siak ja proponuję zaczęcie od kursu, i przeczytanie go do końca zanim zaczniesz mieć pytania. Ja się uczyłem nie zadając głupich pytań i prosząc o przykłady tylko googlując, więc da się. Źle na tym nie wyszedłem więc najlepiej zrób to samo.

Nie oczekuję gotowców! Oczekuję przykładów na których coś się nauczę i sam będę mógł pod swoje potrzeby przemienić na podstawie mojej i googlowej wiedzy.

Sami w szkole ćwiczyliście na przykładach! :)

Przykłady są dla tych którzy rozumieją składnie itp. a nie dla tych którzy myślą "wstawiłem wcześniej i działało a tutaj nie działa". Przykłady potrafią pomóc gdy ogarnia się bazę, ale ty nie rozumiesz nic. Kursy od czegoś są, zacznij od nich. I przestań cholera pytać o przykłady i obiecać że potem kursy przeczytasz, tylko przeczytaj kursy i wtedy proś o przykłady.

0

Chciałbym, żeby do IPsToBlock (tablicy dynamicznej) wczytywało każdą linię z pliku domeny.txt, jak to zrobić i co jest do tego potrzebne, aby później IP_Count dobrze wyliczył według ilości linii, ile IP ma blokować?!

To jest chyba mój najmądrzejszy post =.=

@Na przykładzie moich prób 2 posty wyżej.

@Edit Nie mogę już : (( Ten zaś kod blokuje wszystkie witryny

  SL := TStringList.Create;
  SL.LoadFromFile('domeny.txt');
  for I := Low(IPsArr) to High(IPsArr) do
  begin
    IPsArr[I] := GetIPFromHost(SL[I]);
  end;
  BlockSelectedIPs;

  SL.Free;
0

czytam i czytam to forum, czytam i czytam ten regulamin i nadziwić się nie mogę :P Przecież @olesio nie dość, że nieproszony o kod (bo gościu chciał przykłady, a nie rozwiązanie), dał prawie działający pod szyldem zrobienia psikusa siostrze domorosłego hackera :) innych to się banuje, ale samemu się jest czystym?!...

1

Z okazji nadchodzących świąt masz prezent. Wersja czwarta programu. Wczytuje adresy z pliku ips.txt, gdzie każdy adres ma być w kolejnej linii. Pisalem na szybko, więc mogą być jakieś błędy ale testowałem z Windowsowym i Linuxowym znakiem końca linii i raczej jest ok. I na prawdę polecam ogarnąć się i ruszyć do kursów, bo nic sam nie napisaleś jeszcze. Poczytaj też o tablicach dynamicznych, chcesz mieć listę adresów a deklarujesz tablicę TStringList. Poza tym jak piszesz w konsoli to jak wspominałem staraj się nie angażowac modułów do VCL. Klepiąc bez nich więcej się nauczysz. Tylko wystarczy chcieć się uczyć. Dlatego więcej już nie naprowadze Ciebie, chyba że będziesz miał konkretny problem i pokażesz nam, że sensownie kombinowałeś z jego rozwiązaniem, także googlując, a nie zabawa w "zgaduj zgadula". Poważnie, przeczytaj najpierw kurs i dopiero bierz się za pisanie czegokolwiek zaawansowanego, bo póki co masz problem z tym aby ogarnąc podstawy, a dzięki wnikliwej lekturze kursu dawno byś już dowiedział się więcej.

0

poczytaj też o ...

I na prawdę polecam ogarnąć się i ruszyć do kursów, bo nic sam nie napisaleś jeszcze.

Naprawdę sądzisz że on cokolwiek przeczyta jak ma gotowca? Naiwny jesteś.

Dlatego więcej już nie naprowadze Ciebie, chyba że będziesz miał konkretny problem i pokażesz nam, że sensownie kombinowałeś z jego rozwiązaniem, także googlując, a nie zabawa w "zgaduj zgadula".

Sądzisz że on tutaj wróci? Pójdzie na inne forum gdzie mu też gotowca zrobią albo będzie znowu cyganić gotowca tutaj 'bo raz się udało'.

Z okazji nadchodzących świąt masz prezent.

Jak widać ludzie się nie zmieniają, olesio ma słabe serducho i daje gotowce.
A szkoda, bo miałem nadzieję że to forum jest miejscem gdzie leniów się nie wspiera. Jak widać myliłem się.

Jeżeli @olesio uważasz że komukolwiek pomagasz gotowcami, to wiedz że tylko nierobom i leniom.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.