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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 2 כותבים 225 צפיות 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
              • dovidD dovid העביר נושא זה מ-תכנות ב-
              תגובה
              • תגובה כנושא
              התחברו כדי לפרסם תגובה
              • מהישן לחדש
              • מהחדש לישן
              • הכי הרבה הצבעות


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

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

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