Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-02-2012, 14:24   #1 (permalink)
Neuer User
 
Benutzerbild von maxiW
 
Registriert seit: Jan 2010
Ort: HH
Beiträge: 89
Cool Position im Array.

Hi,
FileRefList übergibt an LoaderObj ein ByteArray "peter[]", daraus werden bilder auf der Bühne geladen. Mein Array Peter [] wird gespiegelt in mein Array Klaus[];

jetzt lösche ich auf der Stage Bilder die von Peter kommen. X.removechild().
Zeitgleich soll das im Klaus bekannt sein welches Element ich da gelöscht habe mit getChildIndex(). und Klaus.splice(peter.ChildIndex,1);

Später wenn die nicht hochzuladenen Bilder soweit ermittelt und removed sind.

meineUploadFkt(UpArr[i]) ;

soll meine fileRef.upload(URL)

Klappen.

Wie bekommen ich kongruent mein childIndix passen in mein Klaus[] mit splice genau an der position gelöscht wie ich es auf der Stage gemacht habe.

PHP-Code:
     
    
public class UploaderPlayer10 extends Sprite
    
{
        
        
/***** IMPLEMENT VARS **********/
        
        
private var _spec:SpecificationMX =    SpecificationMX.getInstance();
        
// private var _preLoader:Preloader = Preloader.getInstance();
        
private var _rHandler:ResultHandler = new ResultHandler(); 
        
        
/****** ********************/
        
        
private var fileReference:FileReference = new FileReference();
        private var 
fileRefList:FileReferenceList = new FileReferenceList();
        private var 
loader:Loader;
        private var 
loaderHolder:Sprite;
        
        private var 
globalffl:FileReferenceList = new FileReferenceList();
        private var 
UpArr:Array = new Array();
        
        private var 
helperRef :FileReference;
        
        
        private var 
imagesFilter:FileFilter = new FileFilter("Images"_spec.paramFileExtensions);
        private var 
docFilter:FileFilter = new FileFilter("Documents""*.pdf;*.doc;*.txt");
        private var 
mixFilter:FileFilter = new FileFilter("Music"_spec.paramFileExtensionsA)
        
        private var 
upload_Image:CustomBtn;
        private var 
serverSend:CustomBtn;
         
        
     
        
//public var phpUploadScript:String = "http://localhost/flash/ImgUploader/bin/upload.php";
    
    
        
public var phpUploadScript:String _spec.paramPhpPathV10;          
        public var 
uploadDir:String =  _spec.paramUploadDir;
        public var 
uploadURL:URLRequest;
        public var 
newNameforUpload:String "" _spec.paramCompNo _spec.paramInterviewNo _spec.paramQNo UserManualsubtitle ;
        public var 
UserManualsubtitle:String "_PETERPAN_"  // here comes the Name of the User input
        
private var fileCount:Number;
        private var 
fileID:Number;
        
        
//selectedFile.upload('/CIS/'+uploadFile+'/'+path1+'/'+path2+'/'+path3+'/'+paramCompNr+'/'+paramIntNr+'/'+paramQNr+'/'+paramIdent);
        // FROM PHP $newPath = $dirPath.'/Upload/'.$tmpArr[4].'-'.$tmpArr[5].'-'.$tmpArr[6].'-'.$tmpArr[7].'-'.$_FILES['Filedata']['name'];
        
        
public var progress_txt:TextField;
        public var 
imgName_txt:TextField;
        public var 
imgLabel:String "";   
        
//public var progress_bar:ProgressBar;
        
public var bg_mc:MovieClip;
        
        public var 
editPencil:EditPencil;
                
        public var 
limit:int ;  // Limits the amount of files to upload.
        
        
        
public function UploaderPlayer10() {
            
            
super();
            
        }
        
        public function 
receive():void {
            
            
trace("++>>")
            
init();
            
        }
        
        private function 
init():void {
            
trace("I am the NEW Uploder, i load an image on the stage. I can change the Name and finally i upload the image with the filename to the Server")
            
             
fileCount 0;
        
            
             
             
upload_Image = new CustomBtn(15020_spec.paramButtonText0x000000);   //   _spec.paramButtonText
             
addChild(upload_Image);
             
upload_Image.addEventListener(MouseEvent.CLICK,onClick);
             
upload_Image.show();
                
            
serverSend = new CustomBtn35020_spec.paramSendBtn0x999999);
            
addChild(serverSend);
            
serverSend.addEventListener(MouseEvent.CLICKsendToServer);
            
serverSend.hide();
            
            
progress_txt = new TextField();
            
addChild(progress_txt);
            
progress_txt.430;
            
progress_txt.150
            progress_txt
.width 300;
            
progress_txt.height 60;
            
progress_txt.borderColor 0xc2c2c2;
            
progress_txt.textColor 0x999999;
            
progress_txt.border true;
            
progress_txt.wordWrap true;
        
            
uploadDir uploadDir;
            
progress_txt.text "Results:";
            
            
            
            
        
//    uploadURL = new URLRequest(this.phpUploadScript + "?uploadDir=" + this.uploadDir);
            
uploadURL = new URLRequest(this.phpUploadScript  "?uploadDir=" this.uploadDir "&rename=" this.newNameforUpload );
        
            
fileReference = new FileReference();
            
loader = new Loader();
        
        
        }
        
        
        private function 
browseImages():void {
            
fileRefList = new FileReferenceList();
            
fileRefList.addEventListener(Event.SELECTselectImages);
            
fileRefList.browse([imagesFilter,docFilter,mixFilter]);
            
  }
  
   private function 
selectImages(e:Event):void {
   var 
ffl:FileReferenceList e.target as FileReferenceList;
   var 
arr:Array=ffl.fileList;
        
 
   
   
  
   
   
   
globalffl ffl;
 
    for (var 
i:int 0arr.lengthi++) {
    
    
    
loadFileReference(arr[i]);
    
    
     
UpArr.push(arr[i]);
   
    }
   
  }
 
 
    private function 
loadFileReference(TempFileReference:FileReference):void {
    
    
helperRef TempFileReference 
    helperRef
.addEventListener(Event.COMPLETEloadHandler)
    
helperRef.load();
    
    
    
  }
  

 
  private function 
loadHandler(e:Event):void {
   
    
// Daten aus dem FileRef Obj werden dem loader übergeben.

    
    
var data:ByteArray = (e.target as FileReference).data;
    var 
myName:String = (e.target as FileReference).name;  // Dateiname beim Upload
   

    
loader = new Loader();
    
loader.name =  myName;
    
loader.contentLoaderInfo.addEventListener(Event.COMPLETE LoaderOnLoadBytes);
    
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESSLoaderUploadProgress)
    
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERRORLoaderIoError);
    
    
// Delayed CALL einfügen
    
loader.loadBytes(data);
    
  }
 
  private function 
LoaderOnLoadBytes(e:Event):void {
    
    
// Bau von den einzelnen Bildern mit Text&Options-Elementen
    
   
loader e.target.loader
   
loader.width 40;
   
loader.height 40;
    
   
   var 
point:Point=getThumbsPosition(fileCount);
   
loader.x=point.+150;
   
loader.point.80;
   
loaderHolder = new Sprite();
  
// loaderHolder.name = "LoaderHolder" 
   
loaderHolder.name loader.name;
   
   
loaderHolder.addChild(e.target.loader);
   
addChild(loaderHolder);
   
    
imgName_txt = new TextField();
    
imgName_txt.type TextFieldType.INPUT;
    
imgName_txt.text "Name: " loaderHolder.name +  " ARRAY :" UpArr.length ;  // here is the Filename saved of the image which was uploaded ..
    
imgName_txt.loader.60 ;
    
imgName_txt.loader.;
    
imgName_txt.width 200;
    
imgName_txt.height 40;
    
imgName_txt.border true;
    
imgName_txt.multiline true;
    
imgName_txt.wordWrap true;
            
            
   var 
editPen:EditPencil = new EditPencil();
   
editPen.loader.285;
   
editPen.loader.26;
   
   var 
editDelete:EditDelete = new EditDelete();
    
editDelete.loader.285;
    
editDelete.loader.0;
   
    
   
loaderHolder.addChildAt(editPen1);
   
loaderHolder.addChildAt(editDelete1);
   
loaderHolder.addChildAt(imgName_txt1);
   
    
// progress_txt.text = "" +"Daten stehen zur Verfügung.";
    
serverSend.show();
   
   
fileCount++;
 
//  k++;
   
   
   
loaderHolder.addEventListener(MouseEvent.MOUSE_OVERhoverImg);
   
loaderHolder.addEventListener(MouseEvent.MOUSE_OUToutImg);
   
editDelete.addEventListener(MouseEvent.CLICKdeleteitem);
  
//  loaderHolder.addEventListener(MouseEvent.CLICK, deleteitem);
   
LoaderCompleteUpload();
   
   
   
  }
  
  
  private function 
deleteitem(e:MouseEvent):void {
     
     
//var t:DisplayObject = DisplayObject(e.target.parent);
    
     
var t:DisplayObject DisplayObject(e.target.parent );
    
    
    
// progress_txt.text = "" + "filecount: "+  fileCount + " e.target.Parent.Name " +e.target.parent.name + " t.parent.childIndex= "   + t.parent.getChildIndex(t) + " LoaderName " + loader.name;
    // var myName:DisplayObject = t.parent.parent.getChildByName(loader.name)

    // progress_txt.text = "" +  - this.numChildren;

    /*
    
        
            setChildIndex(child:DisplayObject, index:int):void
            Ändert die Position eines vorhandenen untergeordneten Objekts im Anzeigeobjekt-Container.
    
    
    */
     
var onStage:int t.parent.numChildren  ;
     var 
myNum:int t.parent.getChildIndex(t);
     var 
corNum:int onStage myNum 


    
    UpArr
.splice(corNum1);
    
    
loaderHolder.name "X X X"
    
    
    
    
////////////////////////////////////
        
t.parent.removeChild(t);
        
reduceItems();
    
///////////////////////////////////
    
progress_txt.text " numChildren:  " onStage +"[ Array.lenth:  " UpArr.length "] CorrNum: " corNum "  myNum.Index " myNum ;
    
    }
  

     
      
    private function 
reduceItems():void {
          
          if (
fileCount ==  0) {
              
              
fileCount 0
          
} else 
            
fileCount--;
      }
  
 
  private function 
getThumbsPosition(index:Number):Point {
   var 
rowCount:Number=1;
   var 
imageWidthHeight:Number=40;
   var 
imageGap:Number=10;
   var 
thumbX:Number;
   var 
thumbY:Number;
   
thumbX = (index rowCount) * (imageWidthHeight imageGap);
   
thumbY Math.floor(index rowCount) * (imageWidthHeight imageGap);
 
   return new 
Point(thumbX thumbY);
  }
 
  private function 
onClick(e:MouseEvent):void {
   
browseImages();
  }
 
  
  private function 
hoverImg(e:Event):void {
      
e.target.alpha .5;
  };
  private function 
outImg(e:Event):void {
   
e.target.alpha 1;
      
  };
  
  
    
//+++++++++++++++++++++++++++**
    //  HERE IS THE SERVER UPLOAD *
    //+++++++++++++++++++++++++++**
    
    
    
        
private function sendToServer (e:Event):void {
            
trace("Upload begins")
             
        
//    upload_Image.hide();
            
           
for (var i:int 0UpArr.lengthi++) {
            
            
transServer (UpArr[i]) ;
            
progress_txt.text "AUA";
            
            }
            
            
             
        }
        
        
        private function 
transServer(TFR:FileReference):void {
            
            
TFR.removeEventListener(Event.COMPLETEloadHandler);
            
TFR.addEventListener(ProgressEvent.PROGRESSServerUploadProgress);
            
TFR.addEventListener(IOErrorEvent.IO_ERRORServerIoError);
            
TFR.addEventListener(DataEvent.UPLOAD_COMPLETE_DATAServerUploadCompleteSAVED);
            
TFR.addEventListener(Event.COMPLETEServerUploadCompleteTRANSFER);
            
            
TFR.upload(this.uploadURL);
           
            }
        
        
        private function 
LoaderUploadProgress(e:ProgressEvent):void {
            
trace(" [FileUploader] progress: " e.bytesLoaded " / " e.bytesTotal);
            
progress_txt.text "Upload:  "Math.round((e.bytesLoaded e.bytesTotal) * 100) + "%";
            
            }
        
            
        private function    
ServerIoError(e:ErrorEvent):void {
            
trace(" [FileUploader]SERVER IOError: " e.text);
            
serverSend.+= 50;
            
progress_txt.text "" "[FileUploader] SERVER IOError: " e.text;
        }
        private function  
LoaderIoError(e:IOErrorEvent):void {
            
trace(" [FileUploader] IOError: " e.text);
            
serverSend.+= 50;
            
progress_txt.text "" "[FileUploader] LOADER IOError: " e.text;
        }
        
        
        
// called from the loader resp. fileref has passed the bytearry to the loader. first complete call
        
private function LoaderCompleteUpload():void {
            
trace(" [FileUploader] File Upload Complete");
            
progress_txt.text "" +"Daten stehen zur Verfügung.";
            
serverSend.show();
            
            
        }
        
        
        private function 
ServerUploadProgress(e:ProgressEvent):void {
            
            
progress_txt.text "Upload to Server:  "Math.round((e.bytesLoaded e.bytesTotal) * 100) + "%";
            
        }
        
        private function 
ServerUploadCompleteTRANSFER(e:Event):void {
            
trace(" [FileUploader] File Upload DATA Complete");
            
progress_txt.text "Daten OK. ";
        
            
            
CleanUp();
        }
        private function 
ServerUploadCompleteSAVED(e:DataEvent):void {
            
trace(" [FileUploader] File Upload DATA Complete");
            
progress_txt.text "Upload OK ";
            
            
        }
  
        private function 
CleanUp():void {
    
//            serverSend.hide();
            /*
            if (this.numChildren != 0) {
                
                var k:int =this.numChildren;
                while (k--)
                {
                    this.removeChildAt( k );
                    
                }
            }
            */
        

__________________
bitte nicht an die Disco lehnen.. °°
maxiW ist offline   Mit Zitat antworten
Alt 29-02-2012, 18:45   #2 (permalink)
Koda ;)
 
Benutzerbild von badnoob
 
Registriert seit: Oct 2010
Ort: Hannover
Beiträge: 213
moin,
erstmal solltest du, wenn du hier schon code postest, dafuer sorgen, dass er sauber strukturiert und nachvollziehbar ist.
so wie es momentan ist, ist es einfach nur grausam (z.b. variablen mitten im quelltext definieren); es ist also auch kein wunder, dass niemand antwortet, weil niemand lust hat, sich den **** anzusehen.

nun zum problem:
mal davon abgesehen, dass es weitaus bessere moeglichkeiten gibt, bitmaps zu verwalten, ist die loesung relativ einfach.
die methode removeChild gibt als return das entfernte displayObject zurueck. du kannst also wie folgt vorgehen (was auch nicht schoen ist, aber bei deiner art quelltexte zu schreiben, ist schoenheit eh egal):
PHP-Code:
klaus.splice(klaus.indexOf(peter.removeChild(objChildToRemove)), 1); 

Geändert von badnoob (29-02-2012 um 18:47 Uhr)
badnoob ist offline   Mit Zitat antworten
Alt 01-03-2012, 00:12   #3 (permalink)
Neuer User
 
Benutzerbild von maxiW
 
Registriert seit: Jan 2010
Ort: HH
Beiträge: 89
niceone! thx
__________________
bitte nicht an die Disco lehnen.. °°
maxiW 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Position in Array abfragen krakatau ActionScript 2 7 13-02-2009 01:36
XML/Array - Array-Position mit XML-Attribut abgleichen Goldesel Flash Einsteiger 0 12-08-2008 10:27
Position von preg_replace im Array ? Digger2k3 PHP und MySQL 2 29-04-2006 12:32
Sound.position und Array andydrummer ActionScript 1 1 14-04-2006 02:55
aus Array position zuweisen harego ActionScript 1 6 24-08-2004 09:23


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele