Hallo iedereen,
Ik ben een klantensysteempje aan het maken en daarbij kan ik ook het bijbehorend apparaat toevoegen.
Voorbeeld:
Naam: Marnix ICT
Apparaat: Acer Aspire 7741
adres, telefoon, email e.d.
Nu wil ik dat een code ervoor gaat zorgen dat er gegoogled word op Acer Aspire 7741, en het eerste plaatje in een picturebox plaatst. Hoe gaat dat?
Met vriendelijke groet,
Marnix
Kijk hier eens naar: http://www.codeproject.com/Articles/...e-Image-Search
Dat is C#, kan ik niet zoveel uit halen. Het programmatje van die site werkt overigens niet bij mij (kan geen resultaten vinden).
http://www.marnixict.nl/helpmij/Goog...ch_API_src.zip
Edit:
VB accepteert 'm wel als reference zoals op de pagina word gezegd, ik ga het nu verder uitzoeken.
Edit2:
Krijg 'm niet aan de praat, blijft hangen op "Image Search API Could not load Regex file." exception wat ook door iemand anders word opgemerkt (scroll naar beneden).
Laatst aangepast door MarnixICT : 29 juli 2012 om 20:41
Met vriendelijke groet,
Marnix
Ja precies, maar ik moet via een manier de afbeeldings-URL van het eerste resultaat zien te krijgen.
Laatst aangepast door huijb : 31 juli 2012 om 17:32
Met vriendelijke groet,
Marnix
Zo heb deze functie even in elkaar gezet:
Code:Imports System.Net Imports System.IOCode:Function GetImageUrl(ByVal search_str As String) Dim inStream As StreamReader Dim webRequest As WebRequest Dim webresponse As WebResponse webRequest = webRequest.Create(" https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=" & search_str) webresponse = webRequest.GetResponse() inStream = New StreamReader(webresponse.GetResponseStream()) Dim str As String = inStream.ReadToEnd() str = str.Split(",")(6) Return str.Split("""")(3) End Function
Laatst aangepast door stefanz : 31 juli 2012 om 17:34
Stefanz,
Bedankt voor je code, werkt super!
Is er ook de mogelijkheid om het plaatje, dat nu in een webbrowser staat, te resizen naar bijvoorbeeld 200x160?
Edit:
Heb 'm geresized. Project is binnenkort klaar.
Laatst aangepast door MarnixICT : 1 augustus 2012 om 14:17
Met vriendelijke groet,
Marnix
Dat lukt niet met een webbrowser control maar wel met een picturebox
Waarom gebruik je eigenlijk een webbrowser control?
Laatst aangepast door stefanz : 1 augustus 2012 om 14:18
Uhmm omdat ik er nu pas achter kom dat een picturebox ook remote URL's kan gebruiken
En het is wel gelukt met een webbrowser, maar dat kost veel regels.
Laatst aangepast door MarnixICT : 1 augustus 2012 om 14:53
Met vriendelijke groet,
Marnix
Idd het is nogal omslachtig omdat met een webbrowser te doen en vast ook veel trager
Ik doe het nu met een picturebox. Jammer dat de image niet geladen word al valt de picturebox buiten de size van het form.. :S
Met vriendelijke groet,
Marnix
Stel het form is 1000 pixels breed en de picturebox staat op een locatie van 1100 (buiten het form). Zodra het plaatje geladen is, schuift het scherm uit zodat je de plaatjes ziet. Als er bijvoorbeeld een fout is opgetreden, of geen resultaten zijn gevonden, schuift het scherm niet uit.
De image word in dit geval niet geladen omdat het buiten het zicht valt van de gebruiker, probeer maar eens de een ander plaatje te pakken bij een picturebox die buiten een form valt en voeg deze code in:
Code:Private Sub Picturebox1_LoadCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles Picturebox1.LoadCompleted msgbox("Geladen") End Sub
Laatst aangepast door MarnixICT : 1 augustus 2012 om 16:24
Met vriendelijke groet,
Marnix
Aha oke ik snap je probleem maar waarom wil je dit?
Laatst aangepast door stefanz : 1 augustus 2012 om 16:31
Ben een beetje aan het hobbyen met vb+sql. Ik ben bezig met een reparatiesysteem waar je klanten kunt aanmaken en apparaten kunt linken aan klanten
klant1 heeft bijvoorbeeld een acer laptop. Zo kan je bij de klantgegevens alle reparaties van klant1 bekijken, ongeacht welk apparaat.
Als je naar het apparaatoverzicht (acer laptop) van de klant gaat, zie je daar alle reparaties aan dat apparaat. Dan zoekt de api 2 plaatjes op van het merk en type.
![]()
Met vriendelijke groet,
Marnix
Oke ziet er goed uit maar waarom wil je de pictureboxen buiten je form laden?
Ik zou ze gewoon in het form zelf laden en dan eerst zo iets er in plaatsen:
loading.gif
Laatst aangepast door stefanz : 1 augustus 2012 om 17:48
Bedankt voor het plaatje, maar zodra het merk en type onbekend is, vul ik een ? in. Zodra "?" in het veld voorkomt, word er niet naar plaatjes gezocht omdat er hele andere resultaten op kunnen komen.
Code:If Not Merkentype_Result.Text.Contains("?") Then getImage = New Thread(AddressOf GetImageUrl) getImage.IsBackground = True getImage.Start(Merkentype_Result.Text) End If
Met vriendelijke groet,
Marnix
Dan zet je deze er in
600px-No_image_available.svg.png
Met vriendelijke groet,
Marnix