Avatar billede terra Nybegynder
17. juni 2005 - 23:50 Der er 7 kommentarer og
1 løsning

Picture1.Picture = LoadPicture( via http )

Har et lite spørgsmål ang. *.gif file på WWW server:)
Picture1.Picture = LoadPicture("http://www.eksperten.dk/img/arrow-right.gif") 'Den bliver forkert

Er det andre måde for at få det til at virke?
Kan jeg 'LoadePicture' fra en server as object for at tjekke at den findst der (if exist) ved hjelp av VB?

Hilsen Terra
Avatar billede nielle Nybegynder
18. juni 2005 - 08:51 #1
Prøv noget i stil med:

Dim client AS WebClient = New WebClient()
Dim picture AS Byte() = client.DownloadData("http://www.eksperten.dk/img/arrow-right.gif")
client.Dispose()

Dim MS AS MemoryStream = new MemoryStream(picture, 0, picture.Length)
Picture1.Image = Image.FromStream(MS)

- kræver Imports af using System.IO og System.Net.
Avatar billede terra Nybegynder
18. juni 2005 - 09:11 #2
Hej nielle,
Jeg bruger VB6 <-
Avatar billede sjh Nybegynder
18. juni 2005 - 10:04 #3
'---------------------------------- Form1 ----------------------------------
Option Explicit

Private Type TGUID
        Data1 As Long
        Data2 As Integer
        Data3 As Integer
        Data4(0 To 7) As Byte
End Type

Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As TGUID, ByRef ppvRet As IPicture) As Long

Public Function LoadPicture(ByVal strFileName As String) As Picture
Dim IID  As TGUID
    With IID
        .Data1 = &H7BF80980
        .Data2 = &HBF32
        .Data3 = &H101A
        .Data4(0) = &H8B
        .Data4(1) = &HBB
        .Data4(2) = &H0
        .Data4(3) = &HAA
        .Data4(4) = &H0
        .Data4(5) = &H30
        .Data4(6) = &HC
        .Data4(7) = &HAB
    End With
On Error GoTo ERR_LINE
    OleLoadPicturePath StrPtr(strFileName), 0&, 0&, 0&, IID, LoadPicture
    Exit Function
ERR_LINE:
    Set LoadPicture = VB.LoadPicture(strFileName)
End Function

Private Sub Form_Load()
  Set Me.Picture = LoadPicture("http://www.allapi.net/images/allapi_logo.gif")
End Sub
'---------------------------------- Form1 ----------------------------------
Avatar billede nielle Nybegynder
18. juni 2005 - 10:19 #4
Sorry - VB6 - så er jeg lidt ude og gætte, men prøv noget i stil med:

Dim strStreamURL As String = "URL=http://www.eksperten.dk/img/arrow-right.gif"

Dim objRecord As Record = New Record
objRecord.Open "", strStreamURL

Dim strRecordPath As String = "C:\arrow-right.gif"
objRecord.CopyRecord "", strRecordPath, , , adCopyOverWrite

Picture1.Picture = LoadPicture(strRecordPath)

objRecord.Close
Avatar billede nielle Nybegynder
18. juni 2005 - 10:21 #5
Avatar billede terra Nybegynder
22. juni 2005 - 22:29 #6
sjh ->Tak for det, meget interessant. Hvordan kan jeg smi der:
for if "http://www.allapi.net/images/allapi_logo.gif" ikke findst (not exist) ?
Den loader formen uten ERR msg selv om *.gif filen ikke findst.
Avatar billede terra Nybegynder
22. juni 2005 - 22:35 #7
nielle -> Det nermeste jeg komer til er: 'og den blir forkert

Private Sub Form_Load()

Dim strStreamURL, strRecordPath As String
strStreamURL = "URL=http://www.eksperten.dk/img/arrow-right.gif"
strRecordPath = "C:\Amidlert\vb_test\imageLoad\arrow-right.gif"

Dim objRecord As Record
Set objRecord = New Record

objRecord.Open "", strStreamURL
objRecord.CopyRecord "", strRecordPath, , , adCopyOverWrite

Picture1.Picture = LoadPicture(strRecordPath)

objRecord.Close
End Sub
Avatar billede terra Nybegynder
22. juni 2005 - 23:24 #8
sjh-> den er OK, taker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester