09. juni 2003 - 20:30Der er
96 kommentarer og 2 løsninger
hente variabler og gemme som txt
prøver at nå frem til en slags 'lokal' CMS hvor tekst skal HTML formatteres, derefter formatteres i HTML og endeligt oploades til serveren for at erstatte den aktuelle .txtfil
HVORFOR NU DET ? Fordi en del de websites jeg har lavet, er så så simple at det er totalt overkill at bruge MySql via PHP eller andet serverside. Det er ganske simpelt noget tekst som skal udskiftes, that's all. Dog skal det være ligeså simpelt for brugeren som at bruge word, eller måske endda nemmere :-)
data ligger nu som en .sol fil et eller andet sted - i mit tilfælde på: C:\Documents and Settings\Administrator\Application Data\Macromedia\Flash Player\localhost
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Jeg ville stadig ikke lave det som en lokal CMS - den skal altså interface noget PHP/ASP for at du kan uploade og gemme på serveren. Desuden ville det jo også give bøvl hvis flere brugere redigerede i hver deres lokale version...
Du kan stadig godt bare have en enkel txtfil, men så bare til slut sende dine variabler til PHP-scriptet, der på passende vis skriver dem alle i txtfilen igen...
Ponte 1 er at undgå serverside = billigere webhotel. Mange af mine kunder foretrækker dette, og det er egentligt forståeligt. Der er tale om noget så simpelt som at udskifte noget tekst.
Jeg håber du kan acceptere dette og gå ind på tankegangen.
det kan godt være det er åndsvagt, men jeg vil gerne have løst dette problem. Det kunne også være nyttig viden i forhold til projekter-projekter, hvis du forstår
Du kan sagtens gemme en txtfil fra Flash 5 - men så skal du selv lave en teksteditor hvilket ikke er nemt (det er det i Flash MX hvortil du har fundet en komponent). Og de 5 kroner webhotellet er billigere, er ikke det værd! :)
Hvis du læser ovenstående Morten, kan du se at det netop er fra Flash 5 at jeg gemmer tekstfilen.
Teksteditoren er, som du åbenbart har opdaget i Flash MX
dvs: 5'eren kan ikke udnytte det sharedobject som ligger på computeren- det kræver en MX'er Dette er problemet jeg gerne vil have et en mulig løsning på . !!
Vedr. webhotel er der ingen diskussion. Hvis du er frisk på at hjælpe mig en smule videre er det mere end cool, hvis ikke så lad være med fortælle hvad forskellen på priser på webhoteller er, det ved jeg (som en af de få ting jeg ved.. godt)
I det her tilfælde er jeg også enig med barklund - men hvis der nu var tale et ikke webprojekt eller et personligt arbejde som brugeren skal kunne gemme på egen computer, så er det da stadig interessant om man kan gemme i een textfil!
et spørgsmål om webhotel så står jeg af - nu må I styre jer. Jeg anbefaler ikke mine kunder et webhotel som er dårligt overvåget eller deres mail går ned og man ikke kan få fat i nogen. That's it.
Det er jo ikke derfor jeg har oprettet spm idenne kategori.....
alexander_j > jeg checker lige dit link, men det skulle da undre mig hvis ikke dr er tale om at gemme fra Flash5
- - -
I er nogle herlige gutter at I prøver at besvare mit spm Men I er endnu bedre hvis I gider nærlæse igen hvad det går ud på
OK, alexander_j det kan ifølge dit link lade sig gøre fra ASP, CGI, eller JavaScript via MX Det er meget tæt på, synes jeg da selv - studér det lidt :-) - er en løsning so er TOTALT ufhængig af serverside
Ideen er at flash importeres i shockwave og variablen derfor bliver skrevet som textfil af shockwave-playeren som gerne må skrive en textfil(hvorfor det er sikrere i shockwave end i flash ved jeg ikke!)
"Jeg ville stadig ikke lave det som en lokal CMS Der findes da masser af webhoteller med php til 10,- om måneden .... så er det da stadig interessant om man kan gemme i een textfil ..... Du kan sagtens gemme en txtfil fra Flash 5"
jeg forstår ikke jeres svar
> alexander_j det forstår jeg heller ike. Jeg øger ikke et svar i Director, men i Flash
Jeg fatter ikke at mit spørgsmål virker så irrelevant. Hvis løsningen er der kan vi lave offline - applikationer som opdaterer med ny data. Indenfor Flash
Ved det, men ideen er som jeg forstår det, at du kan lave din flashfilm med Joshs editor og det hele og gemme det - swf-filen herfra kan så importeres i director som via en smule kode(hvilken og hvordan ved jeg ikke, men der er vist et link på siden) kan gøre det muligt at gemme variabler fra din importerede swf-fil via shockwave-playeren istedet for flash-playeren! På denne måde kan du arbejde i flash (design, programmering og alt det der), og alligevel gemme i en textfil på brugerens harddisk - blot ved at afspille i en shockwaveplayer!
OK - jeg er bare interesseret i om du/I overhovedet forstår spørgsmålet/problemstillingen, da der ikke har været en eneste kommentar til det egentlige problem/ de anacendte applikationer endnu ....
Den applikation som du finder på http://www.flzone.net/showdetail.asp?NewsId=3777 kan ikke arbejde med flash6-playeren selvom den er genereret som en flash5 swf(jeg kan i hvert fald ikke få det til at virke - hvis du kan vil jeg meget gerne høre hvordan du gør!) - dvs til den har du brug for den gamle flash5-player(plugin). Joshs editor er lavet til flash mx og kører kun i flash6-playeren(plugin). Det betyder at du ikke kan bruge de to værktøjer på samme computer, da den ene udelukker den anden(tror også det var det barklund antydede)!
Den .sol-fil du snakker om er forøvrigt det jeg tidligere omtalte som en slag flashcookie(sharedobject), og den kan kun læses af flash6playeren(der findes mig bekendt ingen dekodere)!
Shockwave var forøvrigt ment som et alternativ - mest fordi det var det macromedia selv påstår er den eneste mulighed udover serverscripts!
Grundlæggende er problemet at du ikke kan have to forskellige flashplugins installeret samtidig på computeren - og flash6-playeren har lukket muligheden(hullet) for at gemme i en textfil!
de mange forslag om alt mulig andet er en direkte konsekvens af, at det du ønsker ikke kan laves! Du kan ikke tage Josh's Flash 6 komponent og anvende i en Flash 5 SWF!
- Du kan lave din egen teksteditor eller finde en anden til Flash 5 - Du kan wrappe din flash fil ind i Director - Du kan anvende serverside scripting
That's it... Vi prøver ikke at belære dig om alt muligt andet - vi forklarer dig begrænsningerne i Flash!
jo det kan det desværre! Men du kunne sikkert få en eller anden directornørd til at lave en lille shockwave-fil(selvom det ikke er en mulighed med brug af shockwave) der kunne oversætte data til en textfil!
hmmm. okay, har den også det hvis du publicerer i en Flash 5.exe (lukket miljø?) - det virkede faktisk fint på min pc, samtidig med at plug-in'et klarede MX-versionen....
Altså jeg kunne sagtens arbejde med den version som HTML-versionerede samtig med at at jeg sideløbende gemte tekstfiler fra den anden
Hvad for noget? Jeg forstår ikke? Du vil generere HTML-filen i en SWF (Flash 6) og gemme fra en anden swf (Flash 5)... Hvordan skulle data komme fra den ene til den anden?
jeg spørger ikke om den kan anvendes i Flash 5 - jeg spørger om de data som er tilgængelige kan hentes ind i e anden fil (MX?) og evt igen parses til 5'eren
Så du tror ikke på mig. Fint, find endelig en løsning, og lad som om jeg har fået snart 20.000 point på ikke at kende flash. Jeg kender flash bedre end de fleste og jeg fortæller dig, at du kan ikke:
Lave tekster via en Flash MX Komponent som skal gemmes i en tekstfil - uanset om du vil gå via en Flash 5 SWF eller ej.
Nej det er ikke muligt - der findes en enkelt mulighed, men den virker KUN inde fra flashmx-udviklingsmiljø - hvorfor folk skal have flashMX installeret
hvilket ikke er så smart hvis dine brugere skal købe flash mx for at redigere deres sider - så derfor en håbløs mulighed, som jeg er ked af at jeg nævnte!
Lav din flashfil og pak den ind i director som macromedia foreslår det(så slipper du formodentligt også for at det pludselig ikke virker pga. rettelser af bugs i flashplayeren)! Alier dig med en directornørd - det burde ikke være vildt svært for ham!
Du kan sagtens åbne den .fla, du har rodet med og skrive et kald til en JS-fil, der kan skrive en .txt-fil på brugerens HD - med samme indhold, som dit sharedObject (.sol).
Problemet ligger nu et helt andet sted, som jeg ser det :)
Musikere er et lidt besynderligt folk, der meget ofte har svært ved at forstå, andre også tager penge for deres arbejde. På den anden side har de ikke svært ved at udtale ordene 'tarif' og 'Dansk Musiker Forbund', når de skal hyres til et job. Det virker helt naturligt for dem, at de skal have 1.200 for at spille 2 gange 40 minutter - eller hvad tariffen lyder på, nu om stunder.
Come oooooooon .... så _må_ man zq da osse kunne slippe skaldede 1.000 kr om året for en marketings-kanal udover det sædvanlige. Kan man ikke det, bør man nok søge fast ansættelse og ikke rende rundt og lege selvstændig erhvervsdrivende.
Nu har jeg jo været gift med en musiker i 10 år og har været indvolveret i scenen i min 'gamle' branche, så jeg ved, hvor meget tid, der kan spares med et web-site. Alene at sende presse-billeder og -meddelelser rundt til arrangører ... og ikke mindst at huske at få dem tilbage igen (det er dyrt at få lavet ekstra billeder) er et kæmpe arbejde - og det koster. Alt det kan spares væk, da arrangører for fremtiden selv kan hente det på sitet. Alene dette beløber sig let til 1.000 kr på årsbasis.
Det kan godt være, dine kunder mener, de både bør spare penge og arbejde ved at have et web-site ... og måske endda også tjene penge på det. Men så må de også investere bare det mest grundlæggende. Tænk på, det kun er under en times arbejde om året, de skal investere ... og pengene er endda fradragsberettigede.
Der er ingen speciel grund til at have så ondt af 'de stakkels' musikere ... de må zq til lommerne - som vi andre skal det, når vi vil hyre dem ;o) /mvhh
Hvis en PHP løsnimg koster hvad den koster så en den så'n - jeg kan bare ikke sælge det hvis alterntivet er 250 per time - skidebilligt - kan sælges er ok med dem er det jo fint. De bli'r bare noget overraskede når de modtager faturaen på 485,- da de aflevede en svært læselig kopi af en håndskrevet note på en serviet fra deres sidste gig på Langeland, so nu MÅ ind på hjemmesiden.
derfor kunne systemet være rart at ha' ikke fordi jeg ikke vil inkassere de 485 - men fordi et cool system som regel giver bedre referencer "fordi det er så nemt at ha en webside hos blbla.dk" og der er aldrig noget pjat og aldrig noget pjat og regninger på 485,-
...er der endelig regninger er det fordi de ikke har fattet systemet og udemærket godt ved det - ligesom når jeg sidder på Stofabet support og siger til de stakkels kyllinger: - dette er er ikke under vores support, skal jeg installere dit netkort og taste dine IP'er ind igen er det 249.- per påbegyndt time... vil du gerne på ?
Smider du det op, ole, så alle kan se med? (mig selv inklusive) Jeg har en del at lære når det kommer til JavaScript, selvom min kollega Nikolaj(du) dog også kan nogle ting her... :)
Pak zip'en ud og der fremkommer en mappe, der hedder 'mappe'. Den indeholder den nye .fla-fil og en mappe 'CMS'. 'CMS' indeholder filen 'Editor.hta', som er det dokument, der importerer swf'en. Denne ligger i en 'skjult' mappe i 'CMS', der hedder 'data'. Filerne lægger sig i mappen 'files', der også ligger i 'CMS'.
Editoren virker stadig ved at gemme sharedObjects, men gemmer nu også i .txt-format. Sletter man således en .txt fra 'files', kan den altså stadig loades i editoren, da den ligger som .sol. Ønsker man at slette en fil, bør det gøres via editoren under 'Organize/Delete' ... så slettes både det tilhørende sharedObject og .txt-filen.
Rettelserne i .fla'en er ukommenterede, så de kommer her:
Åben 'Library' i Flash. Åben 'Text Editor Components'. Dobbeltklik på 'All Interfaces'. Gå til Frame 2 i laget 'Actions'.
Et stykke nede kommer man til funktionen: saveFile = function(){ ... blablabla ... }
I den har jeg indskrevet kaldet: fscommand("write_file", saveFileTitleNoSpaces + "|%|" + _parent.textIns_txt.htmlText);
I Frame 4 i samme lag har jeg indskrevet linien: fscommand("delete_file", deleteItemSelected); i funktionen: deleteFile = function(){ ... blablabla ... }
De to fscommands tager fat i et script, jeg har skrevet i .hta-filen. Det er knap så smukt (liiiidt quick 'n' dirty) - men det funker :)
Fra en .hta kan man få lov at afvikle ActiveX, uden advarsler, da det anses for at være et secure-area (man skal _aldrig_ tillade .hta'er over WWW ...!!!) - derfor bruger jeg sådan én. Dog vil Norton nok brokke sig, men den kan man 'lære', at den for eftertiden altid skal køre dette ene script, uden brok ... der skal bare afkrydses en checkbox, når den kommer frem og brokker sig :)
Ja, lidt JS har ham den lange Flash-pind da fået lært efterhånden ... men undersøgelser viser jo også, at kvinder foretrækker at dyrke JavaScript med lange, tynde mænd *ROTFL* Hils ham, barklund ;oD
Håber, I kan få lidt ud af zip'en ... ellers er I velkomne til at spørge :) /mvh
Det skal lige siges, at oersted har haft problemer med at få mappen 'files' ud af zip'en. Er det tilfældet hos andre, skal der blot laves en tom mappe ved navn 'files' - som skal ligge ved siden af 'Editor.hta' :)
jeg lagde skidtet i en undermappe til dokumenter(du ved 'c:\dokument and settings\brugernavn\undermappe') - da jeg så forsøgte at gemme, så meldte den scriptfejl og at den ikke kunne finde stien! Jeg forsøgte så at ligge den direkte i root(du ved 'c:\'), og som et trylleslag, så virkede den pludselig!
Du virker som lidt af en javascripthaj olebole - jeg prøvede at ændre .fla'en lidt så den skulle gemme ren tekst, men istedet for linieskift gemte den nogle firkanter - problemet ligger nok i flashs måde at fortolke linieskift i forhold til notepads - har du en ide til at omgås dette?
Det er nok et spm. om encoding. I denne linie: t = fso.CreateTextFile(file, true); sørger 'true' for at filen bliver skrevet ud i unicode. Sættes denne boolean til 'false' (eller udelades den), skrives ud i ASCII.
Da filerne er til senere brug i Flash (og den kører jo UTF-8), har jeg valgt unicode - men prøv at sætte de til 'false' ... eller udelad den helt. /mvh
Hvis jeg åbner den gemte xxx.txt-fil i homesite så er linieskiftene ok - det er kun notesblok den er gal i - faktisk kan den også åbnes i word og i wordpad uden problemer!
Har prøvet at sætte det ind i din kode og i alert'en viser den også det hele korrekt, men i notesblok ¤%#"&&%" skriver den stadig firkanter i stedet for linieskift!
Prøvede forøvrigt også at bytte om på \n\r, men ...
Alexander ... du er en hård mand ...! Det ender jo med, jeg må teste mit eget lort *LooOooL* Jeg ved ikke, om jeg når det idag - men jeg skal prøve at huske dig ;o) /mvh
Oki - tak for hjælpen alligevel, den lille sætning har samtidig løst et gammelt problem jeg havde med at få teksten fra flash over i windows clipboard - så to fluer med eet smæk ;-)
så er der jo bare lille ting (sådan én er der altid) at man joooooooo regel henter flere variabler ind: mintekst1=<b>bla bla bla </b><br>&mintekst2=ba bla bla ..osv
som setup'et er nu, står der jo ligesom en masse kode før tesksten starter, ergo er det lidt svært at komme ind med sin "mintekst1=" så flashen forstår hvilken variabel der er tale om. Og hvad hvis der er flere variabler ?
Jo, men nu henter du ikke XML-formateret tekst ind med loadVars. Det henter du jo netop ind med Flash's egen XML-håndtering. Du bør nok bruge et XML-dokument for hvert felt, du vil fylde tekst i ... hvis du vil bruge den editor :)
PS: Naturligvis kan man gøre andet, men så er vi ved at være ude i at skrive et komplet CMS i JScript/ActiveX ... og det er noget helt andet.
Mange i (D)HTML-kategorien gør samme opdagelse, når de finder ud af, man kan lave en DHTML/WYSIWYG-editor i IE: Der er f...... til forskel på at have en editor og at lave et CMS ;o) /mvh
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.