PDA

View Full Version : لینک دار کردن بخش های مختلف یک متن



addmin
شنبه 09 آذر 1392, 23:42 عصر
سلام دوستان
یه راهنمایی

من یه متن دارم مثلا فرض کنید 100 کلمه که اینها شامل حرف و ضمیر و اسم و فعل و .. میشند
من م یخوام برنامه ای بنویسم که وقتی کاربر هر بخشی از متن رو با موس انخاب می کنه یا روش میره اطلاعات مربوط به اون قسمت یا واژه مربوطه بهش نشون داده بشه
چطوری می تونم این کار رو بکنم.

باید کل متن رو طبق اون چیز یکه میخوام قطعه قطعه کنم و به اطلاعاتی که م یخوام نشون بده لینک کنم ؟؟؟
این خیلی کار سختی هست اگر متنم طولانی باشه .روش دیگه ای هست؟؟؟؟
ممنون میشم راهنمایی بفرمایید

addmin
سه شنبه 12 آذر 1392, 09:33 صبح
کلا کسی نظری پیشنهادی راهنمایی نداره بده !!!!!!!!

rahnema1
سه شنبه 12 آذر 1392, 12:50 عصر
سلاممن بعضی برنامه ها را دیدم البته به زبان جاوا که برای لینک دار کردن مت از html استفاده کرده

addmin
سه شنبه 12 آذر 1392, 14:47 عصر
چه طوری خب؟ میشه بیشتر راهنمایی کنید یا لینکی چیزی معرفی کنید

khokhan
سه شنبه 12 آذر 1392, 16:12 عصر
چه طوری خب؟ میشه بیشتر راهنمایی کنید یا لینکی چیزی معرفی کنید
.................................................. .........................:لبخند:
لینک (http://www.codeproject.com/Articles/9196/Links-with-arbitrary-text-in-a-RichTextBox)

rahnema1
سه شنبه 12 آذر 1392, 19:03 عصر
چه طوری خب؟ میشه بیشتر راهنمایی کنید یا لینکی چیزی معرفی کنید

http://sourceforge.net/projects/zekr

addmin
جمعه 22 آذر 1392, 14:47 عصر
http://sourceforge.net/projects/zekr

این لینک رو دیدم
باید حتما سیتم عامل مجازی جاوا روی سیستمم باشه تا بتونم اجراش رو ببینم

راهنمایی بیشتری کسی می تونه بکنه.
ببینید در واقع من یه سری واژه دارم که می خوام به شکل های مختلفی اونها رو با هم ترکیب کنم و جملاتی ایجاد بشه نرم افزار بتونه این واژ ه هار و بشناسه و جملات رو بر اون اساسی که من بهش میگم شناساییی و اطلاعات مرتبط با اونها رو نمایش بده
اما یه نکته دیگه ای که این میان است اینه که جملات بر اساس واژ] ها ساخته می شوند و همه به یک شکل ایجاد نمی شوند یعنی محتوی جملات متفاوت هست
نمی دونم باید چیکار کنم.؟؟؟؟؟؟/
میشه واژ ها رو با هم and کرد و جمله ساخت اما چطوری بهش بگم کدوم واژ] رو با کدوم واژه and کنه؟؟؟؟؟؟؟؟؟

fmehrvarzi
جمعه 22 آذر 1392, 15:57 عصر
میتونی به جای تکست باکس از وب بروز استفاده کنی که کمی دستورات اچ تی ام ال بلد باشی کارت راه میوفته

addmin
جمعه 22 آذر 1392, 18:52 عصر
چطوری ؟میشه بیشتر راهنمایی بفرمایید؟ و یه چیز دیگه یه فرم دارم که چندتا فیلد توش ایجاد کردم . این فیلدها مقادیرشون رو از دیتابیس می خونند. می خوام وقتی این فرم باز میشه مقادیر این فیلدها رو انتخاب و باهم and کنم. اما نمیخوام نتیجه دوباره تو دیتابیس ذخیره بشه بلکه می خوام فقط نتیجه and رو روی یه فرم دیگه فراخوانی کنم چطوری می تونم این کار رو بکنم امکانش هست مقادیر متنی رو با هم and کرد مثلا یه فیلد کلمه یا و یه فیلد کلمه علی بعد این دوتا با زدن دکمه ذخیره and بشند و تو یه فرم دیگه نتیجه آن یعنی یا علی رو ببینم ؟؟؟میشه؟؟؟؟؟

rahnema1
جمعه 22 آذر 1392, 20:36 عصر
فکر می کنم شما چند تا قضیه را باهم دارید مخلوط می کنید سوالات بعدی شما اصلا ربطی به لینک دار کردن متن نداره اصلا قضیه کاملا عوض شد اینکه می خواهید دو تا رشته را با هم ترکیب کنید با یک علامت + میشه انجامش داد اگه قضیه پردازش زبان هست باز قضیه اش فرق می کنه

addmin
جمعه 22 آذر 1392, 20:50 عصر
درواقع چندتا قضیه نیست یه بخش از صحبت هام مربوط به پیاده سازی هست و یه بخش دیگه مربوط به شیوه ای است که برا ی کاربر در نظر گرفتم تا اون محتوی پیاده سازی شده رو دریافت کنه ببینید من از همین پست اخرم استفاده می کنم و توضیح میدم من نیاز دارم که بتونم اطلاعات مربوط یه کلمه «یا» و کلمه «علی» و همین طور اطلاعات مربوط به ترکیب این دو کلمه یعنی« یا علی» رو در پایگاه داده ذخیره کنم با این شرط که هر کلمه فقط یه بار در پایگاه داده باید و همچینین نخواهم ترکیب اونها رو هم در پایگاه داده ذخیره کنم. قط میخوام از نتیجه این ترکیب استفاده کنم و اون رو به ماره اطلاعات مربوط هب اون به کاربر نمایش بدم و در این سمت در متنی که به کاربر نشون میدم اون با انتخاب کلمه «یا» با موس بتونه اطلاعات مربوط به اون و با انتخاب کلمه «علی» اطلاعات مربوط به اون و با انتخاب کلمه «یا علی» اطلاعات مربوط به اون رو ببینه امیدوارم متوجه شده باشید

rahnema1
جمعه 22 آذر 1392, 22:31 عصر
مثلا شما می خواهید یک جدول با یک ستون و سه تا سطر باشه به این صورت
1. اطلاعات مربوط به کلمه یا
2. اطلاعات مربوط به کلمه علی
3. اطلاعات مربوط به کلمه یاعلی
حالا برنامه از کجا بفهمه که که سطر اول مربوط به کلمه یا هست؟ به غیر از اینکه در جدول یک ستون دیگه ای باشه که بشه ازش فهمید این مربوط به کلمه های یا ، علی و یاعلی باشه
در واقع شما یک چیزی شبیه دیکشنری می خواهید که یک ستون کلمه و ستون دیگه هم معنی اون باشه نمی دونم تونستم منظور شما رو بگیرم یا نه؟

addmin
شنبه 23 آذر 1392, 14:08 عصر
نه ببینید من یه جمله دارم مثلا این « یا علی تو مولای من هستی»
حالا این جمله خودش میشه چندتا کلمه یکی حرف هست یکی اسم هست یکی فعل و الی اخر
هر کلمه یه جدول برای خودش داره
حرفها یه جدول برای خودشون اسم ها هم همین طور فعل ها هم همینطور که ویژگی های مربوط به اونها میشه فیلدهای هر جدول
خب این تا اینجا شد مثلا سه تا جدول برای حرف ها و اسم ها و فعل ها

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

نمیدونم درست تونستم منظورم رو برسونم یا نه؟

تو این مثالی که شما زدید من واژه «یا» و واژه«علی» رو دارم تو جداول خودشون اما واژه«یا علی» رو ندارم و باید بسازم درواقع نمی خوام ترکیب واژ ها هم تو دیتابیسم وارد بشه چون افزونگی به شدت بالا میره.

اینم که پست رو زدم لینک دار کردن متن درواقع مربوط به اینه که می خوام کاربر اگر واژه «یا» رو انتخاب کرد اطلاعات مربوط به این واژه از جدول حرف رو ببینه اگر واژه «علی» رو انتخاب کرد اطلاعات از جدول اسم رو ببینه واگر «هستی» رو انتخاب کرد اطاعات مربوط به فعل «هستی» رو از جدول فعل ببینه. و اگر کل جمله رو انتخاب کرد اطلاعات مربوط به کل جمله از جدول جمله رو ببینه.

rahnema1
شنبه 23 آذر 1392, 19:40 عصر
حالا یه نکته دیگه. آیا این ویژگیها را قبلا شما تعریف کرده اید یا نه این ویژگیها از روی کلمات توسط کامپیوتر محاسبه و ساخته می شوند؟ اگه قبلا شما تعریف کرده اید همون طور که قبلا گفتم مجبورید به هر حال نوعی افزونگی رو بپذیرید ولی اگه قراره این ویژگیها از روی اون کلمات محاسبه بشه خب قضیه اش فرق می کنه و حتی نیازی به تشکیل جدول واسه جمله هم نیست

addmin
یک شنبه 24 آذر 1392, 10:49 صبح
ویژگی های جمله در جدول مربوط به جمله وارد میشه فقط این خود جمله هست که م یخوام کلمات اون مجددا به صورت جمله وارد نشه
در واقع فرمی طراحی کردم به این صورت:

بخش اول جمله : combobox3 combobox2 combobox1
بخش دوم جمله : combobox3 combobox2 combobox1
بخش سوم جمله : combobox3 combobox2 combobox1
الی اخر: combobox3 combobox2 combobox1

در کمبوباکس های 1،2 و 3 محتوی سه جدولی که در بالا گفتم میاد البته فقط فیلد کلماتش یعنی کمبوباکس 1 میشه همه حرفها که در جدول حرف ثبت شدند و همین طور کمبو باکس دوم همه اسم ها که د رجدول اسن ثبت شدند و الی اخر. برای هر جمله به ترتیب از این کمبوباکس ها کلمات رو انتخاب م یکنم
به ای روش محتوی جمله رو انتخاب می کنم و دز همین فرم اطلاعات مربوط به همین جمله رو هم وارد می کنم .
حالا وقتی کلید ذخیره رو می زنم اطلاعات مربوط به جمله میره تو جدول جمله ذخیره میشه اماخود جمله چی میشه؟
اگر نخوام به خاظر افزونی خود جمله هم ذخیره بشه بعدا اگر کاربر خواست جمله رو فراخوانی کنه از طریق ادرس جمله چطوری میشه جمله رو براش اورد؟

rahnema1
یک شنبه 24 آذر 1392, 21:32 عصر
اگه لازمه که خود جمله را بعنوان ID استفاده نکنید می تونید جمله رو Compress یا فشرده کنید و جمله فشرده شده رو بعنوان ID بذارید که این کار با استفاده از System.IO.Compression.GZipStream صورت می گیره

addmin
یک شنبه 24 آذر 1392, 23:41 عصر
خب بعد چه اتفاقی می افته ؟
میشه بیشتر توضیح بدید؟

rahnema1
دوشنبه 25 آذر 1392, 00:07 صبح
خب همین دیگه در واقع شما یه جدول جملات دارید که دو ستون داره
ستون اول خود جمله هست اما به صورت فشرده شده
و ستون دوم هم ویژگی اون جمله هست
وقتی که شما از ترکیب کلمه های موجود در کمبوباکس ها یک جمله می سازید ابتدا باید اون جمله را فشرده کنید
سپس اون جمله فشرده شده را با ستون اول جدول جملات مقایسه کنید اگه یکی بود در نتیجه ویژگی جمله به اون تعلق می گیره
مطالبی که گفتم صرفا واسه اینه که افزونگی شما کمتر بشه

addmin
دوشنبه 25 آذر 1392, 08:57 صبح
خب در این حالات خود جمله رو که حالا فشرده شده میشه از همین جدول فراخوانی کرد و به صورت غیر فشرده تو یه تکس باکس به کاربر نشون داد؟
مثلا از طریق ادرس
فرض کنید یه جمله دارم که مثلا تو صفحه 5 و 10 و 15 تکرار شده
من می خوام کاربر وقتی مثلا شماره صفحه 5 رو وارد می کنه تمام جملات مربوط به اون صفحه رو بهش نشون بده
حالا باید بیاد تو این جدول جملات و ببین کدوموشون شماره صفحش 5 هست اونها رو بهش نشون بده
وقتی جملات فشرده شده این اتفاق ممکنه یا نه؟

rahnema1
دوشنبه 25 آذر 1392, 10:26 صبح
آره دیگه هم تابع فشرده سازی و هم تابع از فشرده خارج کردن داریم هر دو تا ش در System.IO.Compression.GZipStream تعریف شدن

addmin
دوشنبه 25 آذر 1392, 13:36 عصر
OK
خیلی خیلی ممنون
تست می کنم اگر اشکال داشتم تو همین تاپیک مطرح میکنم
خواهش م یکنم اگر تونستید همین طوری راهنمایی کنید
بازم ممنون