דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. כרטיסים מגנטיים באקסס

כרטיסים מגנטיים באקסס

מתוזמן נעוץ נעול הועבר ארכיון code613m
22 פוסטים 8 כותבים 1.7k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    אבי
    כתב ב נערך לאחרונה על ידי
    #13

    אז קניתי משהו סיני והוא מוסיף תווים..
    "ף" בהתחלה (או ";" אם השיטת קלט היא אנגלית) ו"?" בסוף.

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

    פורסם במקור בפורום CODE613 ב04/02/2015 22:47 (+02:00)

    תגובה 1 תגובה אחרונה
    0
    • א מנותק
      א מנותק
      ארכיטקט
      כתב ב נערך לאחרונה על ידי
      #14

      קשה לי להאמין, אולי windows יכול לדעת, אבל התוכנה שלך בוודאי שלו (אא"כ windows יודע, ואז באמצעות API תוכל לדעת). בכ"א אתה ממילא צריך אירוע בשביל ההקלדה הזאת, אז תעשה טופס שיש בו תיבת טקסט אחת בלבד, ובה יהיה רשום "נא להעביר ברקוד".

      פורסם במקור בפורום CODE613 ב05/02/2015 16:39 (+02:00)

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

      תגובה 1 תגובה אחרונה
      0
      • א מנותק
        א מנותק
        אבי
        כתב ב נערך לאחרונה על ידי
        #15

        @ארכיטקט

        קשה לי להאמין, אולי windows יכול לדעת

        מסתבר שווינדוס יודע, כמו שהוא יודע שהמכשיר מחובר אליו, השאלה היא איך אני מגיע לזה.

        @ארכיטקט

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

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

        פורסם במקור בפורום CODE613 ב05/02/2015 16:59 (+02:00)

        תגובה 1 תגובה אחרונה
        0
        • zvinissimZ מנותק
          zvinissimZ מנותק
          zvinissim
          כתב ב נערך לאחרונה על ידי
          #16

          @אבי

          אז קניתי משהו סיני והוא מוסיף תווים..
          "ף" בהתחלה (או ";" אם השיטת קלט היא אנגלית) ו"?" בסוף.

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

          אני אחלק את התשובה שלי לכמה חלקים:

          @אבי

          מסתבר שווינדוס יודע, כמו שהוא יודע שהמכשיר מחובר אליו, השאלה היא איך אני מגיע לזה.

          בדרך כלל וינדוס יודע איזה מכשירים מחוברים אליו אך קח בחשבון שקורא כרטיסים מחושב כמקלדת כך שוונדוס יודע שזה מקלדת (הוא אינו יודע שזה קורא כרטיסים)
          הזמן שתבזבז על זה לא שווה את העבודה

          @ארכיטקט

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

          @אבי

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

          הפתרון היצירתי שאני יכול לחשוב עליו הוא:

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

          1. קודם כל תפתח Notepad במחשב ותחבר את הקורא הכרטיסים שלך למחשב.
          2. תתחיל להעביר את כל סוגי הכרטיסים שיש לך בקורא (תקבל שורות שורות של הקריאות[כרטיסי קופ"ח,אשראי,מועדון]).
            3.תראה איזה תווים הקורא מוסיף בתחילת שורה ובסוף שורה.
          3. תרשום אותם לפניך באיזהו מקום.
          4. תבנה פונקציה מתאימה להסרת תווים בתחילה ובסוף השדה (ככה גם תוכל לתחזק את הקוד לתווים נוספים שהיו בהמשך)
            (מקסימום אחי ClickOne יעזור כאן בכתיבת פונקציה מתאימה)
          5. חבר את הפונקציה לאירוע BeforeUpdate (לפני עדכון)

          @אבי

          זה טופס שכשמעבירים את הכרטיס הוא עובר לרשומה המתאימה
          כרגע צריך ללחוץ קודם על כפתור ששם אותו בפוקוס,

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

          @אבי

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

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

          נשמח אם תעלה תמונה של המסך אני יוכל לעזור לך יותר.

          טיפ!!
          אם אתה רוצה לחסוך ממך כאבי ראש עצומים תעשה את הדבר הבא:
          תשיג קורא כרטיסים שלא עושה בעיות של הוספת תוים תבדוק אותו שהכל אצלך עובד כשורה ואת הקורא הזה תמכור ללקוח שלך בצורת חומרה (כך גם תרוויח עוד משהוא) והלקוח שלך ידע שאתה גם ספק החומרה שלו בדברים האלו ואתה בטוח שהחומרה שלך עובדת כמו שצריך ללא הוספת תוים.
          כך עובדות כול החברות וקופ"ח יש להם יצרן תוכנה והוא בדרך כלל גם מספק את החומרה הקטנה הזו או שהם עובדים מול שיתוף פעולה עם יצרני חומרה ובודקים אותה מול התוכנה וממליצים ללקוח לקנות חומרה מחברה שנבדקה על ידם שהכל עובד כשורה.

          פורסם במקור בפורום CODE613 ב06/02/2015 11:29 (+02:00)

          פורום אופיס
          לכל הטיפים שלי

          תגובה 1 תגובה אחרונה
          0
          • M מנותק
            M מנותק
            magicode
            כתב ב נערך לאחרונה על ידי
            #17

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

            משהו כזה.

            Dim MagTxt As String
            
            Private Sub Master_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
              If AscW(e.KeyChar) = Keys.Enter Then
                     '' end
                        MagTxt = ""
              Else
                     MagTxt &= e.KeyChar
              End If
            
            End Sub
            

            פורסם במקור בפורום CODE613 ב07/02/2015 22:45 (+02:00)

            תגובה 1 תגובה אחרונה
            1
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              כתב ב נערך לאחרונה על ידי
              #18

              אני מציע שנתחיל בזה שנחשב ביחד למה אתה צריך לדעת אם זה הוקלד ידנית או בהעברת כרטיס.
              אתה מקבל את הנתונים שעברו בכרטיס והאירוע AfterUpdate מופעל מיד לאחר העברת הכרטיס. (כי הקורא מוסיף אנטר בסוף)
              צריך לזכור שווינדוס מתייחס לזה כמו למקלדת.

              אני חושב שאפשר לדעת כמעט בצורה מאד פשוטה אם מי שהקליד את הנתון זה הקורא או האדם.
              לקחת את הזמן בין הקלדת התו הראשון לזמן של התו האחרון. אם הוקלדו למעלה מX תווים בפרק זמן קצר, אז זה כנראה הקורא. אפשרות נוספת שיכולה להיות זה הדבקה של הנתונים. אבל אז אתה יכול לדעת מה נלחץ במקלדת ועי"ז לראות אם הייתה לחיצה של קונטרל + V או ללא לחיצה בכלל אלא ע"י קליק ימני עם העכבר.

              אני מציע שננסה לחשוב קודם למה אתה צריך בכלל לדעת איך הוקלדו הנתונים לתיבת טקסט?

              פורסם במקור בפורום CODE613 ב07/02/2015 23:37 (+02:00)

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #19

                @ClickOne

                אני מציע שננסה לחשוב קודם למה אתה צריך בכלל לדעת איך הוקלדו הנתונים לתיבת טקסט?

                מצטרף לגמרי.

                פורסם במקור בפורום CODE613 ב08/02/2015 10:31 (+02:00)

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                0
                • א מנותק
                  א מנותק
                  אבי
                  כתב ב נערך לאחרונה על ידי
                  #20

                  תודה לכולם, בואו נעשה סדר.

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

                  רציתי להוסיף שהמשתמש לא יהיה צריך ללחוץ על "העבר כרטיס" ולהעביר את הפוקוס ל X
                  אלא בכל פעם שהכרטיס עובר, התוכנה תדע שההקלדה של הקוד הגיעה מקורא הכרטיסים
                  ותעשה את הפעולה הנ"ל.

                  @mat

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

                  משהו כזה.

                  Dim MagTxt As String
                  
                  Private Sub Master_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
                    If AscW(e.KeyChar) = Keys.Enter Then
                           '' end
                              MagTxt = ""
                    Else
                           MagTxt &= e.KeyChar
                    End If
                  
                  End Sub
                  

                  מעניין לבדוק אם זה עובד...

                  @zvinisim

                  הזמן שתבזבז על זה לא שווה את העבודה

                  בשורה תחתונה זה נכון, זה גם לא כזה נחוץ, אבל אם קיימת אפשרות למה לא.

                  פורסם במקור בפורום CODE613 ב08/02/2015 12:21 (+02:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • א מנותק
                    א מנותק
                    אבי
                    כתב ב נערך לאחרונה על ידי
                    #21

                    @zvinisim

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

                    1. קודם כל תפתח Notepad במחשב ותחבר את הקורא הכרטיסים שלך למחשב.
                    2. תתחיל להעביר את כל סוגי הכרטיסים שיש לך בקורא (תקבל שורות שורות של הקריאות[כרטיסי קופ"ח,אשראי,מועדון]).
                      3.תראה איזה תווים הקורא מוסיף בתחילת שורה ובסוף שורה.
                    3. תרשום אותם לפניך באיזהו מקום.
                    4. תבנה פונקציה מתאימה להסרת תווים בתחילה ובסוף השדה (ככה גם תוכל לתחזק את הקוד לתווים נוספים שהיו בהמשך)
                      (מקסימום אחי ClickOne יעזור כאן בכתיבת פונקציה מתאימה)
                    5. חבר את הפונקציה לאירוע BeforeUpdate (לפני עדכון)

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

                    פורסם במקור בפורום CODE613 ב08/02/2015 12:32 (+02:00)

                    תגובה 1 תגובה אחרונה
                    0
                    • clickoneC מנותק
                      clickoneC מנותק
                      clickone
                      כתב ב נערך לאחרונה על ידי
                      #22

                      בטופס יש שדות נוספים לעריכה? או שהכל שדות לתצוגה בלבד?
                      אתה יכול להשתמש באירוע שMAT הביא, רק על הטופס, או לחילופין לדאוג שתמיד שדה X יהיה בפוקוס - בהנחה ואין שדות נוספים של עריכה.

                      דוגמא קלילה של הקובץ תעזור להבין יותר. 🙂

                      פורסם במקור בפורום CODE613 ב08/02/2015 20:20 (+02:00)

                      אין טסט כמו פרודקשן.

                      המייל שלי urivpn@gmail.com

                      תגובה 1 תגובה אחרונה
                      0

                      • 1
                      • 2
                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום