سی شارپ (ڈاٹ نیٹ) ونڈوز فارم اپلی کیشن کے تعلق سے مدد

محمد اسلم

محفلین
پریشانی نمبر 3:
hackerspk output: 3+1=4
ڈکشنری فائلز میں کالم کی طرز اختیار کرنے کے لیے / میں نے یہی محفل پر کسی پروگرام میں استعمال ہوتے ہوئے دیکھا ہے۔ کیا اس کا استعمال درست ہوگا، یا پھر ڈیٹا بیس بنا لیا جائے؟ ایکسل یا ایکسس کا(اس کا مجھے بالکل تجربہ نہیں ایکسس یا ایکسل کا)
hackerspk رانا نبیل ابرار حسین
بھائی ،،، اگر تمہارا کام ہوجائے تو میرا ایک کام کردینا ،،،، ایسا ہی لوجیک ہے،،، ایک ای ایکس ای بنانا ہے۔
 

hackerspk

محفلین
پریشانی نمبر 3:
hackerspk بھائی کا سجیشن(لسٹ کو استعمال کرنے کا) اور فراہم کیا گیا کوڈ استعمال کرکے مطلوب رزلٹ حاصل ہوگیا الحمد للہ۔
آگے عرض یہ ہے کہ ڈکشنری میں موجود الفاظ کے ساتھ دوسرا ایک کالم اٹیچ کرنا ہے، وہ ہے ریٹنگ کا۔ مثلا پہلے ڈکشنری اس طرح کی تھی
good
nice
excellent
awesome
اور ان الفاظ کا استعمال کرکے آؤٹ پٹ آرہا تھا۔۔۔مثلا مثال یہ ہے
yes, it's an excellent software
output: +1
لیکن اب شدت کو بھی محسوس کرنا ہے، یعنی اصل میں آؤٹ پٹ آنا چاہیے تھا۔۔۔
output: +3
یہ اس لیے کہ جملہ میں لفظ excellent کا استعمال ہے۔ وہی اگر good ہوتا تو آؤٹ پٹ آنا چاہیے : +1
اس کے لیے ہماری ڈکشنری میں ہر لفظ کے آگے اس طرح کا اضافہ کرنا ہوگا۔
good /1
nice /1
excellent /3
اور نیگیٹیو ڈکشنری میں
bad /-1
worst /-3
وغیرہ
اب اس سلیش / کے بعد کی ریٹنگ کو کس طرح لیا جائے؟ اور اسے کس طرح آؤٹ پٹ میں ایڈ کیا جائے، مثلا
it was excellent, really nice!
output: 3+1=4
ڈکشنری فائلز میں کالم کی طرز اختیار کرنے کے لیے / میں نے یہی محفل پر کسی پروگرام میں استعمال ہوتے ہوئے دیکھا ہے۔ کیا اس کا استعمال درست ہوگا، یا پھر ڈیٹا بیس بنا لیا جائے؟ ایکسل یا ایکسس کا(اس کا مجھے بالکل تجربہ نہیں ایکسس یا ایکسل کا)
hackerspk رانا نبیل ابرار حسین

کوڈ:
Dim finalPosRate As Integer
                For Each pos In positive
                    Dim tmPos As String = pos.Substring(0, pos.LastIndexOf("/"))
                    Dim rate As Integer = pos.Substring(pos.LastIndexOf("/") + 1)
                    If pos.Trim.Length > 0 Then
                        If LCase(line).Contains(LCase(tmPos.Trim)) Then
                            countP += 1
                            finalPosRate += rate
                        End If
                    End If
Next

finalPosRate میں شدت موجود ہو گی۔ کوڈ ٹیسٹ نہیں کیا میں نے مگر امید ہے کام کر دے گا۔ وگرنہ کام تمام تو کر ہی دے گا۔
 

شکیب

محفلین
جزاک اللہ بھائی۔
if (countN > 0) { if (countP > 0) { finalS += " and " + countN + " negative values"; } else { finalS += " contains " + countN + " negative values"; } } } }
پچھلے صفحے پر آپ کے فراہم کردہ لاجک میں سرخ الفاظ میں رنگا کوڈ رن نہیں ہوا۔ جبکہ سب کنڈیشن وغیرہ تو ٹھیک ہے۔ پتہ نہیں کیا بات ہے۔ statement میں آپ countP کو لکھنا بھول گئے تھے، وہ لکھ کر رن کیا ہے۔۔۔ لیکن ایک positive اور ایک negative سے ہونے پر جملے میں صرف positiveness ہی شو کر رہا ہے۔
 

شکیب

محفلین
پریشانی 4:
پوزیٹیو اور نیگیٹیو ورڈس کی ایک نئی ڈکشنری ہاتھ آئی ہے، جو میں Manuallay بنا رہا تھا۔ اس ڈکشنری میں الفاظ اس طرح درج ہیں۔
abandon -2
abandoned -2
abandons -2
abducted -2
abduction -2
abductions -2
abhor -3
abhorred -3
abhorrent -3
abhors -3
وغیرہ۔ یہاں لفظ اور ریٹنگ کے درمیان سپیس ہے۔۔۔ جبکہ میں نے / سلیش کا استعمال کیا تھا۔
مسئلہ یہ ہے کہ اسپیس کو / سلیش سے ری پلیس نہیں کر سکا۔۔۔ پتہ نہیں کیوں، سمپل نوٹ پیڈ اور نوٹ پیڈ ++ سے بھی نہیں ہوا۔
دوسرے، کیا سلیش کی بجائے اسی حالت میں بھی اس ڈکشنری کو استعمال کیا جاسکتا ہے؟
تیسرے، اس میں پوزیٹیو اور نیگیٹیو ساتھ میں ہے، تو اسے کس طرح استعمال کروں؟ کیا نیگیٹیو اور پوزیٹیو کو الگ کرنے کا طریقہ ہوسکتا ہے؟ یا ایسے ہی کام نکل سکتا ہے؟ کیسے؟
ڈکشنری یہاں سے ڈاؤنلوڈ کریں۔ ٹیکسٹ فائل

محمد تابش صدیقی سید ذیشان hackerspk رانا نبیل
اپڈیٹ: لینکس پر gedit میں ری پلیس کام کر گیا ہے، اب دو پوائنٹس جواب طلب بچتے ہیں۔ اللہ آپ سب کو سلامت رکھے۔
منتظر
 
آخری تدوین:
پریشانی 4:
پوزیٹیو اور نیگیٹیو ورڈس کی ایک نئی ڈکشنری ہاتھ آئی ہے، جو میں Manuallay بنا رہا تھا۔ اس ڈکشنری میں الفاظ اس طرح درج ہیں۔
abandon -2
abandoned -2
abandons -2
abducted -2
abduction -2
abductions -2
abhor -3
abhorred -3
abhorrent -3
abhors -3
وغیرہ۔ یہاں لفظ اور ریٹنگ کے درمیان سپیس ہے۔۔۔ جبکہ میں نے / سلیش کا استعمال کیا تھا۔
مسئلہ یہ ہے کہ اسپیس کو / سلیش سے ری پلیس نہیں کر سکا۔۔۔ پتہ نہیں کیوں، سمپل نوٹ پیڈ اور نوٹ پیڈ ++ سے بھی نہیں ہوا۔
دوسرے، کیا سلیش کی بجائے اسی حالت میں بھی اس ڈکشنری کو استعمال کیا جاسکتا ہے؟
تیسرے، اس میں پوزیٹیو اور نیگیٹیو ساتھ میں ہے، تو اسے کس طرح استعمال کروں؟ کیا نیگیٹیو اور پوزیٹیو کو الگ کرنے کا طریقہ ہوسکتا ہے؟ یا ایسے ہی کام نکل سکتا ہے؟ کیسے؟
ڈکشنری یہاں سے ڈاؤنلوڈ کریں۔ ٹیکسٹ فائل

محمد تابش صدیقی سید ذیشان hackerspk رانا نبیل
سپیس کے بجائے سلیش ٹی (\t) فائنڈ کریں
یہاں سلیش پہلے ڈسپلے ہو رہی ہے۔
 
تیسرے، اس میں پوزیٹیو اور نیگیٹیو ساتھ میں ہے، تو اسے کس طرح استعمال کروں؟ کیا نیگیٹیو اور پوزیٹیو کو الگ کرنے کا طریقہ ہوسکتا ہے؟ یا ایسے ہی کام نکل سکتا ہے؟ کیسے؟
میرا خیال ہے کہ اس سے بھی کام چل سکتا ہے، الگ کرنے کی ضرورت نہیں
 
آپ کی اس فہرست میں دو کالم ہیں۔ لفظ اور ریٹنگ
آپ کو ایک لفظ کی ریٹنگ نہیں بلکہ پورے جملے کی ریٹنگ سے غرض ہے۔
مثال کے طور پر:
تم اچھا نہیں کر رہے
تم/0
اچھا/2
نہیں/-2
کر/0
رہے/0

0+2+(-2)+0+0=0


لہٰذا آپ کو الگ فہرست مرتب کرنے یا الگ کنڈیشن لگانے کی ضرورت نہیں بلکہ ریٹنگ اٹھانی ہے جو منفی ہو یا مثبت، اس کی ریٹنگ ساتھ ایڈ ہو جائے گی۔
 

شکیب

محفلین
پریشانی نمبر 5:Negation Handling
Picture quality is not good.
اس طرح کی Review کی صورت میں not کے بعد اگر کوئی positive rating والا لفظ آئے، تو ریٹینگ کو
rate ضرب -1
کرنا ہے۔ میں نے یوں کیا کہ ڈالے گئے متن کو ٹوکنائز کیا۔ اور ان ٹوکنز کو richTextBox2 میں دکھایا۔
picture
quality
is
not
good
اب اس میں میں نے no یا not کی پوزیشن معلوم کی، اور اس پوزیشن کو a کہا۔
پھر کنڈیشن لگائی کہ اگر a+1 کی پوزیشن پر ہمارے الفاظ(اچھے، برے) ڈکشنری میں سے کوئی لفظ ہے تو اس لفظ کی ریٹنگ منفی کر دی جائے۔
کوڈ درست کام کرتا ہے لیکن ایک ہی رزلٹ کئی بار(اتنی بار جتنے ٹوکن richTextBox2 میں موجود ہیں)
ظاہر ہے یہ اس لیے ہو رہا ہے کہ foreach کا لوپ richTextbox2 کی ہر لائن کے لیے ہے جس کے اندر یہ تمام کوڈ میں نے not handling کا ڈالا ہے۔ لیکن اسے باہر کرنا بھی سارا کام کھوٹا کر رہا ہے۔
دوسرے یہ کہ صرف not good, یا not bad وغیرہ ڈالو تو نتیجہ نہیں دکھاتا، جبکہ it is good وغیرہ پر دکھاتا ہے۔
کیا کروں؟

سورس کوڈ بمع ڈکشنری فائل یہ رہی۔ میں نے ڈکشنری کا پاتھ ویسے ہی سیٹ کیا تھا، چنانچہ آپ بھی اسے بدل دیجے گا۔ میں نے Current Directory پر سیٹ نہیں کیا ہے ڈکشنری فائل کو۔
hackerspk رانا نبیل ابن سعید سید ذیشان ابرارحسین
 
آخری تدوین:

شکیب

محفلین
پریشانی نمبر 6: لوپ روکنا
one review per line کے ریڈیو بٹن پر چیک ہونے کی صورت میں ایک لائن ، بطور ایک ریویوو کے شمار ہوگی۔ اس کے لیے ہر لائن پر سارا پروسیس اپلائی کرنا ہوگا۔۔۔ لیکن ہو یہ رہا تھا کہ اگر 10 آراء ڈالی گئیں تو صرف دسویں رائے کا نتیجہ ہمارے سامنے آتا تھا۔۔۔ یعنی پروسیس تو سب کرتا تھا، لیکن نتیجہ اخیر کا ہی آئے گا کیونکہ ویلیوز لوپ میں بدل جاتی ہیں۔ میں چاہ رہا تھا کہ یوزر کو ایک ایک review کےنتیجہ کو دیکھ سکے۔ اس کے لیے میں نے یہ جگاڑ لگایا کہ ایک عدد میسج باکس لگایا جو کہتا ہے
move to next review
اس سے دو خرابیاں ہوئیں۔ ایک تو یہ میسج باکس بیچوں بیچ آجاتا ہے جسے ہٹا کر نتیجہ دیکھنا پڑتا ہے۔
دوم، یہ محض جگاڑ ہے، یوزر فرینڈلی نیس کے لیے میں چاہ رہا ہوں کے ایک بٹن ہو، ہر ریویو کا نتیجہ دکھانے کے بعد(یعنی ہر بار لوپ چلنے پر) وہ رکے رہے حتی کہ بٹن دبائی جائے اور پھر اگلی ویلیو سامنے آئے۔
اس طرح لوپ کو روکنے کا کیا طریقہ اپناؤں؟
 
اب اس میں میں نے no یا not کی پوزیشن معلوم کی، اور اس پوزیشن کو a کہا۔
پھر کنڈیشن لگائی کہ اگر a+1 کی پوزیشن پر ہمارے الفاظ(اچھے، برے) ڈکشنری میں سے کوئی لفظ ہے تو اس لفظ کی ریٹنگ منفی کر دی جائے۔
کوڈ درست کام کرتا ہے لیکن ایک ہی رزلٹ کئی بار(اتنی بار جتنے ٹوکن richTextBox2 میں موجود ہیں)
یہ اتنا آسان نہیں ہے، no , not کے علاوہ بھی ایسے الفاظ ہو سکتے ہیں مثلاً nor, neither وغیرہ۔ پھر ضروری نہیں کہ فوراً اگلا لفظ ہی مثبت ہو۔
مثلاً
Picture quality is not very good.

اور یوں جملے کی ساخت کئی انداز سے مختلف ہو سکتی ہے۔
اسی طرح منفی+منفی کو بھی مثبت کرنے کی ضرورت ہو گی۔
Picture quality is not bad.
 

شکیب

محفلین
یہ اتنا آسان نہیں ہے، no , not کے علاوہ بھی ایسے الفاظ ہو سکتے ہیں مثلاً nor, neither وغیرہ۔ پھر ضروری نہیں کہ فوراً اگلا لفظ ہی مثبت ہو۔
مثلاً
Picture quality is not very good.

اور یوں جملے کی ساخت کئی انداز سے مختلف ہو سکتی ہے۔
اسی طرح منفی+منفی کو بھی مثبت کرنے کی ضرورت ہو گی۔
Picture quality is not bad.
یہ کوئی مسئلہ نہیں ہے۔
not a good one, not very good,
میں موجود a اور veryیہ stop words ہیں، جنہیں پروسیس کرنے سے پہلے ہی ریموو کردیا جائے گا۔

جی بالکل۔ rate ضرب -1 سے یہ کام بخوبی ہوجائے گا۔ شاید آپ نے غور نہیں کیا۔
good +3
3 ضرب -1 : -3
bad -3
-3 ضرب -1 : =3
 

شکیب

محفلین
پریشانی 7:
تابش بھائی کے پوائنٹ سے یاد آیا، Stop words مثلا is, and, an , an the, very, of ,وغیرہ بھی ٹھیک سے ریموو نہیں ہو رہے تھے۔ صرف is ریموو ہو رہا تھا۔
لسٹ باکس میں ایڈ سب اسٹاپ ورڈس ہوتے ہیں
if(token == SW(
لسٹ باکس میں ایڈ کرنے کا کام، اور ریموو کرنے کا کام (replace میتھڈ کے ذریعے) اسی کنڈیشن کے تحت کر رہا ہوں۔ پھر بھی ایک کام ہورہا ہے، اور ریپلیس والا نہیں۔
 
سوال یہ ہے کہ کیا آپ یہ پروجیکٹ فقط سی شارپ سیکھنے کے لیے کر رہے ہیں یا یہ کوئی سنجیدہ پروجیکٹ ہے؟ اگر صرف زبان سیکھنا مقصود ہو پھر تو کچھ بھی کریں، کوئی مسئلہ نہیں، لیکن یہ سنجیدہ پروجیکٹ ہے تو پھر یوں لغت، کنڈیشنز، اور لوپس کی مدد سے یہ کام چوہے بلی کا کھیل بن کر رہ جائے گا۔ ایک نوعیت کے فقروں پر کام کریں گے تو کہیں سے کچھ اور نکل آئے گا، اس کو درست کریں گے تو پہلا بگڑ جائے گا اور بہت جلدی سب کچھ اتنا پیچیدہ ہو جائے گا کہ اپنا لکھا کوڈ خود کو بھی سمجھ میں نہیں آئے گا۔ اس کام کے لیے آپ مشین لرننگ کا استعمال کریں۔ اگر آپ کے پاس کلاسیفیکیشن کے لیے فقط دو ہی کلاسیز ہیں، مثبت اور منفی تو اس کام کے لیے کوئی بھی سپورٹ ویکٹر مشین (ایس ایم او) لائبریری استعمال کر لیں جو کم و بیش ہر پروگرامنگ زبان میں مل جائے گی۔ البتہ آپ کو ٹریننگ ڈیٹا تیار کرنا ہوگا۔ جس میں آپ کچھ مثالیں مثبت ریٹنگ والی اور کچھ مثالیں منفی ریٹنگ والی شامل کریں اور خود ہی انھیں کلاسیفائی کریں۔ بعد میں آپ کا کلاسیفائر اس ڈیٹا سے ماڈل تیار کرے گا اور نئے فقروں کو کلاسیفائی کر سکے گا۔ اس کی کار کردگی سو فیصد درست نہیں ہوگی لیکن وقت کے ساتھ ساتھ جتنا ٹرینگ ڈیٹا بڑھتا جائے گا اتنی بہتری آتی جائے گی۔ :) :) :)
 
Top