Olen tekemässä omaa nettiselainta ja minulla tuli pari kysymystä mieleen.
Eli kun käyttää tuota WebBrowseria, niin toimiiko mun selain, vaikka poistaisin Internet Explorerin?
Sitten toinen kysymys, miten voin tehdä niin, kun surffaan omalla selaimella ja aina kun painan linkkiä niin se sivu aukeaa Internet Explorerissa, mutta haluasin sen aukeavan omassa selaimessa. Miten sen voi toteuttaa?
Tehy kirjoitti:
Eli kun käyttää tuota WebBrowseria, niin toimiiko mun selain, vaikka poistaisin Internet Explorerin?
Ei toimi.
jos haluat tehdä kunnolla oman selaimen lähetään siitä liikkeelle että siinä olisi vaikkapa oma tulkki esim html:lle esim: koodia koodia koodia koodia ja sun oma selain sitten tekee niinkuin koodissa sanotaan jne... hassua muutes, kerran tein webBrowserilla "oman selaimen" niin se toimi nopeammin kuin ie normisti ;) alkoi vaa naurattaa kun sitä tuli sit enemmän käytettyykin :P kunnes vaihdoin ie:n kokonaa puis
nomic kirjoitti:
jos haluat tehdä kunnolla oman selaimen lähetään siitä liikkeelle että siinä olisi vaikkapa oma tulkki esim html:lle esim: koodia koodia koodia koodia ja sun oma selain sitten tekee niinkuin koodissa sanotaan jne... hassua muutes, kerran tein webBrowserilla "oman selaimen" niin se toimi nopeammin kuin ie normisti ;) alkoi vaa naurattaa kun sitä tuli sit enemmän käytettyykin :P kunnes vaihdoin ie:n kokonaa puis
Ahaa... Niin mielummin kyllä tekisin kunnon oman selaimen, mutta tuo kuulostaa kyllä aika vaikeelta. Löytyykö mistään minkäälaista esimerkkiä, josta vois pikkusen saada vihiä miten pitäs lähtee tekeen tuota selainta.
esim:
dim kaappaaja as integer dim valmisSana as string dim sana as string, sana2 as string private sub form_load() 'aluksi imetään netistä lähdekoodi ja viedään se vaikka text1.text:iin kaapataankirjain 'mennään tämmöiseen funkkariin end sub function kaapataankirjain() for i = 1 to len(text1.text) sana = mid(i,1) if sana = " " then 'jos tulee väli sitten päätetään että sana on valmis sanaonvalmis else 'muussa tapauksessa jatketaan sanaa... sana2 = sana2 + sana end if next i end function function sanaonvalmis() if sana2 = "<html>" then koodialkaa 'mennää taas tämmöiseen funkkariin end if end function
ite tein tällä tyylillä muistaakseni, ei mikään paras mahdollinen todellakaan! :D ja koodista tulee helposti erittäin sotkuista, pääsin vain siihen asti että kirjoitetaan sivun osoite esim: www.ohjelmointiputka.net ja se näytti tekstit; normi-tekstit, linkit, ja asetti suurinpiirtein kaikki johonkin
mutta se siitä sitten... :)
onnea vaan jos aiot tehdä omaa selainta, muista myös että pitää olla semmoinen että reikäjuusto-mörököllit ei tule läpi :P
ainii tarviit winsockin siihen kans muistaakseni ;)
enkä oo todellakaan varma toimiiko tuo yllä oleva esimerkki mutta se on suuntaa antava eikä ollut tarkoitus tehdä valmista koodia, mutta tolta pohjalta voi alkaa jotain ehkä rakentaa :)
Kiitos! Eiköhän tuosta koodista jotain saa irti. Kaikki lisä vinkit on toki edelleen tervetulleita.
Edit: Jäi vaan mietityttään, että miten vois testata, että miten toi selain toimii. Siis että se avais sen nettisivun johonkin...
jos ei muuta pidä jotain neutraalia formia jossa on picture1(o) indeksoitu ja aina kun tulee uus kuva niin koitaha aina luoda uusi pikki ja siihen se kuva ja sama tekstilootassa
tekstilootana käytä vaikkapa ihan perus labeleita :)
tai sitten vaan kaikki luot isoon pictureboxiin,jos näin teet niin sitten kannattaa myös tehdä pieni muistikenttä, esim näin: aina kun tulee kuva, ei syötetä sitä suoraan ohjelmaan vaan tallennetaan eka vaikkapa koneelle [app.path & "\kuvat\" & kuvan nimi] ja sitten se viedään vaikkapa lataamalla sivuille :P tj...
ja tarkoituksella tein näin että en antanut kunnon koodi-kimpaletta jotta jää jotain oman pään varaan myöskin :)
mutta tajusit idean? jos tulee jotain ongelmia ton suhteen niin muhun voi ottaa yhteyttä,en kyllä ole paras apuri täs duunissa kun melko vähän hallitsen netti-näpertelyä... ja vaikeinta taitaa tossa selaimen tekemisessä olla se että kun koodin tyngät muodostuu monista eri sanoista... en muista tarkalleen miten ite asian hoidin jotenkin esim:
aina kun tuli " " eli sana vaihtuu lisätään silloin vaikkapa A-muuttujaan yksi a = a + 1 <---(olikohan taas pakko kirjoittaa :P)
ja tehdään funktio joka laskee monta sanaa on ja luo matriisin esim:
for i = 1 to a 'eli niin monta kerta käydään läpi kuin että monta sanaa on merkattu
next i
ja loput on sitten sun päätettävissäsi, nyt ei jaksa miettiä enempää, pitäisi olla editori tässä nytten että voisin edes kokeilla saisinko noilla omilla tekniikoilla mitään edes toimimaan :P
Pitää yrittää pähkäillä :D Pistän tänne jatko kysymyksiä, jos on tarvista...
tai sitten pistät suoraan maili-lootaan eli: nomikki@hotmail.com, sama pätee myös messengerissä :) messengeri olisi ehkä parempi ajatus :)
Jos saatte mitään aikaiseksi niin olisi mukava jos selittäisitte niitä minullekkin, kun kiinnostaisi minuakin tuo oma nettiselain.
Yksi tapa tietenkin voisi helppo, kun vaikka visual basicilla tekis ohjelman, joka hakee sivut netistä tai siis sen lähdekoodin ja vaikka quickbasicilla sitten tekee sen koodin ymmärtämisjutun.
Itse olen tehnyt quickbasicilla muutenkin monia omia scriptikieliä ja pienimuotoisia nettiselaimia leikillä, jotka ymmärtävät omaa koodia, joka on vaikkapa tyyliin
<text>Hello World! 'näyttää tekstin hello world <blue>Sinistä tekstiä 'näyttää sinistä tekstiä
no mä voisin alkaa kokeilla tän viikonlopun jälkeen koodaamaan uudestaan tuommoista "selainta" ja jos siitä edes mitään tulee niin pistän tänne sitten sorsaa
ja kyllä itse pitäisin koko projektin mielellään yhden kielen sisällä, tai no muuten qb olisi ihan kiva vaihtoehto, dossissa voisi surffailla jne.. mutta vb on mulle nyt se millä tätä alan tekemään, aluksi pitää pikkasen kyllä suunnitella että mitä tekee :) ideoita otetaan vastaan mutta mitään superia ei tule todellakaan :P tarkoitus olisi alkaa luoda semmoista pientä hassua jolla voi tutkiskella helposti ja vaivattomasti sivustoja, joka olisi käyttäjä-ystävällinen eikä "yli-huolehtivainen" niinkuin ie esimerkiksi ;)
no lähetään siltä pohjalta liikkeelle että saadaan semmoine selain toimimaan että se osaa näyttää tekstit, linkit, värit, fontit, fontin koon ja näitä laatikoita, javaa ja php skripti-juttu hässäkät voi aluksi unohtaa koska itse en osaa mutta jos kokoaisi piene porukan että kaikilla olisi hallussa jotain, esim neuvoja kaivataan että mites mikäkin asia toimii php:ssa jne... no sitä katotaa sitten :D
mutta, tästä nyt kiinnostuin itekkin niin alanpa tehdä viikonlopun jälkeen :)
keskustelun aloittajan viestiin löysin vastauksen vahingossa nettiä surffatessa eli
Private Sub web1_NewWindow2(ppDisp As Object, Cancel As Boolean) On Error Resume Next DoEvents ' otherwise ' Load a new browser Dim frmB As New Form1 With frmB Set ppDisp = .web1.object ' and register it as a new window .web1.RegisterAsBrowser = True ' set the silent property of the browser .web1.Silent = web1.Silent ' Then show it .Show End With ' Then destroy the reference Set frmB = Nothing ' and say the new window is allowed Cancel = False End Sub
Tuohon tietenkin noiden web1:n tilalle laitat sen sun WebBrowser objektin nimen ja forminkin nimen vaihdat mikäli on tarvis. Tuon jälkeen pitäisi niiden uuteen ikkunaan aukeavien sivujen aueta sinun selaimessa (uuteen ikkunaan.)
ups! En tiedä, mutta tuo ei taida yksinään kyllä toimia... tee uusi moduuli ja laita pasteta siihen tämä source:
Option Explicit Sub Main() ' call for the webbrowser to load a new window Call LoadNewWindow("http://www.google.com") End Sub Public Sub LoadNewWindow(Optional TargetURL As String = Empty, Optional bSilent As Boolean = False) ' if the url wasnt presented to the sub ' Use your own default URL If TargetURL = Empty Then TargetURL = "http://www.google.com" ' Then load a new browser window Dim frmB As New Form1 Load frmB With frmB ' Set weather or not the browser displays errors .web1.Silent = bSilent ' send the browser to the new url .web1.Navigate TargetURL ' show the form .Show End With ' then destroy the form reference [No longer needed Set frmB = Nothing End Sub
Mitenkä tiedosto tyhjennetään ilman, että tulee tyhjä rivi? Minä yritin tehdä näin
open "tiedosto" for output as #1 print #1, "" close #1
se kyllä tyhjentää sen, mutta se tekee sinne tiedostoon tyhjän rivin, jota minä en haluaisi sinne.
Riittää, kun teet näin:
open "tiedosto" for output as #1 close #1
Edit: Tuo toimii ainakin vb.net:ssä. Uskon sen toimivan myös aiemmassa versiossa.
On se ainakin kokeilemisen arvoinen
Avaa tiedosto kirjoitusta varten, mutta älä kirjoita siihen mitään.
Open "testi.txt" For Output As #1 Close #1
peki ehätti ensin!
Samperi! Mikäs nyt muka iski, kun vielä yöllä toi source toimi (siis toi, joka avaa sivut tarvittaessa uuteen selaimeen (omaan)), mutta nyt lakkasi minulla toimimasta. Kyllä se avaa sen yhä, mutta ei lataa sivua... en kyllä ole tietääkseni edes poistanut mitään koodia siitä :(
ps: Ei toimi myöskään tuokaan keino, jonka peli ja laaksonen jo selitti, se tekee sinne yhden tyhjän rivin yhä...
juhaz kirjoitti:
Mikäs nyt muka iski
Paha päivä tais iskeä. :)
Sori. Oli ihan pakko :D
En tajua vieläkään mikä meni pieleen... kokeilin visual basicissa ajaa tuota ohjelmaa ja siinä se avasi sivut ihan oikein, jopa uuteen ikkunaankin ja latasi ne, mutta kun tein ohjelmasta exen ja käynnistin sen exen niin silloin ei toiminut...
tais olla visual baisic bugi
Noniin nyt on tapahtunut vähän edistytä tossa selaimen teossa :) Olen saanut tehtyä sellaisen systeemin, että käyttäjä kirjoittaa vaikka osoitteen http://www.mtv3.fi ja painaa nappia. Tämän jälkeen ohjelma tallentaa sivun kovalevylle ja aukaisee lähdekoodin textboxiin.
Seuraavaksi pitäs sitten vissiin saada luettua tuota koodia jotenkin...
Niimpä.. Ei muuten tule varmastikaan olemaan helppoa.
Kannaattaa varmaankin(?) tehdä niin että tulkkaat vain standardien mukaista HTML:ää.
Tosin, mitenköhän monet sivut ovat sen mukaista tehtyjä..?
Ja sitten kun on html edes sinnepäin hallussa niin pitäisi osata tulkata CSS:ää, javascriptiä yms. nettisivuilla käytettäviä scripti kieliä. Ja sen jälkeen voikin siirtyä jo XML:ään..
ajattele posiitivisesti: ei ainakaan lopu tekeminen kesken.
se lukeminenhan kannattaa varmaankin(?) tehdä niin että etsit koodista "<" merkkejä ja ">" merkkejä ja selvität sen jälkeen mitä niiden välissä on.
Sen jälkeen saat selville mikä kooditagi on kyseessä.
Joo varmaan jotenkin tuohon tyyliin se pitää tehdä, mutta vaikeeta tuo tosiaan tulee olemaan...
Olen tehnyt kaksi HTML-selainta QB:llä. Ensimmäinen oli tehty huonoja ohjelmointi menetelmiä käyttäen. 20 kiloa basic-koodia. Tuossa oli mm. tiedostonselaus ja etsi-toiminnotkin mukana. Olen tuota esikatselu-ohjelmana käyttänyt, kun se käynnistyy silmän räpäyksessä ja lataa sivutkin nopeammin kuin Opera. Tässä selaimessani oli myös sellainen Mac Os Safari-tyyppinen latauspalkki, joka värjää osoitekentän siniseksi, jos olette nähneet. Selain ei tietenkään näyttänyt kuvia tai muutakaan ihmeellistä, vaan Windowsin dos-ikkunassa tuota käytin jo valmiiksi downloadatuilla html-sivuilla.
Uudemman, joka on vielä keskeneräinen, olen tehnyt "hyvää modulaarista ohjelmointitapaa" käyttäen. Tein ensin XML-funktiokirjaston ja sen avulla HTML-tulkin. Tästä on etua siinä, kun aion tehdä XML-sanakirja-ohjelman vaikka integroituna selaimeen. Sen voi tehdä nyt samalla xml-kirjastolla. Ja tietysti RSS-formaatti on myös XML muodossa...
Olisi varmaan järkevämpää tehdä selain Visual Basicilla, mutta kun DOS on niin "vapaa". Tuo latauspalkkikaan ei olisi Windowsissa niin helposti tehtävissä.
itseolen nytten oman selaimen kanssa siinä vaiheessa että:
ymmärtää kun koodin alussa on <html> ja lopussa </html>
<title> otsikko </title> jolloin pistetään otsikkopalkkiin tuo otsikko, <p>/</p> jotta saa pikkasen piupau-tekstiä
ja oli jotain värijuttuja vielä, en muista nyt mitä kaikkea olen duunannut enkä jaksa tarkistaa kun kaikki on toisella koneella... mutta siis grafiikka-juttuja en vielä ole änkenyt mukaan, eli oma selaimeni näyttää vain paljon tekstiä mitä sivuilla on :) seuraavaksi on tehtävänä linkit mikä ei pitäisi tuottaa ongelmia
ainut asia joka aluksi tuotti ongelmia oli se että kun html:ssä käytetään myöskin " merkkejä niin päätin käyttää replacee joka kirjoitetaan aliohjelmaan joka tuo näytölle esille html-koodin ja siinä korvattiin " ' merkeillä ^^
kyllä muistaakseni jotenkin " merkin sai tekstiin sisältymään mutta nyt tapa on tämä :) ja esim joku linkki-lause näyttää tältä silloin: <a href = 'www.ohjelmointiputka.net'> linkki </a> </p> tj...
mutta idea on se että luetaan aluksi koko koodi kirjain kirjaimelta niin että saadaan valmiiksi sanoja sitten kun sanat on valmiita katotaas mitä ne on jos niitä löytyisi funktioista kun tämä tarkistus on tehty niin aletaan asettelemaan koodia toimimaan :)
Itse olen yrittänyt tuota tekstiä saada näytettyä, mutta omien taitojeni takia en saa sitä ihan toimimaan.
Itse tein yhden label1:n, jonka indeksi on 0 ja niin, että niitä lisätään uusia, mutta vb taas väittää jotain ettei toimi, joten tein niin, että se label1:n lisäily onnistuu koodissa eli näin
<text_obj>1
tuo koodi aiheuttaa siis sen, että se luo sillaisen label1 tiedoston, jonka indexi on 1 ja olen yrittänyt myös sillaisita komentoja järjestää kuin, että
<text_top>350 <text_left>0 <text>Hello World!
mutta en ole saanut toimimaan, jostain syystä se ei näytä tekstiä siinä index 1:n label1:ssä.
ps: Nomic, voitko lähettää sourcet emailiin? Löytyy jäsensivulta... olisi jännä tutkia sitä, että kuinka sä sen teet vaikka se ei valmis olisikaan.
muuten voisin julkaista vaikka samantien sorsat paitsi että koodi on tehty kokonaan toisella koneella jossa ei ole verkko-korttia eikä sitä saa nettiin :/ mutta uskoisin että netissäkin toimii, tällä hetkellä olen vain syötellyt eri asemien polkuja joissa jokin html toimii ja käytännössähän se on sama asia, ja vaikka ei olisi niin nopeastihan asian saa korjattua... :)
mutta siis esim:
mutta alkuun pientä selostusta:
rivi on asia joka kertoo monta <p>:tä on koodissa tullut
jotta osataan luoda sopiva määrä label1:iä
dim rivi as long if sana = "<p> " then rivi = rivi + 1 koodi = 1'jos koodi on 1 silloin tiedetään että tehdään niin ja niin end if if koodi = 1 then bkirjain = kirjain if bkirjain + 1 = "<" then 'nytten tuli vastaan "<" joka lopettaa "skannaamisen" koodi = 0 else psana = psana + bkirjain koodi = 0 'palataan normi lukutilaan label1(rivi).caption = psana end if end if
hmm...koodi kyllä ei taida toimia, en jaksanut tarkistaa mutta hyvä niin oikeastaan, ei mene suoraan copypastettamiseksi ^^ mutta siis nytten tajusitte idean?
eli kun koodista luetaa, luodaan sanoja, jos sana on "<p> " sitten aukaistaan aliohjelma joka skannaa kaikki tulevat kirjaimet tyyliin: bkirjain = kirjain
sekä lisätään uusi rivi. rivi on muuttuja samalla joka kertoo kuinka monta label1:n matriisia luodaan, eli indeksejä, aina kun tulee kohta <p> silloin; rivi = rivi + 1
ja tämä luetaan labelin indeksissäkin
jos bkirjain + 1 (esim tämä ei muistaakseni näin kyllä mene kääntäjästä läpi koska bkirjain taitaa olla merkkijono jos oikeen muistan :D) ...on merkki: <, eli seuraava merkki on taas < sitten lopetetaan koodin skannailu ja mennään normisti eteenpäin koska koodi = 0 :)
mutta kunhan saan ton rumiluksen johonkin kuntoon ja saan himaan nettiin niin tulen laittamaan sorsat vapaaseen jakoon, varoitan jo valmiiksi että koodi on kyllä erittäni rumaa, oikeastaan vain mun silmille tarkoitettua (yläpuolella on esimerkkiä koodin kirjoitus-tavastani)
mutta taas ulisen täällä omaani, meen jatkaa peliä*takaisin luolastoon*
Eikö vb:ssä muka onnistukkaan enään tämä?
rivi% = 1 sivu: open "D:\sivu.htm" for input as #rivi% input #rivi%, cmd$ close #rivi% if cmd$ = "<end>" then goto nextstep rivi% = rivi% + 1 goto sivu nextstep: end
se, kun valittaa aina "Run-time error '52': Bad file name of number
Tuossa ei käsittääkseni ole mitään järkeä!
Koodipätkässä tapahtuu seuraavaa
1)avaat tiedoston
2)luet tiedoston ekan rivin
3)suljet tiedoston
4)jos cmd$ <> "<end>", sitten hyppäät kohtaan 1
5)ohjelma lopetetaan
Kun tarpeeksi kauan jatketaan niin tulee vastaan luku 512, joka on maksimi tiedoston avausluku.
Tätä varmaankin hait(gotot korvattu helpompilukuisilla jutuilla):
Open "D:\sivu.htm" For Input As #1 Do Input #1, cmd$ If cmd$ = "<end>" Then Exit Do Loop Until EOF(1) 'olettaen, että tiedostossa on ainakin yksi rivi Close #1
Olen näiden esimerkkien avulla saanut aikaan jo ekan toimivan sivun ja ohjelman, mutta mitään html:ää se ei valitettavasti ole eikä ohjelma osaa html:ää niinkään, mutta tässä pieni esimerkki sivun koodista, jollaista selaimeni tunnistaa
<title>Sivun otsikko <text>Tämä on eka rivi <hr> <text>Viivojen välissä <hr> <end>
eli <title> asettaa formin otsikon, <text> näyttää tekstiä (aina seuraava rivi), <hr> lisää viivan ja <end> lopettaa koodin.
Selaimessani on combo1 objekti, johon käyttäjä kirjoittaa osoitteen ja painaa enteriä, jonka jälkeen inet1 objekti lataa sivun netistä ja tallentaa tiedostoon, jonka selain avaa ja suorittaa.
Selaimen sourcet ja itse ohjelma löytyy osoitteesta
http://juhak.no-ip.info/ohjelmat/selainsrc.zip
voi olla, että tuo osoite ei toimi jostain oudon syystä, joten voin lähettää sähköpostissakin jos joku haluaa.
Edit: Ai niin ja varmaan ainoa tällä hetkellä netissä oleva sivu, joka tuolla ohjelmalla näkyy on osoitteessa http://juhak.no-ip.info/test.htm
Helpoin tapa sivun tekstien näyttämiseksi ilman muotoilua on mielestäni tuo, jonka tuomas tuossa jo vähän vihjaili.
- Luetaan Input$-funktiolla tai jollain muulla yksi merkki tiedostosta kerrallaan
- jos merkki on "<", asetetaan TAGI=PÄÄLLÄ
- jos merkki on ">", asetetaan TAGI=POISSA
- jos merkki jokin muu merkki: jos TAGI=POISSA, merkin voi tulostaa ruudulle
Tämän pitäisi toimia aina, mitä nyt javascriptiä voi tulla ruudulle. Tästä voi sitten jatkaa, mutta tämä on mielestäni paras pohja.
Ei satu teillä kellään olla jotain hyvää ideaa linkkien tekemiseen?
No teet sen ihan niin kuin kaiken muunkin: etsit ensin tagit ja kun sellainen löydetään niin näytät sen linkin sinisellä ja alleviivattuna. ku klikkaa niin navigoidaan.
Jos ongelma oli se että miten teet linkin kaiken muun tekstin sekaan niin tee jokin erillinen homma kaiken muun tekstin sekaan.
Täytyy kyllä myöntää, että en ole keksinyt/saanut mitään linkin teko systeemiä toimimaan vaikka pariakin ideaa olen testannut :(
Olen muuten lisännyt selaimeen komennon <font>, jolla asetetaan fontti
esimerkki
<font>Arial
Minä en taas pääse enään eteenpäin siitä, kun saan ladattua sen html koodin, mutta sitten en monista neuvoista huolimatta pääse eteenpäin :D Miten minun pitää alkaa tulkitsemaan sitä html?
Kannattaa tutkia vaikka tuota mun kertomaa sourcea (linkkiä), siinä ei ole vielä niin paljoa koodia, että siitä löytyy tuohon vastaus varsin nopeasti.
Itse lisäsin selaimeeni jo komennot <font_col>, <u>,<b>,<font_size>,<i>,<s>,<bcol> ja <center>, mutta en ole saanut vieläkään linkkejä toimimaan enkä kyllä kuvan näyttämistäkään.
kitti siitä löytyikin vastaus, mutta uusi ongelma tuli eteen :D Kun html koodissa lukee vaikka <title> niin se tulostaa tuonne ylös vaikka Ohjelmointiputka mutta perään tulee </title> mitenhän se saisi pois? Ja sitten vielä miten saisi tulostettua kaiken teksti joka ei ole < > välissä?
Sitä minä en ole selvittänyt ja siksi minä olenkin tehnyt oman selaimeni tarkistamaan vain tuon alussa olevan komennon ja näyttämään sen perässä tulevan tekstin.
Ok, Sitten vielä kysymys, että kun tulostan tekstin ruudulle, niin osa tekstistä jää hieman pois näkyvistä. Se toisella rivillä oleva teksti näkyy vain vähän...
Edit: Yritän siis tehdä että se lukee html koodia.
Mulla on sama ongelma, mutta olen tehnyt niin, että label1(s).top on aina 300 lisää edelliseen, jolloin sen pitäisi yleensä näyttää label objektien tekstit kokonaan, mutta jos fontin kokoa vaihtaa liian isoksi niin silloin toi ei toimi taaskaan.
Kunhan te saatte noi selaimet toimintaan niin, että ne lukee kunnollista html:ää niin olisin perin iloinen jos näyttäisitte niitä minullekkin, jotta saan omaan selaimeeni kunnollisen html tuen.
Jaa-a onko kukaan päässy eteenpäin oman selainmen teossa? Ois kiva saada sitä sourcee, että pääsis kattoon vähän mallia...
Ratkaisu tuohon label ongelmaahan on melko helppo:
lasket labeleiden koon fontin koon ja tekstin pituuden mukaan.
Minulla pitäisi olla päivitetty versio selaimesta (+ sourcet) saatavilla osoitteesta http://juhak.no-ip.info/ohjelmat/selainsrc.zip
Pientä koodivinkkiä olis myös mukava saada sillaisiin asioihin, kuten linkkien teko ja tuohon label ongelmaan. Eli en ole päässyt kovin pitkälle selaimeni teossa, koska linkkejä en ole saanut toimimaan, mutta ehkä joku osaa tutkia noita mun sourceja ja auttaa kehittämään jokin keino tehdä linkkejä.
ps: Toimiiko toi linkki teillä? Itselläni se väittää, että tuollaista tiedostoa ei löydy serveriltä vaikka sen pitäisi olla siellä...
Ainahan voitte katsoa, kuinka html:n tulkitseminen on tehty esim Mozillassa.
Tämän keskustelun innoittamana rupesin tekemään omaa skriptikieltä. Se on QB:llä tehty, vielä aika suppea, mutta siinä on toimintoja joita normaalissa QB:ssä ei ole. Kuten alleviivaus, monen ympyrän piirto yhtäaikaa ja niiden tarkan eron muodostus tyyliin:
<alleviivaa> <teksti> 'ja tähän tulee teksti. Entterin painon jäleen alleviivattuna
ja
<ympyrämäärä> 'tähän ympyröitten lukumäärä <ympyräerox> 'esim. +2 <ympyräeroy> 'esim. -5
Unohdin mainita, mutta olen lisännyt selaimeeni toiminnon, joka katsoo sivuillani olevasta tiedostosta tekstin ja jos siellä on teksti 'yes' niin se sanoo, että uusi versio olisi ladattavissa.
Hi**o, kun selaimen teko on ihan pysähtynyt, kun en mä vaan saa ja keksi keinoa linkkien tekemiseen :(
Onko kukaan muu vielä saanut linkkejä toimimaan?
en saa minäkään linkkejä toimimaan, prkl!
Mitenhän kuvat sais näkymään? Pitää vissiin luoda joku picturebox tai vastaava ja sitten ladata siihen kuva? mutta mulla ei oo aavistustakaan miten tämän tekisin...
Itsekkin mietin tuota, mutta ilmeisesti se on sillein, että pitää ladata se kuva koneelle ja sitten selaimen osata näyttää se oikeassa paikkaa eli sen toteutus kuitenkin tapahtuu melko samalla tavalla kuin tekstin näyttäminenkin.
Pitäisi ensin löytää jokin keino poistaa edelliset objektit ruudulta, kun niitä on esimerkiksi label1(1), label1(2), label1(3) jne..., kun tuo linkkisysteemi muutenkin valittaa siitä sillaista kuin "Run-time error '360': Object already loaded!"
Vihdoinkin asiallisia projektejä käynnissä :D Itsekkin meinasin alkaa koodaamaan omaa selainta, mutta kun mietin mitä sillä voi tehdä ilman css, javascript, flash yms. tukia niin jätin projektin sikseen.
Tein sitten sellaisen ohjelman joka hakee iltasanomista uutiset(kuvat + teksti) ja ilmatieteenlaitoksen sivuilta tuoreimman sää ennusteen.
Muutamia vinkkejä: älä käytä valmiita objekteja kuten picturebox tai labeli. piirrä kaikki suoraan formille.. tagejen etsimiseen kannattaa nopeuden saamiseksi käyttää string.indexof funktiota, esim. teksti.indexof(<head>, 1)
Sitten tietytsti kannattaa tehdä selaimeen muutama ominaisuus joita ei kilpailijoista löydy, kuten sivujen ennalta lataus. Eli jos luet jotain tekstiä niin selain ei vain odottele sun seuraavaa toimintoa vaan latailee jo valmiiksi tekstissä olevat linkit. Näin sun selaimesta tulee huippunopea. Sitten toinen hyvä ominaisuus olisi, ettei selain näyttäisi kuolleita linkkejä tai ei ainakaan lähtisi seuraamaan niitä...
Hmm... Kovin moni aihe QB/VB alueella ei olekaan ylittänyt 50 viestiä...
Ei samperi tuota linkkiä saa toimimaan =( Oon yritääny vaikka miten, mutta ei toimi... Onko kukaan saanu vielä toimimaan tuota linkki?
En minäkään ole saanut toimimaan. Noi objektit pitäs saada eka poistettua, että se voi uudet tehdä sitten perään, kun se sivu ladataan.
Eli tietääkö kukaan kuinka poistetaan noi label1(1):t ja muut? Eipä ainakaan visual basic 5:ssa tunnu olevan sillaista label1(1).remove komentoa ainakaan :(
juhaz kirjoitti:
Eipä ainakaan visual basic 5:ssa tunnu olevan sillaista label1(1).remove komentoa ainakaan :(
Jos teet neuvoista huolimatta tolla tavalla objekteille. Niin näin ne objektit voidaan poistaa uudessa vb.netissä: me.controls.clear() poistaa kaikki kontrollit formilta. Lisäksi on me.controls.remove() ja me.controls.removeAt() functiot, joilla voi poistella yksitellen. ja "me." viittaa tietysti aktiiviseen formiin.
lainaus:
Sitten tietytsti kannattaa tehdä selaimeen muutama ominaisuus joita ei kilpailijoista löydy, kuten sivujen ennalta lataus.
Joo-o. Ja sitten tekee niin että ensin ladataan siitä sivusta johon mentiin niin sieltä kaikki ne sivut joihin on linkitetty, sitten niistä jotka äsken ladattiin niin niiden linkit ja niin edelleen. Näin saadaan ladattua enemmin tai myöhemmin koko internet omalle koneelle!!!
Jos yhteys ja kovo sen sallivat :) Ja jos oikein sairaaksi
aa-a. Eikö ole jännää...
Hetkinen!
Miksi tekstini on pätkäisty? "Ja jos oikein sairaaksi" ???
tuon piti jatkua vielä muutaman rivin verran...
Lisäsin selaimeen nyt pari komentoa tämän aamun aikana, jotka ovat: <bgsound> ja <alert>
<bgsound> siis soittaa midejä taustalla ja <alert> näyttää messageboxin, jossa on sivun tekijän määrittelemä viesti.
Testisivun sourcet ovat nykyään jo tälläiset:
<title>TESTISIVU <alert>HEHHEH <bgsound>http://juhak.no-ip.info/musa.mid <bcol>&H80000001& <font>Times New Roman <font_size>10 <font_col>&H80000005& <text>Testi <center> <u> <text>Toka <hr> <i> <text>Viivojen välissä <u> <hr> <end>
edit:
ja selain sourceineen löytyy samasta osoitteesta kuin edellisetkin eli http://juhak.no-ip.info/ohjelmat/selainsrc.zip
edit2:
Oikeastaan nyt ei ole enään esteitä edes kuvan näyttämiseen selaimessa, koska sain tuon taustamusiikki jutunkin toimimaan, mutta niitä linkkien tekoa minä vieläkin ihmettelen enkä keinoa keksi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.