API באקסס
-
כעת נעשה כמה שלבים ברציפות:
א. נקבע משתנה. בVB כותביםdim shem_sheba_li as string
וזה אומר שהקצנו מזהה לישות מסוג "מחרוזת תווים". המזהה הוא "shem_sheba_li" והמילה dim היא מילת מפתח שמשמעותה הצהרת מזהה חדש.
בC# כותבים בדרך אחרת:string shem_sheba_li;
בלי הצהרה אין משתנה (בשונה מאפשרות שהייתה בVBA).
אחרי שהצהרנו, אפשר להציב בו ערךshem_sheba_li = "טקסט.... ממש ממש מיוחד";
אחרי שהצבנו בו ערך ניתן להשתמש בו כערך להשמה במאפיין Title דלעיל שמקבל כערך string:
Title = shem_sheba_li;
כעת נעיז ונלמד על פונקציה. בC# אין sub (פרוצדורה) וfunction, אלא הכל אותו תחביר.
מה ההבדל בVB בין sub לfunction? ההבדל היבש הוא שfunction יכול להחזיר ערך, וsub לא.
בC# בשביל לציין פונקציה מציינים ככה:
כותרת עם א. ערך מוחזר (מספר או קטסט) ב. שם שמזהה את הפונקציה ג. סוגרים שבהם יכולים להיות 0 או יותר ארגומנטים
אחרי זה בלוק {} שבתוכו יכולות להיות כמה משפטים (שורה הנגמרת בנקודה פסיק) שעושים כל מה שרוצים, חייבת להיות בכל מקרה החזרת ערך תואם למה שהוצהר בכותרת.
דוגמא:string my_first_function() { return "הערך המוחזר"; }
כתבתי בשורה אחת לנוחות.
הפקודה return מחזירה ערך ומסיימת את הפונקציה. אחרי מגיע טקסט שזה string וזה תואם את מה שהצהרנו שmy_first_function מחזיר מחרוזת תווים (למה "מחרוזת תוים" ולא סתם טקסט? מה זה האקדמאיות הריקה הזו? עוד תלמד לראות שזה פני המציאות ולא מילים גבוהות ריקות אבל עוד חזון למועד - בתכלס תוכל להגיד טקסט).איך כותבים פרוצדורה = sub = בלוק פקודות שלא מחזיר שום ערך? אותו דבר כמו פונקציה רק במקום ערך מחזר כותבים void שמשמעותו כלום.
אז נכתוב כעת כזו פונקציה:void ktov_koteret() { Title = "טקסט זה הוצב ע\"י פונקציית void"; }
(הקו הלוכסן מבטל את המשמעות של המרכאות כסיום מחרוזת).
תוסיף את השורה האחרונה מתחת לבלוק של public MainWindow(),
ותחליף או תוסיף מתחת לשורה שכתבנו קודם (בפוסט הקודם), בשורה הזו:ktov_koteret();
תריץ ותבדוק שהכל הולך טוב. אם כן נתקדם (שאלות בשמחה, אבל רק על מה שלמדנו לא על איך לעשות או על המשך הלימוד)
נוסיף לפונקציה שלנו ארגומנטים כך שהיא תיראה ככה:void ktov_koteret(string parameter_ma_lasim_bakoteret) { Title = parameter_ma_lasim_bakoteret; }
ואת שורת הקריאה תשנה לככה:
ktov_koteret("זה כבר העברת רך כפרמטר");
שים לב שהצהרת ארגומנט דומה להצהרת פונקציה: סוג ערך שאחריו מגיע מזהה לשימוש עם הערך בגוף הפונקציה.
כעת נערבב מה שלמדנו:public MainWindow() { InitializeComponent(); string po_ani_sam_text; po_ani_sam_text = "מתי נתחיל כבר לעשות משהו עם מסדי נתונים"; shimuy_coteret_hachalon(po_ani_sam_text); } void shimuy_coteret_hachalon(string parameter_kolsheu) { Title = parameter_kolsheu; }
כעת שאלות אם יש, ו/או אישור התקדמות.
פורסם במקור בפורום CODE613 ב31/03/2017 12:03 (+03:00)
-
OK
פורסם במקור בפורום CODE613 ב31/03/2017 12:19 (+03:00)
-
האות הראשונה כן.
(כך לפי איזה ספר שאני קורא תוך כדי)
הרבה יתקן אותי אם אני טועה?פורסם במקור בפורום CODE613 ב31/03/2017 12:35 (+03:00)
-
זה המוסכמות של כתיבת משתנים בסישארפ? עם קו תחתי ואותיות קטנות?
לא, אלא אני מגוון לנוחות.
לפי המוסכמות (שמאוד מאוד עוזרות ואני אכן כותב על פי הם) הפרדה בין מילים ע"י אות גדולה, במשתנים פונקציות וכל מזהה חוץ מקבוע (ששם הכל גדול וההפרדה היא קו תחתי). בקש לאות ראשונה היא תמיד גדולה למעט משתנים מקומיים/פרטיים.
פורסם במקור בפורום CODE613 ב31/03/2017 13:16 (+03:00)
-
@מצפה לגדול
OK
מעולה! אתה הולך מצויין.
אני לא אמשיך היום בגלל שבת קודש וערבו של חג.
כנראה יום ראשון, נצלול כבר ישר לתוכנית הרצוייה לך ואז נחזור ללימוד, אז יעזור אם תתן קוים כלליים מה נחוץ לך בסיפור של הAPI.
אל תירד לרזולוציה איך זה ייעשה אלא תתמקד בחזון, למשל: "יש לי טבלה של סוגי דגים ואני רוצה שהמחשב יכתוב בטבלה אחרת על כל דג כמה פעמים הוא מופיע בים". או דוגמה מתאימה יותר לענייננו "יש לי טבלה עם שמות קבצים ואני רוצה שהמחשב יעלה כל קובץ לAPI מסויים ואז יכתוב את התוצאה בטבלה".פורסם במקור בפורום CODE613 ב31/03/2017 13:18 (+03:00)
-
תודה רבה!!
יש לי בימות המשיח מערכת שמוכרת מוצרים, ואני צריך שהיא תקריא את הנתונים.
בניתי קובץ באקסס שמוריד את הקובץ משם, ומכניס אותו לטבלה.
עכשיו הוא לכל רשומה מוציא פלט שכתוב: X הזמין Z מוצרים. ס"ה לתשלום Y.
את הפלט הזה הוא מייצא לקבצי XXX.tts (קבצי הקראה בעברית ע"י רובוט במערכות 'ימות').
את זה אני צריך להעלות לבד בFTP.אני רוצה שיהיה סקריפט שעושה את כל זה בלחיצת כפתור.
ואולי אפ' אוטומטי כל כמה דקות (ונשאיר מחשב דולק)הבעיה שבגללה אייתיתי להכא (תרתי משמע, גם לפורום, וגם לC#), שההעלאה לא עובדת.
זה אמור להראות כך:https://www.call2all.co.il/ym/api/UploadFile?token=XXXXXXXXXXXXXXXX&path=1.tts
אבל אני לא יודע איך לשים את הקובץ עצמו.
ניסיתי file=, ולא עבד.
נסיתי גם להעלות דרך תוכנה של RESET (תוסף לכרום בשם Advanced REST client), ולא עבד.יש להם טופס שמאפשר להתנסות בזה, ושם זה כן עובד.
בכתובת: https://www.call2all.co.il/ym/api_upload_test.phpושוב תודה רבה!!
פורסם במקור בפורום CODE613 ב31/03/2017 13:48 (+03:00)
-
הם לא נוצרים, יש קובץ אחד שמתעדכן בכל פעולה.
פורסם במקור בפורום CODE613 ב31/03/2017 14:33 (+03:00)
-
טוב... בזה כבר אני מבין.
זה חברה שמאפשרת תפעול חינמי של מערכת תוכן (IVR) טלפונית.
היא נפתחה לראשונה ע"י יהודי חב"די שהקים את קו "נחייג ונשמע" של חב"ד, ואח"כ הורחבה למערכות תוכן חינמיות, ומכאן השם המעניין.
רוב קווי הווצאפון וכו' שלהם.
ויש אפשרות לתכנות חלקי של המערכות.פורסם במקור בפורום CODE613 ב31/03/2017 15:03 (+03:00)
-
רק בשביל לעצבן את דוד
אני כותב דוגמא איך מבצעים את העלאה הזאת בקלות ב nodejs.const fs = require("fs"); const request = require("request"); var formData = { token: 'token', path: '1.tts', upload: fs.createReadStream('1.tts'), convertAudio: '1' }; request.post({ url:'https://www.call2all.co.il/ym/api/UploadFile' , formData: formData , json: true }, function optionalCallback(err, httpResponse, body) { if (err) { return console.error('upload failed:', err); } console.log('Upload successful! Server responded with:', body); });
פורסם במקור בפורום CODE613 ב01/04/2017 20:50 (+03:00)
-
וזה עבד לך?
(ח"ו לא לעצבן אף אחד)פורסם במקור בפורום CODE613 ב01/04/2017 21:13 (+03:00)
-
נכון. אבל למה באתי לפה, כי זה לא עובד.
https://www.call2all.co.il/ym/api/UploadFile?token=XXXXXXXXXXXXXXXX&path=1.tts&upload=Yemot
אני מנסה את זה, בדפדפן, וזה לא עובד. מישהו יודע איפה הטעות?
או: מה הפרמטר של הקובץ עצמו, ובאיזה צורה.
אם אתה רוצה טוקן, אני יכול לתת לך, השאלה איך.פורסם במקור בפורום CODE613 ב01/04/2017 21:28 (+03:00)
-
@מצפה לגדול
נכון. אבל למה באתי לפה, כי זה לא עובד.
https://www.call2all.co.il/ym/api/UploadFile?token=XXXXXXXXXXXXXXXX&path=1.tts&upload=Yemot
אני מנסה את זה, בדפדפן, וזה לא עובד. מישהו יודע איפה הטעות?
או: מה הפרמטר של הקובץ עצמו, ובאיזה צורה.
אם אתה רוצה טוקן, אני יכול לתת לך, השאלה איך.אתה משרשר בבבקשה את הגוף כפרמטרים, אבל א. השרת מצפה שהפרמטרים יהיו בPOST (גוף הבקשה ולא בURL) + פורמט ששמו multipart ב. אתה בכלל לא נותן את תוכן הקובץ רק את שמו. אין אפשרות לשרת לדלות את הקובץ שלך מהמחשב שלך.
פורסם במקור בפורום CODE613 ב01/04/2017 21:31 (+03:00)