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

نام تاپیک: کنترل مقادیر دریافتی در فرم

  1. #1

    کنترل مقادیر دریافتی در فرم

    سلام عزیزان

    فعلا دارم یه برنامه ء دتابیسی می نویسم اما ،

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

    البته از برخی evntها مثل OnBeforPost و OnValidate استفاده می کنم ؛ اگه لطف کنید یه راهنمایی حسابی بفرمایید خیلی ممنون میشم.اینکه از چه راههایی می تونم به کاربر اجازه ورود اطلاعات غلط رو ندم

  2. #2
    سلام

    دو مورد هست که همیشه باید هنگام ورود دادهها به بانک چک بشن : 1-اعداد 2- فرم مورد نظر تاریخ

    برای اعداد من کد زیر رو پیشنهاد می کنم .

    procedure Tinput2.Edit10KeyPress(Sender: TObject; var Key: Char);
    var assci:byte;
    begin
    assci:=ord(key);
    if not((assci=48)or (assci=49)or (assci=50)or (assci=51)or (assci=52)or
    (assci=53)or (assci=54)or (assci=55)or (assci=56)or (assci=57)
    or (assci=11)or (assci=13)or (assci=32)or(assci=8)or(assci= 9 )) then
    begin
    messagedlg(' لطفا" فقط عدد وارد کنید ! ',mterror,[mbok],0);
    key:=char(9);

    end;
    if key=char(13) then
    begin
    if edit10.Text='' then
    begin
    showmessage('طبقه را وارد کنید');
    end
    else
    begin
    edit11.SetFocus;
    end;

    end;
    end;


    فرض کنید در edit10 باید حتما یک عدد وارد شود.در صورت ورود یک عدد و enter زدن مکان نما به edit11 می رود.
    برای تاریخ هم بسته به چگونگی تعریف تاریخ می شود کد نوشت .
    البته توصیه من اینست که به هیچ وجه از توابع تبدیل تاریخ datetostr , strtodate استفاده نکنیم .
    در واقع فیلد date در بانک نداشته باشید .
    به طور مثال تاریخ رو بصورت 82/03/19 که گرفتید بصورت 820319 ذخیره کنید . البته این برای تاریخ هایی باشه که قراره سرچ و مقایسه روش انجام بشه . وگرنه اون رو هم text بگیریم فرقی نداره .
    برای چک کردن ورود تاریخ نیز راه ساده همون استفاده از maskedit و استفاده از کد بالا با کمی تغییر .

    قبل از post کردن هم باید از درست بودن ورودی ها اطمینان داشت.

    امیــــــــد

  3. #3

    کنترل خطا در دیتابیس

    در کاربردهای دیتابیس؛

    اگر از روش های استاندارد استفاده کنید به کمترین کدنویسی و بررسی در این رابطه نیاز خواهید داشت. بیشتر قیدهای درستی داده ها را می توان در لایه دیتابیس بطور متمرکز قرار داد و اگر کنترل های متصل به داده را بکار برید به بررسی مقدار وارد شده از نظر نوع داده نیاز نخواهد بود.
    با تعریف قیدهای درستی (Integrity Constraints) در لایه دیتابیس و همچنین در فیلدهای دیتاست شما می توانید به شکل متمرکز جلوی ورود مقدارهای نادرست را بگیرید. این قیدها شامل محدوده مجاز مقدارها، وضعیت تهی بودن، و درستی ارجاعی (Referential Integrity) از طریق کلیدهای خارجی می شود.
    کنترل های متصل به داده (data-aware) نیز جلوی ورود کاراکترهای غیرمجاز را می گیرند و چون به فیلدهای یک دیتاست متصل هستند مقدارهای غیرقابل قبول از جهت نوع داده نیز جلوگیری خواهند شد.
    پس از اینها اگر باز هم به کنترل درستی نیاز بود یا زمانی که با دیتابیس هایی مثل Paradox کار می کنید و امکانات کمتری در اختیار دارید، می توانید از خاصیت CustomConstraint فیلدها و رویداد BeforePost استفاده کنید.

    در غیراینصورت با کدنویسی های اضافی و تکراری زمان توسعه و نگهداری زیاد خواهد بود.

  4. #4
    کاربر جدید
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    me_a2002@hotmail.com
    پست
    21
    سلام
    من یدونه کامپوننت DBMaskedit دارم که میتونی براش mask- EditBox تعریف کنی که کاربر نتونه چیزی به جز اونی که مطلوب شما هست وارد کنه .:wink:
    ولی نمی دونم کجا باید بذارمش اگه خواستین یا راهنمایی کنین که چیکار کنم یا Mail بدین تا براتون بفرستم
    My Email : Me_a2002@hotmail.com

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

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