الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

(بدون عنوان)

مغلق
بدأه M.A.K. في 4 أبريل 2006 · 3 رد · 593 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

< نظرة في البرمجيات المستقلة عن نظم التشغيل >

- مجموعة رائعة من برامج JavaScript الخدمية !

بسم الله الرحمن الرحيم

--------------

____________________________________________________________

___( ملحوظة : جميع الأكواد الموجودة في هذا الموضوع هي مـجـهــود شـخــصــي خــالـــص و لم تنقل من أي مكان أو منتدى آخر )___

____________________________________________________________

من مميزات البرمجة بلغتي JavaScript,Java أنهما platform-independent

لذلك فإذا كنت تريد برنامجا خدميا معينا يصل لأكبر عدد ممكن من المستخدمين فالتفكير المنطقي هو الآتي :

- استخدام لغة Java بكل ما فيها من قوة ..

لكن تعتبر قوتها مفرطة بالنسبة للبرامج التي تهدف أفكار برمجية ذهنية لا علاقة لها بالتعامل الفعلي مع الحاسب مثل :

( DB,System,API,OpenGl,Media,etc )

كما أن - للأسف - لا يوجد عند كل المستخدمين Java Virtual Machine

هذا بالإضافة إلى أنها من أصعب لغات البرمجة للمبتدئين ..

- فالحل إذا ما دام البرنامج يهدف فكرة برمجية خالصة و بعيدة عن التعامل الفعلي مع الحاسب فلا يوجد أفضل من لغة javascript

و هي بالطبع مدعمة من قبل العديد من المتصفحات و بمعنى أصح ( بلا وجع دماغ )

- و هذه البرامج تدعم الفكرة السابقة و أمثلة عليها :

========================================================

********************************************************

========================================================

هذا البرنامج هو عبارة عن برنامج يستفيد منه بالأخص دارسو علم الحاسب و طلبة أقسام هندسة الحاسبات

البرنامج باختصار يحول من نظام الأعداد العشري إلى أي نظام عددي آخر باستخدام مبادىء التحويل ( القسمة و باقي القسمة )

كما يظهر طريقة الحل .

و الكود هو :

<html>
	<head>
	<div align="center"><h3 style="color:navy">Decimal to any NumSys Converter</h3><h4 style="color:navy"><i>** Programmed By M.A.K. **</i></h4></div>
	<script language="javascript">
<!--
	var x="";
	var calcswin;
//////////////////////////////////////////////////////
	function mod(x,y)
	{
	return (x%y);
	}
//////////////////////////////////////////////////////
        function tosysno(x,y)
	{
   var reminder;
   reminder=Math.round(mod(x,y));
   if (reminder>9){reminder="["+reminder+"]";}
   return reminder;
	}
//////////////////////////////////////////////////////
	function doAction()
	{
   x="<html><head></head><body><div align='center'><table cellspacing='3' cellpadding='3'><tr style='color:red; background-color:silver;'><td> Devide <td> By <td> Reminder ";
   dec=document.all.frm.t;
   sysno=document.all.frm.n;
   sys=document.all.frm.s;
   var originaldec=dec.value;
   y=parseFloat(sys.value);
   var num="";
   while (dec.value>y)
    {
      x=x+"<tr align='center'><td>"+dec.value+"<td>"+y+"<td>"+Math.round(mod(dec.value,y));
      num=tosysno(dec.value,y)+num;
      dec.value=(dec.value-mod(dec.value,y))/y;
    }
   if (dec.value==y)
    {
      x=x+"<tr align='center'><td>"+dec.value+"<td>"+y+"<td>"+Math.round(mod(dec.value,y));
      num="1"+tosysno(dec.value,y)+num;
      x=x+"<tr align='center'><td>"+1+"<td>"+y+"<td>"+1;
      x=x+"<tr align='center'><td>"+0;
    }
   else if (dec.value< y)
    {
      x=x+"<tr align='center'><td>"+dec.value+"<td>"+y+"<td>"+Math.round(mod(dec.value,y));
      num=tosysno(dec.value,y)+num;
      x=x+"<tr align='center'><td>"+0;
    }
   sysno.value=num;
   dec.value=originaldec;
   x=x+"<tr style='color:red; background-color:silver;'><td colspan='3' align='center'> Result <tr align='center'><td colspan='3' align='center'>"+num+'<br><br><hr><input type="button" value="Close" onclick="javascript:window.close();">  <input type="button" value="Print" onclick="javascript:window.print();"></table></form></body></html>';
   calcswin=window.open("",null,"scrollbars=yes,width=250,height=250,top=250,left=300,,resizable=yes");
   calcswin.document.write(x);
	}
//////////////////////////////////////////////////////
//-->
	</script>
	</head>
	<body>
	<form name="frm" method="post">
	<table>
	<tr>
     <td> Dec : <input type="text" name="t">  Sys : <input type="text" name="s"><br><br>
	<tr>
     <td align="center"><input type="button" name="btn" onclick='x="";doAction();' value="Decimal No. to Sys No."><br><br>
	<tr>
     <td> SysNum : <input type="text" name="n">
	</table>
	</form>
	<br>
	<h4>Accuracy = 99.99999999999999%</h4>
	<h5>Error =    +0.00000000000001%</h5>
	</body>
</html>

========================================================

********************************************************

========================================================

هذا البرنامج عبارة عن أداة كاملة للتحويل من و إلى أي نظام أعداد في الكون ! أيضا باستخدام مبادىء التحويل بين الأعداد ..

( أعرف أن بعض القراء سيطيرون فرحا لرؤيتهم هذا البرنامج ! )

يتطلب هذا البرنامج أن تكون على دراية بنظم الأعداد

و الكود هو :

<html>
	<head>
	<div align="center">
	<h2>Numbers Systems Converter<h5> Programmed By M.A.K.</h5></h2>
	<h3>Binary - Octal - Decimal - Hexadecimal - Any Sys</h3>
	</div>
	<hr>
	<script language="javascript">
<!--
	accuracy=1;
//////////////////////////////////////////////////////
	function doActionToDec()
	{
   sysno=document.all._frm.txtfrm;
   dec=document.all.calcsup;
   sys=document.all._frm.hidfrm;
   originalsysno=sysno.value;
   var x=0;
   var leftsin=0;
   var rightsin=0;
   for (var i=0;i<sysno.value.length;i++)
   {
     if (sysno.value.charAt(i)=='[')
        {leftsin=leftsin+1;}
     else if (sysno.value.charAt(i)==']')
        {rightsin=rightsin+1;}
   }
	if (leftsin==rightsin)
	{
   var found=0;
   var z="";
   var z_="";
   var zrole="";
   var times=0;
   var newnum="";
   for(var i=0;i<sysno.value.length;i++)  // retrievivg data from praces
   {
     if (found==1 && sysno.value.charAt(i)!=']')
      {
  z=z+sysno.value.charAt(i);
      }
     if (found==1 && sysno.value.charAt(i)==']')
      {
  found=0;
  z_=z+","+z_;
  z="";
      }
     if (sysno.value.charAt(i)=='[')
       {
  found=1;
       }
   }
   z="";for (var i=0;i<z_.length-1;i++){z=z+z_.charAt(i);}	// relative to upper for loop
   found=0;
   for(var i=0;i<sysno.value.length;i++)     // preparing 4 knowing positions
   {
     if (sysno.value.charAt(i)!='[' && found==0)
       {
    newnum=newnum+sysno.value.charAt(i);
       }
     if (found==1 && sysno.value.charAt(i)==']')
      {
  found=0;
      }
     if (sysno.value.charAt(i)=='[')
       {
  found=1;
  newnum=newnum+"x";
       }
   }
   sysno.value=newnum;	// relative to upper for loop
   times=0;
   for(var i=0;i<sysno.value.length;i++)   //knowing positions
   {
  if (times==1)
  {
    if (sysno.value.charAt(sysno.value.length-i-1)=='x')
    {
       zrole=zrole+","+i;
    }
  }
  else
  {
    if (sysno.value.charAt(sysno.value.length-i-1)=='x')
    {
       zrole=i;
       times=1;
    }	
  }
   }
   newnum="";
   for(var i=0;i<sysno.value.length;i++)   // modified num
   {
     if (sysno.value.charAt(i)=='x')
       {
    newnum=newnum+"0";
       }
     else
      {
    newnum=newnum+sysno.value.charAt(i);
      }
   }
	sysno.value=newnum;	// relative to upper for loop
   for(var i=0;i<sysno.value.length;i++)
   {
     x=x+todec(i)*Math.pow(sys.value,sysno.value.length-i-1);

   }
   dec.value=x;	// relative to upper for loop
   var inprc="";
   var prcpos="";
   var w1=0;
   var w2=0;
   var res=0;
   for ( var i=0; i<leftsin;i++)
   {
  for (w1; w1<z.length;w1++)
  {
     if ( z.charAt(w1)!=',')
     {
 	 inprc=inprc+z.charAt(w1);
     }
     else {w1=w1+1;break;}	
  }
  inprc=parseFloat(inprc);
  for (w2; w2<zrole.length;w2++)
  {
     if ( zrole.charAt(w2)!=',')
     {
 	 prcpos=prcpos+zrole.charAt(w2);
     }
     else {w2=w2+1;break;}	
  }
  prcpos=parseFloat(prcpos);
  if (leftsin==1){prcpos=0;}
  res=res+inprc*Math.pow(sys.value,prcpos);
  inprc="";
  prcpos="";
   }
	dec.value=parseFloat(dec.value)+parseFloat(res);
	sysno.value=originalsysno;
	if (accuracy==1 && parseInt(document.all.calcsup.value)>9999999999999998)
	{alert('Operation Canceled :\nEntered value of selected system is more than\n9999999999999998 in Dec\n to allow this conversion any way uncheck accuracy option');}
	else{doActionFrmDec();}
	}
	else {window.alert('Input Error');}
	}
     //*********************************************//
	function todec(x)
	{
   return parseFloat(sysno.value.charAt(x));
	}
//////////////////////////////////////////////////////
	function doActionFrmDec()
	{
   dec=document.all.calcsup;
   sysno=document.all._frm.txtto;
   sys=document.all._frm.hidto;
   var originaldec=dec.value;
   y=parseFloat(sys.value);
   var num="";
   while (dec.value>y)
    {
      num=tosysno(dec.value,y)+num;
      dec.value=(dec.value-mod(dec.value,y))/y;
    }
   if (dec.value==y)
    {
      num="1"+tosysno(dec.value,y)+num;
    }
   else if (dec.value< y)
    {
      num=tosysno(dec.value,y)+num;
    }
   sysno.value=num;
   dec.value=originaldec;
	}
     //*********************************************//
	function mod(x,y)
	{
	return (x%y);
	}
     //*********************************************//
        function tosysno(x,y)
	{
   var reminder;
   reminder=Math.round(mod(x,y));
   if (reminder>9){reminder="["+reminder+"]";}
   return reminder;
	}
//////////////////////////////////////////////////////
//-->
	</script>
	</head>
	<body>

	<div align="center">
	<form name="_frm" method="post">
	<table border="1" align="center" cellpadding="3" cellspacing="2">
    <tr>
  <th> From 
         <th> To 
  <td rowspan="3"><input type="button" value="Convert" onclick="doActionToDec()">
    <tr>
         <td>
     <select onchange="javascript:
 	 if (this.value==0)
 	 {
 	 x=prompt('Enter System Identifier','');
 	 if (parseInt(x)>1 || x==null)
 	 {document.all._frm.hidfrm.value=x;}
 	 else if (x==null){}
 	 else
 	 {alert('There is No Such System !');}
 	 }
 	 else
 	 {document.all._frm.hidfrm.value=this.value;}
 	 ">
 	 <option value="null">- - - - - - - -
 	 <option name="frmbin" value="2">Binary
 	 <option name="frmoct" value="8">Octal
 	 <option name="frmdec" value="10">Decimal
 	 <option name="frmhex" value="16">Hexadecimal
 	 <option name="frmany" value="0">Any-sys
     </select>
     <input type="text" name="hidfrm" value="null" size="5" disabled>
         <td>
     <select onchange="javascript:
 	 if (this.value==0)
 	 {
 	 x=prompt('Enter System Identifier','');
 	 if (parseInt(x)>1 || x==null)
 	 {document.all._frm.hidto.value=x;}
 	 else if (x==null){}
 	 else
 	 {alert('There is No Such System !');}
 	 }
 	 else
 	 {document.all._frm.hidto.value=this.value;}
 	 ">
 	 <option value="null">- - - - - - - -
 	 <option name="tobin" value="2">Binary
 	 <option name="tooct" value="8">Octal
 	 <option name="todec" value="10">Decimal
 	 <option name="tohex" value="16">Hexadecimal
 	 <option name="frmany" value="0">Any-sys
     </select>
     <input type="text" name="hidto" value="null" size="5" disabled>
    <tr>
  <td><input type="text" name="txtfrm">
  <td><input type="text" name="txtto">
    <tr>
  <td colspan="3" rowspan="2">
  <input type="checkbox" name="chkbx" checked onclick="javascript:
        if (!this.checked)
        {accuracy=0;alert('Accuracy is now ignored for values\nequivalent to more than 999999999999998 Dec');}
        else
        {accuracy=1;alert('Accuracy Enabled');}
        ">
  Enable Full Accuracy [ 100% ]<br>
  <div align="center">
  UP to equivalent value for 9999999999999998<sub>Dec</sub>
  <h5>
  unchecking this option allows you to enter<br>
  a value equivalent to more than<br>
  9999999999999998<sub>Dec</sub><br>
  but with an Error of +0.00000000000001% 
  </h5>
  </div>

	</table>
	</form>
	</div>
	<input name="calcsup" type="hidden">
	</body>
</html>

========================================================

********************************************************

========================================================

أما هذا البرنامج كنت قد نشرته من قبل في المنتدى .

و هو عبارة عن برنامج تحويل للألوان من نظام HEX إلى RGB و العكس .

و الكود هو :

<html>
	<head>
	<div align="center">
	<h2>Color Converter</h2><h3>A JavaScript Code Programmed By M.A.K.</h3>
	</div>
	<hr>
	<script language="javascript">
<!--
///////////////////////////////////////////////////////////////////////
	function hexconverter(num)
	{
   orgnum=num;
   var hexno="";
   while (num>16)
    {
      hexno=tohex(num/16)+hexno;
      num=(num-mod_16(num/16))/16;
    }
   if (num==16)
    {
      hexno="1"+tohex(num/16)+hexno;
    }
   else if (num< 16)
    {
      hexno=tohex(num/16)+hexno;
    }
   if (orgnum<16){hexno="0"+hexno;}
   return hexno;
	}
	//******************************************************//

	function mod_16(x)
	{
   while (x>1 || x==1)
   {
     x=x-1;
          }
	x=x*16;
	return x;
	}

        function tohex(x)
	{
   var hexchange;
   hexchange=mod_16(x);
   if (hexchange==10){hexchange="A";}
   else if (hexchange==11){hexchange="B";}
   else if (hexchange==12){hexchange="C";}
   else if (hexchange==13){hexchange="D";}
   else if (hexchange==14){hexchange="E";}
   else if (hexchange==15){hexchange="F";}
   return hexchange;
	}

	//******************************************************//

//////////////////////////////////////////////////////////////////////
	function conv_RGB_H()
	{
   xr=document.all.frmrgb.r;
   xg=document.all.frmrgb.g;
   xb=document.all.frmrgb.b;
   xh=document.all.frmh.h;
   xh.value="#"+hexconverter(xr.value)+hexconverter(xg.value)+hexconverter(xb.value);
   var xscolor=document.getElementById("scolor");
   xscolor.bgColor=xh.value;
	}
//////////////////////////////////////////////////////////////////////
	function conv_H_RGB()
	{
   xr=document.all.frmrgb.r;
   xg=document.all.frmrgb.g;
   xb=document.all.frmrgb.b;
   xh=document.all.frmh.h;
   xr.value=todec(1)*16+todec(2);
   xg.value=todec(3)*16+todec(4);
   xb.value=todec(5)*16+todec(6);
   var xscolor=document.getElementById("scolor");
   xscolor.bgColor=xh.value;
	}
	//******************************************************//
	function todec(x)
	{
   if (xh.value.charAt(x)=='A' || xh.value.charAt(x)=='a'){return 10;}
   else if (xh.value.charAt(x)=='B' || xh.value.charAt(x)=='b'){return 11;}
   else if (xh.value.charAt(x)=='C' || xh.value.charAt(x)=='c'){return 12;}
   else if (xh.value.charAt(x)=='D' || xh.value.charAt(x)=='d'){return 13;}
   else if (xh.value.charAt(x)=='E' || xh.value.charAt(x)=='e'){return 14;}
   else if (xh.value.charAt(x)=='F' || xh.value.charAt(x)=='f'){return 15;}
   else {return parseFloat(xh.value.charAt(x));}
	}
//////////////////////////////////////////////////////////////////////
//-->
	</script>
	</head>
<body>
<table align="center" width="80%" border="1" cellpadding="10px" cellspacing="10px" frame="below">
<tr>
<td align="center">
	<h3><i>Enter RGB :</i></h3>
	<form name="frmrgb" method="post">
  <table border="1">
  <tr><td> R 
  <td><input type="text" name="r" value="0" size="20" maxlength="3"
      onblur="javascript:
    tst=document.all.frmrgb.r.value;
    if(-1<tst && tst<256)
    {}
    else
    {
    window.alert('Enter a valid value for R ( 0 - 255)');
    focus(document.all.frmrgb.r);
    }"/>
  <tr><td> G 
  <td><input type="text" name="g" value="0" size="20" maxlength="3"
      onblur="javascript:
    tst=document.all.frmrgb.g.value;
    if(-1<tst && tst<256)
    {}
    else
    {
    window.alert('Enter a valid value for G ( 0 - 255)');
    focus(document.all.frmrgb.g);
    }"/>
  <tr><td> B 
  <td><input type="text" name="b" value="0" size="20" maxlength="3"
      onblur="javascript:
    tst=document.all.frmrgb.b.value;
    if(-1<tst && tst<256)
    {}
    else
    {
    window.alert('Enter a valid value for B ( 0 - 255)');
    focus(document.all.frmrgb.B);
    }"/>
  <tr><td colspan="2"><input type="button" name="okrgb" value="Convert to Hex" onclick="conv_RGB_H()"/>
  </table>
	</form>

<td align="center">
	<h3><i>Enter Hex Value :</i></h3>
	<form name="frmh" method="post">
  <table border="1">
  <tr><td> Hex Value 
  <td><input type="text" name="h" value="#000000" size="20" maxlength="7" 
      onblur="javascript:
    tst=document.all.frmh.h.value;
    if(tst.length<7)
    {
      window.alert('Enter a valid hexadecimal color');
      focus(document.all.frmh.h);
    }
    else if(tst.charAt(0)!='#')
    {
      window.alert('Enter the pond # sign');
      focus(document.all.frmh.h);
    }
    else if(tst.length==7 && tst.charAt(0)=='#')
    {
    for (i=1;i<8;i++)
     {
     if (tst.charAt(i)!=0 && tst.charAt(i)!='1' &&
        tst.charAt(i)!='2' && tst.charAt(i)!='3' &&
        tst.charAt(i)!='4' && tst.charAt(i)!='5' &&
        tst.charAt(i)!='6' && tst.charAt(i)!='7' &&
        tst.charAt(i)!='8' && tst.charAt(i)!='9' &&
        tst.charAt(i)!='A' && tst.charAt(i)!='B' &&
        tst.charAt(i)!='C' && tst.charAt(i)!='D' &&
        tst.charAt(i)!='E' && tst.charAt(i)!='F' &&
        tst.charAt(i)!='a' && tst.charAt(i)!='b' &&
        tst.charAt(i)!='c' && tst.charAt(i)!='d' &&
        tst.charAt(i)!='e' && tst.charAt(i)!='f')
      {
        window.alert('Enter a valid hexdecimal number\n\n(0,1,2,3,4,5,6,7,8,9,a[A],b,c[C],d[D],e[E],f[F])');
        focus(document.all.frmh.h);
        break;
      }
     }
    }
    "/>
  <tr><td colspan="2"><input type="button" name="okh" value="Convert to RGB" onclick="conv_H_RGB()"/>
  </table>
	</form>

<tr>
<td id="scolor" colspan="2" align="center" bgcolor="#000000"> 

</table>
</body>
</html>

========================================================

********************************************************

========================================================

و يلاحظ في البرامج السابقة أنها تعتمد على فكر برمجي خالص .

و بذلك فإن هذا المنهج البرمجي بكونه مرنا حسب إحتياجات المستخدم يعتبر من أفضل المناهج لفئة الدارسين و الباحثين .

أرجو أن أكون قد أوضحت الفكرة و أن تنال البرامج إعجابكم

بانتظار الآراء ...

تم تعديل هذه المشاركة بواسطة Xacker في 14 أبريل 2006 في 20:58

==================================================

( اللهم إني أسألك علما نافعا ورزقا طيبا وعملا متقبلا )

I'm not an expert programmer but I will do my best to be

غدًا سنكون أفضل منهم .... إنها مسألة إرادة و وقت

#2

جزاك الله اخي الكريم , وكانت لي ملاحظه وهو انه كان من الافضل كتابه الاكواد بداخل مربع CODE حتى تظهر بشكل واضح ..

شكراً جزيلاً مره اخرى ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#3

مشكور اخوي...

#4

لا شكر على واجب !

( اللهم إني أسألك علما نافعا ورزقا طيبا وعملا متقبلا )

==================================================

( اللهم إني أسألك علما نافعا ورزقا طيبا وعملا متقبلا )

I'm not an expert programmer but I will do my best to be

غدًا سنكون أفضل منهم .... إنها مسألة إرادة و وقت

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…