Miten saan VB:llä tehtyyn ohjelmaan näkymään jonkun tietyn netissä olevan sivun?
Joko hakemalla inetillä HTML koodin ja kääntämällä sen tai sitten käyttämällä yhtä kompponentia, jota en nyt muista.
remontti-reiska kirjoitti:
käyttämällä yhtä kompponentia
Käytännössä siis IE:n renderöintiengineä kaikkine bugeineen ja turva-aukkoineen.
En muista, millä nimellä se siinä Components-listassa, mutta itse kontrollin nimi on "WebBrowser" ja se löytyy shdocvw.dll -tiedostosta.
Jos haluat tehdä OMAN selaimen tulkkeineen, niin teet ohjelman, joka lataa kohteesta HTML-koodin ja tulkkaat sen.
Jos taasen haluat vain näyttää webbisivuja jossain ohjelmassa (esim. helppi tai muu sellainen) Voit käyttää Microsoft internet control componenttia (project -> components -> Microsoft internet control).
Edit: pilkun viilausta
Microsoft Internet Controls, tiedostona shdocvw.dll. On muitakin mahdollisuuksia - Mozillalla on esim oma komponenttinsa...
Kokonaisen tulkin tekeminen siten, että se myös tukee kaikkia web tekniikoita on rupeama, johon en juuri ensimmäisenä ryhtyisi... miksi keksiä pyörää uudelleen(Ellei siitä tee parempaa Microsoftin soikean tilalle...)?
Miten se niinku laitetaan sitten siihen formiin?
Mä oon tehnyt Standard exen ja haluaisin laittaa siihen näkymään yhden nettisivun.
Krääh, project -> components -> Microsoft internet control, lisäät komponentin formille ja alat koodailemaan komponentille
käskyjä.
Noin. Nyt laitoin komponentin, mut voitsä kertoa miten koodaan ja mitä, että formissa näkyy tietty web sivu?
Älkää hermostuko. Mä oon aloittelija.
Nunk kirjoitti:
Älkää hermostuko. Mä oon aloittelija.
Ei hermostuta, mutta jos kerran olet aloittelija, niin ehkä ei kannata ihan suoraan ruveta selainta tekemään.
Edit: Mutta katso nyt ensin vaikka sen Webbrowserin properties- ja methodlistoja.
En mä aio selainta tehdäkään, vaan haluan vain yhden sivun näkymään ohjelmassa/pelissäni.
Nooh, tällä ainakin saa sivun näkymään:
Komponentinnimi.Navigate "URL"
Ja mihin toi koodi pitää laittaa?
Älä hermostu reiska...älä hermostu...
Siihen mihin sen haluat pistää(aliohjelmiin Form1_Load, Command1_click tms.)
Mä laitoin tällästeen:
Private Sub startti_Click()
shdocvw.dll.Navigate "http://www.jippii.com"
End Sub
Ja tuli "Run-time error".
Mikä vikana?
Kohta voi tulla pahakin sana, mutta kai tämä nyt vielä tästä. Mikäs se komponentin nimi on? Sen minkä sinä siihen pistit.
Siis tuo
Webbrowser1.Navigate "URL"
navigoi siihen osoitteeseen, mikä annetaan parametriksi, ja sen osoitteen pistät tuon URLin tilalle.
Edit: Ei kai sitä dll:ää noin pidä käskyttää? Vaan sitä komponenttia?
Komponenttia komponenttia. Sehän tuossa pätkässä jo selveneekin...
Kannattaisi perusteet ensin opetella kunnolla :)
remontti-reiska kirjoitti:
Kohta voi tulla pahakin sana, mutta kai tämä nyt vielä tästä. Mikäs se komponentin nimi on? Sen minkä sinä siihen pistit.
Sen komponentin nimi on ainakin siellä listassa Microsoft Internet Controls.
Edit: Niin ja se webbrowser1.navigate "http://www.jippii.fi" ei toiminu ku siinä tuli "Run-time error '424':
Object required
No joo joo, siinä listassa, mutta ne mitä latelet formille. Siis "Name"-ominaisuus. Kai se nyt on tuttu?
No nyt toimii!!
Kiitos teille kaikille!
Mutta yhtä juttua en vielä osaa...
En tiedä miten hiiren saa klikkailemaan loputtomasti...?
Mihis sinä sitä tarvitset?
Mä haluun vaan näyttää mun veljelle, että osaan tehdä sellaisen.
Me kilpaillaan kumpi osaa paremmin ohjelmoida.
Kyselin tuota juttua jo toisessa tekemässäni topicissa, mutta en saanut sitä toimimaan.
Huoh, opetelkaa ne perusteet, niin ehkä osa asioista voi selvitä teille paremmin. Koodia en kerro, koska se ei olisi tuossa tapauksessa oikein. Sitäpaitsi tuo on sen verran turha asia koodattavaksi, joten en edes tiedä miten se tehdään...
remontti-reiska kirjoitti:
...Koodia en kerro, koska se ei olisi tuossa tapauksessa oikein...
Miksi se ei olisi oikein?
Ja tietääköhän kukaa muu miten sellanen juttu koodataan?
No jutellaan huomenna lisää, mä meen nukkumaan.
Käytät minua hyväksesi. Minä teen työt sinä saat maineen.
Nunk kirjoitti:
Mä haluun vaan näyttää mun veljelle, että osaan tehdä sellaisen.
Me kilpaillaan kumpi osaa paremmin ohjelmoida.
Taitaa näemmä se veljesi voittaa sinut. Osaat varmaan sitten hienosti ohjelmoida, kun pyydät muita koodaamaan puolestasi? Kai nyt kuka tahansa muilta koodia osaa kysyä. Mitä hienoa siinä nyt muka on? Sitä paitsi, se että sattuu osaamaan ulkoa jonkun API-komennon tmv. ei kerro ohjelmointitaidoista juuri mitään.
Edit: Kilpaile sen veljesi kanssa ennemmin siitä, kumpi osaa paremmin saada vastauksia foorumeilta, sillä juuri sitä tässäkin yrität.
Opettele perusteet.
Sanokaa nyt perkele se koodi millä saan hiiren klikkailemaan kun painaa starttia!
Nunk kirjoitti:
Mä haluun vaan näyttää mun veljelle, että osaan tehdä sellaisen.
Me kilpaillaan kumpi osaa paremmin ohjelmoida.
xD
Eli yrität huijaamalla esittää parempaa ohjelmoijaa?
Nunk kirjoitti:
Sanokaa nyt perkele se koodi millä saan hiiren klikkailemaan kun painaa starttia!
No kun noin kauniisti pyydät <3
SendInput
tässä on valmis koodi!
do click "mousebutton1" loop
Sun pitää ettiä semmone microsoftin apijuttu. Googleta hakusanalla "microsoft"
Kiitos kiitos.
Yritän tota juttua.
Onko se api joku tiedosto?
Mikä virhe tässä on:
Private Sub startti_Click()
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Do
Click "mousebutton1"
Loop
End Sub
ei api ei ole tiedosto käsittääkseni sillä määritellään mitä windowsin dll kirjastoa ohjelma käyttää
Öhh... Api on sellainen järjestelmä jolla voidaan ohjata (esimerkiksi) windowsin toimintaa. Niinku Windows API on joukko käskyjä, joilla voit tehdä kaikkea. Esim laittaa tray:hyn kuvakkeen. Api ja muut ulkoiset komennot (jotka eivät siis ole suoraan vb:n käytettävissä (eivät näy funktiolistassa)) täytyy esitellä koodissa, jotta vb ohjelmasi osaa ladata ne tietystä tiedostosta.
Esimerkki:
Public Declare Function CreateWindowEx Lib "user32.dll" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ...plaa plaa (loput parametrit)
Tuo kertoo vb ohjelmassasi, että tahdomme käyttää CreateWindowEx funktiota (windows api:n ominaisuus) jolla voi luoda uuden ikkunan. Tuossa kerrotaan, että tuota komentoa täytyy etsiä tiedostosta "user32.dll".
Edimerkiksi jos nyt joku vaikka tekisi oman käyttöjärjestelmän "IhkuOS" niin silloin sitä ohjaavat komennot, joita ohjelmoijat käyttäisivät ohjelmien teossa olisivat sitten vaikka IhkuOS API:a. Jos siinä olisi vaikka komento: TeeIkkuna niin siinä olisi (vaikka) tällainen määrittely:
Public Declare Function TeeIkkuna Lib "systeemi.dll" Alias "TeeIkkunaA" (paikkaX as integer, paikkaY as integer, leveys as integer, korkeus as integer) As Long
Tuon määrittelyn jälkeen saisimme ohjelmaamme käyttöön tuon TeeIkkuna funktion.
Ja jos mun selityksessä on virheitä niin korjatkaa.
Huh, tulipas floodattua.
Nunk kirjoitti:
Onko se api joku tiedosto?
Ei tarvitse kysyä, kun voi lukea ja oppia.
Nunk kirjoitti:
Mikä virhe tässä on:
Syntaksivirhe. Declare-lause ei voi esiintyä aliohjelman sisällä.
Blaze kirjoitti:
Syntaksivirhe. Declare-lause ei voi esiintyä aliohjelman sisällä.
Selvennetääs nyt vähän kun on aloittelija kyseessä:
Declare lause tarkoittaa juuri tuota "funktion esittelyä".
Dim muuttuja As Integer 'Tässä on muuttujan määrittely. Tämä ei ole aliohjelman sisällä Private Aub Form1_Load() 'Tämä on aliohjelma joka suoritetaan kun Form1:tä ladataan. End Sub Private Sub Command1_Click() 'Tämä on toinen aliohjelma, joka suoritetaan kun nappia jonka nimi on "command1" klikataan. End Sub
Jooh, Private Declaret General-Declarationsiin eli ihan formin koodin alkuun.
Nunk kirjoitti:
Sanokaa nyt perkele se koodi millä saan hiiren klikkailemaan kun painaa starttia!
Jaha. Mun puolesta voit painua ******* jos aletaan tolle linjalle. Muista en tiedä, mutta mä en ainakaa auttas tollasta pikku [sensored] joka pyytää valmista koodia, koska haluaa näyttää muille että osaa. Etkä sinä sitä osaa tehdä, koska olet koodit suoraan täältä kopsinut. Edelleen opettele ne PERUSTEET!
no joo, tuli vähän tyly palaute, mut sen tollasesta käytöksestä saa.
Sanokaa rupeanko itkemään vai nauramaan... tää on jo pahempaa kuin ZeBeily...
Mikä virhe tässä on?
Private Sub startti_Click()
Nettiselain.Navigate "http://www.jippii.fi"
End sub
1.Sulla on siinä debuggeri joka kertoo mikä kusee.
2.Kristallipallo on vuosihuollossa, joten saattas vähän auttaa kun kertois millä rivillä herjaa ja mitä herjaa.
Ja lueppa vielä ne keskustelun ohjeet.
Onko napin nimi varmasti startti (tarkista vielä kertaalleen, typoja sattuu)
Onko selainkomponentin nimi varmasti nettiselain (tarkista sekin)
Ja pelkään edelleen, että tästä on tulossa AutoMiner Runescapeen, kun kerta tahdot sen klikkailun tiettyyn kohtaan loputtomasti.
EDIT: Ja onko vb:llä/ohjelmallasi oikeudet nettiin palomuurin halki.
Siinä virheessä lukee Compile error: method or data member not found
Ja ne oli ihan oikein ne jutut, mutta kun se virhe on tullut VB "maalaa" .Navigate kohdan.
Niin ja nyt se klikkaus homma toimii. Tein sen näin:
Private Sub Timer1_Timer() mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, button, dwno DoEvents End Sub
Hei kertokaas mulle mikä täs on vikana:
private sub kyseleTyhmia_Click() if(koodarinAlku = "Tyhmä") then kysele.ohjelmointiputka(tyhmia*1000) else x = LookAt.google() if(x = 0) then menekirjastoon = true end if end if end sub
Osaisko Nunk jelppiä? ;D
Nunk: Kyllä tuo mulla ainakin toimii ihan hyvin ja sivu ilmestyy. Kenties sulla on vanha versio siitä WebBrowser-komponentista?
maka78: ilkeetä laittaa noin hyvä juttu, tipuin melkein penkiltä.
Noin sain tehtyä AutoClickerin runeen, kiitti neuvoista.
Sen saa tästä:
http://www.freewebs.com/jussi13/R2Clicker.zip
OoX ny ihcu cheatteri??+
Eihän siinä mitään kun typerä ääliö pyytää kaiken valmiina. Toivottavasti olet tollanen luuseri koko elämäs. En nyt tiedä että tarvitseeko mainita, RuneScapeen skriptit, Autominerit yms. ovat kiellettyjä. Ts. jos olisin foorumin ylläpitäjä, Nunk olisi bännitty jo... mutta hällä väliä. Luuserien peli se edelleen on.
**Kirjoittaa näyttöön isolla tekstillä "NOOOB!" ja iskee sen vasaralla sirpaleiksi...**
ja sitäpaitsi automaineriin ei edes tarvitse hiirenklikkaustaloputtomast -räpellystä. Ihan:
Nimi.Refresh
Nunk kirjoitti:
Mikä on RuneScape?
Et tiedä, mikä se on, ja teet siihen silti autominereita? Ei kovin uskottavaa. Mitä hauskaa Runescape-peleissä muka on, jos kaiken löytää, kun vain hosuu hiirellä sinne tänne? Ja aika typerää on myös sellainen, että rehentelee veljelleen ohjelmalla, jonka muut ovat sinulle valmiiksi koodanneet.
No omapa on asiasi, mutta ei kannata toivoa liikoja, jos joskus vielä kaipaat apua, ainakaan minun taholtani.
remontti-reiska kirjoitti:
ja sitäpaitsi automaineriin ei edes tarvitse hiirenklikkaustaloputtomast -räpellystä. Ihan:
Nimi.Refresh
Mitä toi tarkoittaa?
Enpä kerrokkaan. Opiskele perusteet ensin, niin tiedät.
Refresh päivittää (eli piirtää uudestaan) formin tai kontrollin. Se ei liity mitenkään hiiren napsauttamisen jäljittelemiseen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.