PDA

View Full Version : یک الگوریتم برای جستجو



kivoon
دوشنبه 01 اسفند 1390, 00:58 صبح
سلام به همه برنامه نویس ها و "خسته" نباشید.
من از grid شرکت component one استفاده می کنم .
می خوام یه الگوریتم داشته باشم با تلفیقی از دستور for , if که بخوام یه همچین کاری انجام بدم "منظور نوشته های پایین "

فکر کنید ما یه همچین جدولی داشته باشیم .
82955
فرض کنیم که 10 کلاس هم داشته باشیم .
می خوام این الگوریتم تو جدولم جستجو کنه که کلاس های خالیی با ساعت رو به من بده
خروجی این الگوریتم مثلا این جوری باشه
روز دوشنبه کلاس 6 ساعت 9 تا 10 و کلاس 7 ساعت 12 تا 14 خالیه
روز چهار شنبه کلاس 2 از ساعت 14 تا 18 خالیه

واقعا ممنون میشم کمکم کنید

من حتی یه تیکه از کدشو نوشتم اینه .


WithMe.Grid_Ctl

Dim i, j AsInteger

For i = 1 To .Rows.Count.ToString

For j = 22 To 45

If LSet(.Item(i, j).ToString, 2) >= LSet("09:00", 2) And LSet(.Item(i, j).ToString, 2) <= LSet("11:00", 2) Then

Dim cr AsCellRange = .GetCellRange(i, j)

cr.StyleNew.BackColor = Color.Yellow

Else

Dim cr AsCellRange = .GetCellRange(i, j)

cr.StyleNew.BackColor = Color.Green

EndIf

Next j

Next i

EndWith


کد من کلی حساب می کنه روز هایی که خالیه رو با رنگ سبز نشون می ده و روزهای که خالی نیست با رنگ زرد نشون می ده .

kivoon
دوشنبه 01 اسفند 1390, 11:44 صبح
سلام دوباره :
کسی نیست به من جواب بده .

من به این الگوریتم احتیاج شدید دارم

kivoon
دوشنبه 01 اسفند 1390, 17:35 عصر
کسی از دوستان نیست .

حد اقل یه ایده برای این کار به من بدید که من به نتیجه برسم

دارم روش کار میکنم به یه جاهایی رسیدم .

اگه کسی ایده یا نمومنه کدی در این رابطه داره ازش ممنون می شم .

salam333
دوشنبه 01 اسفند 1390, 18:36 عصر
من خودم درمورد كمبوباكس اين كارو كردم ولي در مورد گريد انجام ندادم ولي ايده اش اينكه كه يه شمارنده انتخاب كردم كه به ازاي چك باكسهاي قبل از كمبو باكسها قراردادم وباعث فعلا شدن انها ميشه باهر كليك افزايش ميابد بعد درحالت جستجو ميام ان كمبو باكسهاي فعال رويكي يكي پيدا ميكنم ابتدا از شمارنده كم ميكنم ورشته جستجو رو درست ميكنم تا اينكه به يك ميرسه حالت انتها رشته رو درست ميكنم وعبارت اماده جستجو ميشه

klinton
سه شنبه 02 اسفند 1390, 01:25 صبح
به نظر من شما کل دیتاگرید رو تو یه آرایه دو بعدی قرار بدین و از اول تا آخرش رو چک کنید مثلا تو دو تا حلقه for
i هایی که از 0 تا 2 هستن شنبه 3 تا 5 یک شنبه چون هر روز سه قسمته
و
j ها هم 0 و 1 و2

پیشنهاد بعدی: میتونید کل دیتاگرید رو تو یه جدول دیتابیس بریزید و خانه های خالی رو صفر کنید الحاق نام ستون و محتوی فیلد (ساعت) در خانه های غیر صفر مقادیر درخواستی شماست