ورود

View Full Version : سوال: تبدیل حروف انگلیسی و کاراکتر به عدد



c4soft
پنج شنبه 31 شهریور 1390, 12:44 عصر
سلام دوستان
چطور میتونم حروف انگلیسی و کاراکتر رو به عدد تبدیل کنم ؟
متشکرم

mazoolagh
پنج شنبه 31 شهریور 1390, 18:27 عصر
پرسش تون واضح نیست. اگر منظورتون پیدا کردن کد اسکی هر کارآکتر هست میتونین از تابع asc (یا ascw برای یونیکد) استفاده کنین.

c4soft
پنج شنبه 31 شهریور 1390, 22:04 عصر
با سلام مجدد
منظورم این بود :

داده های یک تکس باکس بدین شکل :
323a#kdp
اعداد سر جای خود و حروف و کاراکتر رو به اعداد تبدیل کنم (323 ثابت بمونه و بقیه کانورت شن)
مثلا معادل حرف k رو برگردونه به 3
# رو به 43
d رو 8
الی آخر ....
متشکرم

mazoolagh
شنبه 02 مهر 1390, 21:50 عصر
با این مثالی که آوردین تبدیل تابع قانون خاصی نیست. بیشتر از یک راه هست که انتخابش بستگی به دونستن دقیق شرایط و خواسته ها داره. میتونین از توابع REPLACE یا MID یا حتی REGULAR EXPRESSION استفاده کنین.

c4soft
دوشنبه 26 دی 1390, 11:46 صبح
سلام مجدد
دوستان من هنوز راهی واسه حل مشکلم پیدا نکردم!
تقاضای عنایت دارم
متشکرم

دانش پژو
دوشنبه 26 دی 1390, 13:29 عصر
سلام
مشخص نكرده ايد معادل عددي كاراكتر شما چه باشد- چون عددهائي كه نوشته ايد نه كد اسكي حروف است و نه ترتيب الفبائي و000 - واضح نيست اين تبديل را براي چه مي خواهيد تا دوستان جواب دهند

c4soft
چهارشنبه 28 دی 1390, 20:38 عصر
با عرض سلام مجدد
دوست عزیز منظورم رو بار دیگه بدین شکل و ساده تر بیان میکنم
دوتا تکس باکس داریم
در تکس باکس اول نوشتم : علی محمودی
میخوام سیستم این اسم رو برگردونه به عدد . مثلا اسم فوق رو به : 3215987366 برگردونه!!!!
امیدوارم تونسته باشم منظورم رو بیان کنم
متشکرم

mazoolagh
شنبه 01 بهمن 1390, 11:54 صبح
الآن این اسم علی محمودی با چه قاعده ای به به اون عدد تبدیل شده؟

c4soft
یک شنبه 02 بهمن 1390, 17:14 عصر
سلام مجدد
دوست عزیز :
اینطوری بگم بهتره :
میخوام حرف "ع" به عدد "3" ؛ حرف "ل" به عدد "1" ؛ حرف "ی" به عدد "6" الی آخر هر حرفی به عددی تبدیل بشه
شبیه دیکود کردنه ولی من قادر به انجام این کار تا به این حال نبودم!
متشکر میشم اگه وقت کردید راهی پیش روم بذارید.

Abbas Amiri
یک شنبه 02 بهمن 1390, 18:48 عصر
شما باید یک جدول مربوط به رمز داشته باشید که یک ستون مربوط به حرف(Letter) و ستون دیگر مربوط به کد(Code) تبدیلی باشد . حالا می توانید دریک حلقه رکوردهای این جدول را واکشی کرده و با دستور (Replace(MyStirng,Leter,Code حروف مورد نظر را جایگزین کنید

c4soft
یک شنبه 02 بهمن 1390, 20:49 عصر
یعنی در محیط کد نویسی هیچ راهی نداره ؟

mazoolagh
یک شنبه 02 بهمن 1390, 21:25 عصر
خوب حالا بهتر شد. یک نمونه میگذارم که A,B,C رو به 1,2,3 تبدیل میکنه.

FUNCTION XLAT(X AS STRING) AS STRING
DIM A(), B()
A=ARRAY("A","B","C")
B=ARRAY("1","2","3")
DIM I AS INTEGER
FOR I=0 TO UBOUND(A)
X=REPLACE(X,A(I),B(I))
NEXT
XLAT=X
END FUNCTION

c4soft
یک شنبه 02 بهمن 1390, 22:09 عصر
آقا !
بابت ارائه ی این فانکشن از شما بسیار ممنونم
حالا اگه جسارت نیست یه کمک دیگه هم بکنید و بگید که چطوری باید این فانکشن رو بکار بگیرم در فرم

mazoolagh
سه شنبه 04 بهمن 1390, 10:04 صبح
کافی هست کد بالا رو به ماژول کد فرم مورد نظر اضافه کنین و هر مقداری که میخواین تغییر بدین بعنوان آرگومان به تابع پاس کنین.
فرضا اگر یک تکس باکس به نام tb1 دارین کد زیر تبدیل شده اش رو برمیگردونه :
XLAT(TB1)

c4soft
یک شنبه 09 بهمن 1390, 19:23 عصر
سلام مجدد
دوستان من با نمونه کدی که جناب mazoolagh زحمتش رو کشیدن هم نتونستم موفق بشم!