[ gygy @ 13.05.2003. 23:33 ] @
Da li mogu da napravim program koji ce kreirati bazu npr. ime.xxx i da je samo moj program moze procitati, ujedno da pravi kopiju te iste baze npr imexxx.bak. I u slucaju da neko izbrise bazu da kreira novu sa konstantnim kolonama, npr IME | PREZIME | DATUM RODJENJA. Ako moze na koji nacin (ako moze detaljnije)?
Unapred HVALA!!!
[ bluesman @ 14.05.2003. 03:50 ] @
Moze ali ti ne preporucujem ako ti treba puno podataka, osim ako ne napravis kompletan b-tree. Ja sam pre 6-7 godina pravio tako nesto ali to je bilo samo za instalacione programe koji citaju iz fajla slogove i ispisuju se u programu. Toga nikada nije bilo vise od 300-400.

Postoji mnogo filozofija i nacina, jedan od najlaksih je da svaki slog ima fiksnu velicinu i u prvom bajtu sloga pises adresu sledeceg (zbog brzeg pristupa)... Naravno, file ima svoj header u kome su upisane informacije o poljima i velicinama, kao i adresa prvog sloga. U drugom file-u mozes da cuvas indekse, ali nije neophodno. Tu jos ima dosta filozofije oko lock-ovanja slogova i milti-user access, pa upis i brisanje... ima dosta posla ako kreces od 0.

Mozes da napravis i sa varijabilnim velicinama polja ali mislim da je to preveliki zalogaj - oduzece ti puno vremena. Doduse, vec godinama se nisam bavio deplhijem pa ne znam, mozda tako nesto moze da se nadje na netu.

Dugo je sada da ti pisem sve detalje, ovo je samo logika, pa ako uspem sada da pronadjem na nekom starom CD-u poslacu ti source (CPP).

Dakle, ako mislis da pravis svoj telefonski imenik, nema problema, ali ako hoces da napravis imenik celog Beograda - drzi se proverenih resenja.
[ -zombie- @ 14.05.2003. 04:15 ] @
hm.. za takav slučaj koji ti opisuješ, xml mi prvi pada na pamet..

negativno:
1) možda neće dati najmanji fajl,
2) ili će možda parsiranje biti malo sporije (u stvari malo verovatno).

pozitivno:
1) ali, kao što reče goran, ovo je ionako odgovarajuće samo za relativno mali broj podataka (mada bi ja granicu postavio bliže par hiljada ili desetina hiljada slogova -- zavisno od samih podataka) pa veličina ne utiče mnogo,
1b) a usput, xml se pakuje ko lud, a može direktno pri učitavanju da se spakuje/otpakuje sa već postojećim *zip komponentama -- radio, vrlo glatko i brzo prolazi..
2) xml parser je vrlo dostupan (u d7 može i expat umesto msxml, što je važno za kylix/linux)
2b) xml parseri dostupni su inače veoma brzi..

// ... (mrzi me više..)
[ gygy @ 17.05.2003. 22:49 ] @
Hvala vam u svakom slucaju!
Zombie uradio sam pomocu xml-a, bas kao sto si rekao mnogo je jednostavno.

Ako moze da mi kazes kako da program sortira tu bazu? Na primer da je uvek sortira recimo po IMENU, a ukoliko se klikne na PREZIME da sortira po prezimenu?

Hvala unapred
[ -zombie- @ 18.05.2003. 00:23 ] @
xml nema mogućnosti za sortiranje.. moraćeš ručno..
[ gygy @ 18.05.2003. 22:12 ] @
Kako rucno? Mora da postoji neki laksi nacin? Ako moras sve rucno da menjas onda to uopste nije dobro! Da li mozes da mi malo vise kazes nesto o tome? Moze li da se nekako napravi da se baza sortira ili ne?

GYGY
[ -zombie- @ 18.05.2003. 23:34 ] @
pa dobro, nemoj da si bukvalista.. nisam mislio baš ručno, nego u smislu da ne postoji ta opcija već ugrađena, nego da ćeš sam (ručno) morati da pišeš kod za sortiranje..

e sad, ako ti ne znaš ni jedan algoritam za sortiranje.... onda ja nemam strpljenja da ti ga pokazujem (izvinjavam se, i znam da nije lepo od mene, ali stvarno nemam.. da imam strpljenja, išo bi u profesore ;)
[ gygy @ 19.05.2003. 17:51 ] @
Dobro -zombie- budi bar malo strpljiv i kazi mi kako da sortiram?

Hvala na posvecenom vremenu i strpljenju!!!
[ -zombie- @ 19.05.2003. 18:34 ] @
pa toliko si mogao i sam da pitaš google: sorting+algorithm+delphi+pascal
[ bluesman @ 19.05.2003. 19:05 ] @
Citat:
gygy:
Dobro -zombie- budi bar malo strpljiv i kazi mi kako da sortiram?


Pomoc je OK, ali za to bi trebao da ti napise knjigu :-)
[ gygy @ 20.05.2003. 01:23 ] @
Na internenetu sam od 18:00 i nista nisam nasao, nikakav source!!!
Dobro, dobro nisam ja od -zombie- trazio da mi napise knjigu vec ako mu nije tesko da mi kaze kako mogu jednostavno to da uradim, ali sta da se radi?
[ -zombie- @ 20.05.2003. 01:48 ] @
ne razumem.. tamo na google pretrazi koju sam postovao nisi ništa našao.. pa mora da si baš talentovan..

već na prvom sa našo to što sam tražio, ali evo ga primer sa drugog ili trećeg, pošto je najprostije napisan..

http://free.pages.at/bossung/prog/delphi/sorting.html#bubblesort
[ gygy @ 21.05.2003. 23:55 ] @
Sve sam probao nista mi ne ide od ruke, ne znam vise sta da radim, ali da sortiram nikako. Ima li neko primer ili neki sajt sa koga mogu da skinem source koji radi?

Pozdrav!!!
[ kingrale @ 11.06.2003. 01:03 ] @
Trazi Quicksort. Brz a dosta jednostavan.
[ Rapaic Rajko @ 11.06.2003. 15:36 ] @
Hej, pricate li o sortiranju u memoriji?
Ako da, vici pa da ti pokazem kako se to u Delphi-ju radi; ne bih da se raspisem uzalud.
Poz

Rajko

P.S. Ste culi za TList.Sort?
[ gygy @ 12.06.2003. 02:23 ] @
Koristio sam: ClientDataSet1; DataSource1; DBGrid1, i *.xml. E sad je problem kad unosim zelim da u DBGrid1-u bude sortirano naprimer po imenu (ali ako se moze uraditi da klikom na npr "Ime" sortira po imenu; na "Prezime" sortira po prezimenu), a ne da bude sve razbacano.
Unapred hvala!!!
[ Rapaic Rajko @ 12.06.2003. 11:12 ] @
Si cuo za TdxDBGrid od Quantum-a?
Ima sort kakav ti treba i jos mnogo toga (npr. multiple sorting)...
Poz

Rajko
[ gygy @ 15.06.2003. 18:44 ] @
Nisam cuo za TdxDBGrid od Quantum-a. A gde se moze skinuti?
[ Che-Lik @ 18.06.2003. 01:44 ] @
Mislim da bi trebalo malo da nauchis da baratas sa osnovim algoritmima pa da krenes ka kompeksnijim zadacima.

Slazem se sa koriscenjem vec ugradjenih komponenti za (npr.) sortiranje ali ne znati kako u stvari sve to funkcionise je malo bezveze. Cisto mehanicko koriscenje takvih stvari malo ubija smisao i kreativnost programera...

p.s.
Da se ja pitam koristio bih Heap sort

Pozdrav svima!
[ Rapaic Rajko @ 18.06.2003. 10:28 ] @
E, nisam cuo za Heap sort; sta ti je to? Daj pojasni malo...

Rajko
[ Dusan Aleksic @ 18.06.2003. 12:02 ] @
Evo ti link ka kratkom objasnjenju:

http://www.aeriesoft.ru/Projects/SortAlg/

P.S Ako ti je ukljucen pop-up bloker iskljuci ga da bi video java applet za graficki prikaz.
[ gygy @ 03.07.2003. 16:47 ] @
Dobro narode ima li ko source ili ne?
Ja nemam pojma kako da sortiram!!!
Pozdrav
[ gygy @ 31.07.2003. 01:45 ] @
No sortiranje sam resio (zahvaljujem se Kockicica na odgovoru) jos mi samo ostalo da resim kako program da starujem na drugom racunaru? Posto mi prijavljuje "illegal operation" i u Win 98 javlja da nedostaje midas.dll, a da li jos nesto nedostaje? Toliko o tome!!!
Pozdrav!!!
Hvala unapred!!!
[ tvucko @ 31.07.2003. 11:55 ] @
Zasto uposte izmisljati toplu vodu i rupu na saksisji, ako sam dobro shvatio tebi ce sasvim odgovarati TinyDB.
Pogledaj na ovome linku : http://www.sunisoft.com/tinydb/
[ broker @ 31.07.2003. 12:41 ] @
Ako vec koristis midas on ima sve sto je potrebno ukljucujuci i ndeksiranje sto ti resava i sortiranje... pogledaj malo help za TClientDataSet.

Inace, ako koristis TClientDataSet moras sa svojom aplikacijom kopirati i midas.dll. Ne znam koju verziju Delphija koristis ali znaj da je u D5 bio bug u midasu takav da kad se prvi put ucita midas.dll on u registry upise odakle je ucitan i svaki sledeci iput insistira da se nalazi na tom mestu. Drugim recima, kada ga jednom ucitas ne smes ga premestati na drugo mesto (ili smes ali moras da iskopas po registry-ju i izmenis putanju do njega).
[ svasja @ 14.08.2003. 14:25 ] @
Evo ti moj prjedlog. Ja uvek upotrebljavam PARADOX i SQL. Jer za ozbiljan rad sa bazama podataka ne ide vise bez SQL i slicnih stvari. ;-) Evo kako to ide u Delphi-ju:

procedure TBazaForm.FormCreate(Sender: TObject);
var
Baza: TTable;
begin
if not FileExists('USERS.DB') then
begin
Baza:=TTable.Create(Self);
try
try
with Baza do
begin
Active:=False;
DatabaseName:='FIT';
TableName:='USERS';
TableType:=ttParadox;
with FieldDefs do
begin
Clear;
Add('Ime',ftString,10,True);
Add('Geslo',ftString,10,True);
Add('Nivo',ftInteger,0,True);
Add('Slika',ftGraphic);
end;
with IndexDefs do
begin
Clear;
Add('','Ime',[ixPrimary]);
end;
CreateTable;
end;
Baza.Open;
Baza.AppendRecord(['SERVIS','SERVIS',9,'']);
Baza.Close;
except
MessageDlg('Ne morem ustvariti USERS.DB!',mtError,[mbOK],0);
Application.Terminate;
end
finally
Baza.Free;
end;
end;
end;

Pa nadam se, da sam ti pomogao.
[ gygy @ 16.08.2003. 20:02 ] @
Probacu kasnije pa cu ti javiti!
U svakom slucaju hvala!!!
GYGY
[ goblin @ 20.08.2003. 12:23 ] @
Ne bih da namecem moje resenje, ali me je privukao naziv threada, a ja sam se setio da sam duze vreme radio upravo na njemu... Sledi link do stranice posvecene paketu komponenti koje sam sam napisao posvecenih bas emuliranim bazama podataka...

Sve u svemu, ja sam koristio nesto sto sam nazvao "definicija" koja se snima na pocetku fajla u kojem je potpuno definisana struktura fajla, a zatim slede podaci. Ne koriste se varijabilni zapisi, fiksne velicine slogova, ili teske i spore variant promenljive, vec malo drugacije resenje: imitacija pascal stringa (vise bajtova za duzinu podatka, a zatim realni podatak) za duze tipove podataka (za snimanje stringova i tokove - TStream je podrzan!), dok se za normalne (integer, byte, real, bool) koriste naravno fiksne velicine "celija" u fajlu... pet sest programa sam napravio sa ovim konceptom bez ikakvih problema, svi na linku dole.

Postoji cak i Access-like aplikacija (koja je verovali ili ne freeware) na istom sajtu na linku dole. Ako Vam je potrebno neko malo komercijalnije resenje, ali opet bez bilo kakvih relacionih baza podataka...

U svakom slucaju, ako sam malo izasao iz teme izvinjavam se, ali bih voleo da cujem i poneki komentar na funkcionalnost...

P.S. u pitanju je shareware kolekcija komponenti, ali postoji i trial verzija (D6 DCU)svega tako da mozete makar delimicno “osetiti” o cemu je rec dok ste u Delphi-ju.

Pozdrav, Milan

Koncept: http://www.geocities.com/lordgoblin83/synopsis.htm
Programi: http://www.geocities.com/lordgoblin83/programi.htm