PDA

View Full Version : سوال در خصوص Memo



Mah6447
شنبه 24 شهریور 1386, 21:24 عصر
دوستان سلام
چگونه میتوان در DBGid بجای کلمه MEMO بخشهای از اطلاعات memo را نمایش داد.؟؟؟
همینطور که می دانید داخل ستونی که نوع فیلد آن از نوع MEMO است فقط کلمه MEMO
نوشته می شود.

ealvandi
شنبه 24 شهریور 1386, 21:39 عصر
قبل از ذخیره اطلاعات در بانک چند کاراکتر از فیلد memo را در یک فیلد دیگر کپی کنید.

البته این کار باعث افزونگی اطلاعات میشود.

Will_Smith
شنبه 24 شهریور 1386, 22:29 عصر
به نظر من یه فیلد محاسباتی ایجاد کن و اولین خط از فیلد Memo رو در اون قرار بده و این فیلد رو بجای فیلد Memo «مایش بده
در مورد کارایی این روش نظری ندارم

ealvandi
شنبه 24 شهریور 1386, 22:35 عصر
به نظر من یه فیلد محاسباتی ایجاد کن و اولین خط از فیلد Memo رو در اون قرار بده و این فیلد رو بجای فیلد Memo «مایش بده

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

champion
شنبه 24 شهریور 1386, 23:08 عصر
چرا از DxDbGrid‌ویا ورژن جدید تر اون CxGrid استفاده نمیکنی ؟ اونوقت میتونی جنس ستون رو از نوع ممو در نظر بگیری و علاوه بر نمایش اطلاعات از تمام امکانات ممو هم برخوردار خواهی شد

Will_Smith
شنبه 24 شهریور 1386, 23:15 عصر
فکر نمیکنم من هم چیزی جز این رو گفته باشم . ولی منظور از فیلد محاسباتی رو متوجه نمیشم.
عزیز دلم اون چیزی که شما گفتی با چیزی که من گفتم فاصله و تفاوتش مثل زمین و آسمونه
چیزی که شما میگی یعنی فیلد توی دیتابیس بصورت فیزیکی باشه که باعث افزونگی میشه
ولی چیزی که من میگم رو اگه دلفی کار باشی میدونی چیه(با کمال احترام) .فیلد محاسباتی یه نوع فیلد زمان اجرا است

Mah6447
یک شنبه 25 شهریور 1386, 19:41 عصر
تشکر از همگی دوستان که در نظر خواهی شرکت می کنند.
DXDGrid بزگترین مشکلش راست چین شدنش است اگر کامپوننتی وجود دارید که این مشکل را هم نداشته باشد لطفا معرفی نمایید؟؟
جناب Will_Smith چگونه اولین خط MEMo را کپی بگیرم ؟

MNosouhi
یک شنبه 25 شهریور 1386, 19:53 عصر
DXDGrid بزگترین مشکلش راست چین شدنش است اگر کامپوننتی وجود دارید که این مشکل را هم نداشته باشد لطفا معرفی نمایید؟؟
EhLibGrid

Will_Smith
یک شنبه 25 شهریور 1386, 20:02 عصر
جناب Will_Smith چگونه اولین خط MEMo را کپی بگیرم ؟
البته این یه سوال دیگه هست و قبلا هم در سایت بحث شده(اگه نبود توی delphi.aboutقبلا دیدم)
فیلدی که Memo هست رو بریز توی یه TStrings بعد اولین Line رو منتقل کن به فیلد محاسباتی

Mah6447
یک شنبه 25 شهریور 1386, 20:03 عصر
تشکر که همیشه جواب گویی سوالات هستی.

ealvandi
دوشنبه 26 شهریور 1386, 22:56 عصر
فیلد محاسباتی یه نوع فیلد زمان اجرا است


شاید من یک دلفی کار حرفه نباشم ولی فکر میکنم برای رسوندن منظورت باید از کلمه مناسب تری استفاده کنی . مثل یک متغیر موقت محاسباتی . چون اصولا وقتی حرف از فیلد به میان میاد منظور مقداری است که باید در بانک ذخیره شه . (البته در کمال احترام)

پرواز
دوشنبه 26 شهریور 1386, 23:59 عصر
جناب ویل_اسمیت منم با نظر جناب elvandi موافقم.

Will_Smith
سه شنبه 27 شهریور 1386, 00:45 صبح
شاید من یک دلفی کار حرفه نباشم ولی فکر میکنم برای رسوندن منظورت باید از کلمه مناسب تری استفاده کنی . مثل یک متغیر موقت محاسباتی . چون اصولا وقتی حرف از فیلد به میان میاد منظور مقداری است که باید در بانک ذخیره شه . (البته در کمال احترام)
نه دوست من طوری صحبت میکنید انگار این اسم رو من روی فیلد محاسباتی گذاشتم
Calclated Field یک لغت کاملا شناخته شده هست توی دلفی هم دقیقا به همین نام ازش یاد شده
بجای این بحث ها توی راهنمای دلفی این کلمه رو سرچ کن ببین چی به دست میاری
Calculated Field ترجمش هم که میشه فیلد محاسباتی

Will_Smith
سه شنبه 27 شهریور 1386, 00:46 صبح
جناب ویل_اسمیت منم با نظر جناب elvandi موافقم.
تجربه تجربه
برنامه نویسی بانک اطلاعاتی تجربه میخاد اگه نتونید از از فیلد های محاسباتی در جای خودش استفاده کنید خیلی خیلی کارتون توی پروژه ها لنگ میموننه

پرواز
سه شنبه 27 شهریور 1386, 01:28 صبح
تجربه تجربه
برنامه نویسی بانک اطلاعاتی تجربه میخاد اگه نتونید از از فیلد های محاسباتی در جای خودش استفاده کنید خیلی خیلی کارتون توی پروژه ها لنگ میموننه
تو حرف شما هیچ شکی وجود نداره. من نمی گم از این نوع نباید استفاده بشه. منظور من این بود که وقتی صحبت از بانک بود و صحبت فیلد Memo شد اگه کسی بیاد بگه فیلد محاسباتی فوراً ذهن میره به سمت فیلد Number توی دیتابیس.
حالا این عبارت Calculated Fields رو شما هرچی میخوای معنی کن.

Will_Smith
سه شنبه 27 شهریور 1386, 09:59 صبح
اتفاقا توی دیتابیس هم فیلد محاسباتی داریم مثال


SELECT num1,num2, (num1* num2) AS T_n FROM Table1
فیلد T_n فیلد محاسباتی در دیتابیس است.فیلد های محاسباتی فیلد های فیزیکی نیستند و در زمان اجرا ایجاد میشوند
The Conversation Ended.

m101_30
سه شنبه 27 شهریور 1386, 11:49 صبح
به هیچ کامپوننتی نیاز نیست. کافی است اعمال زیر را انجام دهید.

ADOTABLE را به فرم خود اضافه نموده و به جدول مورد نظر وصل نمائید.
بر روی ADOTABLE کلیک راست نموده و Fields Editor‌ را انتخاب نمائید.
در پنجره باز شده کلیک راست نموده و گزینه add all fileds را انتخاب نمائید.
فیلدی که از نوع MEMO یا Text است را انتخاب نمائید.
در قسمت Event، OnGetText را کلیک کنید.
برای مثال کد زیر را اضافه نمائید: (50 حرف اول MEMO را نشان می‌دهد)


if Sender.IsNull then Exit;
Text:=RightBStr(Sender.AsString,50);


:لبخندساده:

m101_30
سه شنبه 27 شهریور 1386, 12:39 عصر
نمونه برنامه ای برای دیدن 2 حالت قبل و بعد