با سلام خدمت تمام اساتید محترم
من می خوام 1 برنامه با دلفی بنویسم که اشعار ذخیره شده در دیتابیس رو نمایش بده
این کار رو با dbGrid انجام دادم ولی ظاهر مناسبی نداره
شما چی پیشنهاد میدین؟
با سلام خدمت تمام اساتید محترم
من می خوام 1 برنامه با دلفی بنویسم که اشعار ذخیره شده در دیتابیس رو نمایش بده
این کار رو با dbGrid انجام دادم ولی ظاهر مناسبی نداره
شما چی پیشنهاد میدین؟
دوست عزیز منظورتان از بد نمایش داده شدن چیست؟ اشعار باید با فونتی حاص نمایش داده شوند یا طرز قرار گیری آنها بهم در DbGrid به هم میریزد؟ میخواهید فقط لیست اشعار پشت سر هم نمایش داده شود؟ در اینصورت میتوانید از هر جدولی استفاده کنید و محتویات db خود را درون آن بریزید.
موفق باشید...
می خواند مصراعها مرتب نشون داده بشه. مثل اشعار کتاب فارسی
2 تا DBLabel بگذار یا 2 تا Label بگذار و Captionش رو خودی ست کن
اگر چند بیت داری میتونی BidiMode مصراعهای اول رو RightToLeft و BidiMode مصراعهای دوم رو LeftToRight قرار بدی تا مرتب تر باشند
با تشکر از تمامی اساتید محترم
مشکل اینجاست که تعداد ابیات در هر شعر مشخص نیست
برنامه به این صورت هستش که لیست عنوان های اشعار در یک dbGrid نمایش داده میشه و با کلیک بر روی هر عنوان, اشعار مربوطه نمایش داده میشن.
یکی از راه ها این است که برای هر بیت 1 رکورد در نظر بگیری و هر مصرع را در یک فیلد ذخیره کنی.
حالا می توانی یا از یک محیط پرینت مثل FastReport و یا QueickReport استفاده کنی و یا در یک Scroll به تعداد ابیات Labelبسازی.
البته DBGrid هم می تواند گزینه مناسبی برای نمایش اطلاعات باشد
موفق باشید
با نظر من بهترین راه استفاده از DBCtrlGrid1 است که به تعداد رکورد تو ار 2لیبل به نمایش می گذاره اگه خواستی بگو تا آموزش کار باشو برات بذارم.
دوست عزیز زمانی که شما با یکی از ابزارهای گزارش گیری کار می کنید حتماً یک باند به عنوان Detail دارد که زمانی که شما DataSet خود را به آن وصل می کنید به تعداد رکوردها سطر ایجاد می کند.
مانند چاپ لیست کالاها و . . . گزارشات دیگر.
حالا در باند Detail را شما می توانید 2 تا Box قرار دهید و هر کدام را به یکی از فیلدها وصل کنید.
موفق باشید
بسیار ساده است
فقط کافیه از تب data control کامپوننتDBCtrlGrid1 رو انتخاب کنی و DataSource اون رو DataSource مورد نظر انتخاب کنی و روی اون 2 تا DBText بذاری سپس datafield رو به فیلد مورد نظر تغییر بدی و کار تمومه!
آخرین ویرایش به وسیله saleh_fartash : شنبه 01 تیر 1387 در 10:21 صبح
دقیقاً منظورم این است.
گفتم که یگی از راه حلهایی که می توانید استفاده کنید این است.
چون باعث می شود بتوانید مصرع ها را به صورت پله ای بچینید که این قابلیت را Grid هم به شما نمی دهد.
البته می توانید با ایجاد Object روی فرمتان هم چنین کاری را انجام دهید ولی کار چندان راحتی نیست.
در ضمن اگر از fastReport استفاده کنید می توانید فایل نمایشی را به PDF و. . . هم تبدیل کنید و یا عمل جستجو را روی شعر انجام دهید.
موفق باشید
سیندورم این راه شما به نظر من اشتباه.چون شاید کاربر بخواد ابیات رو در فرم نشون بده -به دلایلی-که برای این راه حل رو دادم .آگر انجام بدید می بینید که جالب میشه.
باتشکر.
راستی اگه بانک اشعار حافظ و خیام رو می خوای من با هزار دو دردسر خودم پیدا کردم!
اگه می خوای بگو برای چی اشعار رو می خوای من هم اشعار آن بزرگواران رو برات تکثیر غیر مجاز می کنم!
دوست عزیز قرار نیست راه حلی که من می دهم تنها راه حل دنیا باشد.
این فقط یک راه حل بود تا اگر می خواهید فرمتان را به شکل های زیبا در بیاورید و کارتان راحتر باشد و اگر خواستید بتوانید برای هر صفحه طراحی زیبا انجام دهید راحت باشید.
فقط یک پیشنهاد است و هیچ اجباری در آن نیست.
موفق باشید
د.ست عزیزترم من این رو می دونستم که گفتمدوست عزیز قرار نیست راه حلی که من می دهم تنها راه حل دنیا باشد.
من این رو گفتم که اگر راه من درسته که شما یاد بگیرین و اکه غلط من. خوب برای همین که امدیم اینجا.سیندورم این راه شما به نظر من اشتباه
امیدوارم بتونیم نظرم رو طوری بدم که کسی ناراحت نشه.
ببين بهترين كار نوشتن يه كامپوننت براي اين كار ميباشد.
و بهترين كلاسي كه ميتوني براي كامپوننتت از اون استفاده كني TLabel هستش من اين كارو قبلا كردم خيلي زيبا ميتوني اشعارت رو توش Out بكوني و حتي ميتوني اونو Transparent كني و زير اشعار هر عكسي قرار بدي.
نمونه برنامه هايي كه من از اين روش استفاده كردم:
ديوان فرزانگان1و2و3 و فال نامه حافظ است و مشاعره محصول شركت سليم رايانه(1383).
يا تقويم "من" قسمت فالنامه محصول شركت اهورا(1386-1387).
اگه در مورد نوشتن كامپوننت سوال داشتي تو همين تاپيك بپورس, تا جواب بدم.
موفق باشيد.
ببين من Component اي كه برات ارسال ميكنم خودم براي همين كار نوشتم.
يك Property به نام Items (TStringList)داره كه هر مصرع شعرت را به اون Append ميكنيد.
با اين كار اشعار رو زير هم نشون ميده.
دو Property به نام هاي LeftFard, LeftZoj داره كه فاصله از چپ مصرع هاي زوج و فرد رو برش تعيين ميكنيد(پيشنهاد من LeftFard=0 و LeftZoj=نصف طول ابزار) به اين صورت اشعار زير هم و به زيبايي نمايش داده ميشوند.
(اميدوارم به دردت بخوره).
با عرض تشکر مججد از جناب گلزار
1 سوال در مورد کامپوننتی که ارایه دادین دارم: آیا این امکان وجود داره که یک مصرع خاص رو با یک رنگ دیگه نمایش بدیم؟
وقتی خود دلفی کامپوننت داره شما ه جای جستجو در خود دلفی کامپوننت نوشتین؟
اگر راهی که من بهتون داده بودن رو امتحان کرده بودین و اگر اشکال داشت به من می گفتین نیاز به این کارها نبود.