Kopírování prvků za běhu prog. – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kopírování prvků za běhu prog. – Delphi – Fórum – Programujte.comKopírování prvků za běhu prog. – Delphi – Fórum – Programujte.com

 

Navara0
Návštěvník
6. 2. 2010   #1
-
0
-

Zdravím, mám dotaz - lze za běhu programu nějakým způsobem zkopírovat v jednom okně určitý prvek? Například když budu mít třeba Panel, tak napsat něco, aby tenhle panel s věcma který budou na něm se objevily ještě jednou - a aby se z panelem dalo pracovat. Tedy aby zkopírovaný panel měl svoje jmeno (ktere jiste nemuze byt stejne jako jmeno původního prvku).
Díky

Nahlásit jako SPAM
IP: 85.70.13.–
KIIV
~ Moderátor
+43
God of flame
6. 2. 2010   #2
-
0
-

vytvoris dalsi instanci toho typu a zkopirujes potrebny parametry

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Navara0
Návštěvník
6. 2. 2010   #3
-
0
-

To KIIV : Ještě trošku jinak, mám pole A1, obsahující prvky TImage, každý obrázek má svoje umístění, svůj Picture atd, a teď když chci prvky tohoto pole zkopírovat jinam:



A1: array of TImage;
B1: array of TImage;

Pocet_Prvku := Length(A1)
B1.SetLength(Pocet_Prvku)

A1 := B1 //tohle vubec nefunguje

a nebo kopírování položek pomocí cyklu:


Pocet_Prvku := Length(A1)
B1.SetLength(Pocet_Prvku)

for pomocna := 1 to Pocet_Prvku do begin
B1[Pomocna] := TImage.Create(FrameMain.Ramec1);
B1[Pomocna].Parent := Ramec1;
B1[Pomocna].Picture := A1[Pomocna].Picture; //tohle hází chybu
end;

Tady se sice všechny TImage vytvoří i se vším podle předchozího pole, ale hned poté to hodí to chybu Access Violation.

Nahlásit jako SPAM
IP: 85.70.13.–
KIIV
~ Moderátor
+43
God of flame
6. 2. 2010   #4
-
0
-

mozna zkusit B1[pomocna].assign( A1[pomocna].Picture.Bitmap ); (mozna .picture.assign(..) )

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
MiMi
~ Anonymní uživatel
45 příspěvků
6. 2. 2010   #5
-
0
-

To Navara : Ked vytvaras dynamicke pole tak je toto pole indexovane od 0 cize by si mal mat cyklus for pomocna:=0 to Lengthh(pole)-1 do blablabla; alebo pomocna:=1 to length(pole) do pole2[pomocna-1]:=blablabla;

Nahlásit jako SPAM
IP: 217.145.199.–
KIIV
~ Moderátor
+43
God of flame
6. 2. 2010   #6
-
0
-

To MiMi : ah ano toho sem si ani nevsiml :D

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Pedro
~ Anonymní uživatel
128 příspěvků
8. 2. 2010   #7
-
0
-

pokud si pomatuju, TPicture (?) je taky třídy, takže to nefunguje ze stejného důvodu, proč nefunguje A1 := B1

Nahlásit jako SPAM
IP: 89.24.45.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý