|
[Grafika]
[WebTip]
[Fotografování]
[Galerie]
[MujMac]
[Printing]
|
|||||||||
![]() |
||||||||||
|
|
|||||||||
Diskuzní forum: DelphiTéma diskuze: Diskuse o vývojářském nástroji DelphiTip: nemáte rádi v textu smajlíky? Ruší vaše zdrojové kody? Vypněte si je! (Moje nastavení / Nastavení soukromí) Zistenie mena komponenty
Vloženo uživatelem: fizo1 - uživatel již zaslal 42 příspěvků (IP uloženo)
Datum: 08. 02. 2010 17:38
Zdravím mám taký menší problém s ktorým si neviem rady.Potreboval by som v aplikáci zistit meno komponenty v tvare napr: form1.dbgrid1. Mám aplikáciu ktorá otvára pod sebou (Form1) dalsie okná asi takto
procedure TForm1.Button1Click(Sender: TObject); begin Form2:=tForm2.create(application); Form2.show; Form2.Release; end; podobne otvorím aj form3, na formoch Form2 a Form3 mám umiestnené tlačítka obidve sa volajú povedzme Button1 v OnCreate každého z fomov mám toto: procedure TForm2(3).FormCreate(Sender: TObject); begin Button1.OnClick := Form1.tlacitko; end; procedure TForm1.tlacitko(Sender: TObject); var meno:string; begin meno:=TButton(sender).GetNamePath; end; Kym som mal jeden form vsetko islo OK ale pokial mám viacej formov neviem si rady ako zistit v porcedure TForm1.tlacitko z ktoreho formu pochadza sender(prípadne niečo v tvare form1.button1). Urcite ide o banalny dotaz a je to skor mojim nepochopenim dedicnosti a celkovo, ale poprosim Vas o radu hladal som na fore ale nikde som sa nemohol dopatrat. Dakujem vopred za rady. ![]() Re: Zistenie mena komponenty
Vloženo uživatelem: Mi.Chal - uživatel již zaslal 9498 příspěvků (IP uloženo)
Datum: 08. 02. 2010 18:18
fizo1 Napsal:
------------------------------------------------------- > Zdravím mám taký menší problém s ktorým si neviem > rady.Potreboval by som v aplikáci zistit meno > komponenty v tvare napr: form1.dbgrid1. Mám > aplikáciu ktorá otvára pod sebou (Form1) dalsie > okná asi takto muzes si precist sender a pak projit jeho parenty, ale myslim, ze to na nic nebude potreba > procedure TForm2(3).FormCreate(Sender: TObject); > begin > Button1.OnClick := Form1.tlacitko; > end; tohle je podle me nejaka silena prasarna, z jednoho formulare bys nemel volat obsluhu eventu na jinem. Napis co chces udelat a urcite to pujde nejak normalne. Treba si muzes udelat svoje eventy a tim posilat ostatnim objektum notifikace, ze se neco zmenilo Pro vkladani kodu slouzi tag Code. ________________________________________________ Odpovedi na nejcastejsi zdejsi otazky najdete na http://www.4itdevelopers.net/faq_at_builder.aspx Re: Zistenie mena komponenty
Vloženo uživatelem: fizo1 - uživatel již zaslal 42 příspěvků (IP uloženo)
Datum: 08. 02. 2010 22:21
No prakticky som sa pokusal urobit nejake centralne vykreslovanie dbgrid pomocou OnDrawColumnCell bolo to trosku na rychlo a tak jedine co ma napadlo je urobit to takym stylom ze, v DB som si zadefinoval stlpce a vsetko ostatne a ako identifikator tabulky som pouzil vzdy nazov formu na ktorom je dany dbgrid a jeho nazov.Nasledne som v hlavnom okne vytvoril proceduru na vykreslovanie a pomocou (sender:Tobject) som chcel zistit ktory object ho zavolal a podla toho zvoli vzdy trochu ine vykreslenie skladbu stlpcov a podobne. Potreboval som to trosku na rychlo a v tejto oblasti zjavne niesom tak doma ako by som mal. Kazde voditko ako postupovat v takychto pripadoch mi pomoze a ja uz to dostudujem DAKUJEMRe: Zistenie mena komponenty
Vloženo uživatelem: Mi.Chal - uživatel již zaslal 9498 příspěvků (IP uloženo)
Datum: 08. 02. 2010 22:38
fizo1 Napsal:
------------------------------------------------------- > No prakticky som sa pokusal urobit nejake > centralne vykreslovanie dbgrid pomocou > OnDrawColumnCell bolo to trosku na rychlo a tak > jedine co ma napadlo je urobit to takym stylom ze, > v DB som si zadefinoval stlpce a vsetko ostatne a > ako identifikator tabulky som pouzil vzdy nazov > formu na ktorom je dany dbgrid a jeho > nazov.Nasledne som v hlavnom okne vytvoril > proceduru na vykreslovanie a pomocou > (sender:Tobject) som chcel zistit ktory object ho > zavolal a podla toho zvoli vzdy trochu ine > vykreslenie skladbu stlpcov a podobne. Potreboval > som to trosku na rychlo a v tejto oblasti zjavne > niesom tak doma ako by som mal. Kazde voditko ako > postupovat v takychto pripadoch mi pomoze a ja uz > to dostudujem Ja myslim, ze by ti mohlo stacit to udelat tak, ze si napises funkce/metody, ktere budou zajistovat ruzne typy vykresleni, ty budes mit verejne a treba v nejake zvlastni unite. Na formulari pak muzes dbgridu nastavit event pro vykresleni a v nem volat ty tvoje funkce (ruzne podle toho, jak to chces vykreslit); tim budes mit vykreslovani resene na jednom miste a zaroven nebudes muset z jednoho formulare lezt do jineho. Dalsi moznost by byla treba udelat vlastniho potomka dbgridu, ale to je jenom kvuli vykreslovani asi zbytecne. Pro vkladani kodu slouzi tag Code. ________________________________________________ Odpovedi na nejcastejsi zdejsi otazky najdete na http://www.4itdevelopers.net/faq_at_builder.aspx Toto fórum je provozováno také jako emailová konference s e-mailovou adresou delphi [a] builder.cz. Toto je neredigovaná a nemoderovaná diskuse čtenářů serveru Builder.cz. Redakce ani provozovatel serveru za obsah jednotlivých příspěvků nenese zodpovědnost. |