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

نام تاپیک: جدا کردن سه رقم سه رقم فیلدهای عددی

  1. #1

    جدا کردن سه رقم سه رقم فیلدهای عددی

    می خواستم فیلد پول سه رقم سه رقم با , جدا بشه
    نمیخواستم که از MaskEdit استفاده کنم چون , ها قبل از تایپ نشون داده میشن
    میخوام وقتی رقم چهارم وارد شد خودش با , جدا کنه
    در آخر هم نمیخوام تو جدول دیتابیس , ها ذخیره بشه و فقط عدد ذخیره بشه

    در صورت امکان طبق Delphi 7 توضیح بدید

  2. #2
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    جستجو كن عزيز. هم كامپوننت هست و هم تابع و ........

  3. #3

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    من چیز درست حسابی که به دردم بخوره تو این سایت پیدا نکردم
    اگه شما سراغ داری برام لینک بذار
    آخرین ویرایش به وسیله AHTahan : جمعه 23 بهمن 1388 در 08:26 صبح

  4. #4
    کاربر دائمی آواتار amirtofighi
    تاریخ عضویت
    دی 1388
    محل زندگی
    ساری
    سن
    36
    پست
    109

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    سلام
    این هم کدش

    function AddComma(snum : string) : string;
    var
    l, i : integer;
    s : string;
    begin
    i := 1;
    l := length(snum);
    while i <= l do
    begin
    s := snum[l - i + 1] + s;
    if (i mod 3 = 0) and (i <> l) then
    s := ',' + s;
    i := i + 1;
    end;
    result := s;
    end;

    end.


    برا اینکه تو بانک اطلاعاتی قرارش بدید بدون کاما، راههای زیادی هست
    مثلا با این روش میتونید کاما رو حذف کنید

    var
    S : String;
    begin
    S := '123,456,789';
    S := StringReplace(S, ',', '', [rfReplaceAll]);
    end;
    آخرین ویرایش به وسیله amirtofighi : جمعه 23 بهمن 1388 در 08:48 صبح

  5. #5
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    نقل قول نوشته شده توسط amirtofighi مشاهده تاپیک
    سلام
    این هم کدش

    function AddComma(snum : string) : string;
    var
    l, i : integer;
    s : string;
    begin
    i := 1;
    l := length(snum);
    while i <= l do
    begin
    s := snum[l - i + 1] + s;
    if (i mod 3 = 0) and (i <> l) then
    s := ',' + s;
    i := i + 1;
    end;
    result := s;
    end;

    end.
    برا اینکه تو بانک اطلاعاتی قرارش بدید بدون کاما، راههای زیادی هست
    مثلا با این روش میتونید کاما رو حذف کنید

    var
    S : String;
    begin
    S := '123,456,789';
    S := StringReplace(S, ',', '', [rfReplaceAll]);
    end;
    نيازي به اين كار نيست يكي از دوستان در سايت يك كامپوننت نوشته كه ديگه نياز به كدنويسي نيست (جستجو كنيد پيداش مي كنيد). يا مي تونيد از كامپوننت TMS استفاده كنيد edit اون هم چنين قابليتي را داره

  6. #6

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    ممنون از توضیحاتتون

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

  7. #7
    کاربر دائمی آواتار حسین خانی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قزوین
    پست
    184

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    نقل قول نوشته شده توسط AHTahan مشاهده تاپیک
    ممنون از توضیحاتتون

    حالا اگه بخوای یه فیلد رو تو خروجی به صورت جدا جدا شده نشون داد از چه تابع یا کامپوننتی باید استفاده کرد
    با سلام
    اگر منظور از خروجی استفاده از DBGrid باشه می توانید اینکار و انجام بدهید :
    بر روی ADoTable یا ADOQuery مورد نظر خود کلیک راست نموده و گزینه Fields Editor را انتخاب نمائید .
    در پنجره باز شده در بین فیلدها ، فیلدی که نوع داده Currency دارد را انتخاب و از Propreti آن حالت DisplayFormat را اینطور ###,###,### مقداردهی نمائید .
    با اینکار میتوانید نتیجه را در DBGrid مربوطه ببینید .
    موفق باشید ...

  8. #8

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    من گزینه DisplayFormat رو پیدا نمیکنم

    فکر کنم قبلا هم تو سایت این رو دیده بودم ولی DisplayFormat رو پیداش نکرده بودم
    آخرین ویرایش به وسیله AHTahan : جمعه 23 بهمن 1388 در 16:58 عصر

  9. #9

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    من گزینه DisplayFormat رو پیدا نمیکنم

    فکر کنم قبلا هم تو سایت این رو دیده بودم ولی DisplayFormat رو پیداش نکرده بودم
    روی ADOTable دو بار کلیک کنید در پنجره ای که باز میشه راست کلیک کنید و گزینه Add Field رو انتخاب کنید و همه فیلدهای جدول رو انتخاب کنید و Add کنید ، حالا در لیست فیلدها هر فیلدی رو که انتخاب می کنید در Object Inspector خصوصیاتش رو می بینید که Display Format هم یکی از اونها هست ( از بالا ششمی ) ...

    موفق باشید ...

  10. #10

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    مثل این که برای من وجود نداره
    شاید چون در Delphi 7 SE استفاده میکنم!!

    نسخه SE حجم کمتری داره

  11. #11

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    یه نگاه به این لینک ها بنداز :
    http://www.barnamenevis.org/sh...d.php?t=194511
    http://www.barnamenevis.org/sh...d.php?t=194197
    https://barnamenevis.org/showpo...93&postcount=3

    display format وقتی تو خاصیت های یک فیلد هست که نوع آن عددی باشد .

  12. #12

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    ممنون

    من فیلد رو از نوع Text تو Access مشخص کرده بودم که بتونه اعداد بزرگ رو تو خودش جا بده

    فعلا که کار من با تابع AddComma که amirtofighi معرفی کردن راه افتاد

  13. #13

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    سلام .

    برای جدا کردم اعداد بصورت سه رقم بعضی از اساتید روشهایی را پیشنهاد می کنن که عدد را به رشته با خاصیت جدا کننده سه رقم تبدیل می کنه و این برای محاسبات بعدی مشکل ساز است .

    روش زیر که عرض می کنم نمایش اعداد را سه رقم نمایش می دهد و در چاپ گزارش و ... هم سه رقم است و در محسابات هم خاصیت عددی فیلد حفظ می گردد


    ابتدا نوع فیلد عددی (int , float ,money ) تنظیم نمایید . فرض می کنیم نام فیلد price است

    حال در فرم روی DataSource در قسمت خاصیت onDataChange کلیک کنید و کد زیر را وارد نمایید

    ( ADOQuery1.FieldByName('Price') as TNumericField ).DisplayFormat:='###,###,### ';



     
    procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
    begin
    ( ADOQuery1.FieldByName('Price') as TNumericField ).DisplayFormat:='###,###,###';
    end;

    با ارزوی موفقیت
    آخرین ویرایش به وسیله mrm0101 : دوشنبه 26 بهمن 1388 در 01:34 صبح

  14. #14

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    نقل قول نوشته شده توسط mrm0101 مشاهده تاپیک
    سلام .

    برای جدا کردم اعداد بصورت سه رقم بعضی از اساتید روشهایی را پیشنهاد می کنن که عدد را به رشته با خاصیت جدا کننده سه رقم تبدیل می کنه و این برای محاسبات بعدی مشکل ساز است .

    روش زیر که عرض می کنم نمایش اعداد را سه رقم نمایش می دهد و در چاپ گزارش و ... هم سه رقم است و در محسابات هم خاصیت عددی فیلد حفظ می گردد


    ابتدا نوع فیلد عددی (int , float ,money ) تنظیم نمایید . فرض می کنیم نام فیلد price است

    حال در فرم روی DataSource در قسمت خاصیت onDataChange کلیک کنید و کد زیر را وارد نمایید

    ( ADOQuery1.FieldByName('Price') as TNumericField ).DisplayFormat:='###,###,### ';



     
    procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
    begin
    ( ADOQuery1.FieldByName('Price') as TNumericField ).DisplayFormat:='###,###,###';
    end;

    با ارزوی موفقیت
    حرف شما درسته ولی اگه از تابع زیر استفاده کنیم دیگه لازم نیست با کاما ذخیره کنیم

    S := StringReplace(S, ',', '', [rfReplaceAll]);

  15. #15

    نقل قول: جدا کردن سه رقم سه رقم فیلدهای عددی

    سلام
    من کدهایی برای اینکه اعداد را ۳ رقم ، ۳ رقم از هم جدا کند را دارم و همچنین کدهایی برای اینکه اعداد را به صورت حروف بنویسد. و مشکلی هم در استفاده جداگانه آنها ندارم. ولی اگر این دو کد را با هم ادغام کنم ، مشکل پیدا میکند و فقط ۳ رقم اول را حروفی می نویسد و خطا می دهد.لطفا مرا راهنمایی کنید یا کدی برای من بنویسید که در یک ادیت تکست اعداد ۳ رقم ، ۳ رقم از هم جدا شوند و در روی لیبل مقابل آن ، همین اعداد جدا شده به صورت حروفی نوشته شود.

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

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