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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. c# | חיפוש אות שנמצאת כמה פעמים בtextbox

c# | חיפוש אות שנמצאת כמה פעמים בtextbox

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 2 כותבים 313 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • נ
    נ
    נ נח
    כתב ב נערך לאחרונה על ידי
    #1

    לצורך תוכנה לגימטריות...
    נגיד שהאות א' נמצאת 4 פעמים - אני רוצה שיחזיר למשתנה +4
    תודה רבה מאד

    dovidD תגובה 1 תגובה אחרונה
    1
    • נ נ נח

      לצורך תוכנה לגימטריות...
      נגיד שהאות א' נמצאת 4 פעמים - אני רוצה שיחזיר למשתנה +4
      תודה רבה מאד

      dovidD
      dovidD
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי
      #2
      foreach (var group in textBox1.Text.ToLookup(c => c))
      {
          Console.WriteLine($"{group.Key}: {group.Count()}");
      }
      
      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      תגובה 1 תגובה אחרונה
      4
      • נ
        נ
        נ נח
        כתב ב נערך לאחרונה על ידי נ נח
        #3

        ניסיתי לעשות שא' יהיה שווה 1, ב' = 2 וכו' עם הקוד של @dovid
        אבל כל פעם הוא לוקח רק את הערך של האות שנלחצה אחרונה (כפול מספר הפעמים שהיא מופיעה), ולא את הערך של כל האותיות
        שוב תודה

        int num = 0;
                private void textBox1_TextChanged(object sender, EventArgs e)
                {
                    foreach (var group in textBox1.Text.ToLookup(c => c))
                    {
                        if ($"{group.Key}" == "א")
                        {
                            num = group.Count();
                            textBox2.Text = num.ToString();
                        }
        
                        if ($"{group.Key}" == "ב")
                        {
                            num = group.Count() * 2;
                            textBox2.Text = num.ToString();
                        }
        
                        if ($"{group.Key}" == "ג")
                        {
                            num = group.Count() * 3;
                            textBox2.Text = num.ToString();
                        }
                    }
                }
        
        dovidD תגובה 1 תגובה אחרונה
        1
        • נ נ נח

          ניסיתי לעשות שא' יהיה שווה 1, ב' = 2 וכו' עם הקוד של @dovid
          אבל כל פעם הוא לוקח רק את הערך של האות שנלחצה אחרונה (כפול מספר הפעמים שהיא מופיעה), ולא את הערך של כל האותיות
          שוב תודה

          int num = 0;
                  private void textBox1_TextChanged(object sender, EventArgs e)
                  {
                      foreach (var group in textBox1.Text.ToLookup(c => c))
                      {
                          if ($"{group.Key}" == "א")
                          {
                              num = group.Count();
                              textBox2.Text = num.ToString();
                          }
          
                          if ($"{group.Key}" == "ב")
                          {
                              num = group.Count() * 2;
                              textBox2.Text = num.ToString();
                          }
          
                          if ($"{group.Key}" == "ג")
                          {
                              num = group.Count() * 3;
                              textBox2.Text = num.ToString();
                          }
                      }
                  }
          
          dovidD
          dovidD
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          @נ-נח אתה צריך ללמוד תכנות. לא יעזור שאני אכתוב את הקוד במקומך, נכון?
          אני יותר מרוצה לכוון אותך אבל לא יודע בדיוק איפה אתה אוחז.

          בקוד שכתבת הforeach זה לולאה, שועברת על התוצאות של textBox1.Text.ToLookup(c => c)
          התוצאות הם בעצם כלל האותיות שיש בטקסט, אבל לא יותר מפעם לאות מסויימת.
          למשל אבא, ייתן א,2 ב,1.
          בקוד שלך הצבת בלולאה ערך בnum, וככה כל "סיבוב" של הלולאה הnum מקבל ערך חדש. במקרה של אבא בסיבוב הראשון הnum יהיה א2=2, וזה ייכנס לnum, אבל אז יבוא הסיבוב השני ובמקום להוסיף הוא יציב בnum את הערך של ב1=2 ושוב ערכו יהיה רק שניים.
          לכן אתה צריך לכתוב לפני הבלוק של הforeach ניקוי של הnum כלומר num=0, ובתך הלולאה num = num + X כדי להוסיף את הערך לאט לאט ורק אחרי הבלוק של הforeach להציב את num בtextBox2.

          בקשר להשוואה $"{group.Key}" == "ב"
          ניכר שהשתדלת כמה שפחות "להרוס" בקוד ששמתי... לא צריך את המרכאות: group.Key == "ב".
          כמו"כ זה יכול להיות קוד ארוך וקשה לעריכה ולהבנה, עליך לחשוב על דרך שתקל על התרגום בין אות לערכה המספרי מאשר if ארוך ארוך.

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          נ 2 תגובות תגובה אחרונה
          5
          • dovidD dovid

            @נ-נח אתה צריך ללמוד תכנות. לא יעזור שאני אכתוב את הקוד במקומך, נכון?
            אני יותר מרוצה לכוון אותך אבל לא יודע בדיוק איפה אתה אוחז.

            בקוד שכתבת הforeach זה לולאה, שועברת על התוצאות של textBox1.Text.ToLookup(c => c)
            התוצאות הם בעצם כלל האותיות שיש בטקסט, אבל לא יותר מפעם לאות מסויימת.
            למשל אבא, ייתן א,2 ב,1.
            בקוד שלך הצבת בלולאה ערך בnum, וככה כל "סיבוב" של הלולאה הnum מקבל ערך חדש. במקרה של אבא בסיבוב הראשון הnum יהיה א2=2, וזה ייכנס לnum, אבל אז יבוא הסיבוב השני ובמקום להוסיף הוא יציב בnum את הערך של ב1=2 ושוב ערכו יהיה רק שניים.
            לכן אתה צריך לכתוב לפני הבלוק של הforeach ניקוי של הnum כלומר num=0, ובתך הלולאה num = num + X כדי להוסיף את הערך לאט לאט ורק אחרי הבלוק של הforeach להציב את num בtextBox2.

            בקשר להשוואה $"{group.Key}" == "ב"
            ניכר שהשתדלת כמה שפחות "להרוס" בקוד ששמתי... לא צריך את המרכאות: group.Key == "ב".
            כמו"כ זה יכול להיות קוד ארוך וקשה לעריכה ולהבנה, עליך לחשוב על דרך שתקל על התרגום בין אות לערכה המספרי מאשר if ארוך ארוך.

            נ
            נ
            נ נח
            כתב ב נערך לאחרונה על ידי
            #5

            @dovid אין עליך!!! עכשיו עובד!

            תגובה 1 תגובה אחרונה
            1
            • dovidD dovid

              @נ-נח אתה צריך ללמוד תכנות. לא יעזור שאני אכתוב את הקוד במקומך, נכון?
              אני יותר מרוצה לכוון אותך אבל לא יודע בדיוק איפה אתה אוחז.

              בקוד שכתבת הforeach זה לולאה, שועברת על התוצאות של textBox1.Text.ToLookup(c => c)
              התוצאות הם בעצם כלל האותיות שיש בטקסט, אבל לא יותר מפעם לאות מסויימת.
              למשל אבא, ייתן א,2 ב,1.
              בקוד שלך הצבת בלולאה ערך בnum, וככה כל "סיבוב" של הלולאה הnum מקבל ערך חדש. במקרה של אבא בסיבוב הראשון הnum יהיה א2=2, וזה ייכנס לnum, אבל אז יבוא הסיבוב השני ובמקום להוסיף הוא יציב בnum את הערך של ב1=2 ושוב ערכו יהיה רק שניים.
              לכן אתה צריך לכתוב לפני הבלוק של הforeach ניקוי של הnum כלומר num=0, ובתך הלולאה num = num + X כדי להוסיף את הערך לאט לאט ורק אחרי הבלוק של הforeach להציב את num בtextBox2.

              בקשר להשוואה $"{group.Key}" == "ב"
              ניכר שהשתדלת כמה שפחות "להרוס" בקוד ששמתי... לא צריך את המרכאות: group.Key == "ב".
              כמו"כ זה יכול להיות קוד ארוך וקשה לעריכה ולהבנה, עליך לחשוב על דרך שתקל על התרגום בין אות לערכה המספרי מאשר if ארוך ארוך.

              נ
              נ
              נ נח
              כתב ב נערך לאחרונה על ידי
              #6

              @dovid אמר בc# | חיפוש אות שנמצאת כמה פעמים בtextbox:

              בקשר להשוואה $"{group.Key}" == "ב"
              ניכר שהשתדלת כמה שפחות "להרוס" בקוד ששמתי... לא צריך את המרכאות: group.Key == "ב".

              לא עובד לי בלי המרכאות...

              @dovid אמר בc# | חיפוש אות שנמצאת כמה פעמים בtextbox:

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

              עשיתי עם סוויץ'

              switch ($"{group.Key}")
                              {
                                  case "א":
                                      num += group.Count();
                                      break;
                                  case "ב":
                                      num += group.Count() * 2;
                                      break;
                                  case "ג":
                                      num += group.Count() * 3;
                                      break;
                                  case "ד":
                                      num += group.Count() * 4;
                                      break;
                                  case "ה":
                                      num += group.Count() * 5;
                                      break;
                                  case "ו":
                                      num += group.Count() * 6;
                                      break;
                                  case "ז":
                                      num += group.Count() * 7;
                                      break;
                                  case "ח":
                                      num += group.Count() * 8;
                                      break;
                                  case "ט":
                                      num += group.Count() * 9;
                                      break;
                                  case "י":
                                      num += group.Count() * 10;
                                      break;
                                  case "כ":
                                      num += group.Count() * 20;
                                      break;
                                  case "ך":
                                      num += group.Count() * 20;
                                      break;
                                  case "ל":
                                      num += group.Count() * 30;
                                      break;
                                  case "מ":
                                      num += group.Count() * 40;
                                      break;
                                  case "ם":
                                      num += group.Count() * 40;
                                      break;
                                  case "נ":
                                      num += group.Count() * 50;
                                      break;
                                  case "ן":
                                      num += group.Count() * 50;
                                      break;
                                  case "ס":
                                      num += group.Count() * 60;
                                      break;
                                  case "ע":
                                      num += group.Count() * 70;
                                      break;
                                  case "פ":
                                      num += group.Count() * 80;
                                      break;
                                  case "ף":
                                      num += group.Count() * 80;
                                      break;
                                  case "צ":
                                      num += group.Count() * 90;
                                      break;
                                  case "ץ":
                                      num += group.Count() * 90;
                                      break;
                                  case "ק":
                                      num += group.Count() * 100;
                                      break;
                                  case "ר":
                                      num += group.Count() * 200;
                                      break;
                                  case "ש":
                                      num += group.Count() * 300;
                                      break;
                                  case "ת":
                                      num += group.Count() * 400;
                                      break;
                              }
              

              תודה ענקית!

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

              שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

              נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

              בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

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


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

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

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