Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-01-2005, 19:15   #1 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
[stuff] StringFormat (AS2 gegenstück zu s/printf und scanf)

ich hab mir mal die mühe gemacht die php s/printf bzw sscanf
funktionen nach AS2 zu portieren.
damit kann man anhand von bestimmten platzhaltern werte
aus einem string auslesen bzw übergebene werte reinschreiben.

hier gibts mehr infos zu den php funktionen:
http://php.net/sprintf
http://php.net/sscanf

PHP-Code:
var format ',%b,%o,%x,%X,%d,%s,';
var 
input ',01010,0777,0xaeaeae,FEFEFE,23,elias,';

var 
a       StringFormat.scan(formatinput);
var 
output  StringFormat.print(
                         
'binary: %b;\n octal: %o;\n hex: %x;\n HEX: %X;\n decimal: %d;\n alphabetical: %s;',
                         
a[0], a[1], a[2], a[3], a[4], a[5]
                             );
trace('-] format string: \n\t' format        '\n' );
trace('-] input string: \n\t'  input         '\n' );
trace('-] output string: \n'   output        '\n' );
trace('-] scan array: \n->'    a.join('\n->')+ '\n' ); 
--- AUSGABE ---
Code:
-] format string: 
	,%b,%o,%x,%X,%d,%s,

-] input string: 
	,01010,0777,0xaeaeae,FEFEFE,23,elias,

-] output string: 
binary: 1010;
octal: 777;
hex: aeaeae;
HEX: FEFEFE;
decimal: 23;
alphabetical: elias

-] scan array: 
->10
->511
->11447982
->16711422
->23
->elias
klasse ist bischen groß und unübersichtlich, also ab in den anhang...

.
Angehängte Dateien
Dateityp: zip StringFormat.zip (5,7 KB, 16x aufgerufen)
__________________
elias ist offline   Mit Zitat antworten
Alt 13-01-2005, 08:41   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Hi Elias,
sscanf ist ja schon gar nicht mehr wahr

Schau mal hier:
http://www.codeproject.com/csharp/custstrformat.asp
Ich finde, das ist eine schicke Api für solche Sachen.
Daraus könntest du ein schönes Package für Flash machen.
(Vielleicht hast du ja Glück und Andre hat die Domain noch nicht )

Dazu würde ich gleich UnitTests anlegen. Dann bist du nicht auf solche adhoc Methoden wie trace angewiesen und kannst dir ziemlich sicher sein, dass deine Klassen funktionieren.

mfg r.

Geändert von bokel (13-01-2005 um 08:49 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 13-01-2005, 09:37   #3 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
sieht interessant aus. aber mir ist noch nicht ganz klar wie ich es umsetzen
könnte, werde mir das mal genauer ansehen.
__________________
elias ist offline   Mit Zitat antworten
Alt 13-01-2005, 12:14   #4 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Im Zweifelsfall kannst du dir die Implementation in Mono anschauen. Wenn du dich allerdings erstmal auf die Grundlagen beschränkst, dürfte es nicht so schwer sein.
bokel ist offline   Mit Zitat antworten
Alt 13-01-2005, 12:58   #5 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
Zitat:
(Vielleicht hast du ja Glück und Andre hat die Domain noch nicht )
Hehe, ja das ist ein Kreuz mit den Domains, aber mittlerweile bin ich ganz glücklich damit. Das Dreiergespann funktioniert ganz gut und deckt meine Interessen ab. Nur das man das professionell gar nicht betreiben kann. Die Domains suggerieren das aber leider schnell. Die Geister, die ich rief... Aber wer weiss...

Neu: board.gamepackage.org
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Alt 13-01-2005, 13:09   #6 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
na toll, die mono xml dateien für die deutschen lokalisierung sind noch nicht
übersetzt

xml zu nutzen ist ja ne gute idee, da klassen der pure overhead wären.
aber wie bekomme ich es hin das ich die xml dateien zuladen kann und
trotzdem einfache statische aufrufe nutzen kann?
(das man das asynchrone laden nicht unterbinden kann stinkt mir langsam.)
ich könnte höchstens per config angeben welche lokalisierungen in meinem
film genutzt werden und diese gleich am anfang laden.
__________________
elias ist offline   Mit Zitat antworten
Alt 13-01-2005, 13:12   #7 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
ah die domain anmerkung hab ich garnicht gesehen. werde mir aber
sobald mein server steht eine "globale" domain reservieren
vielleicht findet man auch irgendwann mal was in der as2base von
mir
__________________
elias ist offline   Mit Zitat antworten
Alt 13-01-2005, 13:28   #8 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Das Vorladen ist doch ok.
Aber die Locales würde ich sowieso auf die zweite Stufe verschieben.
bokel ist offline   Mit Zitat antworten
Alt 13-01-2005, 13:32   #9 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
ja sicher, ist mir aber gerade so eingefallen. so super finde ich das vorladen
nicht. ich finde das (event handling) bauscht den code immer so auf.
naja baue erstmal den arg parser...
__________________
elias ist offline   Mit Zitat antworten
Alt 14-01-2005, 17:42   #10 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
so hab mal den ersten schritt der .NET implementierung getan.
wäre schön wenn jemand noch bugs findet, die es bestimmt gibt.

klassen im anhang.

PHP-Code:
import StringUtil;

var 
dummy:StringIterator = new StringIterator('SDAF');
var 
dummy:StringUtil = new StringUtil();

var 
format;
var 
output;

format 'Hello {0}';
output StringUtil.format(format'World');
traceoutput );

format '{1}{0}';
output StringUtil.format(format'World''Hello');
traceoutput );

format '{1,-6}{0,-8:!}';
output StringUtil.format(format'World''Hello');
traceoutput );

format '{1,-10:o} {{{0,-8:!}}';
output StringUtil.format(format'World''Hello');
traceoutput ); 
AUSGABE:

Code:
Hello World
HelloWorld
Hello World!!!
Helloooooo {World!!!}
.
Angehängte Dateien
Dateityp: zip stringutil_format_example.zip (8,3 KB, 3x aufgerufen)
__________________
elias ist offline   Mit Zitat antworten
Alt 14-01-2005, 18:14   #11 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Na, das sieht doch schon gleich viel angenehmer aus.

Mit den Tests das machst du am besten so, dass du sie in eine extra Datei packst, für jeden Test eine eigene Funktion, die gleich prüft, ob das Ergebnis dem erwarteten Ergebnis entspricht. Wenn jemand was findet, das nicht funktioniert, dann wird dein Testset entsprechend erweitert und dann solange korrigiert, bis wiederum alle Tests fehlerfrei durchlaufen. Auf die Art weisst du immer, dass alles ok ist.

Mit einer asunit kannst du das dann noch ein bißchen automatisieren. Z.B. musst du dann nicht deine verschiedenen Tests selbst aufrufen, das passiert dann automatisch.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 15-01-2005, 03:53   #12 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
hatte gestern abend mein erstes mal mit der as2lib, bis auf die dokumentation
hat sie auch gut funktioniert. testcases im anhang...
Angehängte Dateien
Dateityp: zip TStringUtil.zip (827 Bytes, 1x aufgerufen)
__________________
elias ist offline   Mit Zitat antworten
Alt 15-01-2005, 20:45   #13 (permalink)
flachzange
 
Benutzerbild von elias
 
Registriert seit: Jun 2003
Ort: berlin
Beiträge: 3.932
hab die ganze parserrei jetzt in eine klasse verfrachtet und auf den stringiterator
verzichtet. der code sollte jetzt etwas übersichtlicher und schlanker sein.

allerdings frage ich mich mittlerweile ob sich die lokalisierung in dem maße lohnt.
das system ist zwar schon flexibel und irgendwie "toll". aber es werden doch
noch einige klassen benötigt und ich bezweifel das sich sowas jemand ins boot
holt, da es ja speichermäßig zu buche schlagen wird.

ua wäre es nötig die Date und Number klassen zu wrappen damit man die
ganze sache sauber nach .NET manier umsetzen könnte.
mal schaun, vielleicht kann mich ja noch jemand begeistern
Angehängte Dateien
Dateityp: zip stringutil_format.zip (1,7 KB, 10x aufgerufen)
__________________
elias ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele