zanima me kako bi se mogao napraviti search engine u windows formi koji će pretraživati tagove panela i kako bi ta forma rezultata koju on pronađe trebala izgledati?
google is your friend ali za ovo mi više odmaže nego pomaže
zanima me kako bi se mogao napraviti search engine u windows formi koji će pretraživati tagove panela i kako bi ta forma rezultata koju on pronađe trebala izgledati?
google is your friend ali za ovo mi više odmaže nego pomaže
možda LINQ to Objects pomogne, nešto kao npr.
var output = from s in NekaKontrola1.Controls where s is Panel && s.tag == "Nešto" select s
zahvaljujem momci na savjetima al to sam i ja znao, taj search nije efektivan kad nemogu napravit više tagova na isti panel i nemogu napravit efektivan search koji će mi izabrat koji od panela sa istim pojmom mogu izabrat
Ne razumjem, možeš li malo bolje objasniti.
po jednom panelu mogu samo jedan tag string staviti, znači samo jedan tag po panelu
sa obzirom da imam 63 panela, pojmovi na njima se tu i tamo ponavljaju, 2,3,4 puta da imam isti pojam
ako par panela ima isti pojam, ja bi htio da svaki panel ima više tagova, tako da mogu dobiti listu panela od kojih mogu izabrat koji želim pogledat
ali sa obzirom da mi je jedan panel ograničen jednim tagom, neznam kako napravit search, a samo stavljanje search rezultata na listu mi nije problem napravit
po jednom panelu mogu samo jedan tag string staviti, znači samo jedan tag po panelu
sa obzirom da imam 63 panela, pojmovi na njima se tu i tamo ponavljaju, 2,3,4 puta da imam isti pojam
ako par panela ima isti pojam, ja bi htio da svaki panel ima više tagova, tako da mogu dobiti listu panela od kojih mogu izabrat koji želim pogledat
ali sa obzirom da mi je jedan panel ograničen jednim tagom, neznam kako napravit search, a samo stavljanje search rezultata na listu mi nije problem napravit
Pa ti svakom daj neki jedinstevni ID, i onda u file, bazu di oces zapisi koji sve tadogi idu za taj ID (ako san ja dobro svatia sta oces)
nemogu se spojit na bazu jer to treba biti prijenosna aplikacija bez dodatnih class library-a, tj dll-ova, i baza x)
Možda da napraviš CustomControlu
public class MyPanel: public Panel
{
public HashTable MyTag{get; set;}
// ili List<string> MyTag sto ti vise pase
public MyPanel(params string str)
{
// Dodavanje u HashTable
}
}
i MyTag koristšumjesto Taga
Pa stavljaj tagove ovako
panel.Tag = "prvi panel i opis";
panel2.Tag = "drugi panel i njegov opis";
Pa stavljaj tagove ovako
panel.Tag = "prvi panel i opis";
panel2.Tag = "drugi panel i njegov opis";
|--------panel 1 ----------- | --------- panel 2 ------------ | ----------- panel 3 ------------|
tag: 1, 2 tag: 2,3 tag: 3,1
i ovakvih panela 63 komada sveukupno
sad ono što tražim je efektivan search koji će naći sve panele koji imaju tag 2, bez da pišem ogroman if else uvjet, ali problem je što nemogu stavljat više tagova na isti panel
Možda da kao tag koristiš neku generičku kolekciju, tipa hash set, list ili nešto drugo šta bolje ti odgovara, jer Tag ti je tipa object.
Možda da napraviš CustomControlu
public class MyPanel: public Panel
{
public HashTable MyTag{get; set;}
// ili List<string> MyTag sto ti vise pase
public MyPanel(params string str)
{
// Dodavanje u HashTable
}
}
i MyTag koristšumjesto Taga
ovo mi još uvijek ostavlja nerješen search, kako će on pronaći više tagova ako se zaustavi kad pronađe prvi koji mu prolazi uvjet?
pa napisao sam ti gore LINQ primjer, on ne vača jedan objekt nego kolekciju objekata koji zadovoljavaju neki uvjet.
s tim rezultatom bez problena zavrtiš foreach(var item in output){// nekakve operacije}
pa napisao sam ti gore LINQ primjer, on ne vača jedan objekt nego kolekciju objekata koji zadovoljavaju neki uvjet.
s tim rezultatom bez problena zavrtiš foreach(var item in output){// nekakve operacije}
aha nisam iz prve skontao, upol sam pisanja koda, hvala x)
dajte mi još pol sata pa da vidite što radim x)
Po meni, najbolje rješenje tvog problema je SQLite 3 baza podataka. Odlična baš za tu primjenu. Jako mala, efikasna i jednostavna. Proguglaj i vidjet ćeš da ima hrpa SQLite 3 wrappera za .NET framework.
Po meni, najbolje rješenje tvog problema je SQLite 3 baza podataka. Odlična baš za tu primjenu. Jako mala, efikasna i jednostavna. Proguglaj i vidjet ćeš da ima hrpa SQLite 3 wrappera za .NET framework.
da, je, imas pravo, ali imam namjeru napraviti ovu aplikaciju za android & iphone, nije mi potpuno jasno kak ću njima stavit bazu na mobitel
trenutno imam 82 panela, i negdje 100 buttona u tome (bez si sustava jedinica), mislim sve to obrisat i napravit jednostavno formu preko koje ću punit jedne te iste buttone te jedan picturebox za sve te slike pa nek se slika, smanjit ću potrošnju rama za 70%
Ovakvim načinom kodiranja ćeš jako brzo udarit glavom u zid. Ovo je .NET, a .NET se definitivno ne vrti na iPhone-u ni na Androidu. Ako si već htio cross-platform riješenje mogao si npr. krenuti raditi u FLEX/AIR okruženju. Jedan kôd koji se vrti na svemu, od windowsa, linuxa, macova do iphone, ipada, androida..
Što se SQLite 3 tiče, ona je upravo zbog svojih karakteristika baza podataka izbora za mobilne aplikacije. Podržavaju je sve mobilne platforme.
Također, primjedba.. :)
Zar ne misliš da je krajnje neefikasno da ako želiš ubaciti novu komandu da moraš mjenjati source kôd? Prouči malo (malo više:P) o design patternsima. Za tvoju aplikaciju ti treba Command Pattern, Repository..
Sve ovo je, naravno, dobronamjerno. :)
Ovakvim načinom kodiranja ćeš jako brzo udarit glavom u zid. Ovo je .NET, a .NET se definitivno ne vrti na iPhone-u ni na Androidu. Ako si već htio cross-platform riješenje mogao si npr. krenuti raditi u FLEX/AIR okruženju. Jedan kôd koji se vrti na svemu, od windowsa, linuxa, macova do iphone, ipada, androida..
Što se SQLite 3 tiče, ona je upravo zbog svojih karakteristika baza podataka izbora za mobilne aplikacije. Podržavaju je sve mobilne platforme.
Također, primjedba.. :)
Zar ne misliš da je krajnje neefikasno da ako želiš ubaciti novu komandu da moraš mjenjati source kôd? Prouči malo (malo više:P) o design patternsima. Za tvoju aplikaciju ti treba Command Pattern, Repository..
Sve ovo je, naravno, dobronamjerno. :)
ma sve uredu, niti ne mislim radit u .NET-u za android i iphone, krenio sam radit ovu aplikaciju prije 2 godine kad maltene nisam ni znao što je c# x)
pa sam malo radio pa malo nisam radio, ali u zadnja 3 dana sam 70% koda promjenio, i upravo brišem tone panela i pravim formu, kad napravim ovu aplikaciju kako spada u .NET-u, onda krećem pravit za mobilne
htio bi napraviti neki search u tom moth calcu, prije sam imao jedan ogroman else if uvijet koji sam obrisao jer je ne efikasan, pa tražim nešto bolje
vrlo brzo će aplikacija biti na razini kvalitetno napisane aplikacije a ne kao što je sad samo što nemam iskustva u SQLite i nisam se prije susreo s njime tako da ni neznam ga koristit, ak ti nije problem da mi nabaciš neki kvalitetni tut x)
edit: trudim se naučiti i poboljšati da to ispadne kak treba, pomozi malo ak nije na odmet sa savjetom tu i tamo x)
Po meni, bit kvalitetnog i modularnog programiranja je u cjepkanju aplikacije na što manje dijelove i objeručke prihvaćanje DRY filozofije. Sve podatke, sav tekst, sve slike, menije bi trebao spremiti u bazu i onda popunjavati panele i komponente dinamički tj. u runtime-u. Drastično će ti se smanjiti potrošnja ram-a i moći ćeš lako promjeniti bilo šta unutar aplikacije.
Odličan primjer aplikacije koja je napisana po skoro svim "pravilima" softverskog inženjeringa je http://jdownloader.org/. Modularno, ekstenzibilno, fleksibilno do BOLI! :D
Dalje, ogromnu količinu informacija o SQLite 3 imaš na http://www.sqlite.org/, a za uvod u SQL jezik(ako ga već ne znaš) posjeti http://www.w3schools.com/sql/default.asp i mislim da ti neće više od toga trebati za početak. :) Ako ti to bude malo, pogledaj malo SQLite 3 u akciji na lynda.com.
Ubacit ću se ja s vremena na vrijeme sa savjetima. :) Sretno! :)
Po meni, bit kvalitetnog i modularnog programiranja je u cjepkanju aplikacije na što manje dijelove i objeručke prihvaćanje DRY filozofije. Sve podatke, sav tekst, sve slike, menije bi trebao spremiti u bazu i onda popunjavati panele i komponente dinamički tj. u runtime-u. Drastično će ti se smanjiti potrošnja ram-a i moći ćeš lako promjeniti bilo šta unutar aplikacije.
Odličan primjer aplikacije koja je napisana po skoro svim "pravilima" softverskog inženjeringa je http://jdownloader.org/. Modularno, ekstenzibilno, fleksibilno do BOLI! :D
Dalje, ogromnu količinu informacija o SQLite 3 imaš na http://www.sqlite.org/, a za uvod u SQL jezik(ako ga već ne znaš) posjeti http://www.w3schools.com/sql/default.asp i mislim da ti neće više od toga trebati za početak. :) Ako ti to bude malo, pogledaj malo SQLite 3 u akciji na lynda.com.
Ubacit ću se ja s vremena na vrijeme sa savjetima. :) Sretno! :)
imam iskustva sa sql serverom i njegovim povezivanjem, bar teoretskog jer ništa osim vježba nisam radio x)
za windowse planiram napraviti u komadu, pa ko ga šiša, danas nije problem imati zauzeće od 20 mb rama od cjelokupnih 2gb i više ali mislim napravit kak spada za mobitele =)