dawuald Opublikowano 19 Stycznia 2006 Zgłoś Opublikowano 19 Stycznia 2006 Siema Mam taki problem ze na wiekszosc stron torrentowych nie da sie zalogowac z powodu osiagniecia maksymalnej ilosci uzytkownikow jednakze jacys leecherzy sa ciagle usuwani wiec wpadlem na pomysl zeby zrobic taki oto program: Mialby pole do ktorego wpisywaloby sie adres strony, wyswietlalby ta strone i odswierzal co 1 sekunde, mialby przycisk start ktory zaczynalby odswierzac i taki patent ze gdy wlaczylby sie formularz rejestracyjny na ta dana strone, wyswietlalby komunikat informujacy o tym. Łatwo powiedziec, trudno zrobic. Jakie komponenty mam wybrac z delphi 7? Przycisk to wiem button potem edit do wpisywania adresu. Ale jaki do wyswietlania strony? I teraz jak zaprogramowac buttonclick zeby startowal odswierzanie i jak zrobic zeby z edit wprowadzalo sie adres strony do wyswietlenia. I jeszcze jedno Jak zrobic alerta ktory bedzie mowil ze jest wolne miejsce. Macie jakies pomysly? Dopiero zaczynam przygode z delphi i nie umiem prawie nic ale przydalby mi sie taki program :D. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Jastrząb Opublikowano 20 Stycznia 2006 Zgłoś Opublikowano 20 Stycznia 2006 Skorzystaj z TWebBrowser'a. Pozatym za duzo pytan, poszukaj, nikt nie bedzie za Ciebie pisal programu bo ma swoje projekty a pozatym Ty nic sie nie nauczysz. Pytaj sie ale o cos jak cos obejsc albo jak zrobic cos czego nie potrafisz (poza tym aby ktos napisal Ci aplikacje) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 21 Stycznia 2006 Zgłoś Opublikowano 21 Stycznia 2006 Na początek, to odradzam co 1 sekundę. 5 sekund to chyba jeszcze lekka przesada. Komponent dobry. Poza tym musisz co chwilę (np używając TTimer) sprawdzać adres aktualnej strony. Jeśli będzie np. "http://www.jakas.strona.pl/wpadnij_pozniej.htm" to oznacza, iż nie dostałeś się na formularz. Jeśli będzie inny, to jesteś w domu. Wtedy np. puszczasz jakiś dźwięk (chociażby w TMediaPlayer) i wyświetlasz MsgBoxa. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 22 Stycznia 2006 Zgłoś Opublikowano 22 Stycznia 2006 Ok jestem juz dosc daleko. Jak teraz zrobic przycisk odswierzajcy co tam sekunde czy 5. Znam takie polecenie WebBrowser1.Refresh; Z tym ze strona odswieza sie tylko raz. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 22 Stycznia 2006 Zgłoś Opublikowano 22 Stycznia 2006 (edytowane) Użyć timera (kontrolki TTimer). Wrzucasz ją na formę, klikasz 2 razy i dostajesz się do kodu, gdzie dopisujesz podane wyżej przec Ciebie wywołanie funkcji. Całość wygląda więc tak (o ile dobrze pamiętam - dawno w Delphi się nie bawiłem): Timer1.Timer()beginWebBrowser1.Refresh;end; Czas ustawia się w Properties - opcja "Interval" (w ms). Można też podczas ładowania formy dodać: Timer1.Interval:=5000; 5000 ms = 5 sekund Edytowane 22 Stycznia 2006 przez ULLISSES Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 22 Stycznia 2006 Zgłoś Opublikowano 22 Stycznia 2006 (edytowane) Tylko ze ja chcialbym zeby czas odswiezania wprowadzalo sie z zewnatrz przez tedit. A potem przyciskiem start refresh zaczynal odswierzac. I jeszcze problem jest ze z tego co zauwazylem to gdy juz wlaczy sie formularz to adres strony sie nie zmienia - czyli program musialby jakos inaczej na to reagowac. EDIT: Czyli potrzebuje czegos takiego: procedure TForm4.SpeedButton2Click(Sender: TObject); begin odczytaj wartosc z edit2 i ustaw jako czas co jaki ma sie odswiezac strona; odswiezaj wedlug ustalonego czasu az do pojawienia sie forumlarza :D; end; Edytowane 22 Stycznia 2006 przez dawuald Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 22 Stycznia 2006 Zgłoś Opublikowano 22 Stycznia 2006 Ustawia Timer: Gdy wpisane do Edita w ms: Timer1.Interval:=Edit2.Text; lub gdy wpisane w sekundach: Timer1.Interval:=1000*Edit2.Text; Prawdopodobnie może nie działać i będzie potrzebna konwersja z typu String do Integer. Było cos takiego jak "StrToInt", tylko nie pamiętam, czy w tym języku. Sprawdź w pomocy. Ewentualnie "Int()" Włączanie Timera: Time1.Enabled:=True; Wyłączanie Timera: Time1.Enabled:=False; Samo odświerzanie ("WebBrowser1.Refresh") powino być w akcji "Timer1.Timer()" Kwestia wykrycia zaladowania formularza. Tu coś na pewno powinno się zmieniać. Może zmienia się WebBrowser1.Title albo coś takiego. Ustal, które pole z obiektu WebBrowser1 się zmienia i reaguj na zmianę (także w Timer1.Timer) - np. : Zakładając, iż bierzący tytuł strony to "Przykro nam, sprobuj pozniej", a po załadowaniu formularza będzie inny, to robimy tak: if WebBrowser1.Title<>"Przykro nam, sprobuj pozniej" thenbeginMsgBox("ALARM!!!!");PlaySound("c:\alarm.wav");end; Składnię "MsgBox" i "PlaySound" pisałem z pamięci (w ciemno), więc może się różnić. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Jastrząb Opublikowano 23 Stycznia 2006 Zgłoś Opublikowano 23 Stycznia 2006 nie ma sesnu aby timer sprawdzal sobie interval, daj dodatkowego buttona w ktorym dasz: Timer.Interval := StrToInt(Edit1.Text);a do procedury WebBrowsera DocumentCompleted czy jakos tak daj: if pos(zrodlostrony, 'przykro nam, nie ma wolnych miejsc') = 0 then // nie pamietam jak sie bralo zrodlo strony, ale z tym to sobie poradziszWebBrowser.RefreshelseMessageBox('Uwaga', 'Mozna sie rejstrowac', MB_OK); Wszytsko pisane z glowy wiec moga byc male bledy Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 23 Stycznia 2006 Zgłoś Opublikowano 23 Stycznia 2006 A kto napisał, iż timer ma sobie sprawdzać? Tą prodecurkę należy dodać do przycisku start, który będzie uruchamiał sprawdzanie i timer: przyciskStart.OnKeyDown()beginTimer1.Interval := StrToInt(Edit2.Text) * 1000;Timer1.Enabled:=True;end; *1000 wynika z tego, iż zalecam do Edit2 wpisywać jednak sekundy, które już w samym programie zamieniane są na milisekundy. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 23 Stycznia 2006 Zgłoś Opublikowano 23 Stycznia 2006 (edytowane) siema Dzieki za odpowiedzi. Prawie dziala :). Bo tak z ego co zauwazylem to gdy wlaczam program to ten timer jest domyslnie wlaczony i odswieza co sekunde bo tak ma w interval. To ustawilem w form na on create timer1.enabled:=false. Wszystko byloby dobrze tylko ze on nie reaguje na nacisniecie przycisku start w ktorym jest timer1.enabled:=true. Co zrobic zeby na niego zareagowal EDIT: Ok! Dziala jak nalezy. Dzieki. Ten program ma obslugiwac kilka stron dlatego musze sie troche pomeczyc z rozpoznywaniem zmiany title. Jak napotkam jakies trudnosci to napisze. EDIT: Juz mam problem. To byl dobry pomysl zeby program rozpoznawal pojawienie sie formularza po zmianie title. Tylko jest problem bo nie ma czegos takiego jak webbrowser1.title. Nie iwem jak to powiedziec ale jakie polecenie bedzie ok dla webbrowser1 zeby patrzyl na title? EDIT1000 :P: Ok. doszedlem do tego co to za funkcja ma byc. Teraz jeszcze mam pytanie jedno. Jak wyswietlic messageboxa? Bo messagebox('bleble'); nie dziala :/. Edytowane 23 Stycznia 2006 przez dawuald Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 23 Stycznia 2006 Zgłoś Opublikowano 23 Stycznia 2006 http://www.cybernet.com.pl/delphi/Program/maledialogi.htm Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 (edytowane) EDIT: Teraz mam powazny problem. Jako ze ten program obsluguje kilka stron potrzebne mi jest cos takiego: Jesli tytyul strony jest rozny od TORRENTBYTES POLISHTRACKER TORRENTLEECH wtedy zatrzymaj timer i wyswietl msgbox Narazie mam tak dla kazdej strony: if webbrowser1.locationname<>'TorrenBytes' then timer1.enabled:=false; Application.Messagebox('bleble'); I powiedzmy jesli jest ustawione torrentbytes to i tak wywala blad bo tytul jest rozny od np. polish tracker Jak zrobic zeby sprawdzal czy jest rozne od podanych ale nie wyswietlal messageboxa jesli jest zgodne chocby z jednym z title'ow Edytowane 24 Stycznia 2006 przez dawuald Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 Mógłby zareagować na źródło strony lub na adres bierzącego dokumentu. Nie wiem jednak, jak to zrobić od strony praktycznej, bo nie bawiłem się aż tyle tym obiektem. Co do samego ukrycia, to każdy obiekt ma opcję "Visible". Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 (edytowane) Wydaje mi sie ze nawet nie trzeba sie znac na tym obiekcie tylko odpowiednie polecenie cos tak jakby: Jesli title jest rozny od "torrentbytes' LUB Od 'Polishtracker' lub od itd. Moze jest cos takiego jak LUB :) EDIT: Wystarczylo by nawet cos takiego: Jesli title jest rozny od 'TorrentBytes' a adres strony to 'http://www.torrentbytes.net/signup.php' to begin cos tam cos tam; end; Edytowane 24 Stycznia 2006 przez dawuald Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 Jak zrobic zeby sprawdzal czy jest rozne od podanych ale nie wyswietlal messageboxa jesli jest zgodne chocby z jednym z title'owif (...... <> '......') or (...... <> '......') then ....... else ....... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 (edytowane) OK pobawilem sie i DZIALA. Reaguje na formularz i w ogogle. Dzieki Wam Jeszcze jedno pytanie. Chcialbym zeby przy pojawieniu sie formularza program odgrywal jakis dzwiek. Z tym ze wiadomo rozne osoby rozpakuja ten program do roznch katalogow. wiec sciezka do pliku dziwekowego bedzie rozna. Jedyne co to wiadomo ze ten plik bedzie w tym samym folderze co program. Jak zrobic zeby program sam "odnajdywal" plik dzwiekowy i go odtwarzal? Edytowane 24 Stycznia 2006 przez dawuald Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 (edytowane) Kur... Moze mi ktos wytlumaczyc co ja zapisuje zle ze to nie dziala? if (webbrowser1.LocationURL='http://www.polishtracker.org/takesignup.php') or (webbrowser1.LocationURL='http://www.polishtracker.org/signup.php') and (webbrowser1.LocationName<>('PolishTracker')) then begin timer1.enabled:=false; Application.MessageBox('Zwolnilo się miejsce! Przeczytaj README!','Udalo się!',MB_OK or MB_ICONINFORMATION); Gdy pojawia sie formularz to ani nie wywala alerta anie sie nie zatrzymuje :/ edit: Juz wiem. Title sie w ogogle nie zmienia :/ Czyli pozostaje sprawdzanie zrodla. A to juz wyzsza szkola jazdy. Edytowane 24 Stycznia 2006 przez dawuald Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 1. Staraj się nie pisać 2 postów pod rząd. 2. LocationURL chyba powinien się zmieniać. Jeśli się zmienia i przed załadowaniem formularza masz adres "www.polishtracker.org/takesignup.php", to zrób tak: if (webbrowser1.LocationURL<>'http://www.polishtracker.org/takesignup.php') then begin timer1.enabled:=false; Application.MessageBox('Zwolnilo się miejsce! Przeczytaj README!','Udalo się!',MB_OK or MB_ICONINFORMATION); wmp1.file:="tada.wav"; wmp1.Load; wmp1.Play;end; wmp1 to obiekt MediaPlayer (taki kolorowy odtwarzacz). Plik z dźwiękiem (wav) znajdzie, jeśli będzie w tym samym katalogu, co program (exe). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 24 Stycznia 2006 Zgłoś Opublikowano 24 Stycznia 2006 Mediaplayer do odtwarzania wav? nie lepiej tak? usesMMSystem;PlaySound('Dzwiek.wav', 0, SND_FILENAME); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 25 Stycznia 2006 Zgłoś Opublikowano 25 Stycznia 2006 Lepiej, ale pewny nie byłem co do tego. Znalezienie projektu w Delphi/zainstalowanie Delphi wydało się zbyt męczące w celu sprawdzenia jednej opcji. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
megawebmaster Opublikowano 25 Stycznia 2006 Zgłoś Opublikowano 25 Stycznia 2006 Można też jak program ma sprawdzać adres url żeby porównywał do tego co jest wpisany w TEdit, przecież to chyba proste :) P.S. Czy jest taka opcja która pobiera dane POST z formularzy www? Jak tak to można ją zastosować bo url może mieć dane w $_POST['cos'] :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 25 Stycznia 2006 Zgłoś Opublikowano 25 Stycznia 2006 Ok dzieki Wam za odpowiedzi. W sumie to wszystko dziala jak nalezy. I jest super. Nauczylem sie paru przydatnych polecen. Jak bede mial jakis nowy projekt to bede pytal. DZIEKI Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 27 Stycznia 2006 Zgłoś Opublikowano 27 Stycznia 2006 Kurde. Chcialym zeby to jednak reagowalo na zrodlo strony. Ma ktos pomysl jak zrobic cos takiego: Jesli zrodlo strony jest inne niz 'i co tutaj cale zrodlo?' wtedy begin ....; end; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 27 Stycznia 2006 Zgłoś Opublikowano 27 Stycznia 2006 Sciągnij strone na dysk, a potem to juz zwykły plik tekstowy, z którum mozes zrobic wszystko. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 27 Stycznia 2006 Zgłoś Opublikowano 27 Stycznia 2006 Formularz jest dość charakterystyczną stroną. Są na nim pola w stylu "Imię:", "Nazwisko:", "Ksywa:" itp. Można więc (w dużym skrócie myślowym) zrobić tak: if WebBrowser1.zrodlo.zawiera("Ksywa:") thenbegin...end;W rzeczywistości sprowadza się do przeszukania całego źródła strony (w sumie pliku tekstowego), czy zawiera dany tekst. Do szukania stringu w innym stringu jest chyba nawet jakaś funkcja biblioteczna w Delphi. sgj będzie wiedział :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 27 Stycznia 2006 Zgłoś Opublikowano 27 Stycznia 2006 Heh. No to czkeam sgj :D. A wpadlem na taki jeszcze pomysl bo juz to gdzies widzialem ze w samym programie wpisujesz te dane rejestracyjne. Czyli np. jest edit do ktorego wpisujesz haslo i potem gdy pojawia sie formularz to program sam wpisuje to haslo w odpowiednie miejsce. Tylko jak to zrobic to nie mam zielonego pojecia. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 27 Stycznia 2006 Zgłoś Opublikowano 27 Stycznia 2006 Nie wiem czy jest jakis inny sposób, ale jest funkcja do stringów POS(szukany_tekst, przeszukiwany_tekst) Jezeli zwróci wynik wiekszy od 0 (pozycja pierwszego znaku szukanego tekstu w całym tekscie to znaczy ze znalazło). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Jastrząb Opublikowano 28 Stycznia 2006 Zgłoś Opublikowano 28 Stycznia 2006 jezeli chodzi o automatyczne wypelnianie to skorzystaj z: WebBrowser.OleObject.Document.Forms. Length Item Item.Length Item.Name Item.Value Item.Submit z tymi informacjami juz powinienes poradzic soebie z wypelnianiem i wysylaniem formularza Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dawuald Opublikowano 8 Lutego 2006 Zgłoś Opublikowano 8 Lutego 2006 Kurde szczerze mowiac to nie wiem jak to zrobic nawet z tymi informacjami. Mam na dysku zrodlo storny z tym formularzem wiec jesli jakas informacja bedzie potrzeban to podam. Co musze z tym zrobic zeby wpisywal odpowiedni tekst w odpowiednim polu? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Jastrząb Opublikowano 10 Lutego 2006 Zgłoś Opublikowano 10 Lutego 2006 musisz zrobic petle po wszystkich polach i sprawdzac ich nazwe, jezeli pasuje to wpisujesz dane i na koniec wysylasz Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...