Cteni vzdaleneho souboru... – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Cteni vzdaleneho souboru... – C / C++ – Fórum – Programujte.comCteni vzdaleneho souboru... – C / C++ – Fórum – Programujte.com

 

Ivo
~ Anonymní uživatel
93 příspěvků
19. 7. 2007   #1
-
0
-

hoj.. zajima me.. jde nejak pomoci stejny funkce jakou pouzivam tady (zobrazena niz) precist TXT soubor z HTTP?
chci aby to precetlo treba z http://global.avp2.org/banlist.txt ale nikde jsem na to zadnou funkci nenasel :(
(to hht je samozrejme na JINYM serveru nez je bezici server, proste po pusteni exe aplikace si to nacte tenhle soubor primo z toho compu kde to bezi + si to nacte soubor z webu..




//load our blacklists
fh = fopen("IPBANLIST.txt", "rt");
if(fh)
{
while (fgets(szBuffer, 256, fh) != NULL)
{
if(szBuffer[0]!='*')
{
if(strlen(szBuffer)>5)
{
if(strstr(szBuffer,"-"))
GlobalBL[BLCount].BanType=RANGEIP;
else
GlobalBL[BLCount].BanType=SINGLEIP;

pszStart=szBuffer;
for(int i=0;i<3;i++)
{
pszEnd=strstr(pszStart,".");
*pszEnd='\0';
GlobalBL[BLCount].BlockLower[i]=atoi(pszStart);
pszStart=pszEnd+1;
}

if(GlobalBL[BLCount].BanType==SINGLEIP)
{
GlobalBL[BLCount].BlockLower[3]=atoi(pszStart);
}
else
{
pszEnd=strstr(pszStart,"-");
*pszEnd='\0';
GlobalBL[BLCount].BlockLower[3]=atoi(pszStart);
pszStart=pszEnd+1;
for(i=0;i<3;i++)
{
pszEnd=strstr(pszStart,".");
*pszEnd='\0';
GlobalBL[BLCount].BlockUpper[i]=atoi(pszStart);
pszStart=pszEnd+1;
}
GlobalBL[BLCount].BlockUpper[3]=atoi(pszStart);
}
BLCount++;
}
}
}
fclose(fh);
}







dekan :(

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
21. 7. 2007   #2
-
0
-

Zdravim,
co takhle použít funkce z rodiny Internet...?
Jinak jak se podařil hash exe a dll? Funguje to nebo jsou s tim pořád nějaké problémy?

Nahlásit jako SPAM
IP: ...–
survik1
~ Moderátor
0
Posthunter
21. 7. 2007   #3
-
0
-

To Ivo: nedávno jsem potřeboval zjistit, jestli existuje soubor na serveru. f-ce file_get_content vrací html souboru, takže by to mělo vrátit i txt. více v manuálu

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
Jura
~ Anonymní uživatel
637 příspěvků
21. 7. 2007   #4
-
0
-

To survik1:
Z jaké knihovny to je, pořp. jaký hlav. soubor musím includovat? Protože já našel akorát něco k PHP...

Nahlásit jako SPAM
IP: ...–
survik1
~ Moderátor
0
Posthunter
22. 7. 2007   #5
-
0
-

http://cz.php.net/manual/cs/function.file-get-contents.php

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
Jura
~ Anonymní uživatel
637 příspěvků
22. 7. 2007   #6
-
0
-

To survik1:

Njn, tak to mu bude nejspíše na prd. Tohle je sekce C/C++ ne PHP;)

Nahlásit jako SPAM
IP: ...–
survik1
~ Moderátor
0
Posthunter
22. 7. 2007   #7
-
0
-

To Jura: aha :) To jsem si nevšiml :)
Jak jsem videl odkaz http:// dal už jsem se nedíval :)

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
Ivo
~ Anonymní uživatel
93 příspěvků
22. 7. 2007   #8
-
0
-

Jura:
no na tom hshi teprv delam, je to name dost slozity sem v tom lama, ale vic me ted zajima to cteni vzdalenyho souboru.. je to exe aplikace, kdyby treba slo udelat aby si to ten txt stahlo do slozky a z ni to pak cetlo?

vlastne se to cte pri inicializaci programu.. tak by se tam dalo nejaky sleep nez si ten program stahne ten soubor do svoji slozky a pak by to pokracovalo normalne dal..

jenze nevim jak ten soubor natahnout :'(

Nahlásit jako SPAM
IP: ...–
sn3d0
Věrný člen
23. 7. 2007   #9
-
0
-

To IVO: poradim ti na to genialnu kniznicu. CURL lib.. je portovana aj na windows takze nieje problem a pouzitie je fakt easy.. Okrem toho mozes pouzit ako HTTP FTP tak aj cez Sec. Layer ala HTTPS FTPS.. ;)

Tu mas pekny priklad toho ako si napisat fopen fread atd.. aby to makalo z URLkou. http://curl.haxx.se/lxr/source/docs/examples/fopen.c

good luck ;)

Nahlásit jako SPAM
IP: ...–
shutdown -h now
Jura
~ Anonymní uživatel
637 příspěvků
24. 7. 2007   #10
-
0
-

To Ivo:
Tak pro co ses rozhodl(CURL, nebo InternetOpen, InternetOpenUrl, InternetReadFile) a jak jsi uspěl?

Nahlásit jako SPAM
IP: ...–
Ivo
~ Anonymní uživatel
93 příspěvků
25. 7. 2007   #11
-
0
-

zatim nijak.. vubec tomuhle nerozumim, to uz je name moc moc pokrocile.. kamarad mi poslal funkci co to dokaze.. ale ona to je je na ty adrese jen vypise, musim to predelat aby to ulozila do txt.

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
25. 7. 2007   #12
-
0
-

Ivo píše:#
# zatim nijak.. vubec tomuhle nerozumim, to uz je name moc moc pokrocile.. kamarad mi poslal funkci co to dokaze.. ale ona to je je na ty adrese jen vypise, musim to predelat aby to ulozila do txt.



Nechápu. Co znamená ...je je na ty adrese jen vypise..?
Jinak tady máš příklad na použítí funkcí z rodiny Internet(Je to sice Pascal, ale pochopit to není problém).
http://www.cryer.co.uk/brian/delphi/wininet/example_download_file_http.htm
Ale nezkoušel jsem to.

Nahlásit jako SPAM
IP: ...–
iVO
~ Anonymní uživatel
93 příspěvků
10. 8. 2007   #13
-
0
-

To Jura:
No tak prome to bohuzel problem je :) pascal vubec neznam, takze prakticky nejsem schopnej si funkci napsanou pro pascal "prepsat" pro VS6

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
12. 8. 2007   #14
-
0
-

Netestoval jsem to. Snad tam není moc chyb.



BOOL DownloadFile(LPCTSTR lpUrl, LPCTSTR lpDestFileName, LPCTSTR lpAppName = TEXT("My App"))
{ HINTERNET hInet = INVALID_HANDLE_VALUE;
HINTERNET hFile = INVALID_HANDLE_VALUE;
HANDLE hLocalFile = INVALID_HANDLE_VALUE;
int nError = ERROR_SUCCESS;
if( nError == ERROR_SUCCESS )
{ hInet = InternetOpen(lpAppName,INTERNET_OPEN_TYPE_PRECONFIG,0,0,0);
if( hInet == INVALID_HANDLE_VALUE ) nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ hFile = InternetOpenURL(hInet,lpUrl,0,0,0,0);
if(hFile == INVALID_HANDLE_VALUE) nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ hLocalFile = CreateFile(lpFileName, GENERIC_WRITE, 0,
0, CREATE_ALWAYS, 0, 0);
if( hLocalFile== INVALID_HANDLE_VALUE )
nError = GetLastError();
}

if( nError == ERORR_SUCCESS )
{ DWORD dwBytesRead = 0;
BYTE buffer[1024];
while( dwBytesRead = InternetReadFile(hFile,buffer, sizeof(buffer), &dwBytesRead) )
WriteFile(hLocalFile, buffer, dwBytesRead, &dwBytesRead, 0);
}


if( hLocalFile )
CloseHandle(hLocalFile);
if( hFile != INVALID_HANDLE_VALUE )
InternetCloseHandle(hFile);
if( hInet != INVALID_HANDLE_VALUE )
InternetCloseHandle(hInet);
return (BOOL) nError == ERROR_SUCCESS;
}

Nahlásit jako SPAM
IP: ...–
ivo
~ Anonymní uživatel
93 příspěvků
14. 8. 2007   #15
-
0
-

LOL:


ompiling...
ServerApp.cpp
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2065: 'HINTERNET' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2146: syntax error : missing ';' before identifier 'hInet'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2065: 'hInet' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2440: '=' : cannot convert from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(22) : error C2146: syntax error : missing ';' before identifier 'hFile'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(22) : error C2065: 'hFile' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(22) : error C2440: '=' : cannot convert from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(26) : error C2065: 'InternetOpen' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(26) : error C2065: 'INTERNET_OPEN_TYPE_PRECONFIG' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(27) : error C2446: '==' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(27) : error C2040: '==' : 'int' differs in levels of indirection from 'void *'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(31) : error C2065: 'InternetOpenURL' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(32) : error C2446: '==' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(32) : error C2040: '==' : 'int' differs in levels of indirection from 'void *'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(36) : error C2065: 'lpFileName' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(42) : error C2065: 'ERORR_SUCCESS' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(45) : error C2065: 'InternetReadFile' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(52) : error C2446: '!=' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(52) : error C2040: '!=' : 'int' differs in levels of indirection from 'void *'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(53) : error C2065: 'InternetCloseHandle' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(54) : error C2446: '!=' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(54) : error C2040: '!=' : 'int' differs in levels of indirection from 'void *'
ServerDlg.cpp
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2065: 'HINTERNET' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2146: syntax error : missing ';' before identifier 'hInet'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2065: 'hInet' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(21) : error C2440: '=' : cannot convert from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(22) : error C2146: syntax error : missing ';' before identifier 'hFile'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(22) : error C2065: 'hFile' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(22) : error C2440: '=' : cannot convert from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(26) : error C2065: 'InternetOpen' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(26) : error C2065: 'INTERNET_OPEN_TYPE_PRECONFIG' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(27) : error C2446: '==' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(27) : error C2040: '==' : 'int' differs in levels of indirection from 'void *'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(31) : error C2065: 'InternetOpenURL' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(32) : error C2446: '==' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(32) : error C2040: '==' : 'int' differs in levels of indirection from 'void *'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(36) : error C2065: 'lpFileName' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(42) : error C2065: 'ERORR_SUCCESS' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(45) : error C2065: 'InternetReadFile' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(52) : error C2446: '!=' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(52) : error C2040: '!=' : 'int' differs in levels of indirection from 'void *'
C:\proj\AVP2\AVP2Serv\ServerDlg.h(53) : error C2065: 'InternetCloseHandle' : undeclared identifier
C:\proj\AVP2\AVP2Serv\ServerDlg.h(54) : error C2446: '!=' : no conversion from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\proj\AVP2\AVP2Serv\ServerDlg.h(54) : error C2040: '!=' : 'int' differs in levels of indirection from 'void *'
C:\proj\AVP2\AVP2Serv\ServerDlg.cpp(162) : error C2275: 'LPCTSTR' : illegal use of this type as an expression
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winnt.h(196) : see declaration of 'LPCTSTR'
C:\proj\AVP2\AVP2Serv\ServerDlg.cpp(162) : error C2146: syntax error : missing ')' before identifier 'global'
C:\proj\AVP2\AVP2Serv\ServerDlg.cpp(162) : error C2059: syntax error : ')'
Generating Code...
Error executing cl.exe.

RommieAvP2Serv.exe - 47 error(s), 0 warning(s)




jenom malinko :D

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
14. 8. 2007   #16
-
0
-

To ivo:
Nutíš mě spouštět IDE.



#include <windows.h>
#include <wininet.h>
#include <tchar.h>

#ifdef _MSC_VER
#pragma comment(lib, "wininet.lib")
#endif

BOOL DownloadFile(LPCTSTR lpUrl, LPCTSTR lpFileName, LPCTSTR lpAppName = TEXT("My App"))
{ HINTERNET hInet = INVALID_HANDLE_VALUE;
HINTERNET hFile = INVALID_HANDLE_VALUE;
HANDLE hLocalFile = INVALID_HANDLE_VALUE;
int nError = ERROR_SUCCESS;
if( nError == ERROR_SUCCESS )
{ hInet = InternetOpen(lpAppName,INTERNET_OPEN_TYPE_PRECONFIG,0,0,0);
if( hInet == INVALID_HANDLE_VALUE ) nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ hFile = InternetOpenUrl(hInet,lpUrl,0,0,0,0);
if(hFile == INVALID_HANDLE_VALUE) nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ hLocalFile = CreateFile(lpFileName, GENERIC_WRITE, 0,
0, CREATE_ALWAYS, 0, 0);
if( hLocalFile== INVALID_HANDLE_VALUE )
nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ DWORD dwBytesRead = 0;
BYTE buffer[1024];
while( dwBytesRead = InternetReadFile(hFile,buffer, sizeof(buffer), &dwBytesRead) )
WriteFile(hLocalFile, buffer, dwBytesRead, &dwBytesRead, 0);
}

if( hLocalFile )
CloseHandle(hLocalFile);
if( hFile != INVALID_HANDLE_VALUE )
InternetCloseHandle(hFile);
if( hInet != INVALID_HANDLE_VALUE )
InternetCloseHandle(hInet);
return (BOOL) nError == ERROR_SUCCESS;
}

Zkompilovat to jde, ale ni jsem nezkoušel stahovat, tak nevím jestli funguje.

Nahlásit jako SPAM
IP: ...–
Ivo
~ Anonymní uživatel
93 příspěvků
14. 8. 2007   #17
-
0
-

kompilace : OK
pusteni porgramu: OK

ALE nic se nestahlo a soubor se nevytvoril.

Nahlásit jako SPAM
IP: ...–
Ivo
~ Anonymní uživatel
93 příspěvků
14. 8. 2007   #18
-
0
-

Oprava nbeco se stalo :D na C:\ mi to udelalo soubor GLOBALBANLIST.txt o 40MB plnej jenom


************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************
************************************************************************************************************

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
14. 8. 2007   #19
-
0
-

Tak to neporadím, sry.Zkus ten CURL, co psal sn3d. Je tam příklad tak, snad bude fungovat.

Nahlásit jako SPAM
IP: ...–
Ivo
~ Anonymní uživatel
93 příspěvků
14. 8. 2007   #20
-
0
-

Nacte to z toho vzdalenyho asouboru jenom prvni symbol.. a ten to nacina do nekonecna.. kdyz jsem tam dal textak vekterym bylo treba



Ahoj




tak mi to udelalo 50 mb soubor se samim

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
... :(

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
14. 8. 2007   #21
-
0
-

Aha, no tak bude spatne ten cyklus, to je zase ta pascalovska logika. Kdyztak se to pokus opravit. Popis k funkci InternetReadFile najdeš na msdn. ale melo by to vypadat,a si nejak takto:
do{
InternetReadFile(..)
WriteFile(...)
}while(dwBytesRead);
Ale je pozde, tak za nic nerucim..

Nahlásit jako SPAM
IP: ...–
Ivo
~ Anonymní uživatel
93 příspěvků
15. 8. 2007   #22
-
0
-

Nakonec pomohl pritel na DC++:




//GLOBALBAN//
#include <windows.h>
#include <wininet.h>
#include <tchar.h>

#ifdef _MSC_VER
#pragma comment(lib, "wininet.lib")
#endif

BOOL DownloadFile(LPCTSTR lpUrl, LPCTSTR lpFileName, LPCTSTR lpAppName = TEXT("My App"))
{ HINTERNET hInet = INVALID_HANDLE_VALUE;
HINTERNET hFile = INVALID_HANDLE_VALUE;
HANDLE hLocalFile = INVALID_HANDLE_VALUE;
int nError = ERROR_SUCCESS;
if( nError == ERROR_SUCCESS )
{ hInet = InternetOpen(lpAppName,INTERNET_OPEN_TYPE_PRECONFIG,0,0,0);
if( hInet == INVALID_HANDLE_VALUE ) nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ hFile = InternetOpenUrl(hInet,lpUrl,0,0,0,0);
if(hFile == INVALID_HANDLE_VALUE) nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ hLocalFile = CreateFile(lpFileName, GENERIC_WRITE, 0,
0, CREATE_ALWAYS, 0, 0);
if( hLocalFile== INVALID_HANDLE_VALUE )
nError = GetLastError();
}

if( nError == ERROR_SUCCESS )
{ DWORD dwBytesRead = 0;
BYTE buffer[1024];
while( InternetReadFile(hFile,buffer, sizeof(buffer), &dwBytesRead)==true && dwBytesRead != 0 )
WriteFile(hLocalFile, buffer, dwBytesRead, &dwBytesRead, 0);
}


if( hLocalFile )
CloseHandle(hLocalFile);
if( hFile != INVALID_HANDLE_VALUE )
InternetCloseHandle(hFile);
if( hInet != INVALID_HANDLE_VALUE )
InternetCloseHandle(hInet);
return (BOOL) nError == ERROR_SUCCESS;
}
//GLOBALBAN//






pomoci:

DownloadFile("http://global.avp2.org/banlist.txt", "\GLOBALBAN.txt");



a uz to fici :)


diky vsem za pomoc.

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
15. 8. 2007   #23
-
0
-

To Ivo:
Njn, asi z nás jako jediný umí číst msdn:D :
...To ensure all data is retrieved, an application must continue to call the InternetReadFile function until the function returns TRUE and the lpdwNumberOfBytesRead parameter equals zero...

Nahlásit jako SPAM
IP: ...–
Ivo
~ Anonymní uživatel
93 příspěvků
15. 8. 2007   #24
-
0
-

:D :D vypada to tak :D :D

takze ted se s chuti , no spis s nechuti, muzzu venovat pokusum do modu pridat tcp/ip abych mohl zjistopvat IP klientu.

:)

Nahlásit jako SPAM
IP: ...–
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, 38 hostů

Podobná vlákna

Cteni souboru — založil marek321

čtení ze souboru — založil Jakub Vojáček

Cteni ze souboru — založil Mory

Cteni souboru. — založil ewzen

Čtení souboru ve VB — založil hansk

Moderátoři diskuze

 

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