Witam. Chciałem napisać program, który ściągałby bazę danych z internetu i wyświetlił tę bazę. Czy jest to możliwe?

- Rejestracja:ponad 20 lat
- Ostatnio:3 dni
- Postów:1030
0
Jak najbardziej jest możliwe :D -> FAQ oraz http://4programmers.net/file.php?id=1735
Nie chciało się poszukać ??

- Rejestracja:ponad 21 lat
- Ostatnio:około 8 godzin
0
lewymati napisał(a)
dzieki. Zapomniałem poszukać. Teraz wszystko jasne. A nie wiesz czy można zrobić pasek postępu? Tzn. plik się sciąga a progressbar wskazuje ile sie ściągnęło.
mozesz uzyc komponentu httpget - dziala tylko na porcie 80 ale pokazanie progressbara jest tam dziecinnie proste :)

- Rejestracja:ponad 21 lat
- Ostatnio:ponad 6 lat
- Postów:370
0
lewymati napisał(a)
a skąd wziąć ten komponent?

- Rejestracja:ponad 20 lat
- Ostatnio:3 dni
- Postów:1030
0
lewymati napisał(a)
czy można zrobić pasek postępu?
Bardzo dobry kod Adama Boducha z progresem
uses
WinInet;
private
procedure Download(const URL: String; FileName: String);
procedure TForm1.Download(const URL: String; FileName: String);
var
Buffer : array[1..1024] of Byte; // bufor zawierający ściągnięty fragment pliku
hSession, hURL : HINTERNET;
dwRead : DWORD; // ilość odczytanych danych
dwSize : DWORD; // rozmiar pliku
F : File;
pBuf : Pointer;
dwBufLen : DWORD;
dwIndex : DWORD;
TotalRead : Integer;
begin
hSession := InternetOpen('Fast Download', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
Application.ProcessMessages;
try
{ otwarcie podanego adresu URL }
hURL := InternetOpenURL(hSession, PChar(URL), nil, 0, 0, 0);
Application.ProcessMessages;
dwBufLen := 1024;
dwIndex := 0;
GetMem(pBuf, dwBufLen);
{ pobranie informacji na temat wielkości pliku }
HttpQueryInfo(hURL, HTTP_QUERY_CONTENT_LENGTH,
pBuf, dwBufLen, dwIndex);
dwSize := StrToInt(StrPas(pBuf));
ProgressBar.Max := (dwSize div 1024);
FreeMem(pBuf, dwBufLen);
try
AssignFile(F, FileName);
try
Rewrite(F, 1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), dwRead);
BlockWrite(F, Buffer, dwRead); // zapisanie buforu do pliku
TotalRead := TotalRead + dwRead;
Application.ProcessMessages;
Label1.Caption := 'Pobrano ' + IntToStr(TotalRead div 1024) + ' kB z ' + IntToStr(dwSize div 1024) + ' kB';
ProgressBar.Position := TotalRead div 1024;
until dwRead = 0;
finally
CloseFile(F);
end;
finally
InternetCloseHandle(hSession);
end;
finally
InternetCloseHandle(hURL);
end;
Label1.caption := 'Gotowe !';
end;
//wywołanie ściągania
begin
try
begin
Label1.Caption := 'Łączenie...';
DownloadInfo('http://www.strona.pl/plik.exe',ExtractFilePath(Application.ExeName) + 'plik.exe');
end;
except
Label1.Caption := 'Błąd połączenia';
end;
end;
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.