Flex+AS3中文件读入与写出及Datagrid自动获取行号和socket发送数据

本文介绍了如何在Flex+AS3环境中实现文件读取和写入Datagrid,包括读取TXT文件到Datagrid,将Datagrid数据写回TXT,Datagrid第一列自动生成行号,以及通过Socket发送数据的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flex+AS3中文件的读入并写入Datagrid中:

  protected function button4_clickHandler(event:MouseEvent):void
   {  
    
    // test.text += "\n";
    // test.text += "DIP11:"+DIP11+"\n";
    var urlRequest:URLRequest = new URLRequest("D:\\Hello.txt");
    var urlLoader:URLLoader=new URLLoader(urlRequest);
    function readData():void
    {
     
     var data:String = urlLoader.data;
    
     var body:Array = data.split("\n");
     
     for(var i:int = 1; i< body.length; i++ )
     {
      var info:Array = body[i].toString().split("    ");
      
      var B1:String=info[0];                  
      var B2:String=info[1];
      var B3:String=info[2];
      var B4:String=info[3];
      var B5:String=info[4];
      var B6:String=info[5];
      var B7:String=info[6];
      var B8:String=info[7];
      var B9:String=info[8];
      var B10:String=info[9];
      var B11:String=info[10];
      var B12:String=info[11];
      
      
      //Alert.show("2");
      array.addItem({A:B1,B:B2,C:B3,D:B4,E:B5,F:B6,G:B7,H:B8,I:B9,J:B10,K:B11,L:B12});
      DataGrid1.dataProvider=array;
      
       
     }
     
     gettextdata(array);
     //var column:int=DataGrid1.columnCount;
     //var row:int=model.textdata.length; 
    }
    
    
    urlLoader.addEventListener(Event.COMPLETE, readData);
    
   } 

Flex+AS3中把Datagrid中数据写入TXT文件:

protected function button6_clickHandler(event:MouseEvent):void
   {
    
    var exportFile:FileReference = new  FileReference();
    exportFile.addEventListener(Event.COMPLETE, saveComplete);
    var mbytes:String="source_port_id ";
        mbytes=mbytes+"\r\n";
    for(var i:int=0; i<model.textdata.length;i++) {
     
     mbytes=mbytes+model.textdata[i]+"\r\n";
     
    }
    
    exportFile.save(mbytes, "Write.txt");
    
   }

Flex+AS3中Datagrid第一列自动显示行号:

<mx:DataGridColumn  dataField="HEAD"  headerText="TrafficDemandID"  editable="true">
   <mx:itemRenderer>
    <mx:Component>
     <mx:Label text="{outerDocument.genrowno(data)}" />
    </mx:Component>
   </mx:itemRenderer>
   </mx:DataGridColumn>

outerDocument.genrowno(data)函数如下:(必须是public类型的)

public function genrowno(hh:Object):String {
    var colomcount:String=DataGrid1.dataProvider.getItemIndex(hh)+1;
    return colomcount;
   }

Flex+AS3中socket发送数据:

msocket=new Socket();

 msocket.connect(DIP11,9998);

var len:int = 12+(model.textdata.length)*48;
     writeHeader(CREQ,len);
     socket.writeInt(1);
     
     var myarray:Array=new Array();
     for(var j:int=0;j<model.textdata.length;j++)
     {  
      Alert.show(model.textdata[j],"message");
      myarray= model.textdata[j].split("|");
      for(var i:int=0;i<myarray.length;i++)
      {
       socket.writeInt(int(myarray[i].valueOf()));
       
      }
     }
     socket.flush();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值