توانایی خواندن کلمه فارسی.....

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • hamid_rm

    • 2015/02/28
    • 40

    [حل شده] توانایی خواندن کلمه فارسی.....

    با سلام به دوستان عزیز
    من یک مشکلی دارم با فهمیدن کلمه "خارجی" در VB. میخوام در یک کد IF شرطم این باشه که اگر مقدار TextBox مخالف "خارجی" بود فلان دستور رو اجرا کن. اما هرجور که شده امتحان کردم به هیچ شکلی این کلمه رو نمیفهمه. بازم میره تو شرط.
    لطفاً بفرمایید با این کلمه خارجی چی کار کنم.
  • shamsololama

    • 2010/02/15
    • 940

    #2
    با درود فراوان
    این کلمه خارجی به ی آخرش توجه کن چون ی که در تکست باکس می نویسی و ی که در کلمه خارجی هست با هم فرق میکنه در نتیجه این دو کلمه با هم شبیه نیستند و شرط با مشکل مواجه میشه یکی از ی ها فارسی و یکی عربی هست این دو تا ی اگر در تکست باکس و کلمه خارجی شبیه به هم بنویسی درست عمل میکنه

    یه را حل هم اینه که این کلمه خارجی رو در یک لیبل یا یک سل بنویسی و این لیبل یا سل را در شرط بکار ببری تا کلمه خارجی مستقیم در شرط نوشته نشه

    if Textbox1.text=Label1.caption then
    ---------------------------------------------------------------------------------------------------
    بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
    shamsololama@yahoo.com
    09177733411

    کامنت

    • hamid_rm

      • 2015/02/28
      • 40

      #3
      دوست گرامی ممنون از پاسخ سریعتون.
      من قبلاً یک بار یک TXTbox ایجاد کردم و اون تو "خارجی" نوشتم اما باز هم کار نکرد مثل همین لیبل که شما فرمودید. اینجوری هم کار نکرد. فونت سلول رو هم "Arial" کردم اما بازم نفهمید. الآن توسط txtlength که از Ptoperty های Txtbox هست، تونستم تا حدی این مشکل رو کنترل کنم اونم به این شکل که اگر طول TXT مساوی 5 بود شرط رو اجرا نمیکنه. کلمه "خارجی" 5 کاراکتر هست.
      اما هروقت از قبل قبل یا بعدش یک کاراکتر خالی باشه ( Space ) این کلک عمل نمیکنه و لازم میشه که کلمه خارجی رو بشناسه. که نمیشناسه.......
      راستی من علامت نامساوی رو در شرط، طبق روال قدیما به این شکل "<>" مینویسم. در ماکروی اکسل هم همینطوری مینویسید دیگه ؟؟
      Last edited by hamid_rm; 2016/01/30, 17:46.

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام

        ماکرو ذیل را تست بفرمایید
        در تکست باکس موجود در صورت تایپ کلمه "خارجی" یا "خارجي" توسط ماکرو قابل تشخیص میباشد

        کد PHP:
        Sub test()

        If 
        UserForm1.TextBox1.Value ChrW(1582) & ChrW(1575) & ChrW(1585) & ChrW(1580_
        ChrW(1740) Or UserForm1.TextBox1.Value ChrW(1582) & ChrW(1575) & ChrW(1585) & ChrW(1580) & ChrW(1610Then

        MsgBox 
        "ok"

        End If

        End Sub 
        فایل های پیوست شده
        Last edited by iranweld; 2016/01/30, 21:42.

        کامنت

        • shamsololama

          • 2010/02/15
          • 940

          #5
          نوشته اصلی توسط hamid_rm
          دوست گرامی ممنون از پاسخ سریعتون.
          من قبلاً یک بار یک TXTbox ایجاد کردم و اون تو "خارجی" نوشتم اما باز هم کار نکرد مثل همین لیبل که شما فرمودید. اینجوری هم کار نکرد. فونت سلول رو هم "Arial" کردم اما بازم نفهمید. الآن توسط txtlength که از Ptoperty های Txtbox هست، تونستم تا حدی این مشکل رو کنترل کنم اونم به این شکل که اگر طول TXT مساوی 5 بود شرط رو اجرا نمیکنه. کلمه "خارجی" 5 کاراکتر هست.
          اما هروقت از قبل قبل یا بعدش یک کاراکتر خالی باشه ( Space ) این کلک عمل نمیکنه و لازم میشه که کلمه خارجی رو بشناسه. که نمیشناسه.......
          راستی من علامت نامساوی رو در شرط، طبق روال قدیما به این شکل "<>" مینویسم. در ماکروی اکسل هم همینطوری مینویسید دیگه ؟؟

          با درود فراوان

          برای نامساوی بله به همین صورت هست و در مورد خارجی قبل و یا بعد اگر اسپیس خوره باشه با تابع تریم می تونی آن رو حذف کنی ولی راه حل دقیق تر همین راه حلی هست که دوست خوبم با تابع Chew برات نوشته یا به همین ترتیب تو شرط با or هردو کلمه خارجی و
          خارجي را جزء شرط قرار بده
          کد PHP:
          if Textbox1.text="خارجی" or Textbox1.text="خارجي" Then 
          ---------------------------------------------------------------------------------------------------
          بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
          shamsololama@yahoo.com
          09177733411

          کامنت

          • hamid_rm

            • 2015/02/28
            • 40

            #6
            ممنون دوستان
            جناب Iranweld عزیز این کد اسکی رو هم دیروز از همین سایت ( البته به شکل دیگری بود) پیدا کردم ولی بازم جواب نداد. فعلاً با Trim کلمه خارجی و طول حروف مشکل روتحت کنترل درآوردم.
            الآن نمیدونم چرا توی یکی از شیتهام که داره اطلاعات توی اونها ذخیره میشه یکیشون فونت اعداد فارسیه اما توی شیت یک اعداد انگلیسیه. چطور اینو درست کنم؟ البته در هر دوی اونها این کد رو نوشتمها ... اما یکیش جواب میده یکیش نمیده.
            sheet1.Columns.Font.Name = "B_nazanin"
            فکر کردم شاید بخاطر اینه من نمیتونم ستون مورد نظر رو بهش معرفی کنم.

            کامنت

            چند لحظه..