begin process at 2012 02 10 19:24:02
  Trouver un code source :
 
dans
 

136 commentaire(s) de OphidiaN sur des sources sur tout CodeS-SourceS

Déposé sur Classe serializer : serialize() et unserialize() identiques à...

Hello. Bah j'avoue c'est un peu ce que je cherchais, vu que je voulais transférer par XMLSocket des objets (sans utiliser des usines à gaz comme red5 ou autre). Cela dit une petite info trouvée en décompilant un swf utilisant remoting : ils ont aussi codé un système de sérialisation (malheureusement différent du serialize() php) mais assez intéressant. On le retrouve dans mx.data.binding, une classe ObjectDumper :)

ex:

var p = new Object();
p.a=6;
p.arr=new Array('test','lol');
p.b="salut";

trace(mx.data.binding.ObjectDumper.toString(p, true, true,true))

trace:
{a: 6, arr: ["test", "lol"], b: "salut"}

la syntaxe d'un objet en flash en réalité.

je ne sais pas si amfphp utilise ce système pour transférer.. mais ça serait intéressant de voir ça.
Posté le : 07/12/2007 16:32:36

Déposé sur Communication client serveur , transmition de données par tra...

c'est super propre, super commenté... merci.
Posté le : 09/11/2007 23:39:19

Déposé sur Smileyfield :: textfield avec smiley images

hmmmm désolé à l'utilisation j'ai découvert un bug de placement. En effet je remplaçais tous les smileys d'un meme type, puis d'un autre, etc... Cela avait pour effet de décaler les smileys a cause des espaces différents entre les types de smileys.
La solution consiste donc à remplacer le premier smiley trouvé, quel qu'il soit. Voici la solution finale:

var smileys:Array = new Array();
smileys.push({search:"[:)]",attach:"smiley_smile",replace:"     "})
smileys.push({search:"[;)]",attach:"smiley_wink",replace:"     "})

findNextSmiley = function(txt:String){
var id=10000; // rarement vu un texte plus long.
var pos=-1;
for(var smiley in smileys){
var i=txt.indexOf(smileys[smiley].search);
if((i<id) && (i!=-1)){id=i; pos=smiley; }
}
if(id==10000){ id=-1 }
return {id:id,pos:pos};
}

replaceSmileys = function(txt:TextField){
var t:TextField = txt._parent.createTextField("temporaryTextField",getNextHighestDepth(),0,100,100,100);
t._visible=false; t.embedFonts=true; t.type="dynamic"; t.autoSize=true;
var tf:TextFormat = t.getTextFormat();
tf.font="Ad Lib"; // la meme font que le textfield de base, pensez au linkage.
// en effet le embedFonts oblige de passer par TextFormat et une font de la biblio.
tf.size=txt.getTextFormat().size;
t.setNewTextFormat(tf);
var nextSmiley;
nextSmiley=findNextSmiley(txt.text);
while(nextSmiley.id!=-1){
var s = smileys[nextSmiley.pos];
var i=nextSmiley.id;
t.text=txt.text.substr(0,i);
if(t.text=="") t.text=" ";
var k = t.text.indexOf(chr(13)+chr(13));
if(k!=0){
t.replaceText(k,k+2,chr(13)+"deux");
}
var j=t.textWidth;
var nb13=0;
var k=t.text.indexOf(chr(13));
while(k!=-1){
nb13++;
k=t.text.indexOf(chr(13),k+1);
}
var smile=txt._parent.attachMovie(s.attach,"smile"+txt._parent.getNextHighestDepth(),txt._parent.getNextHighestDepth());
smile._y=txt._y + t.textHeight-smile._height+2*nb13;
var last13=t.text.lastIndexOf(chr(13));
if(last13!=-1) t.text=t.text.substr(last13+1);
smile._x=txt._x+t.textWidth+4;
txt.replaceText(i,i+s.search.length,s.replace)
nextSmiley=findNextSmiley(txt.text);
}
}

// voilà, et en +, on peut l'appeller sur n'importe quel textfield, où qu'il soit.

à+
Posté le : 27/10/2007 00:04:55

Déposé sur Smileyfield :: textfield avec smiley images

ok ça fait longtemps mais ce qui me posait problème avec cette très bonne source, c'est que on ne pouvait donc plus sélectionner d'un coup le texte. j'ai regardé ce qui était faisable avec un seul textfield, et en jouant avec un textfield temporaire, textWidth et textHeight, on peut arriver au résultat de 123flashChat :
bon le code est un peu brutal comme ça en commentaire, mais je suis persuadé que ça aidera quelqu'un...

var smileys:Array = new Array();
smileys.push({search:"[;)]",attach:"smiley_wink",replace:"     "})
smileys.push({search:"[:)]",attach:"smiley_smile",replace:"     "})
// etc ... il suffit de calculer le bon espacement pour votre police

replaceSmileys = function(txt){
var t:TextField = createTextField("temporaryTextField",getNextHighestDepth(),0,100,100,100);
t._visible=false; t.embedFonts=true; t.type="dynamic"; t.autoSize=true;
var tf:TextFormat = t.getTextFormat();
tf.font="myfont"; // la meme font que le textfield de base, pensez au linkage.
// en effet le embedFonts oblige de passer par TextFormat et une font de la biblio.
tf.size=txt.getTextFormat().size;
t.setNewTextFormat(tf);
var baseTexte:String;
for(smiley in smileys){
s=smileys[smiley];
var i=txt.text.indexOf(s.search);
while(i!=-1){
t.text=txt.text.substr(0,i);
var j=t.textWidth;
var nb13=0;
var k=t.text.indexOf(chr(13));
while(k!=-1){ // on compte le nb de saut de lignes dans le textfield
nb13++;
k=t.text.indexOf(chr(13),k+1);
}
var smile=attachMovie(s.attach,"smile"+getNextHighestDepth(),getNextHighestDepth());
smile._y=t.textHeight-smile._height+2*nb13; // un saut de ligne=2pt
var last13=t.text.lastIndexOf(chr(13));
if(last13!=-1) t.text=t.text.substr(last13+1);
smile._x=t.textWidth+4;
txt.replaceText(i,i+s.search.length,s.replace)
i=txt.text.indexOf(s.search);
}
}
}

replaceSmileys(votreTextField);
//pensez à linker des smileys évidemment...
  
Posté le : 25/10/2007 18:31:16

Déposé sur 3dfs : 3d flash studio (moteur 3d pour flash)

c'est vraiment excellent.
Posté le : 09/07/2005 16:26:59

Déposé sur Les ini's en treeview

Et d'ailleurs avec encore 2 ans de recul en repassant sur cette bonne vielle source archaique jdois admettre qu'on aurait pu tout faire par API mdr :p
Posté le : 06/05/2005 13:03:49

Déposé sur Superdate, un object date amélioré.

c cool.

nb: le compo calendar existe deja... (mx2k4 pro)
Posté le : 11/02/2005 15:41:06

Déposé sur Composants pour non-progammeur

ouais du point de vue du non programmeur jsuis daccord ;)
Posté le : 30/01/2005 16:50:57

Déposé sur Composants pour non-progammeur

mdr sans vouloir te vexer entre taper "Haut, Gauche" et "TL" .... ou bien utiliser "Afficher" plutot que de définir direct showMenu a true....

excuse moi mais:
Deux composants du ``meilleur cru`` c un peu exagéré...
Posté le : 30/01/2005 01:38:02

Déposé sur Moteur 3d en controle ocx basique

Il peut-être encore + interessant dans ce cas de passer par une dll activex plutot qu'un ocx.
(création directe de la classe plutot que d'utiliser la classe de l'ocx)

ça manque peut-etre de paramètres dans certaines fonctions et d'optimisations au niveau des boucles

On Error GoTo resu
        
        If UBound(vMesh) > 0 Then
            For i = 1 To UBound(vMesh)
                d3dDevice.DrawPrimitiveUP D3DPT_TRIANGLELIST, UBound(vMesh(i).MPoints) / 3, vMesh(i).MPoints(1), Len(vMesh(i).MPoints(1))
            Next i
        End If

resu:

le on error goto resu ne devrait pas se trouver dans une telle fonction, il ya d'autres methodes de gestion bcp plus (simple) et efficaces,

et par ex, l'utilisation de ubound() dans la boucle est une très mauvaise idée pour l'optimisation

il est largement préférable de stocker tout au long du programme une variable vmeshCount, car ubound() oblige vb à checker à chaque tour la total des éléments du tableau (ça peut avoir des avantages mais pas ici)

alors déjà que vb est lent ;)

@++
Posté le : 29/11/2004 12:27:46

1 2 3 4 5 6 7 8 9 10 11 12 13 14


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,388 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales