Jump to content
Forum Roportal
Sign in to follow this  
mrazvan

delphi help

Rate this topic

Recommended Posts

Am nevoie de ajutor la un program .La programul la care lucrez , la un moment dat am nevoie sa creez niste liste cu date, sa inserez date, dar m-am impotmolit .Ma puteti ajuta cu un exemplu pentru doua campuri de date???? Restul adaptez eu mai departe .Am atasat o poza sa va dati seama despre ce este vorba .

post-99735-1180715924_thumb.jpg

Share this post


Link to post
Share on other sites

comanda propriuzisa pt o adaugare este :

 

memo1.Lines.Strings := edit1.Text

memo2.Lines.Strings := edit2.Text

 

 

sper sa te descurci...daca nu, mai intreaba

Share this post


Link to post
Share on other sites

Folosesc in program mai multe tlistbox-uri si mai am nevoie sa fac o sortare .

Spre ex

 

tlistbox1 tlistbox2 tlistbox3

mouse 10 lei alb

tastatura 20 lei rosu

boxe 30 lei albastru

 

dupa sortare :

 

tlistbox1 tlistbox2 tlistbox3

boxe 30 lei albastru

mouse 10 lei alb

tastatura 20 lei rosu

 

Sa sorteze doar elemetele din primul tlistbox, celelalte elemente sa corespunda elementului initial, spe ex mouse-ul dupa sortare sa aiba in tlistbox 2 si 3 pretul si culoarea sa.

Share this post


Link to post
Share on other sites

algoritmul de sortare depinde foarte mult de ceea ce vrei sa faci. in general metoda cea mai simpla de folosit este cea utilizand 2 "for" datorita numarului redus de instructiuni. eu ii zic asa ca nu mai tin mine cum se numeste aceasta metoda :) .

 

sa presupunem ca ai de sortat un vector de numere intregi "x" (daca stii ce e un vector, mai precis e ca o multime);

folosesti o varibaila temporarara de acelasi tip (adica tot numar intreg) pentru interschimbari;

 

algoritmul este:

 

for i:=1 to n-1 do

for j:=i+1 to n do

if x>x[j] then

{interschimbare elemente x si x[j]}

 

unde n reprezinta numarul de elemente ale vectorului (multimii) x.

acest algoritm este preferat in cazul sortarii unui multimi cu elemente putine (150-200 de elemente).

 

uite ti-am facut si un mic exemplu. mie mi-a scos cam 3 secunde cu 12, si avand in vedere ca sortez trei liste odata... deci timpul ar fi cam de o secunda pentru 200 de elemente.

 

din cate imi aduc eu aminte... parca delphiu avea si el niste niste exemple cu vreo 3 metode de sortare. uita-te si tu pe acolo poate dai de ele

 

sa schimbi extensia in .zip

quicksort.txt

Share this post


Link to post
Share on other sites

algoritmul ce l-ai pus e numita metoda bulelor. cat despre exemplul din delphi o fi el bun, insa acolo e vorba de exemplificare pe thread-uri daca tin eu bine minte.

 

steluzu cred ca ar trebui sa inveti putina algoritmica inainte sa te apuci de programe de genu asta.

 

numa bine

Share this post


Link to post
Share on other sites
algoritmul ce l-ai pus e numita metoda bulelor. cat despre exemplul din delphi o fi el bun, insa acolo e vorba de exemplificare pe thread-uri daca tin eu bine minte. steluzu cred ca ar trebui sa inveti putina algoritmica inainte sa te apuci de programe de genu asta. numa bine

 

nu mai tin minte cum se numea acesta metoda de sortare. dar oricum stiam ca nu este prea eficienta.

 

cat despre threaduri... e mai complicat umpika, necesita cunostinte mai multe de programare iar mrazvan nu cred ca dispunde de aceste cunostinte... din moment ce nici macar nu stia cum sa adauge elemente in acele listboxuri :lol2:

eu doar i-am dat cel mai simplu exemplu.

 

o sa ma apuc si eu de algoritmica... n-am mai facut asa ceva din clasa a doua :D)

 

daca tot va pricepeti asa de bine la delphi poate ma puteti ajuta si pe mine cu o mica problema mai mare. in legatura cu bazele de date, cum pot sa export din tclientdataset informatiile intr-un fisier de tip XLS sau DOC?adica mai precis sa presupunem ca am o baza de date si vreau sa creez un fisier de tip DOC, unde sa scriu ce text vreau eu, sa bag informatiile din baza de date intr-un tabel, iar sa bag niste text... etc.

 

rezultatul as vrea sa fie ceva de genu ca in fisieru asta.am incercat cu niste componente aditionale de export dar nu prea am reusit mare lucru. decat in format HTML

baza de date din exemplu este:

tclientdataset:[

Popescu Dumitru 1254,36 1000 112,63

Stan Ion 469 469 0

Ionescu Mihai 500 500 12,5]

aveti ceva idei? sugestii? exemple?

 

sau macar in format RTF. daca vreti sa ma ajutati ma puteti gasi de luni pana vineri de la 10 la 17 la id mess: stelutzzu sau mail: stelutzzu@yahoo.com. poate facem ceva schimb de experienta

exemplu.doc

Edited by stelutzzu

Share this post


Link to post
Share on other sites

in primul rand, am gresit in ultimul post. rectific - a se citi mrazvan in loc de steluzzu :crazy: . prea de dimineata m-am apucat si eu de postat :crazy:

 

si acum sa trecem la lucruri mai serioase, pentru a exporta ce vrei tu din delphi in xls, doc ce componente ai folosit?

 

deocamdata nu m-am lovit de problema ta, am cautat ceva componente pe net si ce am gasit au niste preturi fantastice. de aici ai putea sa pornesti, insa pare a fi o munca de sisif : http://delphi.about.com/od/database/l/aa090903a.htm

 

ce iti sugerez, de ce nu exporti tu frumos in pdf-uri? sunt multe componente free, inclusiv componenta activex de la adobe. acum nu stiu exact ce versiune de delphi ai, eu am gasit in delphi 5-ul meu o paleta servers, care o gramada de minuni pe acolo. cu o gramada de chinuiala cred ca reusesti, insa cred ca apar probleme mari la versiuni diferite de word. o sa mai caut si eu cand am timp, dar cel mai bine ar fi sa pornesti un nou topic, si asa o sa vedem ce facem in legatura cu subiectul asta

 

toate cele bune,

Share this post


Link to post
Share on other sites
comanda propriuzisa pt o adaugare este :

 

memo1.Lines.Strings := edit1.Text

memo2.Lines.Strings := edit2.Text

sper sa te descurci...daca nu, mai intreaba

 

din cate vad eu e ceva cam gresit aicea. conform comenzilor d mai sus:

 

1.) alea ce sunt memo sau listbox? parca era vorba de niste liste, deci trebuie folosit ceva gen listbox1 si listbox2 in loc de memo1 si memo2

 

2.) inserarea se face la pozitia , si este impropriu spus inserare pentru ca aceste comenzi modifica valorile de la pozitia nu introduc un element nou in liste. corect ar fi pentru inserare:

procedure TForm1.Button1Click(Sender: TObject);

begin

listbox1.Items.Insert(i,edit1.Text);

listbox2.Items.Insert(i,edit2.Text);

end;

 

3.) care este valoarea lui ? de unde il ia pe ala? nu cumva este vorba de o adaugare in liste? pentru adaugare se foloseste:

procedure TForm1.Button1Click(Sender: TObject);

begin

listbox1.Items.Add(edit1.Text);

listbox2.Items.Add(edit2.Text);

end;

 

4.) daca nu se stie aceasta pozitie , totusi se poate face o inserare, dar numai dupa ce selectez un element din listbox1 sau listbox2. ca sa nu dea erori se foloseste o conditie sa vada daca este selectat vreun element:

procedure TForm1.Button1Click(Sender: TObject);

begin

if listbox1.itemindex>0 then

begin

listbox1.Items.Strings[listbox1.ItemIndex]:=edit1.Text; {daca este selectat un element din listbox1}

listbox2.Items.Strings[listbox1.ItemIndex]:=edit2.Text; {insereaza folosind pozitia acestuia}

end else

if listbox2.itemindex>0 then

begin

listbox1.Items.Strings[listbox2.ItemIndex]:=edit1.Text; {altfel daca este selectat un element din listbox2}

listbox2.Items.Strings[listbox2.ItemIndex]:=edit2.Text; {insereaza folosind pozitia acestuia}

end

end;

 

5.) mai mult, se poate face o corelare intre pozitiile de la listbox1 si listbox2 pentru a fi siguri ca cele 2 elemente selectate din listbox1 si listbox2 au aceiasi pozitie:

procedure TForm1.ListBox1Click(Sender: TObject);

begin

listbox2.ItemIndex:=listbox1.ItemIndex;

end;

...

procedure TForm1.ListBox2Click(Sender: TObject);

begin

listbox1.ItemIndex:=listbox2.ItemIndex;

end;

 

Daca tot ajutam omul macar sa il ajutam klumea

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×