Jak ziskat udaj z internetu ? – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak ziskat udaj z internetu ? – Delphi – Fórum – Programujte.comJak ziskat udaj z internetu ? – Delphi – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
dyžon0
Stálý člen
14. 6. 2012   #1
-
0
-

Cao,

Mam aplikaci, a potřeboval bych vzdy pri jejim startu dastat do Label1 informaci z internetu.

A to konkretne aktualni kurs Eura v Ge Money Bank, nebo alespon  treba z techto stranek z ČNB.  http://www.penize.cz/kurzy-men/6596-euro ,ale muze to byt i z jinych uprednostnuji prvne GE,protoze tam mam ucet, pokud to nepujde,tak potom ČNB

procedure TForm1.FormCreate(Sender: TObject);
begin

  Label1.Caption :=   ...... ??  co sem zapsat, aby to z netu zapsalo aktualni udaj  .... + ' Kč / Euro ';

end;

dikec za pomoc.

Nahlásit jako SPAM
IP: 89.102.38.–
dyžon0
Stálý člen
17. 6. 2012   #2
-
0
-

#1 dyžon

Nikdo nevi, nebo to vubec nejde ..

Koukal jsem se do zdrojaku ruznych stranek,myslel jsem, ze je ta hodnota zapsana v nejake promenne a staci ji precis a zapsat, ale vsude je zapsana jako text., coz je asi problem.

Nahlásit jako SPAM
IP: 89.102.38.–
Ovrscout
~ Anonymní uživatel
113 příspěvků
25. 6. 2012   #3
-
0
-

#2 dyžon
Pokud na to nemaji nějaké oficiální rozhraní(jakože o tom dost pochybuju) nezbude ti než stránku načíst jako text a poté najít co potřebuješ, nej jednoduší asi pomocí regularního vyrazu. Každopádně to nejspíše bude fungovat jen dokud stranky moc nezmění.(záleží jak to udeláš a jak moc se stránky případně změní).

Nezapomeň také na to že takovéto vytahování dat z webu není ůplně legalní pokud k tomu nemáš svolení(navíc to mají i explicitně napsané v patičce stránky).
Tak pozor abys tvrďě nenarazil, obzvlášť pokud tu aplikaci plánuješ dávat dál(a takové kauzy už tu byly)

Nahlásit jako SPAM
IP: 78.80.163.–
Chrasty
~ Redaktor
+4
Posthunter
25. 6. 2012   #4
-
0
-

#2 dyžon, #3 Ovrscout

Zrovna v případě kurzů měn je situace ideální:) ČNB má přímo na svých stránkách .txt soubor, kde jsou každý den aktuální kurzy - http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt

Stačí ho jen stáhnout a každý řádek rozdělit podle znaku | a máš vyhráno.

V případě jiných stránek to je tak, jak řekl Ovrscout - musel bys ji stáhnout a rozparsovat HTML.

Nahlásit jako SPAM
IP: 193.179.196.–
dyžon0
Stálý člen
29. 6. 2012   #5
-
0
-

jj, diky oboum, to je presne to,co jsem potreboval vedet.

proceduru na stazeni souboru jsem napsal, teda uprimne, nasel jsem ji na netu a v odborne literature,kterou jsem si poctive koupil, ale mam problem jak vytahnout z toho .txt jen tu jednu cast co potrebuji.

Precetl jsem spoustu clanku,ale nikde jsem nenasel to co potrebuji.

text ve stazenym souboru se mi ulozil takhle:  .... 

predpokladam, ze se struktura textu nebude menit a ze ta cast, kterou potrebuji vytahnout (cervenej obdelnik)
bude vzdycky na stejny pozici. Datum na zacatku je 10ti znakej, takze ani tam nebude zadna zmena.

Urcite by to slo i rozdelit podle delice " | " a pak najit retezec "EUR" a vepsat prvnich 5 nebo 6 znaku za nim a delicem,

to by byla asi i lepsi varianta. Chtel bych to vepsat do Label .....  Label.Caption := (kurz) ;

Pomuzete mi prosim jeste napsat tuhle procedurku ???

dekuji predem.

Nahlásit jako SPAM
IP: 89.102.38.–
KIIV
~ Moderátor
+43
God of flame
29. 6. 2012   #6
-
0
-

#5 dyžon
jen pro zajimavost, jsou tam unixovy konce radku... windows notepad to samozrejme nezvlada, ale kazdy kurz je veskutecnosti na jedne radce ne takhle scukly vse najednou

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
dyžon0
Stálý člen
29. 6. 2012   #7
-
0
-

jj, mas pravdu, ve WordPadu uz to vypada jinak ... a pomohl by jsi mi s tim prosim ???

Nahlásit jako SPAM
IP: 89.102.38.–
dyžon0
Stálý člen
29. 6. 2012   #8
-
0
-

poradi prosim nekdo, ..  nebo napiste link, kde se tenhle problem resi ..

Nahlásit jako SPAM
IP: 89.102.38.–
Sniper
~ Anonymní uživatel
215 příspěvků
29. 6. 2012   #9
-
0
-

No, když už máš ten soubor stažený, tak si ho načti (já nevim, třeba do stringlistu), najdi si řádek co potřebuješ, ten si rozděl, a z toho si vyber sloupec dle potřeby. Nezdá se mi, že by to bylo nějak složité. Píšeš "mám aplikaci", tak předpokládám, že něco tak triviálního už zvládneš.
A nebo přiznej barvu a rovnou řekni, že chceš, aby to někdo udělal za tebe.

Nahlásit jako SPAM
IP: 90.179.201.–
dyžon0
Stálý člen
30. 6. 2012   #10
-
0
-

#9 Sniper

Uz jsem to tady kdesi psal, ...
Jsem v delphi zacatecnik a hlavne samouk...  k uceni pouzivam litraturu,co jsem sehnal a koupil, a spoustu clanku  na netu.
presneji receno se vetsinou z jiz napsanych kodu snazim pochopit princip a kdyz se zadari, tak je upravuji pro svuj projekt.

Neni to zadna zazracna a nijak slozita aplikace,jde o jednoduchou evidenci, do ktere se snazim zasadit spoustu zajimavych veci ktery me napadaji a to jen proto,abych se je naucil.

Nikdo mi nic nevysvetluje, nechodim do skoly, uz makam, a neplatim si ani zadnej kurz.
Jsem proste samouk, naucil jsem se sam v detstvi programovat BASIC na Didactiku (pred 24mi roky jsem dokonce v basicu udelal svoji hru podobnou pacmanovi) pred par lety jsem se sam naucil programovat www stranky vcetne vytvareni vlastniho designu ve photoshopu,protoze muj kamarad jedny potreboval a kdyz mi pohrbil otce, tak jsem se do toho pustil a vytvoril je .. ( http://www.pohrebniustav-kamenictvi.cz   )--nejsou jeste cely, protoze sam nevi jak co chce--, a podobne .. 

Nechci se rozhodne nijak chlubit, jen vysvetluji svuj postoj.

Proto jsem rad za kazdou pomoc.
Kazdopadne dekuju za radu, zkusim si o stringlistu neco najit,...nacist soubor do nej nebude problem, snad bude nekde nejaky info jak z nej vytahnout urcitou cast,

Nahlásit jako SPAM
IP: 89.102.38.–
Řešení
Sniper
~ Anonymní uživatel
215 příspěvků
30. 6. 2012   #11
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

Ok ok ok, stačí říct že tak daleko nejsi a potřebuješ to v příkladech, já taky nejsem žádnej guru, a učim se sám (jen z internetu, bez knížek). Takže příklad jak bych to udělal já (tedy udělal bych to jinak, tohle je nejzákladnější přístup, bylo by vhodný např jako parametr funkce předat název souboru, případně to načítat ze streamu, atd.):

Function GetEURExchRate: String;
var
  MainList: TStringList;
  i, Index: Integer;
begin
try
MainList := TStringList.Create;
try
  MainList.LoadFromFile('denni_kurz.txt');
  MainList.Text := UTF8ToAnsi(MainList.Text);
  Index := -1;
  For i := 0 to (MainList.Count - 1) do
    If AnsiContainsStr(MainList.Strings[i],'EMU') then
      begin
        Index := i;
        Break;
      end;
  If Index >= 0 then
    begin
      MainList.Delimiter := '|';
      MainList.DelimitedText := MainList.Strings[Index];
      Result := MainList.Strings[4];
    end;
finally
  MainList.Free;
end;
except
  Result := '';
end;
end;

Je to psaný v D7 personal, nevim jak se to bude chovat v novějších delphi (kvůli unicode).

Nahlásit jako SPAM
IP: 90.179.201.–
dyžon0
Stálý člen
30. 6. 2012   #12
-
0
-

dikec,to je super  ..  jen jeste doplnim,ze se musi do Uses pridat jednotka --  StrUtils   ....

ale nevim, kde je ted ten udaj co potrebuju.

 kdyz napisu:

Label1.Caption:= MainList.Strings[4];   tak se nic nestane ..

Nahlásit jako SPAM
IP: 89.102.38.–
Sniper
~ Anonymní uživatel
215 příspěvků
30. 6. 2012   #13
-
0
-

Jo, to je kvůli AnsiContainsStr, pokud to budeš dávat do vlastní unity tak bude třeba přidat i Classes (pro TStringList).

Nahlásit jako SPAM
IP: 90.179.201.–
dyžon0
Stálý člen
30. 6. 2012   #14
-
0
-

Poradi mi prosim nekdo, jak mam z toho kodu,co napsal Sniper vytahnout ty cisla,ktery potrebuju ..

myslel jsem ze to bude v nejake promenne, kterou jen vypisu do Mema, nebo Labelu,ale nevim si s tim rady ..

poradte prosim, at to muzu uz uzavrit ..  diky.

Nahlásit jako SPAM
IP: 89.102.38.–
dyžon0
Stálý člen
30. 6. 2012   #15
-
0
-

Takze to je vsechno, ..  ???

Uz nikdo neporadi ??  myslel jsem ze tohle forum je hlavne o tom podelit se o zkusenosti s tema, co je nemaji ...,

Nahlásit jako SPAM
IP: 89.102.38.–
Sniper
~ Anonymní uživatel
215 příspěvků
30. 6. 2012   #16
-
+1
-
Zajímavé

 

Label1.Caption := GetEURExchRate + ' Kč / Euro ';
Nahlásit jako SPAM
IP: 90.179.201.–
dyžon0
Stálý člen
1. 7. 2012   #17
-
0
-

   proste lama no, ...  kazdopadne jsem se zase neco naucil, ...

diky moc ...

Nahlásit jako SPAM
IP: 89.102.38.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

Jak ziskat checkboxy — založil Gibon

Jak získat praxi a učit se v IT — založil Radek Hlaváček

Jak získat počet týdnů v roce — založil ingiraxo

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý