🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.vbasic
8 messages
8 total messages Started by Jacek Wed, 20 Oct 2010 15:16
Allegro Web API.
#104706
Author: Jacek
Date: Wed, 20 Oct 2010 15:16
27 lines
1543 bytes
Witajcie.
Tak wyglada funkcja:

Public Function wsm_doQuerySysStatus(ByVal lng_sysvar As Long, ByVal
lng_country_id As Long, ByVal str_webapi_key As String, ByRef dcml_ver_key
As Double) As String
  
    On Error GoTo wsm_doQuerySysStatusTrap

    wsm_doQuerySysStatus =
sc_AllegroWebApiService.doQuerySysStatus(lng_sysvar, lng_country_id,
str_webapi_key, dcml_ver_key)

Exit Function
wsm_doQuerySysStatusTrap:
    AllegroWebApiServiceErrorHandler "wsm_doQuerySysStatus"
End Function

Wynikiem funkcji jest string.
Ale jak sie to ma do:

http://allegro.pl/webapi/documentation.php/show/id,61#method-output

Czyli funkcja zwraca 2 wartosci - string i long.
Jak sie dobrac do tych wartosci?
Str1 = wsm_doQuerySysStatus(...) Nie.
A wiec jak?
Re: Allegro Web API.
#104707
Author: Tomasz Góral
Date: Thu, 21 Oct 2010 09:10
21 lines
1605 bytes
A czytałeś co pisze w dokumentacji ?

Bo tam jest coś takiego jak :
zwracane są dwie wartości:
String i long

pierwsza String zwracana jest przez funkcję

dim info as string
dim versionKey as long

info = service.doQuerySysStatus(1, countryid , webapiKey, out
versionKey);

czyli dane są zwracane przez :
info oraz versionKey
dlatego przy versionKey jest znacznik 'out', oznacza on kierunek.

Pozdrawiam
Tomek
Re: Allegro Web API.
#104708
Author: Jacek
Date: Thu, 21 Oct 2010 11:21
48 lines
2459 bytes
Dzieki za odpowiedz.
Problem jest taki, ze w zasadzie chodzi tutaj o VBA, gdzie nie ma out.
Co prawda doszedlem juz do tego, natomiast jak sie dobrac do czegos
takiego:
http://allegro.pl/webapi/documentation.php/show/id,103#method-output

Za pomoca Office 2003 Web Services Toolkit zaiportowalem klasy z Allegro.
Jest klasa *struct_UserItemList*, a w niej:

Public it_id As Double
Public it_name As String
Public it_price As Double
Public it_buy_now_price As Double
Public it_bid_count As Long
Public it_time_left As Double
Public it_foto_count As Long
Public it_is_listing_thumb As Long
Public it_is_bold_title As Long
Public it_is_buy_now As Long
Public it_country As Long
Public it_is_escrow As Long
Public it_starting_time As Double
Public it_is_reserved_price As Long
Public it_thumb_url As String

Mamy funkcje:

Public Function *wsm_doGetUserItems*(ByVal lng_user_id As Long, ByVal
str_webapi_key As String, ByVal lng_country_id As Long, ByVal lng_offset As
Long, ByVal lng_limit As Long, ByRef lng_user_item_count As Long) As
Variant
   
    On Error GoTo wsm_doGetUserItemsTrap

    wsm_doGetUserItems =
sc_AllegroWebApiService.doGetUserItems(lng_user_id, str_webapi_key,
lng_country_id, lng_offset, lng_limit, lng_user_item_count)

Exit Function
wsm_doGetUserItemsTrap:
    AllegroWebApiServiceErrorHandler "wsm_doGetUserItems"
End Function

Funkcja zwroci tablice. Jak sie dobrac do tej tablicy?
Mam na mysli co gdzie zadeklarowac i jak to co zwroci funkcja
dodac do tabeli Akcesa.

Pozdrawiam.
Re: Allegro Web API.
#104709
Author: Tomasz Góral
Date: Thu, 21 Oct 2010 17:24
10 lines
1588 bytes
ech, jak zadajesz pytanie warto wspomnieć o który basic chodzi.

zainteresuje się Type .. End Type

ByRef - jest to poprawna konstrukcja do zwracania przez zmienną (jest
to IN i OUT)
ByVal - jest jedno kierunkowe i tylko przekazuje wartość (IN)

Pozdrawiam
Tomek
Re: Allegro Web API.
#104710
Author: Jacek
Date: Sat, 23 Oct 2010 02:54
19 lines
1539 bytes
Dnia Thu, 21 Oct 2010 10:24:51 -0700 (PDT), Tomasz Góral napisał(a):

> ech, jak zadajesz pytanie warto wspomnieć o który basic chodzi.
> 
> zainteresuje się Type .. End Type
> 
> ByRef - jest to poprawna konstrukcja do zwracania przez zmienną (jest
> to IN i OUT)
> ByVal - jest jedno kierunkowe i tylko przekazuje wartość (IN)
> 
> Pozdrawiam
> Tomek

Hej.
Kombinowalem na rozne sposoby i nie udalo mi sie podstawic do zmiennej typu
tablica wynik z w/w funkcji.
Moglbys pomoc?

Pozdrawiam.
Re: Allegro Web API.
#104711
Author: Jacek
Date: Sat, 23 Oct 2010 05:15
56 lines
2890 bytes
Dnia Thu, 21 Oct 2010 10:24:51 -0700 (PDT), Tomasz Góral napisał(a):

> ech, jak zadajesz pytanie warto wspomnieć o który basic chodzi.
> 
> zainteresuje się Type .. End Type
> 
> ByRef - jest to poprawna konstrukcja do zwracania przez zmienną (jest
> to IN i OUT)
> ByVal - jest jedno kierunkowe i tylko przekazuje wartość (IN)
> 
> Pozdrawiam
> Tomek

W zasadzie nie ma powodow, zeby na sile korzystac z VBA. Moge to zrobic w
VB.NET. Odpalilem VB.NET i nie moge dojsc, jak zadeklarowac tablice:

Public Class Form1

    Dim sesja

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        Dim al As New SR.AllegroWebApiPortTypeClient

        Dim locver As Long
        Dim hash As Integer
        Dim server_time As Long
        Dim user_id As Long
        Dim Konto As String = "konto"
        Dim Haslo As String = "haslo"
        Dim Klucz As String = "klucz"
        Dim ala As  Array(sr.UserItemList) ' ---> tutaj jest zle...
        Dim lng_offset As Long
        Dim lng_limit As Long
        Dim lng_user_item_count As Long

        al.doQuerySysStatus(locver, 1, 1, Klucz)
        sesja = al.doLogin(hash, server_time, Konto, Haslo, 1, Klucz,
locver)
        user_id = al.doGetUserID(1, Konto, "", Klucz)
        MsgBox(sesja)
        ala = al.doGetUserItems( _ '---> zwraca tablice UserItemList
            user_id, Klucz, _
            1, lng_offset, _
            lng_limit, lng_user_item_count)
    End Sub

    
End Class

Chetnie przesle Ci ten projekt z zaimportowanymi klasami Allegro Web API.
Jezeli rozwiaze ten jeden maly problem, to dalej juz sobie poradze:)
VBA nie jest konieczne, bo pomimo, ze 'glowna aplikacja' jest w Akcesie,
to moge modul komunikacji z Allegro zrobic w VB.

WindowsApplication1.SR.UserItemList
Re: Allegro Web API.
#104712
Author: Tomasz Góral
Date: Sat, 23 Oct 2010 19:15
11 lines
1874 bytes
On 23 Paź, 07:15, Jacek <a...@ola.pl> wrote:

> Chetnie przesle Ci ten projekt z zaimportowanymi klasami Allegro Web API.
> Jezeli rozwiaze ten jeden maly problem, to dalej juz sobie poradze:)
> VBA nie jest konieczne, bo pomimo, ze 'glowna aplikacja' jest w Akcesie,
> to moge modul komunikacji z Allegro zrobic w VB.

Prześlij to zobaczę co się da zrobić.

Pozdrawiam
Tomek
Re: Allegro Web API.
#104713
Author: Jacek
Date: Sun, 24 Oct 2010 04:48
25 lines
2046 bytes
Dnia Sat, 23 Oct 2010 12:15:00 -0700 (PDT), Tomasz Góral napisał(a):

> On 23 Paź, 07:15, Jacek <a...@ola.pl> wrote:
> 
>> Chetnie przesle Ci ten projekt z zaimportowanymi klasami Allegro Web API.
>> Jezeli rozwiaze ten jeden maly problem, to dalej juz sobie poradze:)
>> VBA nie jest konieczne, bo pomimo, ze 'glowna aplikacja' jest w Akcesie,
>> to moge modul komunikacji z Allegro zrobic w VB.
> 
> Prześlij to zobaczę co się da zrobić.
> 
> Pozdrawiam
> Tomek

Dzieki za zainteresowanie. Moja upartosc dala efekty i udalo sie;)
Meczylem sie z tym zapisem:

Dim Towary(100) As SR.UserItemList
Towary = al.doGetUserItems(lng_user_item_count, user_id, _
			WebKey(1), 1, lng_offset, lng_limit)

MsgBox(Towary(1).itprice) ---> o to chodzilo

Skoro juz wiem jak sie dobrac do tablicy zwracanej przez te jedna funkcje,
to powinno sie udac z cala reszta. O to co... nawyki VBA;)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads