Syksyllä rakentelin tulosvetoa varten ohjelmaa. Veikkauksen päiväämättömät, pdf-muotoiset ohjeet eivät toimineet. En tiedä, löytyykö jostakin paremmat ohjeet.
Sen jälkeen tutkin hieman asiaa käytännössä. Tuon tutkimisen perusteella sain tehdyksi toimivan version. Automaattista kirjautumista palveluun en tehnyt, vaikka se näyttääkin helpolta. Se on siis tehtävä itse.
Linkin, joka sisältää jätettävän vedon, muodostan tällaisen rungon perusteella:
Linkki := '
https://www.veikkaus.fi/mobile?area=wagering&game=score&' +
'op=checkGame>id=' + EditGtid.Text + '&stake=%ST%&row_1=%KM%&' +
'row_2=%VM%';
Komponentin EditGtid arvo on haettu aiemmin Veikkauksen mobile-sivujen ko. kohteen lähdekoodista.
Linkistä korvaan tiettyjä merkkijonoja tähän tapaan:
Linkki := StringReplace(Linkki, '%KM%', IntToStr(Hg), []);
Linkki := StringReplace(Linkki, '%VM%', IntToStr(Rg), []);
Linkki := StringReplace(Linkki, '%ST%', Stake, []);
Kun linkki on muodostettu, surffaan TWebbrowser-komponentilla ko. sivulle. Lyhyen odottelun jälkeen (jotta sivu ehtisi latautua) haen ko. lomakkeen numeron ja painan ohjelmallisesti painiketta, jolla veto jätetään sisään (siis simuloin käyttäjän klikkausta):
WebBrowser2.Navigate(Linkki);
document := WebBrowser2.Document as IHTMLDocument2;
VekeForm := GetFormByNumber(document,0);
VekeForm.submit; (tämä siis tarkoittaa samaa kuin käyttäjä klikkaisi painiketta)
Jälleen on odotettava hieman sivun latautumista. Sen jälkeen haetaan sivun lähdekoodi (tässä voi olla myös sisältö) ja tutkitaan, löytyykö siitä merkkijono 'Peli maksettu.'. Jos se löytyy, veto on jätetty, minkä perusteella voi lähtöaineistoon merkitä vedon jätetyksi.
Joskus ohjelma breikkaa siksi, että sivu ei ole ehtinyt latautua (ennen painikkeen klikkausta). Silloin voin aloittaa luupin uudelleen, sillä lähtöaineistosta otetaan huomioon vain ne vedot, joita ei ole merkitty lähetetyiksi. Veikkauksen pdf:ssä esitettyä pelikansion tyhjennystä ei tarvita, sillä se näyttää hoituvan automatic.
En ole tutkinut monivetoa enkä vakiota, mutta luulen, että niidenkin linkeissä on siirrytty käyttämään gtid-arvoa.