واضح آرشیو وب فارسی:سایت ریسک: چگونگي نمايش متنهاي طولاني در داخل نرم افزار؟؟؟؟ The Gladiator 17 بهمن 1387, 15:29سلام توي بعضي نرم افزار ها مخصوصا Applicationهاي ويندوزي فارسي يه قسمتي هست كه توش يه متني وجود داره اين متن قابل كپي شدنه ولي چند تا سوال توشون برام وجود داره جواب ها شو دست و پا شكسته مي دونم :31: ولي مي خوام مطمئن شم پيشاپيش ببخشيد 1) نوع داده اي كه براي ذخيره سازي اين نوع متن ها توي ديتا بيس به كار مي ره چي هستش كه مثلا 10 صفحهA 4 رو مي تونه توي يه فيلد از يك ركورد خودش ذخيره كنه؟؟ هم توي Access هم توي SQL Server 2) نوع ابزاري كه ما توي فرممون استفاده مي كنيم همون Textbox يا edit هستش كه multi line شده اند؟؟؟ آخرين و مهم ترين سوالم 3) Alignment موجود در متن در ديتابيس چطوري ذخيره مي شوند؟؟؟ data type خاصي وجود داره؟؟ بايد ترفند خاصي زد؟؟؟ من مي خوام اين روش رو توي دلفي يا سي شارپ به كار ببرم. اين هم يه نمونه عكس اميدوارم كمك كنه.... ممنون the_king 18 بهمن 1387, 04:14سلام توي بعضي نرم افزار ها مخصوصا Applicationهاي ويندوزي فارسي يه قسمتي هست كه توش يه متني وجود داره اين متن قابل كپي شدنه ولي چند تا سوال توشون برام وجود داره جواب ها شو دست و پا شكسته مي دونم :31: ولي مي خوام مطمئن شم پيشاپيش ببخشيد 1) نوع داده اي كه براي ذخيره سازي اين نوع متن ها توي ديتا بيس به كار مي ره چي هستش كه مثلا 10 صفحهA 4 رو مي تونه توي يه فيلد از يك ركورد خودش ذخيره كنه؟؟ هم توي Access هم توي SQL Server در مورد Access نوع داده متن های عادی Text است که حداکثر 255 کاراکتر را ذخیره می کند. برای ذخیره سازی متن های طولانی در Access از Memo استفاده کنید که حداکثر 63999 کاراکتر را هم در خود جای می دهد و که اصولا برای ذخیره سازی متن های 10 صفحه A 4 کافیست. در SQL نوع داده Text حداکثر 2147483647 کاراکتر را در خود جای می دهد که قطعا با 10 صفحه A 4 قابل قیاس نیست. تنها عیب نوع داده Text این است که Unicode نیست و ممکن است در بعضی از سیستم ها حروف فارسی درست خوانده نشوند و یا نمایش درستی نداشته باشند. نوع داده ntext در SQL حداکثر 1073741823 کاراکتر را در خود جای می دهد که برخلاف Text از نوع Unicode است. 2) نوع ابزاري كه ما توي فرممون استفاده مي كنيم همون Textbox يا edit هستش كه multi line شده اند؟؟؟ در اکثر فرم ها بله، ولی اگر در بعضی فروم ها می توان در کنار متن تصویر قرار داد و یا یک قسمت متن را با فونت یا رنگ متفاوتی نوشت (مانند Yahoo Messenger یا WordPad) از RichTextBox بجای TextBox عادی استفاده شده است که توانایی هایش به مراتب بیشتر از TextBox است. آخرين و مهم ترين سوالم 3) Alignment موجود در متن در ديتابيس چطوري ذخيره مي شوند؟؟؟ data type خاصي وجود داره؟؟ بايد ترفند خاصي زد؟؟؟ من مي خوام اين روش رو توي دلفي يا سي شارپ به كار ببرم. اين هم يه نمونه عكس اميدوارم كمك كنه.... ممنون اگر از TextBox های عادی استفاده می کنید، بایستی در کنار فیلد متنی، یک فیلد دیگری برای ذخیره سازی Alignment پیشبینی کنید وگرنه یک متن عادی اطلاعاتی از Alignment اش ارائه نمی کند. ترفندی که استفاده می کنید، عبارتست از ذخیره دو فیلد بجای یک فیلد. هر بار که متنی را ذخیره می کنید هم متن و هم Alignment اش را ثبت نمایید و موقع فراخوانی هر دو را روی TextBox پیاده کنید. اگر از RichTextBox استفاده می کنید، نیازی به ذخیره سازی اطلاعات اضافی ای نیست، چون کنترل های RichTextBox علاوه بر Text یک متن کد گذاری شده (TextRTF یا Rtf) هم دارند که علاوه بر متن، تمامی خصوصیات آن مثل رنگ و سایز و فونت و غیره را هم در خود جای می دهد. اگر این مشخصه را ذخیره کنید، تمامی خصوصیات متن را حفظ خواهید کرد. The Gladiator 19 بهمن 1387, 20:05در مورد Access نوع داده متن های عادی Text است که حداکثر 255 کاراکتر را ذخیره می کند. برای ذخیره سازی متن های طولانی در Access از Memo استفاده کنید که حداکثر 63999 کاراکتر را هم در خود جای می دهد و که اصولا برای ذخیره سازی متن های 10 صفحه A 4 کافیست. در SQL نوع داده Text حداکثر 2147483647 کاراکتر را در خود جای می دهد که قطعا با 10 صفحه A 4 قابل قیاس نیست. تنها عیب نوع داده Text این است که Unicode نیست و ممکن است در بعضی از سیستم ها حروف فارسی درست خوانده نشوند و یا نمایش درستی نداشته باشند. نوع داده ntext در SQL حداکثر 1073741823 کاراکتر را در خود جای می دهد که برخلاف Text از نوع Unicode است. در اکثر فرم ها بله، ولی اگر در بعضی فروم ها می توان در کنار متن تصویر قرار داد و یا یک قسمت متن را با فونت یا رنگ متفاوتی نوشت (مانند Yahoo Messenger یا WordPad) از RichTextBox بجای TextBox عادی استفاده شده است که توانایی هایش به مراتب بیشتر از TextBox است. اگر از TextBox های عادی استفاده می کنید، بایستی در کنار فیلد متنی، یک فیلد دیگری برای ذخیره سازی Alignment پیشبینی کنید وگرنه یک متن عادی اطلاعاتی از Alignment اش ارائه نمی کند. ترفندی که استفاده می کنید، عبارتست از ذخیره دو فیلد بجای یک فیلد. هر بار که متنی را ذخیره می کنید هم متن و هم Alignment اش را ثبت نمایید و موقع فراخوانی هر دو را روی TextBox پیاده کنید. اگر از RichTextBox استفاده می کنید، نیازی به ذخیره سازی اطلاعات اضافی ای نیست، چون کنترل های RichTextBox علاوه بر Text یک متن کد گذاری شده (TextRTF یا Rtf) هم دارند که علاوه بر متن، تمامی خصوصیات آن مثل رنگ و سایز و فونت و غیره را هم در خود جای می دهد. اگر این مشخصه را ذخیره کنید، تمامی خصوصیات متن را حفظ خواهید کرد. دوست عزيز واقعا ازت ممنونم جوابت بسيار كامل بود ديدم فشردن دكمه تشكر براي اين جوا بعظيم خيلي كم لطفيه :rose::rose::rose::rose: دستت درد نكنه خيلي زحمت كشيدي
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 755]