آژانس هواپیماییexchanging

Changing Thread Locale

شروع موضوع توسط captanblack ‏1 جولای 2005 در انجمن Delphi

  1. captanblack

    captanblack کاربر تازه وارد

    تاریخ عضویت:
    ‏7 ژوئن 2005
    نوشته ها:
    41
    تشکر شده:
    0
    محل سکونت:
    Esfahan
    سلام

    دوستان - نميدونم در بين شما كسي هست كه با تابع setthreadlocale كار كرده باشه يا نه ! اما مشكل اينجاست كه مايكروسافت اصلا معلوم نيست چرا وقتي NT اين تابع را مثل هلو پشتيباني ميكنه ! ديگه چرا مايكروسافت هي ور ميره به اين API .

    اما مشكل اينجاست كه حتما ميدونيد Delphi زماني واقعا bidimode را righttoleft ميكنه ! كه locale شما در حالت يك زبان right to left باشه (مثل فارسي - ابري يا .... ) حالا مشكل ما انجاست كه تنها تابع كه من ميدونم ميشه باهاش اينو عوض كرد setthreadlocale هستش كه با استفاده از يك Langid و lcid ميتونه locale را عوض كنه ! اما توي NT 5 به يالا ! اين تابع كار نميكنه ! من چند جا خوندم كه شيوه كار عوض شده ! اما همچون هميشه ! ما راست به چپي ها چيزي از خير ويندوز بهمون نميرسه !

    حالا كسي هست اطلاعاتي چيزي داشته باشه ؟؟

    :cool:
     
  2. littlerabbit

    littlerabbit مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏13 جولای 2003
    نوشته ها:
    667
    تشکر شده:
    4
    محل سکونت:
    Iran
    دقیقا چی رو میخوای عوض کنی؟؟؟ من که تا به حال نیازی به این که میگی پیدا نکردم مشکل هم اینه که اون Threadباید Privilage لازم رو داشته باشه و توکن رو ایجاد کنه.

    دقیق تر توضیح بده ببینم مشکل چیه.
     
  3. captanblack

    captanblack کاربر تازه وارد

    تاریخ عضویت:
    ‏7 ژوئن 2005
    نوشته ها:
    41
    تشکر شده:
    0
    محل سکونت:
    Esfahan
    ببين ! حتما ميدوني که براي تايپ درست فارسي ! بايد Default Language سيستم روي فارسي باشه ! تا اطلاعات ورودي ديتابيس بصورت ؟ ذخيره نشه ! بعدشم دلفي اگه Locale سيستم را روي يک زبان Righ to left نگذاريم bidimode := bidirighttoleft را اثر نميده ! حالا من 100% مطمئن هستم که Default Language مگر با کنترل پانل تغيير نميکنه ! و اگه هم تغيير کنه سيستم بايد Rest بشه ! ولي در مورد locale ميشه فرمت Currency و Date و اين چيزا را راحت عوض کرد ولي اگه بخواي Location را بگذاري فارسي ! يه تابع داريم به نام SetThreadLocale که کاري به System default locale نداشته باشيم و فقط برنامه ما locale خودش را از اين تابع بگيره ! من در کل نياز دارم که اين Locale را عوض کنم On the fly و اگه نشه ! پيغام بدم خود کاربر بره عوضش کنه !