نمایش نتایج 1 تا 10 از 10

نام تاپیک: تشخیص فارسی یا انگلیسی بودن کلمه

  1. #1
    کاربر دائمی آواتار oYaMaa
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    258

    تشخیص فارسی یا انگلیسی بودن کلمه

    سلام
    دوستان راهی هست تا برنامه متوجه فارسی یا انگلیسی بودن کلمه بشه؟
    دقت کنید میخوام متوجه زبان کلمه بشه نه زبان ویندوز یا کیبورد...
    ممنون!


  2. #2
    کاربر دائمی آواتار hamid-nic
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    اصفهان
    پست
    813

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    سلام
    یکی از راه های تشخیص این است که باید کد اسکی حروف را بررسی کنید تا متوجه بشید . چون حروف در زبان انگلیسی یا فارسی کد های اسکی مختلفی دارند .

  3. #3
    کاربر دائمی آواتار oYaMaa
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    258

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    نقل قول نوشته شده توسط hamid-nic مشاهده تاپیک
    سلام
    یکی از راه های تشخیص این است که باید کد اسکی حروف را بررسی کنید تا متوجه بشید . چون حروف در زبان انگلیسی یا فارسی کد های اسکی مختلفی دارند .
    یکم راهنمایی میکنید؟
    کد اسکی چی هست؟!

  4. #4
    کاربر دائمی آواتار abolfazl-z
    تاریخ عضویت
    دی 1390
    محل زندگی
    فکر
    پست
    1,056

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    سلام دوست عزیز
    بعضی از شئ ها در ویژوال بیسیک دارای رویداد هستند مثل فرم - کمند و ...

    که دو تا از این رویداد ها رویداد KeyDown و KeyPress . که به کمک اینها میتونی کد کلید زده شده را بیابی:
      If KeyCode >= 65 And KeyCode <= 90 Then

    MsgBox "Horoofe English" & Chr(KeyCode)
    ' mitoooneee intoree ham benaveseee
    ':
    'If KeyCode = vbKeyA Then
    End If
    If KeyCode >= 95 And KeyCode <= 105 Then
    MsgBox "Horoofe English" & Chr(KeyCode)
    ' mitoooneee intoree ham benaveseee
    ':
    'If KeyCode = vbKeyNumpad0 Then = yaneee click 0 zade shode
    End If
    End Sub

    ثابت ها:

    کلید های A تا Z
    کد اسکی : 65-90
    ثابت: VbKeyA-VbKey

    اعداد 0 تا 9
    کد اسکی: 95-105
    ثابت: VbkeyNumpad0-VbKeyNumpad9
    و بقیه کلید ها را هم میتونی اینتوری بنویسی:
    VbKeyNameKey
    مثلا: VbKeyF5
    VbKeyTab
    برای Enter باید اینتوریی بنویسی:
    VbKeyReturn
    برای کپس لوک :
    VbKeyCapital
    برای کلید Esc :
    VbKeyEscap
    و...
    منظور از ثابت اینکه میتونی بجای عدد از حروف یا همان ثابت اش استفاده کنی (کلید های Ctrl+Space بزن بهت کمک می کنه)
    البته با دو تابع زیر میتونی همه را بدست بیاری:
    (0-255)Chr === (این تابع کد اسکی رو میگیره و کاراکترو نشان میده)
    (کاراکتر مورد نظر)Asc ===(این تابع کاراکتر را میگیره و کد اسکی اش را نشان میده)
    خوب با یک حلقه For میتونی همه را پیدا کنی.(حروف فارسی رو هم پیدا کن)
    البته من اینکار رو کردم:

    Chr: Chr:   Asc: 1


    Chr: Asc: 2
    Chr: Asc: 3
    Chr: Asc: 4
    Chr: Asc: 5
    Chr: Asc: 6
    Chr: Asc: 7
    Chr: Asc: 8
    Chr: Asc: 9
    Chr:
    Asc: 10
    Chr: Asc: 11
    Chr: Asc: 12
    Chr:
    Asc: 13
    Chr: Asc: 14
    Chr: Asc: 15
    Chr: Asc: 16
    Chr: Asc: 17
    Chr: Asc: 18
    Chr: Asc: 19
    Chr: Asc: 20
    Chr: Asc: 21
    Chr: Asc: 22
    Chr: Asc: 23
    Chr: Asc: 24
    Chr: Asc: 25
    Chr: Asc: 26
    Chr: Asc: 27
    Chr: Asc: 28
    Chr: Asc: 29
    Chr: Asc: 30
    Chr: Asc: 31
    Chr: Asc: 32
    Chr: ! Asc: 33
    Chr: " Asc: 34
    Chr: # Asc: 35
    Chr: $ Asc: 36
    Chr: % Asc: 37
    Chr: & Asc: 38
    Chr: ' Asc: 39
    Chr: ( Asc: 40
    Chr: ) Asc: 41
    Chr: * Asc: 42
    Chr: + Asc: 43
    Chr: , Asc: 44
    Chr: - Asc: 45
    Chr: . Asc: 46
    Chr: / Asc: 47
    Chr: 0 Asc: 48
    Chr: 1 Asc: 49
    Chr: 2 Asc: 50
    Chr: 3 Asc: 51
    Chr: 4 Asc: 52
    Chr: 5 Asc: 53
    Chr: 6 Asc: 54
    Chr: 7 Asc: 55
    Chr: 8 Asc: 56
    Chr: 9 Asc: 57
    Chr: : Asc: 58
    Chr: ; Asc: 59
    Chr: < Asc: 60
    Chr: = Asc: 61
    Chr: > Asc: 62
    Chr: ? Asc: 63
    Chr: @ Asc: 64
    Chr: A Asc: 65
    Chr: B Asc: 66
    Chr: C Asc: 67
    Chr: D Asc: 68
    Chr: E Asc: 69
    Chr: F Asc: 70
    Chr: G Asc: 71
    Chr: H Asc: 72
    Chr: I Asc: 73
    Chr: J Asc: 74
    Chr: K Asc: 75
    Chr: L Asc: 76
    Chr: M Asc: 77
    Chr: N Asc: 78
    Chr: O Asc: 79
    Chr: P Asc: 80
    Chr: Q Asc: 81
    Chr: R Asc: 82
    Chr: S Asc: 83
    Chr: T Asc: 84
    Chr: U Asc: 85
    Chr: V Asc: 86
    Chr: W Asc: 87
    Chr: X Asc: 88
    Chr: Y Asc: 89
    Chr: Z Asc: 90
    Chr: [ Asc: 91
    Chr: \ Asc: 92
    Chr: ] Asc: 93
    Chr: ^ Asc: 94
    Chr: _ Asc: 95
    Chr: ` Asc: 96
    Chr: a Asc: 97
    Chr: b Asc: 98
    Chr: c Asc: 99
    Chr: d Asc: 100
    Chr: e Asc: 101
    Chr: f Asc: 102
    Chr: g Asc: 103
    Chr: h Asc: 104
    Chr: i Asc: 105
    Chr: j Asc: 106
    Chr: k Asc: 107
    Chr: l Asc: 108
    Chr: m Asc: 109
    Chr: n Asc: 110
    Chr: o Asc: 111
    Chr: p Asc: 112
    Chr: q Asc: 113
    Chr: r Asc: 114
    Chr: s Asc: 115
    Chr: t Asc: 116
    Chr: u Asc: 117
    Chr: v Asc: 118
    Chr: w Asc: 119
    Chr: x Asc: 120
    Chr: y Asc: 121
    Chr: z Asc: 122
    Chr: { Asc: 123
    Chr: | Asc: 124
    Chr: } Asc: 125
    Chr: ~ Asc: 126
    Chr:  Asc: 127
    Chr: € Asc: 128
    Chr: پ Asc: 129
    Chr: ‚ Asc: 130
    Chr: ƒ Asc: 131
    Chr: „ Asc: 132
    Chr: … Asc: 133
    Chr: † Asc: 134
    Chr: ‡ Asc: 135
    Chr: ˆ Asc: 136
    Chr: ‰ Asc: 137
    Chr: ٹ Asc: 138
    Chr: ‹ Asc: 139
    Chr: ΠAsc: 140
    Chr: چ Asc: 141
    Chr: ژ Asc: 142
    Chr: ڈ Asc: 143
    Chr: گ Asc: 144
    Chr: ‘ Asc: 145
    Chr: ’ Asc: 146
    Chr: “ Asc: 147
    Chr: ” Asc: 148
    Chr: • Asc: 149
    Chr: – Asc: 150
    Chr: — Asc: 151
    Chr: ک Asc: 152
    Chr: ™ Asc: 153
    Chr: ڑ Asc: 154
    Chr: › Asc: 155
    Chr: œ Asc: 156
    Chr: ‌ Asc: 157
    Chr: ‍ Asc: 158
    Chr: ں Asc: 159
    Chr: Asc: 160
    Chr: ، Asc: 161
    Chr: ¢ Asc: 162
    Chr: £ Asc: 163
    Chr: ¤ Asc: 164
    Chr: ¥ Asc: 165
    Chr: ¦ Asc: 166
    Chr: § Asc: 167
    Chr: ¨ Asc: 168
    Chr: © Asc: 169
    Chr: ھ Asc: 170
    Chr: « Asc: 171
    Chr: ¬ Asc: 172
    Chr: ­ Asc: 173
    Chr: ® Asc: 174
    Chr: ¯ Asc: 175
    Chr: ° Asc: 176
    Chr: ± Asc: 177
    Chr: ² Asc: 178
    Chr: ³ Asc: 179
    Chr: ´ Asc: 180
    Chr: µ Asc: 181
    Chr: ¶ Asc: 182
    Chr: · Asc: 183
    Chr: ¸ Asc: 184
    Chr: ¹ Asc: 185
    Chr: ؛ Asc: 186
    Chr: » Asc: 187
    Chr: ¼ Asc: 188
    Chr: ½ Asc: 189
    Chr: ¾ Asc: 190
    Chr: ؟ Asc: 191
    Chr: ہ Asc: 192
    Chr: ء Asc: 193
    Chr: آ Asc: 194
    Chr: أ Asc: 195
    Chr: ؤ Asc: 196
    Chr: إ Asc: 197
    Chr: ئ Asc: 198
    Chr: ا Asc: 199
    Chr: ب Asc: 200
    Chr: ة Asc: 201
    Chr: ت Asc: 202
    Chr: ث Asc: 203
    Chr: ج Asc: 204
    Chr: ح Asc: 205
    Chr: خ Asc: 206
    Chr: د Asc: 207
    Chr: ذ Asc: 208
    Chr: ر Asc: 209
    Chr: ز Asc: 210
    Chr: س Asc: 211
    Chr: ش Asc: 212
    Chr: ص Asc: 213
    Chr: ض Asc: 214
    Chr: × Asc: 215
    Chr: ط Asc: 216
    Chr: ظ Asc: 217
    Chr: ع Asc: 218
    Chr: غ Asc: 219
    Chr: ـ Asc: 220
    Chr: ف Asc: 221
    Chr: ق Asc: 222
    Chr: ك Asc: 223
    Chr: à Asc: 224
    Chr: ل Asc: 225
    Chr: â Asc: 226
    Chr: م Asc: 227
    Chr: ن Asc: 228
    Chr: ه Asc: 229
    Chr: و Asc: 230
    Chr: ç Asc: 231
    Chr: è Asc: 232
    Chr: é Asc: 233
    Chr: ê Asc: 234
    Chr: ë Asc: 235
    Chr: ى Asc: 236
    Chr: ي Asc: 237
    Chr: î Asc: 238
    Chr: ï Asc: 239
    Chr: ً Asc: 240
    Chr: ٌ Asc: 241
    Chr: ٍ Asc: 242
    Chr: َ Asc: 243
    Chr: ô Asc: 244
    Chr: ُ Asc: 245
    Chr: ِ Asc: 246
    Chr: ÷ Asc: 247
    Chr: ّ Asc: 248
    Chr: ù Asc: 249
    Chr: ْ Asc: 250
    Chr: û Asc: 251
    Chr: ü Asc: 252
    Chr: ‎ Asc: 253
    Chr: ‏ Asc: 254
    Chr: ے Asc: 255

    کد کلید های Space = chr(vbSpace) برای تب هم VbTab و برای خط بعدی هم VbCrlf

    آخرین ویرایش به وسیله vbhamed : چهارشنبه 07 آبان 1393 در 11:27 صبح

  5. #5
    کاربر دائمی آواتار oYaMaa
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    258

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    تشکر فراوان از abolfazl-z
    داداش اگر امکانش هست یه سورس بزارید (واسه چگونگی تشخیصش)، چون یکم واسم پیچیده شد.
    ممنون

  6. #6
    کاربر تازه وارد آواتار MohammadReza.OmidAllah
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    ایران - کاشان
    پست
    44

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    با تابع Chr()اسکی نوشته های فارسیت رو پیداکن بعد تو برنامت یه شرط بزار مثلا رنج نوشته فارسی از 50 - 100 هست اینارو فارسی در نظر بگیره

  7. #7

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    کد زیر را بررسی کنید

    Dim englisha As String
    englisha = "abcdefghqwvmnzxrtyuioplkjs"
    englisha = englisha & UCase(englisha)
    If InStr(1, englisha, Left(Text1.Text, 1)) <> 0 Then MsgBox "Latin ast"


    در روش فوق صرفا به مقایسه نویسه ی نخست بسنده کرده ام
    شما میتونید با ایجاد یک حلقه ی for تک تک نویسه های رشته مد نظر رو مقایسه کنید

  8. #8
    کاربر دائمی آواتار abolfazl-z
    تاریخ عضویت
    دی 1390
    محل زندگی
    فکر
    پست
    1,056

    Talking نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    دوست عزیز
    تعریف رویداد:
    نگاه کن هر شئ ای در ویژوال بیسیک دارای رویداد است یعنی زمانی که کار بر بر روی شئ کلیک کرد که این رویداد به نام Mouse_Down یا کلید ماوس را رها کرد Mouse_Up و یا هر یک از کلید صفحه کلید را فشار داد و یا ماوس را رو شئ حرکت داد Mouse_Move چه اتفاقی بیفتد.
    مثلا ما می خواهیم هر چی کاربر توی تکس باکس وارد کرد بفهمیم که اون چیه انگلیسی یا فارسی؟؟ درسته!
    خوب پس بر روی TextBox دوبار کلیک کن بعد رویداد KeyDown را انتخاب کن
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

    End Sub


    بیشتر ابزار ها در ویژوال بیسیک این رویداد را دارند.
    خوب اگر نگاه کنی می بینی که رویداد KeyDown دارای یک آرگومان به نام KeyCode که هر کاراکتری را که شما در تکس باکس وارد کنید کد اسکی آن کاراکتر در این آرگومان قرارمیگیره . پس با توجه به کد های اسکی بالا که حروف انگلیسی از 65 تا 90 است پس اگر آرگومان KeyCode هر عددی را بین 65 تا 90 بده می فهمیم که حرورف وارد شده انگلیسی است بعد همانطورکه گفتم تابع Chr کد اسکی را به کاراکتر مربوط اش تبدیل میکند و کد اسکی همهجا یکی است
    مثال :

    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode >= 65 And KeyCode <= 90 Then
    Print "Horoofe vared shode En ast" & ": " & chr(KeyCode)
    End if
    MsgBox "Horoofe vared Shode English Mibashd."
    End Sub


    کد اسکی A = 65
    B = 66
    و...
    Z = 90
    مثلا من کاراکتر A را در تکس باکس وارد کردم برنامه بالا سریع یک MsgBox به من نشان میده و میگه کد وارد شده انگلیسی می باشد و بر روی فرم هم همین پیغام را همرا با حروفی که وارد کردم را چاپ می کند.

    کلا ما 255 تا کاراکتر اسکی داریم که شامل تمامی دکمه های صفحه کلیک است.

  9. #9

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    میتونید از RegEx استفاده کنید. IsArabic

  10. #10

    نقل قول: تشخیص فارسی یا انگلیسی بودن کلمه

    برای تشخیص فارسی بودن کلمه از دستورات زیر استفاده کنید
    Dim rgx as Regex
    set rgx = new Regex(@"^[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF]+$")
    isPersian = rgx.IsMatch(name)
    آخرین ویرایش به وسیله vbhamed : چهارشنبه 07 آبان 1393 در 11:37 صبح

تاپیک های مشابه

  1. نحوه ی تشخیص فارسی بودن یک کلمه
    نوشته شده توسط khlless در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 06 مرداد 1392, 18:25 عصر
  2. سوال: تشخیص فارسی یا انگلیسی بودن متن
    نوشته شده توسط behnet در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: جمعه 02 اردیبهشت 1390, 12:28 عصر
  3. حرفه ای: تشخیص فارسی یا انگلیسی بودن یک متن
    نوشته شده توسط tecnocomputer2 در بخش PHP
    پاسخ: 2
    آخرین پست: پنج شنبه 18 آذر 1389, 22:18 عصر
  4. تشخیص فونت های فارسی و انگلیسی
    نوشته شده توسط ice007 در بخش VB.NET
    پاسخ: 2
    آخرین پست: دوشنبه 05 آذر 1386, 12:15 عصر
  5. تشخیص متن فارسی و انگلیسی
    نوشته شده توسط OlympicTelecom در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: شنبه 08 مهر 1385, 15:07 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •