Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Delphi β ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π² ΠΠΎΡΠΊΠ²Π΅
ΠΠ°ΡΠ°: 2022-01-20
ΠΠ΅ΡΠ°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
ΠΠΎΡΠΊΠ²Π°
ΠΠ°Π½ΡΡΠΎΡΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
2022-01-20
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΠ. ΠΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Ρ ΡΠ°ΠΉΡΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΡΡ ΡΠ°ΠΉΡ “ΠΡΡΡΡΠΎΡΠΊΠΈ“. ΠΠ° Π½ΡΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²Π°ΡΠ΅. ΠΡΠΎΡΡΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ Ρ
ΠΎΡΠ΅Ρ - ΠΏΠΈΡΠ΅Ρ, ΡΡΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΌΠ°Π³Π°Π·ΠΈΠ½. ΠΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π·Π°ΠΏΡΠΎΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π΄Π»Ρ WinInet, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. function page_code(nom_page: string): string; var hInet, hCon, hReq: HINTERNET; Status, StatusSize, Index: DWORD; bytes, b, posit: Cardinal; ResponseString: AnsiString; begin URL := 'api/v1/products/'+nom_page+'/'; hInet := InternetOpen('My Agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); if not Assigned(hInet) then raise Exception.Create('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ InternetOpen' + sLineBreak + SysErrorMessage(GetLastError)); try hCon := InternetConnect(hInet, PAnsiChar(Domen), INTERNET_DEFAULT_HTTPS_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0); if not Assigned(hCon) then raise Exception.Create('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ InternetConnect' + sLineBreak + SysErrorMessage(GetLastError)); try hReq := HttpOpenRequest(hCon, 'GET', PAnsiChar(URL), HTTP_VERSION, nil, nil, INTERNET_FLAG_SECURE or INTERNET_FLAG_KEEP_CONNECTION or INTERNET_FLAG_RELOAD, 0); if not Assigned(hReq) then raise Exception.Create('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ HttpOpenRequest' + sLineBreak + SysErrorMessage(GetLastError)); try HttpSendRequest(hReq,'', 0, nil, 0); StatusSize := SizeOf(Status); Index := 0; HttpQueryInfo(hReq, HTTP_QUERY_FLAG_NUMBER or HTTP_QUERY_STATUS_CODE, @Status, StatusSize, Index); if Status <> HTTP_STATUS_OK then raise Exception.Create('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ HttpSendRequest' + sLineBreak + 'Π‘ΡΠ°ΡΡΡ: ' + IntToStr(Status) + sLineBreak + SysErrorMessage(GetLastError)); posit := 1; b := 1; ResponseString := ''; while b > 0 do begin if not InternetQueryDataAvailable( hReq, bytes, 0, 0 ) then raise Exception.Create('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ InternetQueryDataAvailable' + sLineBreak + SysErrorMessage(GetLastError)); SetLength( ResponseString, Length(ResponseString) + bytes ); InternetReadFile( hReq, @ResponseString[Posit], bytes, b ); Inc(Posit, b); end; finally InternetCloseHandle(hReq); end; finally InternetCloseHandle(hCon); end; finally InternetCloseHandle(hInet); end; result:=Utf8ToAnsi(ResponseString) end;.
ΠΠΎΡ
ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Delphi
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΊΠΎΠ΄Π΅.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-04-16
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Delphi
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅Π³ΡΠ»ΠΈΡΡΡΡΠΈΡ
ΠΊΠ»Π°ΠΏΠ°Π½ΠΎΠ². Π‘Π΄Π΅Π»Π°Π½ΠΎ Π½Π° Delphi. ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΊΠ»Π°ΠΏΠ°Π½ΠΎΠ² ΡΠ΅Π³ΡΠ»ΠΈΡΡΡΡΠΈΡ
. Π‘Π΄Π΅Π»Π°Π½Π° Π½Π° Delphi. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΠΈΠ»Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ
ΡΠΎΡΠΌ (ΡΡΠΊΠΈΠ·ΠΎΠ² ΠΊΠ»Π°ΠΏΠ°Π½ΠΎΠ² Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ) ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅Π΄ΡΠΈΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈΠ· xl ΡΠ°ΠΉΠ»Π° Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π’Π Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ°.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-04-15
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Delphi
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΠ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ Π½ΡΠ»Ρ. ΠΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ Π±Π°Π·Π΅ Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ Π² Excell. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ, Π±Π°Π·Π° ΡΡΠ°Π»Π° ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ. ΠΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π° Delphi ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄ ΠΠ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ°Π΄Π°ΡΠ° ΡΠ°ΠΊΠ°Ρ: ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΡΡΠΎ-Π±Ρ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈ Π²ΡΠ³ΡΡΠΆΠ°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌ. Π§ΡΠΎ-Π±Ρ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° ΠΏΠΎ Π½Π°ΡΠ°Π»Ρ ΡΠ»ΠΎΠ²Π°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΡΠΌΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-04-11