Search the web
Sign In
New User? Sign Up
IRAN_CS_CE · Computer Science _ Computer Engineer
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Show off your group to the world. Share a photo of your group with us.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Source Editor   Message List  
Reply | Forward Message #276 of 300 |

S0urc3Ed!t0r

سلام ، چطوری ؟
حتمآ تا به حال به این مشکل برخوردی که   Source   یک برنامه را خواستی بخونی ، ولی بخاطر این که تمام فاصله ها را از بین بردن ، قادر به این کار نیستی
مثل برنامه زیر که با   "جاوا اسکریپت"   نوشته شده.

مثال 0 :

function Neme( ){var a=0;var b=1;var c=2;var d=4;for(i=0;i<13;++i){alert("i => "+i);if(i%2&a)b=i;else if(!(i%2)&b)a=i;}alert("a => "+a);alert("b => "+b);}


خوندن این جور برنامه ها خیلی سخته ، مخصوصآ وقتی تعداد خطا زیاد بشه !!
فکر کنم همه قبول دارن برنامه زیر قابل فهم تر از بالای هست :

مثال 1 :

function Neme( ){
    var a=0;
    var b=1;
    var c=2;
    var d=4;
    for(i=0;i<13;++i){
        alert("i => "+i);
        if(i%2    a) b=i;
        else if( !(i%2)    b) a=i;
    }
    alert("a => "+a);
    alert("b => "+b);
}


خوب چون خودم احتیاج داشتم تا   Source   یک برنامه را بخونم و متآسفانه این برنامه مثل مثال صفر ، تمام فاصله هاش حذف شده بود ، تصمیم گرفتم برنامه ساده ای بنویسم که   Source   های که این مشکل را دارند درست کنه ، یعنی مثال اول را به دومی تغییر بده .
خلاصه این که یه چیز کوچیک نوشتم ، بعد فکر کردم شاید به درد تو هم بخوره
این برنامه با   JavaScript   نوشته شده تا همه راحت بتونن استفاده کنن و همون طور که گفتم ، خیلی ساده نوشته شده و زیاد روش کار نکردم ، پس احتمال داره بعضی نکات در نظر گرفته نشده باشه یا این که   bug   داشته باشه .
خوب خروجی این برنامه دو قسمت بیشتر نداره ، یه جا برای نوشتن   Code   برنامه مورده نظر که قراره فاصله های حذف شده از آن برگردانده بشه و یک دکمه که باعث تغییرات در   Code   میشود ، تغییرات حاصل در همان قسمت که   Code   اولیه نوشته شده ، درج میشود .
برای امتحان میتونی همین مثال اول را در قسمت ورودی برنامه کپی کنی که بعد از فشار دادن دکمه ، مثال دوم بدست میاد .

<html><head><script type=text/javascript>
function s0urc3_Editor(){
  textAreaObject=document.getElementById('c0d3_String');
  var c0deString=textAreaObject.value;
  var c0deSpace='';
  var stringLength=c0deString.length;
  for(c0de_i=0;c0de_i<stringLength;++c0de_i){
    var char__1=c0deString.charAt(c0de_i-1).toLowerCase();
    var char_0=c0deString.charAt(c0de_i).toLowerCase();
    var char_1=c0deString.charAt(c0de_i+1).toLowerCase();
    if(char_0=='f'&char_1=='o'
    c0deString.charAt(c0de_i+2).toLowerCase()=='r'
    (char__1==' '||char__1=='\n'||char__1=='\t'||
    char__1==';'||char__1=='')){
      c0de_i+=3;
      var EPfor=0;
      while((char_0=c0deString.charAt(c0de_i))===' '
      c0de_i<stringLength--)
      c0deString=c0deString.substring(0,c0de_i++)+
      c0deString.substring(c0de_i--);
      while(c0de_i<stringLength)
      if((char_0=c0deString.charAt(++c0de_i))=='(')++EPfor;
      else if(char_0==')')
      if(EPfor)--EPfor;
      else break;
      else if(char_0=="'"||char_0=='"')
      while(c0de_i++<stringLength)
      if(char_0==c0deString.charAt(c0de_i))break;
      else if(c0deString.charAt(c0de_i)=='\\')++c0de_i;
    }
    else if((char_0==" "||char_0=="\t"||char_0=="\n")
    (char_1==" "||char_1=="\t"||char_0=="\n")
    --stringLength){
      c0deString=c0deString.substring(0,c0de_i++)+
      c0deString.substring(c0de_i--);
      --c0de_i;
    }
    else if(char_0=="{"){
      c0deSpace+='      ';
      c0deString=c0deString.substring(0,c0de_i+1)+"\n"+
      c0deSpace+c0deString.substring(1+c0de_i);
      c0de_i+=c0deSpace.length+1;
      stringLength+=c0deSpace.length+1;
    }
    else if(char_0=='}'){
      while((c0deString.charAt(c0de_i-1)===" "||
      c0deString.charAt(c0de_i-1)=="\n")
      c0de_i--<stringLength--)
      c0deString=c0deString.substring(0,c0de_i)+
      c0deString.substring(c0de_i+1);
      if((c0deSpaceLength=c0deSpace.length)!=0)
      c0deSpace=c0deSpace.substring(0,c0deSpaceLength-6);
      c0deString=c0deString.substring(0,c0de_i)+"\n"+
      c0deSpace+"}\n"+c0deSpace+
      c0deString.substring(1+c0de_i);
      c0de_i+=2*c0deSpaceLength-10;
      stringLength+=2*c0deSpaceLength-10;
    }
    else if(char_0==";")
    {
    c0deString=c0deString.substring(0,c0de_i+1)+"\n"+
    c0deSpace+c0deString.substring(1+c0de_i);
    c0de_i+=c0deSpace.length+1;
    stringLength+=c0deSpace.length+1;
    }
    else if(char_0=="'"||char_0=='"')
    while(c0de_i++<stringLength)
    if(char_0==c0deString.charAt(c0de_i))break;
    else if(c0deString.charAt(c0de_i)=='\\')++c0de_i;
  }
textAreaObject.value=c0deString;
}</script>
</head><body Style="background-color:black"><center>
<textarea id='c0d3_String' Style="width:100%;height:90%;"></textarea>
<br><br><button onclick='s0urc3_Editor()'>Change</button>
</center></body></html>


این C0de زیر ، همون بالای هستش ، این به درد کسای میخوره که بخوان   Source  برنامه را بخونن ، چون سعی شده فاصله ها در این قسمت از بین نره .


خوشحال میشم برنامه های که مینویسی ببینم ، شاید به کاره منم اومد.






مهراد

Counter
Counter



Attachment
S0urc3 Ed!t0r.zip
Type:
application/zip
Forward
Message #276 of 300 |
Expand Messages Author Sort by Date

... Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.  S 0urc3 E d!t0r   Source      " "    . 0 : function Neme( ){var...
Y0U]\[G SU]\[
young666sun666
Offline Send Email
Aug 31, 2007
2:43 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help