Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

dodavanje Form-i -> pomoc!!!

[es] :: C/C++ programiranje :: dodavanje Form-i -> pomoc!!!

[ Pregleda: 2418 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon dodavanje Form-i -> pomoc!!! 04.11.2005. u 20:08 - pre 224 meseci
recimo da imam jedan projekat.
u njemu imam Form1 i on moze da "poziva" neke npr. Form2,3,4 ....

e mene interesuje sljedece: hocu da od tog projekta napravim neku novu aplikaciju koja bi trebala imati jos 4 formi istih kao Form1 (znaci totalno isti po izgledu i po elementima koji se nalaze na njemu) koji ce ,prema tome "zvati" iste one Form2,3,4... , a jedina razlika medju tih 5 identicnih formi je da ce svaka imati drukcije vrijednosti npr. u nekom Edit-u koji se nalazi na njima ili Image-u....nije vazno....

e sad, posto je onaj Form1 ogroman da bi ga ponovo pravio i rasporedio kako treba elemente po njemu , mene interesuje sta treba da uradim da importujem nekako u postojeci projekat jos 4 takva Form1 (normalno: vjerovatno pod drugim imenima kako bi znao tacno kada kojeg pozivam)????

ja sam svasta pokusavao...ali nista....

i vrlo je vazno napomenuti (ako neko zaboravi da i ovo uzme u obzir): Form1 nije glavni, i pored Form1,2,3,4 koje sampominjao, projekat ima i jos Form5,6,7,8,9...nije vazno... koje bih koristio samo one originalne ...
ovo govorim u slucaju da se radi sve ovo preko "add existing project" (ako nisam pogrijesio naziv) gdje bi se onda ako bih "uvozio" 4 puta isti projekat desilo da imam 5 svih Form-i, a meni treba samo 5 Form-i 1....

malo sam zapetljao pitanje koje je u sustini jako jednostavno:znaci kako dodati jos 4 ista Foma u projekat??

moze li mi ko pomoci....
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: dodavanje Form-i -> pomoc!!! 05.11.2005. u 07:55 - pre 224 meseci
Takav organizacioni nacin je moguc, i ja ga odavno koristim:

1. resenje:

Napravi drugaciju organizaciju svojih projektnih foldera, npr:

[FOLDER] Deljeni
[FOLDER] Project1
[FOLDER] Project2

Sve one forme koje su ti ZAJEDNICKE za vise projekata, prilikom prvog snimanja
stavi u onaj DELJENI folder, koji se nalazi IZVAN projekta:

[FOLDER] Deljeni
->[FOLDER] Form2
->[FOLDER] Form3
->[FOLDER] Form4

Zatim kada ti trebaju u Projektu2 samo ih dodaj 'Add to project'. Tako, kada
periodicno menjas onaj ZAJEDNICKI deo, prekompajliras projekte i sve je
azurirano.

Ovakav nacin je OBAVEZUJUCI da sve svoje takve forme NE BUDU automatski
ucitane, nego ceh ih morati pre prikazivanja KREIRATI sa 'new' i nakon prikaza
unistiti sa 'delete'.

Ako budes dosao do ovog nivioa, shvatices da su tvoje ZAJEDNICKE forme prepune
referenci ka maticnom projektu (npr Project1), pa ih neces moci kompajlirati u
Projektu2.

Recimo, ako si rekao u ZAJEDNICKOJ formi:

Form1->Caption = "Novi naslov";

ovo nije dobro, jer to automatski znaci da i novi projekat MORA da ima glavnu
formu koja se zove Form1 jer u supritnom nece da radi.

To je znak da nisi dobro projektovao ZAJENICKE forme. Ali otom potom. Tada je vreme da naucis kako se koristi SendMessage() za prosledjivanje zahteva, i/ili podataka glavnoj formi.

2) nacin je slican prvome sto se tice organizacione strukture foldera, ali za
razliku od njega treba koristiti komponentu TFrame (ne TForm!!!), za smestanje
pojedinacnih komponenti.

TFrame je KONTEJNER za smestanje kontrola koga je pre upootrebe OAVEZNO
ugraditi u telo nekog drugog RODITELJA, npr:

Frame1->Parent = Form1; // raspored kontrola bice usadjen u telo Form1
Frame1->Parent = Panel1; // raspored kontrola bice usadjen u Panel1
Frame1->Parent = TabSheet1; // raspored kontrola bice usadjen u TabSheet1






 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: dodavanje Form-i -> pomoc!!! 05.11.2005. u 09:37 - pre 224 meseci
ok, hvala!
pogledacu sve sto si rekao i nadati se najboljem.....
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: dodavanje Form-i -> pomoc!!! 16.11.2005. u 11:07 - pre 224 meseci
evo cisto da javim kako sam rijesio problem (moze nekome biti od koristi)

ako mi trebaju jos 3 totalno iste forme u projektu (npr. jednake Form-i 1 u tom istom projektu,) a ogromene su da bi ih pravio, uradio sam sljedece:

iskopirao sam isti projekat na jos 3 mjesta

otvorim jednu kopiju (i ovo cu kasnije raditi u svakoj)

i u object inspector-u stavim da mi je Name od Form1 npr "druga_forma" i on ce automatski prepraviti svako pominjanje Form1 u kodu od Form1 u "druga_forma" i jois samo rucno prepravim gdje pise na pocetku #include"Unit1.h" prepravim u #include"druga_forma.h"

ugasim projekat i sacuvam promjene.
onda sam otvorim Unit1.h u notpad-u, prepravim #ifndef Unit1H i
#define Unit1H u #ifndef druga_formaH i
#define druga_formaH , sacuvam promjene i izadjem, a onda prepravim ime samog fajla u " druga_forma.h ", takodje preimenujem Unit1.cpp u "druga_forma.cpp" i na kraju preimenujem C++Builder Form fajl (isto se zove Unit1) u "druga_forma"...
cini mi se da je to sve... (osim ako nisam nesto zaboravio, posto sam pisao iz pamcenja...)
Uradim to sve i sa ostale dvije kopije, prekopiram od svake kopije fajlove koje smo mjenjali, znaci: druga_forma (C++ Builder Form),"druga_forma.cpp" i "druga_forma.h",(normalno u sljedecoj kopiji ce se zvati drugacije npr. "treca_forma.cpp"... i tamo npr. cetvrta_forma.cpp...) i onda u onom projektu koji je glavni idem na "Add to project"->dodam sva 3 cpp-a (ili bjese C++ builder Forme-e ??- ne sjecam se) koje sam inace i iskopirao u folder gdje se nalazi glavni projekat i to je to...
sad radimo sa njima kao da su i nastale u glavnom projektu, tj. kao da smo ih bas tu i napravili....

mozda sam malo lose objasnio, ali mi radi bez problema....
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ftn.ns.ac.yu.



+6 Profil

icon Re: dodavanje Form-i -> pomoc!!! 16.11.2005. u 14:16 - pre 224 meseci
Citat:
fucking voodoo: evo cisto da javim kako sam rijesio problem (moze nekome biti od koristi)

ako mi trebaju jos 3 totalno iste forme u projektu (npr. jednake Form-i 1 u tom istom projektu,) a ogromene su da bi ih pravio, uradio sam sljedece:

iskopirao sam isti projekat na jos 3 mjesta...


Nemoj me pogresno shvatiti ali radis totalno pogresno!

Ako ti treba nekoliko istih (tj. slicnih) formi treba da uradis sledece:
1. Da napravis jednu genericku formu koja se ne instancira.
2. Da nasledis tu genericku formu i po potrebi dodas na nju ono sto ce ti trebati dodatno.
3. Ponovis pod 2. onoliko puta koliko ti treba

Pozdrav!
Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: dodavanje Form-i -> pomoc!!! 16.11.2005. u 20:58 - pre 224 meseci
Toxter:

"Nemoj me pogresno shvatiti ali radis totalno pogresno!"

nema problema...ja i volim kad me neko napomene da radim pogresno...jer nisam rodjen naucen a zelim da naucim...

volio bih da malo prodiskutujemo ovu temu...
u cemu vidis najveci problem kod mog ovakvog rijesavanja pomenutog problema...

sad tu ne mislim na neku zaostalost u samoj metodi ili kako ona nije moderna, a ipak je ok, vec konkterno sta mi moze poci naopako kod ovakve metode...??Zbog cega ce moja aplikacija sutra biti losija od tvoje pri radu i manje stabilna...??


there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ftn.ns.ac.yu.



+6 Profil

icon Re: dodavanje Form-i -> pomoc!!! 16.11.2005. u 22:38 - pre 224 meseci
Citat:
fucking voodoo:
volio bih da malo prodiskutujemo ovu temu...
u cemu vidis najveci problem kod mog ovakvog rijesavanja pomenutog problema...


Evo ovako, radi se o odrzavanju koda:

Sta ukoliko imas 20-tak slicnih formi? Pojavi se novi feature koji treba da stavis
na sve njih.
Po tvom pristupu ti ces praviti 20 kopija. Pa zatim menjati na 20 mesta i dodavati specijalane slucajeve i posebne metode.
Ili ako neku stvar treba da izbacis. Brisaces na dvadeset mesta.
Znaci genericka forma ti olaksava odrzavanje koda.

Takodje radi se o uniformnosti aplikacije. Znaci ako promenis raspored komponenti
na generickoj formi, to ce se odslikati na sve njene naslednike. Sto dovodi
do toga da ce ti aplikacija imati standardan interfejs.

Pokusaj da napravis pomocu genericke forme pa javi rezultat.

Evo kako da je napravis:
1.Napravi novi projekat, nek se zove Project1
2.U njemu napravi novu formu (File->New form) nek se zove Form2
3.dodaj na njoj neke komponente koje ti trebaju, implementiraj odredjene metode
koje ce biti identicne za sve naslednike, a za one metode koje ce redefinisati naslednici
u hederu klase (tj. forme) postavi na virtual metode koje zelis da redefinises da bi koristio polimorfizam.
3.Project->Options->Forms tab: ostavi samo prvu fomu da ti se automatski generise
to je main forma aplikacije, a Form2 izbaci iz liste za autogenerisanje
4.File->New...->Project1->Form2 , u donjem delu ekrana oznacis "inherit", klik na OK
5. voila! dobio si identicnu kopiju. Redefinisi virtual metode i dobio si specijalan slucaj.
6. Kako ti se forme nece automatski generisati moras dinamicki da je alociras:
npr: Stavis dugme na mainformu i na dogadjaj pritiska dugmeta odradis:
Code:

void __fastcall TMainForm::btnUradiNestoClick(TObject *Sender)
     { 
        TForm3 *f = new TForm3(this);
        f->ShowModal();
     }

Pozdrav!
Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: dodavanje Form-i -> pomoc!!! 17.11.2005. u 10:03 - pre 224 meseci
interesantno...

hvala ti puno na odgovoru...
pozabavicu se ovim....
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

[es] :: C/C++ programiranje :: dodavanje Form-i -> pomoc!!!

[ Pregleda: 2418 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.