الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أحسب العدد من كل حرف من جمله يدخلها المستخدم ..

بدأه إشراقة فجر في 17 يناير 2009 · 11 رد · 1,174 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركآته ,,

كيف أحسب عدد الحرف الوآحد من جمله يدخلها المستخدم في text

ويعرض الحرف و بجانبه عدد الحروف في list

..

أتمنى يكون سؤآلــي مفهووووم ..

و أجد المسااعدهـ اليوم لأن عندي إختبـــــــــــــآآر بكرهـ

والله حآولت ولا توصلت لنتيجه ..!!

الله يوفقكم دنيآ وآخــــــــرهـ ..

..

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#2

أنتظــــــــــر المسـآعدهـ ...

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#3

مرحباً ,

هل يمكنك كتابة جملة ما وتسطير ماتريد معرفته, بأي شكل ؟ هل تقصد قراءة الـ Utf32 للحرف ؟

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 17 يناير 2009 في 20:24

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#4

مثلاً ..

لو عندي text

و list و button

و يدخل المستخدم جمله في التكست و عند النقر ع الـ button

يطلع في الليست

الحرف و بجآنبه عدد تكرارهـ في الجمله .. ؟؟

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#5

حسناً, جرب المثال التالي :

 

[color= #000000; font-weight: bold;]Public [color= #000000; font-weight: bold;]Class Form1

 

    [color= #000000; font-weight: bold;]Private Sub Button1_Click[color= #009900;](ByVal sender [color= #b1b100;]As [color= #990000;]System[color= #339933;].Object[color= #339933;], ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handl
es Button1[color= #339933;].Click

        Dim ListOfTestedLetters [color= #b1b100;]As [color= #000000; font-weight: bold;]New [color= #990000;]List[color= #009900;](Of Char[color= #009900;])

        Dim CurrentST [color= #b1b100;]As String [color= #339933;]= TextBox1[color= #339933;].Text

        [color= #b1b100;]For [color= #990000;]Each Lt [color= #b1b100;]As Char In CurrentST

            [color= #b1b100;]If Not ListOfTestedLetters[color= #339933;].Contains[color= #009900;](Lt[color= #009900;]) Then

                ListOfTestedLetters[color= #339933;].Add[color= #009900;](Lt[color= #009900;])

                ListBox1[color= #339933;].Items[color= #339933;].Add[color= #009900;](String[color= #339933;].Format[color= #009900;]([color= #0000ff;]"Count Of Letter {0} Is {1}"[color= #339933;], Lt[color= #339933;].ToString[color= #339933;], Cur
rentST[color= #339933;].[color= #990000;]Split[color= #009900;](Lt[color= #009900;])[color= #339933;].Length [color= #339933;]- [color= #cc66cc;]1[color= #009900;])[color= #009900;])

            [color= #990000;]End [color= #b1b100;]If

        [color= #990000;]Next

    [color= #990000;]End Sub

 

[color= #990000;]End [color= #000000; font-weight: bold;]Class

إذا لم تكن تهمك حالة الأحرف, استبدل ( Dim CurrentST As String = TextBox1.Text )_

بـ ( Dim CurrentST As String = TextBox1.Text.ToLower )

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 17 يناير 2009 في 20:50

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#6

ممكن توضح لي هالسطــر ..

Dim ListOfTestedLetters As New List(Of Char)

بصرآحه أول مرهـ يمر علي هذآ الــ type

؟؟

ومشكور على الكــود مضبوط 100 %

تم تعديل هذه المشاركة بواسطة إشراقــه فجــر في 17 يناير 2009 في 21:15

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#7

الـ List هي عبارة عن قائمة, افضل استخدامها لدعمها للعملية ( Contains ) وأيضاً قمنا بتعريف تلك القائمة على شكل ( قائمة حرفية أو قائمة من نوع حرفي ) وعلى هذا الأساس تعمل الحلقة التكرارية ( For Each ) التي يتم الإعتماد على موردها اي الحرف الحالي عند كل دورة, الخطوات :

عند كل دورة :

1 - يتم التحقق ممن القائمة وشرط إكمال الإجراءات الموجودة داخل الجملة الشرطية هو ( عدم إحتواء تلك القائمة على الحرف الوارد ( الحالي ) ) .

2 - بعد التأكد من الجملة الشرطية وتحقق الشروط خاصتها, يتم إضافة الحرف الوارد لتجاهله في الدورات التالية .

3 - إضافة الحرف الوارد الى ( ListBox ) وحسب عدد تكرار ذلك الحرف باستخدام العملية Split ( نعرف أن هذه العملية تقطع النص حسب حرف, رمز معين, وكل شيء قبل ذلك وبعده يحسب من المعطيات, لذلك كان علينا طرح واحد من طول مصفوفة الكلمات المقطعة ) .

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#8

أحس صعب و فييه أشيااء وآآجد جديدهـ علي

أشرح لي هذا الكود يقوم بنفس الغرض ..


'Count occurrences of the various letters in a sentence
Dim sentence, letter As String
Dim index, charCount(25) As Integer
'Examine and tally each letter of the sentence
sentence = (txtSentence.Text).ToUpper
For letterNum As Integer = 1 To sentence.Length
letter = sentence.Substring(letterNum - 1, 1)
If (letter >= "A") And (letter <= "Z") Then
index = Asc(letter) - 65 'The ANSI value of "A" is 65
charCount(index) += 1
End If
Next
lstCount.Items.Clear()
For i As Integer = 0 To 25
letter = Chr(index + 65)
If charCount(index) > 0 Then
lstCount.Items.Add(letter & " " & _
charCount(i))
End If
Next
End Sub
Private Sub btnAnalyze_Click(...) Handles btnAnalyze.Click

تم تعديل هذه المشاركة بواسطة إشراقــه فجــر في 17 يناير 2009 في 21:47

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#9

هذه طريقة أخرى .

هذه الطريقة تشمل جميع الحروف ( أي ستعرض عدد التكرار بالنسبة لجميع الحروف اللاتينية )=( مالسوء فيها ؟, غير قادرة على جرد الحروف ( العربية, الصينية, الخ... ) ).

إذا كنت تريد شرحاً لها, أي تريد إستخدامها, أخبرني .

لكن كن على علم ( انه لا يحبذ استخدامها ) لهذا السبب ( لم أذكرها مسبقاً )=( عدم دعمها لكل أحرف اللغات الاخرى ) .

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 17 يناير 2009 في 23:22

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#10

جزآك الله خيــــــر ..

..

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#11

أختي الفاضلة

بالأضافة الي تعليقات الزملاء الأفاضل

يمكنك استخدام LINQ الكود التالي يمكن أن تضعيه في الحدث Click لأي باتون وهو سيقوم باضافة الحروف المتكرره فقط في TextBox.Text الي ListBox


If TextBox1.Text = Nothing Then Exit Sub
Dim s As String = TextBox1.Text

Dim m_chars = s.ToCharArray().GroupBy(Function(x) x).Where(Function(y) y.Count() > 1).[Select](Function(z) z.Key)

ListBox1.Items.Clear()

For Each c As String In m_chars.ToArray()
ListBox1.Items.Add(c)
Next

بالتوفيق

اخوك عمر

#12

هل هذا متوفر في جميع نسخ الـ VB, VS ؟

a_pess كتب:
GroupBy(Function(x) x).Where(Function(y) y.Count() > 1).[select](Function(z) z.Key)

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…