Страница 1 из 1

Картинки с сайта

Добавлено: 01 Ноябрь 2013, 20:48
gopstop2007
Здравствуйте. Подскажите!
Есть сайт, как, имея ссылку изображения на сайте в таком виде 'http://aaa.com/image/cache/no_image-110x110.jpg' , показать это изображение в программе?
С уважением, Александр

Re: Картинки с сайта

Добавлено: 02 Ноябрь 2013, 3:22
Admin

Код: Выделить всё

INCLUDE('WINSOCK.INC'),ONCE

Код: Выделить всё

              Module('Windows API Functions')
                CloseLONG(LONG),BOOL,PASCAL,PROC
                CreateFile(*CSTRING,LONG,LONG,<*?>,LONG,LONG,LONG),LONG,PASCAL,RAW,NAME('CreateFileA')
                InternetAttemptConnect(LONG),LONG,PASCAL
                InternetCloseLONG(LONG), BOOL, PASCAL, PROC
                !InternetOpen(*CSTRING,LONG,<*CSTRING>,<*CSTRING>,LONG),LONG, RAW, PASCAL, NAME('InternetOpenA')
                InternetOpenURL(LONG, *CSTRING Url, <*CSTRING Headers>, LONG, LONG, LONG), LONG, RAW, PASCAL, PROC, NAME('InternetOpenUrlA')
                InternetReadFile(LONG, *?, LONG, *LONG),BOOL, RAW, PASCAL, PROC
                WriteFile(LONG,<*?>,LONG,*LONG,<*?>),BOOL,PASCAL,RAW,PROC
                MultiByteToWideChar(long CodePage, long dwFlags, long lpMultiByteStr, long cbMultiByte, |
                                    long lpWideCharStr, long cchWideCharStr),long,pascal
                WideCharToMultiByte(long CodePage, long dwFlags, long lpWideCharStr, long cchWideChar, |
                                    long lpMultiByteStr, long cbMultiByte, long lpDefaultChar, |
                                    long lpUsedDefaultChar),long,pascal
                lstrlenW(long lpWString),signed,proc,pascal
              END

Код: Выделить всё

MyClass.GetFileFromHttp   PROCEDURE(STRING RFN, STRING LFN)!,BYTE
BufferSize                EQUATE(1024)
hSession                  LONG
hUrl                      LONG
hLocal                    LONG
BufferLength              LONG
Result                    BYTE
Total                     LONG
MyUrl                     CSTRING(255)
LocalFile                 CSTRING(255)
Agent                     CSTRING('WebCopy 0.000002b')
Buffer                    GROUP
                            BYTE,DIM(BufferSize)
                          END
Dummy                     STRING(Buffersize),Over(Buffer)
  CODE
  MyUrl = CLIP(RFN)
  LocalFile = CLIP(LFN)
  hSession = InternetOpen(Agent,INTERNET_OPEN_TYPE_PRECONFIG,,,0);
  IF hSession
    hUrl = InternetOpenUrl(hSession, myUrl,,0,0,0)
    IF hUrl
      hLocal = CreateFile(LocalFile,GENERIC_READ+GENERIC_WRITE,FILE_SHARE_READ+FILE_SHARE_WRITE,,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0)
      Result = TRUE
      LOOP
        BUFFER = ALL('<0>')
        InternetReadFile(hUrl, Buffer, Buffersize, BufferLength)
        IF BufferLength <> 0 THEN
          Total += BufferLength
          IF ~WriteFile(hLocal, BUFFER, BufferLength, BufferLength)
            MESSAGE('Ошибка при записи файла!','Внимание',ICON:Hand)
            Result = FALSE
            BREAK
          END
        END
      UNTIL BufferLength = 0
      InternetCloseHandle(hUrl)
      CloseHandle(hLocal)
    ELSE
      Result = FALSE
    END
    InternetCloseHandle(hSession)
  ELSE
    Result = FALSE
    MESSAGE('Ошибка при открытии двери в интернет! :)','Внимание',ICON:Hand)
  END
  RETURN(Result)

Re: Картинки с сайта

Добавлено: 02 Ноябрь 2013, 4:58
morkovin
имея ссылку изображения на сайте в таком виде 'http://aaa.com/image/cache/no_image-110x110.jpg' , показать это изображение в программе
Используй JHTML-template от StrategyOnline.(http://www.strategyonline.co.za/shop/j-html/)

Re: Картинки с сайта

Добавлено: 02 Ноябрь 2013, 17:55
gopstop2007
morkovin писал(а):
имея ссылку изображения на сайте в таком виде 'http://aaa.com/image/cache/no_image-110x110.jpg' , показать это изображение в программе
Используй JHTML-template от StrategyOnline.(http://www.strategyonline.co.za/shop/j-html/)
Спасибо. Но для одного изображения, многовато будет :)

Re: Картинки с сайта

Добавлено: 02 Ноябрь 2013, 17:59
gopstop2007
Admin писал(а):INCLUDE('WINSOCK.INC'),ONCE ......
Спасибо, самое оно! :)