Autor Zpráva
Ladza
Profil *
Ahoj,
mám takový dotaz.A to zdali pak nějak jde...načítat labels a data k componentu LIST pomoci toho co napisete v imputovem textovem poli.Ja myslim ze by to melo jit, jen je otazka jeslti to zvladne sam flash, nebo mu musi pomoct treba txt soubor nebo mozna xml(tehle variante bych se radeji vyvaroval).Pokud budete mít někdo návrh a chuť ho zdělit, budu to já kdo bude mít radost :-) vřelé díky za zapojení vašich mozků
Boy
Profil
Jasně že to jde, teda pokud myslíš to, když vložíš text do inputového pole, tak ten se přidá jako položka k Listu. Jde jen o to, jestli to chceš mít natrvalo, jelikož se to po novém způštění animace zase vynuluje.. Musel bys to nastavení pomocí php ukládat do souboru txt.
Ladza
Profil *
a poradil bys mi jak na to, aby to bylo natrvalo...j asi nejak neumim predstavit jak by seto nacitalo z .txt....normalne text z text i pomoci php zvladam, jenze tady by se musela snad pokazde vytvort nova promena v tom txt-ktera by se rovnala jenomu labelu v Listu.POradis?diky moc
Boy
Profil
Nemusela by se vytvářet nová proměnná, kdyby jsi použil funkci split(); Obsah toho txt by vypadal takto:
[pre]&obsah_listu=První label,data prvního labelu;Druhý label,data druhého labelu&
Pak by se to rozdělilo podle středníku a dále podle čárky a takto bychom dostali všechny ty proměnné. Dalo by se to domyslet ještě jinak, aby to bylo jednodušší.
Ladza
Profil *
oki, tak jak udělat ten txt t ocelkem chápu, jen ještě jak udělám aby se tam dělal ten ; to asi naformátuju v php že?Jinak dík yz anáapd, nějakto budu zkoušet udělat
Boy
Profil
No jasně... buď v php, nebo to jde i přímo ve flashi.
Ladza
Profil *
a jak rposim te v tom flashi..diky...jo a jěště...tento způsob řeším prvně a nějak nevím jak pracovat s těma proměnýma, ....
načtu si to normálně pomocí


var load_vars:LoadVars = new LoadVars();
load_vars.load("projection.txt");
load_vars.onLoad = function() {
promena = load_vars.promena ;
};

a pak tu promenou prihodim LIst componentu....


my_list.addItem({label:"One", data:dt1});

tak ted tady nevim jak si psal:
&obsah_listu=První label,data prvního labelu;Druhý label,data druhého labelu&
ja reknu bude fungovat ta fuknce slpit, aby se prvni label nacetl do prvniho labelu listu a data k datum list....

a pak jak teda bude vypadat ta funkce load_vars) kdyz to bude v jedne promene...to ale asi zustane.ted mamproblem s tou funkci Split(); nebo jak si to říkal.Díky moc
Ladza
Profil *
v Helpu sem si našel tu Split fuknci


var my_str:String = "P,A,T,S,Y";
var my_array:Array = my_str.split(",");
for (var i = 0; i<my_array.length; i++) {
trace(my_array[i]);
}


je to vono?a jak to kdyz tak funguje pls....thx moc
Boy
Profil
Zkusím to trošku rozebrat:

Funkce split(); funguje tak, že rozdělí daný text na určitý počet částí podle daného parametru (znaku). Tudíž kdybychom měli tento kód:
var ukazkovy_text:String = "ahoj,jak,se,máš";

var vystupni_pole:Array = ukazkovy_text.split(",");

Tak funkce split(); rozdělí ukazkovy_text do pole vystupni_pole podle znaku "," (čárka), přičemž samotný znak "," nebude vystupni_pole obsahovat. Výstup tohoto textu by vypadal takto:
vystupni_pole[0]=="ahoj";

vystupni_pole[1]=="jak";
vystupni_pole[2]=="se";
vystupni_pole[3]=="máš";
Boy
Profil
Moje fylozofie naplnění listu:

1. Do txt souboru bych data ukládal takto:
&obsah_listu=První label,Druhý label,Třetí label;První data,Druhá data,Třetí data& 

2. Poté bych načetl tuto proměnou do flashe a dále ji rozdělit na dvě části podle středníku:
var pole:Array = obsah_listu.split(";");

3. Dále rozdělil toto pole na další dvě:
var pole_labelu:Array = pole[0].split(",");

var pole_data:Array = pole[1].split(",");

4. Nyní jsem vlastně získal do jednoho pole všechny labely a do druhého jim odpovídající data. Teď přichází samotné naplnění listu labely a daty:
for (var i = 0; i<pole_labelu.length; i++) {

my_list.addItem({label:pole_labelu[i], data:pole_data[i]});
}


PS: Piš spisovně prosím. Usnadni mi pochopení tvého problému, když už se jím zabývám, díky.
Ladza
Profil *
outak to to je nadherny priklad.....dekuji prevelice.....jen uz mam posledni vec co mi neni jasny....jak ulozim ty data do txt aby se tam ukladali takto....prvni label zato druhy label(pak uplyne nejaka doba budu chtit zase pridat tak za to se napise)treti label;a ted ty data k tomu....ja umim davat do tt jen tak ze to pise zato, coz neplni ucel a nebo to premaze coz taky neplni ucel....tak jak na to?dik moc za vse
Boy
Profil
Teď už přece znáš funkci split(); ne? S tou si přeci poradíš, jelikož PHP zná naprosto totožnou funkci.
Ladza
Profil *
No rozhodně se o to pokusím....ja sice php moc nerozumím, teprc se ho učím, ale jestli to vypadá podobně tak se do toho zažeru :-D a dám vědět jestli uspech bude true or false :-D diky moc.
Anonymní
Profil *

var load_vars:LoadVars = new LoadVars();
load_vars.load("jaknato.txt");
load_vars.onLoad = function() {
obsah_listu = load_vars.obsah_listu;
};
var pole:Array = obsah_listu.split(";");
var pole_labelu:Array = pole[0].split(",");
var pole_data:Array = pole[1].split(",");
for (var i = 0; i<pole_labelu.length; i++) {

Aj_list.addItem({label:pole_labelu[i], data:pole_data[i]});

}

Mám tam prosím tě někde chybu....protože mi to takto nefunguje.Díky ti velice za ochotu.Jo a v souboru jaknato.txt mam přesně ten text, co jsi napsal ve svém příspěvku výše.Díky moc.Už tuto prekérní situaci řeším dlouho.
Ladza
Profil
Boy...díky chlape z avšechno funguje to skvěle, teď zkusím sesmolit ten zápis v php, a napíšu jak jsem dopadl, snad to dám dohromady:-)
Boy
Profil
Myslím že to dáš dohromady.... Všechno je to vlastně dost podobné :-)
Ladza
Profil
Prosím tě, boy....mužu se jeste na neco zeptat.Zde jsem vse vyresil...a ted delamneco jineho..na stejny zpusob, ael slozitejsi....taky mam list component...do ktereho se labels a data nacitaji z promene pomoci funkce split...supr to funguje, jenze ted k tomu mam dynamicke textove pole s nazvem instance pole....a chtel bych, aby kdyz se oznaci nejaky ten label v componentu list(instance je menu) tak aby se ktomu zobrazil prislusny text v dyn.textovem poli.Chapes me?snad jo...takze externi txt bude vypadat takto...


lala=1.label,2.label,3.label;1.data,2.data,3.data;1.text,2.text,3.text

tak a ted je to snad jasnejsi....aby po oznaceni labelu 1.label se v textovem poli zobrazil text 1.text...kdyz se ozanci druhy label, tak aby se zobrazil 2.text atd....díky moc za všechny vaše rady.Hodně ste mi pomohli....
Boy
Profil
Máš opravdu pikantní problémy :-D Ale samozřejmě to vyřešit půjde... Při prvním rozdělení rozdělí text na tři části a ty nakonec ještě rozkouskuješ pole[2] a tak získáš ty texty. Dejme tomu, že ty nazvy jsi uložil do pole s nazvem pole_nazvu. Tak teď dáš na ten list component tento script:
on (change) {

_root.textove_pole.text = _root.pole_nazvu[this.selectedIndex];
}

textove_pole je nazev INSTANCE toho pole. Funguje to, odzkoušeno.
Boy
Profil
Pokud ti něco nepůjde, nebo budeš potřebovat něco dalšího, tak se podívej to helpu... Macromedia, teda Adobe (nemůžu si na to zvyknout) má perfektně zpracovanou nápovědu. Ostatně vše, co jsem ti poradil jsem si dal dohromady z helpu, jelikož jsem s tím před tím neměl žádné zkušenosti, stejně jako ty. Pokud nebudeš opravdu vědět, tak rád pomůžu.

Měj se, odjíždím na týden pryč daleko od počítačů...
Ladza
Profil
heh tak si to tam uzij a diky moc...ano taky je moc chvalim...100% znalosti hlavne teda o tech componentech, vim stama....ael takoveto slozitejsi veci, nejak nezvlad ama anglictina prekladat:-D jdu to zkusit.Diky moc
Ladza
Profil
sakra se narazil na dalsi pikantnost...dokonci si myslim ze sem blizko k reseni, ale nejak nad tim sedim 2hodiny a ani napoveda mi nepomohla to rozlousknout...nevite nekdo jak docilit toho...no popisuto:-)

tady je script na te strance kde ho potrebuju


var treeListener:Object = new Object();
treeListener.change = function(evt:Object) {
var selectedArchiv:XMLNode = evt.target.selectedNode;
if (evt.target.getIsBranch(selectedArchiv)) {
evt.target.setIsOpen(selectedArchiv, !evt.target.getIsOpen(selectedArchiv), true);
} else {
Data.addItem({label:selectedArchiv.attributes['label'], date:selectedArchiv.attributes['date'], url:selectedArchiv.attributes['url']});
}
};
_root.Archiv.addEventListener("change", treeListener);
//nacteni XMl a obsahu Tree
var Archiv_xml:XML = new XML();
Archiv_xml.ignoreWhite = true;
Archiv_xml.onLoad = function(success:Boolean) {
if (success) {
Archiv.dataProvider = this.firstChild;
} else {
trace("unable to load/parse library.xml");
}
};
randomize = Math.random()*Math.random();
Archiv_xml.load("Archiv.xml?"+randomize);
//priradeni hodnot k Data
import mx.controls.gridclasses.DataGridColumn;
var date_dgc:DataGridColumn = new DataGridColumn("date");
date_dgc.headerText = "Datum přidání";
date_dgc.width = 105;
Data.addColumn(date_dgc);
var label_dgc:DataGridColumn = new DataGridColumn("label");
label_dgc.headerText = "Článek";
label_dgc.width = 165;
Data.addColumn(label_dgc);
Data.addItem({label:"About", date:"---------"});
// Add listener to DataGrid.
Data.addEventListener("headerRelease", listener_obj);

var thisData:Object = _root.Data.selectedItem;
_root.Nick.text=thisData.url;


takze ve strucnosti mam tu component Tree do ktereho z xml souboru nacitam data.....po kliknuti na posledni uzel se zobrazi data toho uzlu v datagridu...funguje to jak ma....:-D stihate?:-D uzel mam v tomto formatu..dam sem priklad jednoho konecneho uzlu...


<node label="Žáci"date="4.8.2006"url="zaci_1"/>

tak je tam jeden radek nahore v tom prvnim scriptu, ktery spracuje ty data label, date a url.....label a date se nacitaji do datagridu-url ne!...vse furd funguje pikantnost prijde az ted:-D

ja bych potreboval, aby po kliknuti na item v datagridu?se zobrazil v textovem poli pod tim vsim treba mi ted staci jen to co je v danem uzlu itemu v url.....

toho jsem chtel docilit, pomoci poslednich 2radku 1.scriptu....

a ted vysvetlicky pojmenuju instance....takze Data je instance datagridu....a Archiv je instance Tree componentu....a Nick je instance textoveho souboru...v tom poli textovem mi to vypisuje furd undefined....kdyby se nekdo rozhodl prelouskat tyto kilometry cteni a zauvazovat nad tim, budu nesmirne vdecen-nebojte uz to bude asi vsechno, zbytek zvladam bez komplikaci :-D...hehe zatim:-D
Ladza
Profil
cha jsem sikovnej, mel jsem to dobre, jen tam chybela jedna funkce:-) blbe to bylo zapsany:-) mam +bod zvladl jsem to sam:-D
Toto téma je uzamčeno. Odpověď nelze zaslat.

0