קיים API מוכן לבדיקה האם עכשיו שבת או חג?
או צריך לחשבן לבד לפי השקיעה?

איש ימיני
-
קיים API מוכן לבדיקה האם עכשיו שבת או חג? -
עזרה בקטע קוד C++@OdedDvir
הקוד עובד די טוב, אבל יש קטע מוזר שהמקטע האחרון חוזר על עצמו.
זה הקוד הסופי כרגע:while(http.connected() && (len > 0 || len == -1)) { // get available data size size_t size = stream->available(); if(size) { // read up to 128 byte int c = stream->readBytes(buff, ((size > sizeof(buff)) ? sizeof(buff) : size)); // write it to Serial Serial.write(buff, c); doSomething((char *)buff, c); // decrease length if(len > 0) { len -= c; } } delay(1); } void doSomething(char * segment, int size) { result += segment; } Serial.println(result);
בעת שאני מדפיס את התוצאה
Serial.println(result);
נראה שהמקטע האחרון של ה 128 ביטים חוזר על עצמו.
אבל אני יכול לשים תו סיום ולהסתדר.
תודה בכל אופן. -
עזרה בקטע קוד C++@OdedDvir כתב בעזרה בקטע קוד C++:
@yossiz לכאורה אפשר לוותר על זה לגמרי, אבל אז צריך לשלוח גם את הגודל של המערך (כי אין null char בסוף)
// cast into char array and send it to other function doSomething((char *)buff, c); ... void doSomething(char * segment, int size) { // do your thing }
הפתרון הזה עובד טוב מאוד.
עזרת לי מאוד.
תודה רבה. -
עזרה בקטע קוד C++@OdedDvir כתב בעזרה בקטע קוד C++:
@איש-ימיני buffer הוא אוגר. כאשר המידע מועבר בצורה לא רציפה, משתמשים ב-buffer כדי לקרוא את המידע בחתיכות.
לגבי היישום, תבדוק את הקטע האחרון שצירפתי. בפונקציה doSomething אתה יכול ליישם איזו לוגיקה שאתה רוצה.
למשל, בהנחה שיש לך משתנה מחרוזת גלובלי בשם result, אתה יכול להוסיף את המקטע למחרוזת:void doSomething(String segment) { result += segment; }
ניסיתי.
result נשאר ריק. -
עזרה בקטע קוד C++@yossiz כתב בעזרה בקטע קוד C++:
@איש-ימיני
היה כדאי שהיית מציין שמדובר בארדואינו ולא ++C רגילאני לא מכיר ++C ולכן לא חשבתי שזה שונה.
הקוד שהבאת עובר בלולאה על התשובה מהשרת ובכל פעם שולף 128 בייטים ומדפיס אותם.
כדי לאסוף את התשובה המלאה למשתנה, תצטרך אחד מהשניים:- או להקצות מראש buffer בגודל של התשובה, ובכל איטרציה של הלולאה להעתיק לשם את המידע שמתקבל (אבל כדי ליישם את זה תצטרך לדעת מראש את גודל התשובה)
- או להשתמש ב-buffer בגודל דינאמי (לא יודע אם יש כזה דבר בקלות בארדואינו)
כפי שכתבתי יש לי חוסר ידע בסיסי ב ++C.
אני אפילו לא יודע מה זה buffer, ואיך עובדים איתו, אני מכיר משתנים ומערכים מ phpו VBA.
הייתי רוצה משהו כזה:String test = ""; test += Serial.write(buff, c);
אבל בפועל זה עושה מה שאני רוצה, במקום הטקסט של התשובה אני מקבל מספרים לא ברורים.
וסליחה על הבורות. -
עזרה בקטע קוד C++לצורך פרוייקט מסוים אני עובד על קוד שכתוב ב C++
אני כמעט לא מכיר את השפה.
אני מכיר php ו VBA ולכן אני כן מסתדר איכשהו..
נתקעתי בקטע שאני שולח בקשת POST לשרת ומקבל תשובה, את התשובה אני רוצה להכניס למשתנה סטרינג, ואני לא מצליח.זה קטע הקוד שמקבל את התשובה ומדפיס את התשובה בIDE.
// get lenght of document (is -1 when Server sends no Content-Length header) int len = http.getSize(); // create buffer for read uint8_t buff[128] = { 0 }; // get tcp stream WiFiClient * stream = http.getStreamPtr(); Serial.println(); // read all data from server while(http.connected() && (len > 0 || len == -1)) { // get available data size size_t size = stream->available(); if(size) { // read up to 128 byte int c = stream->readBytes(buff, ((size > sizeof(buff)) ? sizeof(buff) : size)); // write it to Serial Serial.write(buff, c); if(len > 0) { len -= c; } } delay(1); }
כאן נתקעתי בגלל חוסר הידע שלי ב C++.
אני לא מבין כלל מה הקטע קוד הזה עושה.
אני רוצה לשלוף את הטקסט למשתנה רגיל ואז להמשיך לבצע פעולות.
אך אני לא מצליח.הקטע:
Serial.write(buff, c);
מדפיס את הנתונים ל IDE.
אני רוצה לקבל את זה למשתנה לדוגמה:String test = "TEXT";
-
ייעוץ | מכשיר מקשים פשוט לסליקת אשראי בנדרים פלוס -
ייעוץ | מכשיר מקשים פשוט לסליקת אשראי בנדרים פלוס@צבי-ש
קו לא יעזור.
אני צריך תחליף לטבלט שעל הקיר, לבתי כנסת שאינם רוצים טבלט.
אני צריך מכשיר שיכול לקבל נתונים ושולח לשרת ומקבל תשובה.
מספיק לי גם מכשיר ללא קורא כרטיסים, מספיק שיהיה אפשרות להקיש את מספר האשראי.
העיקר שיהיה מכשיר מקשים פשוט על הקיר, שאינו טבלט, עם מסך קטן - לא מגע, לסליקת אשראי לחשבון בנדרים פלוס. -
ייעוץ | מכשיר מקשים פשוט לסליקת אשראי בנדרים פלוסקיבלתי מכמה כיוונים בקשות למכשיר מקשים לסליקת אשראי שיוכל לסלוק לקופה בנדרים פלוס.
הדרישה היא שהמכשיר לא יהיה טבלט, רק מכשיר אשראי פשוט עם מקשים, ללא מסך מגע.חשבתי לנסות להשיג מכשיר שקורא כרטיסי אשראי ושולח את הנתונים לשרת פרטי, ומשם אני אשלח את פרטי החיוב ל API של נדרים פלוס ולשלוח חזרה למכשיר סליקה האם התשלום עבר או לא.
(ואולי אפילו לתת אפשרות להדליק מזגנים בצורה כזאת)מישהו מכיר מכשיר שאוכל לנסות להתחיל לעבוד עליו?
או האם מישהו יכול לתת לי כיון איך לנסות להתקדם? -
ווינדוס לא נכנס לחשבון משתמש אחרי שינוי קובץ termsrv.dll@חוקר
שנים החלפתי את הקובץ בכל עדכון.
את הקובץ המעודכן לקחתי מכאן.
כהיום אני משתמש בתוכנה שכבר הובאה כאן, אך מקישור אחר. (המקור אינו מעודכן לגרסאות החדשות)@שמואל4 כתב ב[ווינדוס לא נכנס לחשבון משתמש אחרי שינוי קובץ termsrv.dll]
היא משנה את הקובץ
בדקתי והקובץ לא משתנה כלל.
אולי התוכנה משנה את הקובץ בזיכרון ראם.@חוקר כתב ב[ווינדוס לא נכנס לחשבון משתמש אחרי שינוי קובץ termsrv.dll]
כי בעבר נכתב שיש אנטי ווירוסים שמזהים את זה כווירוס
הדפנדר מזהה את התוכנה כווירוס.
גם הכרום עושה בעיות עם ההורדה.
ESET אינו מזהה את התוכנה כווירוס. -
מהם הכתובות IP של ימות המשיח?תגובה: ימות המשיח הוסיפו כתובות אייפי?
יש למישהו את רשימת הכתובות IP העדכני ?
-
קבצי קול בעברית חינם -
עזרה במציאת תוכנת קיוסק מתאימהאני צריך תוכנת קיוסק למחשב בבית כנסת.
כרגע יש שם רק קול הלשון.
אני צריך לאפשר גישה גם לקובץ אקסס.
ניסיתי להשתמש עם הקיוסק של סייפר אך זה לא נותן לאקסס להקפיץ טפסים.
מישהו מכיר תוכנת קיוסק שנותן מענה לזה? -
צילום תמונה לאקסס@ארי
אני משתמש במצלמה מובנית.
תנסה לשנות את הקוד של @OdedDvir
להלן השינויים בחלק הראשון של הקוד:'UX_WebCam : A WebCam API Class. By OdedDvir Option Compare Database Option Explicit Const WS_CHILD As Long = &H40000000 Const WS_VISIBLE As Long = &H10000000 Const WM_USER As Long = &H400 Const WM_CAP_START As Long = WM_USER Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP_START + 10 Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP_START + 11 Const WM_CAP_EDIT_COPY As Long = WM_CAP_START + 30 Const WM_CAP_SET_PREVIEW As Long = WM_CAP_START + 50 Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP_START + 52 Const WM_CAP_DLG_VIDEOFORMAT As Long = WM_CAP_START + 41 Const WM_CAP_FILE_SAVEDIB As Long = WM_CAP_START + 25 Const WM_CAP_GRAB_FRAME As Long = WM_CAP_START + 60 Private Declare Function apiCapCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" _ (ByVal lpszWindowName As String, ByVal dwStyle As Long, _ ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, _ ByVal nHeight As Long, ByVal hwndParent As Long, _ ByVal nID As Long) As Long Private Declare Function apiSendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByRef lParam As Any) As Long Private Declare Function apiGetFocus Lib "user32" Alias "GetFocus" () As Long Private hCap As Long Public Sub OpenWebCam(targethWnd As Long, Optional width = 640, Optional height = 480) hCap = apiCapCreateCaptureWindow("Capture Window", WS_CHILD Or WS_VISIBLE, 0, 0, width, height, targethWnd, 0) If hCap = 0 Then Exit Sub apiSendMessage hCap, WM_CAP_DRIVER_CONNECT, 0, 0 apiSendMessage hCap, WM_CAP_SET_PREVIEWRATE, 66, 0& apiSendMessage hCap, WM_CAP_SET_PREVIEW, CLng(True), 0& End Sub Public Sub TakeSnapshotToFile(fileName As String) apiSendMessage hCap, WM_CAP_GRAB_FRAME, 0, 0 apiSendMessage hCap, WM_CAP_SET_PREVIEW, CLng(False), 0& apiSendMessage hCap, WM_CAP_FILE_SAVEDIB, 0&, ByVal CStr(fileName) apiSendMessage hCap, WM_CAP_SET_PREVIEW, CLng(True), 0& End Sub Public Sub OpenVideoFormatDialog() apiSendMessage hCap, WM_CAP_DLG_VIDEOFORMAT, 0&, 0& End Sub Public Sub CaptureToClipboard() apiSendMessage hCap, WM_CAP_GRAB_FRAME, 0, 0 apiSendMessage hCap, WM_CAP_SET_PREVIEW, CLng(False), 0& apiSendMessage hCap, WM_CAP_EDIT_COPY, 0, 0 apiSendMessage hCap, WM_CAP_SET_PREVIEW, CLng(True), 0& End Sub Public Sub CloseWebCam() apiSendMessage hCap, WM_CAP_DRIVER_DISCONNECT, 0&, 0& End Sub
אני מקווה שזה כל השינויים.
אם עדיין לא עובד נצטרך להמתין ל @OdedDvir עצמו. -
צילום תמונה לאקסס@ארי
יש שינויים בין 64 ל 32.
נסה עם קובץ זה:-צילום-תמונה-לאקסס.accdb
אמור לעבוד גם על 64 וגם על 32
אני מקווה שאין עוד שינויים שצריך לעשות
זה מה שעשיתי:#If Win64 And VBA7 Then Private Declare PtrSafe Function capCreateCaptureWindow _ Lib "avicap32.dll" Alias "capCreateCaptureWindowA" _ (ByVal lpszWindowName As String, ByVal dwStyle As Long _ , ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long _ , ByVal nHeight As Long, ByVal hwndParent As LongPtr _ , ByVal nID As Long) As Long Private Declare PtrSafe Function SendMessage Lib "user32" _ Alias "SendMessageA" (ByVal hWnd As LongPtr, ByVal wMsg As Long _ , ByVal wParam As Long, ByRef lParam As Any) As Long Dim hCap As LongPtr #Else Private Declare Function capCreateCaptureWindow _ Lib "avicap32.dll" Alias "capCreateCaptureWindowA" _ (ByVal lpszWindowName As String, ByVal dwStyle As Long _ , ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long _ , ByVal nHeight As Long, ByVal hwndParent As Long _ , ByVal nID As Long) As Long Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long _ , ByVal wParam As Long, ByRef lParam As Any) As Long Dim hCap As Long #End If
-
צילום תמונה לאקסס@ארי אופיס 2019 64 סיביות.
-
צילום תמונה לאקסס@ארי
נראה שזה בעיה אצלך.
גם הקובץ דוגמה שלך עובד אצלי.
זה מדליק את המצלמה ומראה את זה באקסס. -
הדלקת נורה אם הדלת נעולה@אורח-פורח
אני צריך שזה יופעל רק בעת נעילת הדלת, לא בכל סגירה.
אני צריך משהו בתוך חור המנעול.אנסה לבדוק עם מה ש @ליבל הציע.
-
יצירת קובץ מסב -
הדלקת נורה אם הדלת נעולהאני צריך על כמה חדרים לדעת האם החדר נעול.
חשבתי על רעיון של לחצן בתוך המשקוף שנלחץ ע"י לשונית הדלת בעת הנעילה.
ניסיתי לחפש אם יש כזה דבר מוכן לקניה ולא מצאתי.
יש למישהו רעיון איך לבצע את זה?(מנעול רגיל כמו של שירותים [אדום ירוק] לא טוב בשבילי - אני צריך שזה יהיה בצורה של הדלקת נורה, כי אני אמור לדעת אם זה נעול בעת שאני נמצע בקומה אחרת בבניין)