سه رقم جدا کردن اعداد در DBGrid در هنگام نوشتن عدد
سلام دوستان
چگونه می توان یک فیلد از نوع Currency را درون یکی از ستونهای DBGrid در هنگام وارد کردن عدد (پول) آن را سه رقم سه رقم جدا کرد می بخشید دوباره تکرار می کنم در هنگام وارد کردن عدد در DBGrid اگر کسی تونسته این موردو حل کنه لطف کنه راهنمایی کنه
نقل قول: سه رقم جدا کردن اعداد در DBGrid در هنگام نوشتن عدد
رخسد از بزرگان دلفی
این مشکل که ارقام سه رقم سه رقم جدا شوند ، مشابه هنگامی است که کاربر در گرید تایپ کند و شما بخواهید بر اساس آنچه تایپ می شود select خود را در کوئری دیگر تغییر دهید،برای این کار در رویدادkeypress گریدی که کاربردر آن تایپ می کند ،باید رشته ورودی را تک کارکتر تک کارکتر گرفته در نهایت یک رشته عددی دارید ، هر بار چک کنید که در کدام ستون گرید هستید رشته تغییر داده شده خود را که با ویرگول می باشد در همان ستونی که کاربر درج انجام می دهد قرار دهید .
در گرید تا زمانی روی فیلدی هستید که در حال ویرایش آن هستید مقدار جدید آن قابل خواندن نیست ، برای آنکه مقدار را بدست آورید کنترل را به فیلد دیگر برده حالا مقدار فیلد قبلی در سترس است ، و کافیست با ایجاد دو تابع که یکی ویرگولها را از رشته حذف میکند و دیگری ویرگولها را اضافه می کند(سه رقم ، سه رقم)، به نتیجه مورد دلخواه برسید:چشمک:
نقل قول: سه رقم جدا کردن اعداد در DBGrid در هنگام نوشتن عدد
می دونم که تاپیک مال چند سال پیشه ولی چون در موقع جستجو در گوگل در سطر نتایجه گفتم اینو بگم شاید برای بعضی ها مفید واقع بشه.
حالت اول رو برای مثال با StoreProcedure می گم:
ADOStoreProcedure1.FieldByName('MyField').EditMask := '###,###,###,###;0; '
و این هم یه راه دیگه برای Table
procedure TForm1.Seprate(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text := FormatFloat('#,##0', Sender.AsFloat );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
(Table1.FieldByName('MyField') as TField).OnGetText := Seprate;
end;
نقل قول: سه رقم جدا کردن اعداد در DBGrid در هنگام نوشتن عدد
سلام
این قسمت برای من تو دلفی 2010 خطا می گیره لطفا راهنمایی کنید
کد HTML:
procedure TForm1.Seprate(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text := FormatFloat('#,##0', Sender.AsFloat );
end;
نقل قول: سه رقم جدا کردن اعداد در DBGrid در هنگام نوشتن عدد
برنامه الان بدون خطا بالا امد ولی نمایش تو بعد از پست شدن سه رقم نمایش می ده نه تو هینت
و زنده تو تایپ
مرسی
نقل قول: سه رقم جدا کردن اعداد در DBGrid در هنگام نوشتن عدد
باسلام.
بنده برای اینکار یک تابع نوشته ام که در dbedit سه رقم را جدا میکند(بیش از میلیارد)و هنگام خروج از dbedit سه رقم،را پاک میکند.
یعنی هنگام تایپ و نمایش سه رقم را جدا میکند،هنگام ذخیره سازی به صورت ساده ذخیره(currency) میشود و تا الان مشکلی ندارد و درست کار میکند، حتی میتوان در hint هم نمایش داد.
دوستانی که با روش هایی که گفته شد به مشکل برخوردند میتوانند یک پیام خصوصی به بنده بدهند تا تابع را برایشان ارسال کنم.