שליחת וקבלת API מאקסס

אפקטיביות

משתמש צעיר
מצאתי באנשהו קטע קוד VB.NET ש(לכאורה) מיועד בדיוק למטרה זו - תקשורת API עם אסטריקס.
מישהו יכול לתרגם לי את הקטעים רלונטיים לVBA?
 

קבצים מצורפים

  • AstConManv2.zip
    KB 135.6 · צפיות: 14

moishy

משתמש סופר מקצוען
מנוי פרימיום
אכן כך זה נראה, TCP פשוט. הבעיה שאין לזה תמיכה ישירה בVBA. בדוטנט יש אפשרות פשוטה.

ראשית צריך את ההפניות האלו:
קוד:
Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Text.RegularExpressions
Imports System.Text

וכעת ע"מ ליצור חיבור:
קוד:
Dim clientSocket As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim serverEndPoint As IPEndPoint = New IPEndPoint(IPAddress.Parse("212.213.214.215"), 1234)
clientSocket.Connect(serverEndPoint)
clientSocket.Send(Encoding.ASCII.GetBytes("Action: Login"& vbCrLf&"Username: משתמש"& vbCrLf&"Secret: סיסמה"& vbCrLf&"ActionID: 1"& vbCrLf& vbCrLf))
Dim bytesRead As Integer = 0

Do Until (bytesRead <> 0)
    Dim buffer() As Byte = New Byte((1024) - 1) {}
    bytesRead = clientSocket.Receive(buffer)
    Dim response As String = Encoding.ASCII.GetString(buffer, 0, bytesRead)
    Console.WriteLine(response)
    If Regex.Match(response, "Message: Authentication accepted", RegexOptions.IgnoreCase).Success Then
        clientSocket.Send(Encoding.ASCII.GetBytes("Action: Ping"& vbCrLf&"ActionID: 2"& vbCrLf& vbCrLf))
    End If
Loop
 

אפקטיביות

משתמש צעיר
נכתב ע"י moishy;2065571:
ראשית צריך את ההפניות האלו:
קוד:
Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Text.RegularExpressions
Imports System.Text
זה נראה הפניות שכתובות ב.NET, היכן לכתוב אותם בVBA? במודול מחלקה? צריך הקדמה מסויימת?

קוד:
Console.WriteLine(response)
זה גם נראה קטע מVB.NET, נכון? איך לתרגמו לVBA?
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
זהו, שא"א לכתוב את זה בVBA.
 

957

משתמש פעיל

אולי ניתן לקרוא באקסס לממשק אחר לבצע את הפקודה
כוונתי שלא יריץ בעצמו אלא שיפעיל פקודה שהיא הפעלת פקודה בפלטפורמה אחרת שהיא תבצע את הקריאה לאסטריסק‬
 

אפקטיביות

משתמש צעיר
נכתב ע"י moishy;2065598:
זהו, שא"א לכתוב את זה בVBA.
האם תיאורטית ניתן לקמפל את הקטע קוד VB.NET שצירפתי לעיל, לDLL שאקסס יידע לקרוא?

(כלומר, האם ניתן לתת לאקסס DLL שיבצע פקודות בפלטפורמה אחרת?)
 

שמח לעזור

משתמש מקצוען
D I G I T A L
כן.
הקוד שהבאתם משתמש עם דרכים פרימיטביות מאוד.
הקוד צריך להיות מופשט וקצר בהרבה, הנה דוגמה:
קוד:
Dim command = String.Join(vbCrLf, "Action: Login", "Username: משתמש", "Secret: סיסמה", "ActionID: 1") + vbCrLf + vbCrLf

Using wc As New WebClient()
	Dim response = wc.UploadString("http://212.213.214.215:1234", command)
	If response.Contains("Message: Authentication accepted") Then
		wc.UploadString("http://212.213.214.215:1234", "Action: Ping" + vbCrLf +  "ActionID: 2" + vbCrLf + vbCrLf)
	End If
End Using
 

שמח לעזור

משתמש מקצוען
D I G I T A L
כעת ראיתי שיש באינטרנט ספריה לVBA שמנהלת יפה תקשורת http וניתוח של json
https://github.com/VBA-tools/VBA-Web

אבל עושה לי רע על הלב שבגלל זה עוד מאה מתכנתי VBA יישארו נטועים חזק על מקומם.
 

moishy

משתמש סופר מקצוען
מנוי פרימיום

אפקטיביות

משתמש צעיר
נכתב ע"י שמח לעזור;2065951:
כן.
הקוד שהבאתם משתמש עם דרכים פרימיטביות מאוד.
הקוד צריך להיות מופשט וקצר בהרבה, הנה דוגמה:
קוד:
Dim command = String.Join(vbCrLf, "Action: Login", "Username: משתמש", "Secret: סיסמה", "ActionID: 1") + vbCrLf + vbCrLf

Using wc As New WebClient()
	Dim response = wc.UploadString("http://212.213.214.215:1234", command)
	If response.Contains("Message: Authentication accepted") Then
		wc.UploadString("http://212.213.214.215:1234", "Action: Ping" + vbCrLf +  "ActionID: 2" + vbCrLf + vbCrLf)
	End If
End Using
אני שמח ששמח לעזור בא לעזרתינו..
הקוד שהבאת הוא לVBA או לVB.NET?

כעת ראיתי שיש באינטרנט ספריה לVBA שמנהלת יפה תקשורת http וניתוח של json
https://github.com/VBA-tools/VBA-Web

אבל עושה לי רע על הלב שבגלל זה עוד מאה מתכנתי VBA יישארו נטועים חזק על מקומם.
אל ירע ליבך, ואל יחשכו עיניך. ככה לומדים לגדול.
ואדרבה, תרים את הכפפה ותכוון אותי ואותנו היכן מוצאים את פריצת הדרך ללמוד תכנות אמיתי.
 

שמח לעזור

משתמש מקצוען
D I G I T A L
הקוד הוא vb.net, אלטרנטיבה לדרך הקשה בה עשו כותבי הקוד שהובא על ידך לעיל.
 

אפקטיביות

משתמש צעיר
נכתב ע"י שמח לעזור;2066121:
הקוד הוא vb.net, אלטרנטיבה לדרך הקשה בה עשו כותבי הקוד שהובא על ידך לעיל.
אפשר לנסות לתרגם אותו לVBA ע"י הספריה שמצאת לעיל?
 

chagold

משתמש צעיר
הנדסת תוכנה
אל ירע ליבך, ואל יחשכו עיניך. ככה לומדים לגדול.
ואדרבה, תרים את הכפפה ותכוון אותי ואותנו היכן מוצאים את פריצת הדרך ללמוד תכנות אמיתי.[/QUOTE]



מצ"ב מדריכים לPHP
 

קבצים מצורפים

  • תיקיה חדשה.rar
    1.4 MB · צפיות: 26

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קלג

א שִׁיר הַמַּעֲלוֹת לְדָוִד הִנֵּה מַה טּוֹב וּמַה נָּעִים שֶׁבֶת אַחִים גַּם יָחַד:ב כַּשֶּׁמֶן הַטּוֹב עַל הָרֹאשׁ יֹרֵד עַל הַזָּקָן זְקַן אַהֲרֹן שֶׁיֹּרֵד עַל פִּי מִדּוֹתָיו:ג כְּטַל חֶרְמוֹן שֶׁיֹּרֵד עַל הַרְרֵי צִיּוֹן כִּי שָׁם צִוָּה יְהוָה אֶת הַבְּרָכָה חַיִּים עַד הָעוֹלָם:
נקרא  19  פעמים

אתגר AI

חיבורים • אתגר 18

לוח מודעות

למעלה