Stránka 1 z 3

vb6-poslat datum

Napsal: 13 dub 2013 18:22
od toonnyy
Ahoj všem
potřebuji ve VB 6 odeslat datum na stránku,konkrétně na http://www.sazka.cz/cz/loterie-a-hry/sportka/vysledky/. Potřebuji změnit datum losování a načíst výsledky. V projektu mám WebBrowser a stránku načtenou. Datum posílám:
WebBrowser1.Document.All.Item("calendar").Value = "13.4.2013" , to funguje, datum na stránce se změní. Ale ještě je potřeba vedle do pole odeslat název dne (neděle,středa), a to už mi nejde, nevím jak. Navíc, pokud takhle odešlu datum, pak neumím prvek "calendar" odkliknout, tak aby se se dle odeslaného datumu načetlo příslušné losování. Prosím nevíte někdo jak na to? Moc díky, Petr
Tady je kousek zdr. kodu stránky:

Kód: Vybrat vše

<BODY sizcache029251774049099405="9" sizset="0"><DIV id=result class=sedy-box sizcache029251774049099405="9" sizset="0">
<P class=kalendar><INPUT class=day value=pátek><INPUT id=calendar class="datepicker hasDatepicker" value=12.4.2013 jQuery17103443439916049405="3"><IMG class=ui-datepicker-trigger title="Vyberte datum slosování" alt="Vyberte datum slosování" src="/gfx/ikony/kalendar.png" jQuery17103443439916049405="8"></P>
<H2>V 15. sázkovém týdnu bylo taženo</H2>
<TABLE id=orderedList class=vylosovana-cisla sizcache029251774049099405="9" sizset="0">
<TBODY sizcache029251774049099405="8" sizset="0">
<TR sizcache029251774049099405="4" sizset="0">
<TH>1. tah</TH>
<TD>16</TD>

Re: vb6-poslat datum

Napsal: 14 dub 2013 01:03
od CZechBoY
čau,
ty potřebuješ jen natáhnout data co vyplivne ten web po kliknutí na nějakej datum v kalendáři?
Tak to je jednoduchý :-)
stačí si vytáhnout adresu (příklad)

Kód: Vybrat vše

http://hry.sazka.cz/sportka/result?date=12.4.2013

Re: vb6-poslat datum

Napsal: 14 dub 2013 11:20
od toonnyy
Ježíši!! Jak jednoduché, moc díky!! Teď ještě "vypreparovat" tažená čísla, výhry, atd., ale nevim, dělám to pomocí InStr a Mid, což asi neni to pravé ořechové, hlavně proto, že čísla pro 1. i 2. tah jsou v tagu <TD> </TD>. Tady je příklad:

Kód: Vybrat vše

<TH>1. tah</TH>
<TD>6</TD>
<TD>12</TD>
<TD>17</TD>
<TD>22</TD>
<TD>23</TD>
<TD>27</TD>
<TD class=prazdne>&nbsp;</TD>
<TD>37</TD>
<TD class=oddelovac>&nbsp;</TD>
<TH>2. tah</TH>
<TD>15</TD> atd.

Dokážu najít první výskyt <TD> a </TD> a načíst číslo mezi nima, ale co pak, pomocí For Next? Pak tam bude asi problém v řádku <TD class=prazdne>&nbsp;</TD>. Po změně datumu načítám do TextBoxu obsah stránky pomocí Text2.Text = WB1.Document.ActiveElement.OuterHtml. Četl jsem něco o parsingu, ale jen anglicky, takže z toho moudrej nejsem.
V každém případě ještě jednou moc díky s tím datumem, fakt jednoduchý, a já bych se trápil snad do smrti!!

Re: vb6-poslat datum

Napsal: 14 dub 2013 12:43
od CZechBoY
jasně, v tom #orderedList tbody tr se zjistíš všechny td a jeden po druhým si někam zapíšeš (předposlední mezera uvozuje nevim co :D tam si dáš prostě podmínku)
pak tu je .vylosovana-cisla sance-milion kde máš asi to samé

nejlepší by bylo vytáhnout celej ten prvek, který vše obsahuje a pak z něj vytáhnout ty čísla, nebo to co potřebuješ prostě...

můžeš použít regulární výrazy nebo jestli v tom webbrowseru je nějaká metoda na vyjmutí prvku pomocí ID (většinou GetElementById)

Re: vb6-poslat datum

Napsal: 14 dub 2013 13:13
od toonnyy
OK, díky CZechBoY. O těch regulárních výrazech jsem taky něco četl, pokusím se s tím poprat, díky.

Re: vb6-poslat datum

Napsal: 14 dub 2013 17:33
od CZechBoY
není problém
kdybys měl ještě s něčim problém tak zas napiš

Re: vb6-poslat datum

Napsal: 14 dub 2013 18:09
od toonnyy
No bohužel, rady si nevim. Losovaná čísla dle datumu načtu v pohodě, načítám tabulku do Excel listu (SpreadSheet) přímo ve formuláři, pak čísla načtu do text polí. Načte to ale z tabulky pouze 1 a 2 tah. Dál to nejde - čísla Šance, výhry v Kč už ne. Tady fakt nevim. Celý obsah stránky mám taky v txt poli jako zdroj, tam jsou právě ty tagy <TD> atd., a s tím fakt nevim, jak dostat z toho txt ty čísla. Do toho txt to načítám přez Inet:
Text1 = Inet1.OpenURL("http://hry.sazka.cz/sportka/result?date=13.4.2013"). Asi bych to nemusel do toho txt vůbec načítat, tady asi stačí prohledat ten kod stránky přez ten Inet a najít přímo, ale jak, to netušim. Takže zatím umim pouze tažená čísla, WebBrowser neni potřeba, načítám tu tabulku. Pak jsem v koncích. Když budeš mít chvilku čas, stačilo by mi jen nakopnout, třeba jak vyseparovat první číslo šance, ostatní bych pak už snad dal dohromady. Mám tenhle dotaz už na dvou forech asi měsíc, zatim ještě nikdo neporadil. Předem díky, toonnyy

Re: vb6-poslat datum

Napsal: 14 dub 2013 18:14
od CZechBoY
aha ty to děláš v excelu nebo VB6 jako aplikaci?
v Excelu je VBA a VB6 je trochu něco jinýho (ostatně ani jedno nemám takže bych musel sehnat)

Re: vb6-poslat datum

Napsal: 15 dub 2013 10:50
od toonnyy
Ahoj
je to aplikace ve Visual Basic 6. Na formuláři mám ale vloženu komponentu SpreadSheet (excel). Dělal jsem aplikaci o F1 - načítání výsledků závodů, info o pilotech, průbežné pořadí, a tam sem taky data načítal z tabulky na webu do toho excelu, tak jsem to použil i tady. Bohužel to ale načte jen ten 1. a 2. tah a zbytek ne, i když jde taky o tabulky.
Jestli VB6 nemáš, tak je asi blbost ho kvůli tomu instalovat. I tak moc díky za pomoc. toonnyy

Re: vb6-poslat datum

Napsal: 15 dub 2013 15:08
od CZechBoY
tak jsem to nainstaloval a zjistil, že v tom VB6 prostředí se fakt nedá nic dělat :D nechápu jak jsem to mohl přežít ve škole :D
nejlepší by bylo to udělat přes MSHTML pokud se ti to podaří nějak rozjet tak dej vědět, já na to asi kašlu, nějak se mi nedaří

Re: vb6-poslat datum

Napsal: 16 dub 2013 14:47
od toonnyy
jj, i tak moc díky. Mě je 50 let, a s ničim dalšim už začínat nebudu. I ten VB6 vlastně pořád "začínám". Nějaké stránky jsem ještě našel, tak se pokusim to dát dohromady. toonnyy

Re: vb6-poslat datum

Napsal: 16 dub 2013 14:56
od CZechBoY
můžeš zkusit eště VB.NET ten má parádní Visual Studio s našeptávačem a mnohem víc funkcema (mi přijde)
jazyk je pořád stejný, akorát trochu vylepšený
Visual Studio Express edice je zdarma takže nemusíš ani kvůli tomu platit