PDA

View Full Version : سوال : چطور تعداد سطر یک Memo را محدود کنم ؟



hp1361
دوشنبه 15 مرداد 1386, 15:15 عصر
سلام

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

مقدا Maxlength رو تغییر دادم اما اگه کاربر 10 تا اینتر بزنه در ادامه میتونه همون تعداد ماکزیمم تایپ کنه .

حالا چطور میتونم اونو محدود کنم که بیشتر از 10 خط ننویسه (حالا چه اینتر بزنه و چه تایپ کنه )

ممنون و منتظرم

SYNDROME
دوشنبه 15 مرداد 1386, 15:36 عصر
با سلام

سلام
دوستان من در برنامه ام از یک Memo استفاده کرده ام . حالا مشکل من با این ممو اینه که در صورتی که کاربر بیشتر از اون اندازه ای که من ممو رو تعریف کردم تایپ کنه گزارشم در دو صفحه چاپ میشه .
مقدا Maxlength رو تغییر دادم اما اگه کاربر 10 تا اینتر بزنه در ادامه میتونه همون تعداد ماکزیمم تایپ کنه .
حالا چطور میتونم اونو محدود کنم که بیشتر از 10 خط ننویسه (حالا چه اینتر بزنه و چه تایپ کنه )
ممنون و منتظرم
1-memo1را روی صفحه قرار بده.
2-Memo2را روی صفحه قرار بده و Visibleآن را Falseآن.
3-کد زیر را در OnkeyPressمربوط به Memo1بنویس.


Memo2.Text := Memo1.Text+key;
IF Memo2.Lines.Count >= 4 then
Key := #0;

عدد 4 تعداد خطوط مجاز تایپ در memo1است.
موفق باشی

Mahyaa
دوشنبه 15 مرداد 1386, 19:27 عصر
توی OnChange یک چیزی شبیه به این میتونی بنویسی :


while ( Memo1.Lines.Count > MaxLineCount) do
Memo1.Lines.Delete(Memo1.Lines.Count-1);

SYNDROME
دوشنبه 15 مرداد 1386, 20:39 عصر
با سلام

توی OnChange یک چیزی شبیه به این میتونی بنویسی :


while ( Memo1.Lines.Count > MaxLineCount) do
Memo1.Lines.Delete(Memo1.Lines.Count-1);

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

Mahyaa
دوشنبه 15 مرداد 1386, 23:13 عصر
اگر کد رو توی رویداد OnKeyPress بگذاریم ، فقط اطلاعات وارد شده از طریق صفحه کلید رو Handle میکنه . اگر متنی از کلیپ بورد Paste بشه !

dkhatibi
سه شنبه 16 مرداد 1386, 11:03 صبح
رویداد onchange بهتر نیست؟

SYNDROME
سه شنبه 16 مرداد 1386, 17:16 عصر
با سلام

اگر کد رو توی رویداد OnKeyPress بگذاریم ، فقط اطلاعات وارد شده از طریق صفحه کلید رو Handle میکنه . اگر متنی از کلیپ بورد Paste بشه !
کاملاً حرف شما درست است(منظور من فقط صفحه کلید بود).:تشویق:
حالا می توانید از روشی که بنده و Mahyaa گفتیم با هم استفاده کنید و در این صورت صفحه کلید چشمک نزده و از طریق Copy و Pastهم اطلاعات آورده نمی شود.
موفق باشید

hp1361
سه شنبه 16 مرداد 1386, 20:47 عصر
ممنون
مشکلم حل شد