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

missing ; before statement

مغلق
بدأه Xacker في 4 أغسطس 2007 · 7 رد · 945 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
<body>
<script type='text/javascript'>
function LicenseGenerate()
{
var intCodeEntered1 = 0;
var intCodeEntered2 = 0;
var intCodeEntered3 = 0;
var intCodeEntered4 = 0;
var _username = document.generate.username.value;

 if (_username.toString().length() > 10)
 {
  for(var i = 0; i < _username.toString().length(); i++)
  {
   char c = _username.charAt(i);
   int j = c;
   intCodeEntered1 = (intCodeEntered1 + j * 2) - 7;
  }
  for(var i = 0; i < _username.toString().length(); i++)
  {
   char c = _username.charAt(i);
   int j = c;
   intCodeEntered2 = intCodeEntered2 + j * 7 + 37;
  }
  for(var i = 0; i < _username.toString().length(); i++)
  {
   char c = _username.charAt(i);
   int j = c;
   intCodeEntered3 = intCodeEntered3 + j * 6 + 54;
  }
  for(var i = 0; i < _username.toString().length(); i++)
  {
   char c = _username.charAt(i);
   int j = c;
   intCodeEntered4 = intCodeEntered4 + j * 9 + 86;
  }

  String strCodeEntered = (new StringBuilder()).append(intCodeEntered1).append("-").append(intCodeEntered2).append("-").append(intCodeEntered3).append("-").append(intCodeEntered4).toString();
  document.generate.licensecode.value = strCodeEntered;
  return false;
 } else
 {
  alert ('Username is more than 10 chars long');
  return false;
 }
}
</script>
<form name='generate' action='#'>
 <input type='text' name='username' size=20 maxlength=255></input> <br>
 <input type='text' name='licensecode' size=50 disabled></input> <br>
 <input type='submit' value='Generate' onClick='LicenseGenerate()'></input>
</form>
</body>

هلا يخبرني أحدكم ما الخطأ بالله عليكم

ما قمت بتغييره واختباره:

استبدال int بـ var

OnSubmit بدلا من OnClick لكن ضمن <Form>

تعريف متحول i اولا ثم اسناد قيمة اليه بدلا من تعريفه ضمن حلقة For Loop

ولا اذكر في الواقع ما الامور الاخرى التي اختبرتها

المهم.. لا يعمل

لماذا؟ :wacko:

أمر آخر, هل char تعيد ترميز unicode ام ماذا؟

شكرا

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#2

الكود بعد التعديل

<body>
<script type='text/javascript'>
function LicenseGenerate(){
	var username = document.generate.username.value;
	if (username.length > 10){
		var intCodeEntered1 = mySplit(username, 2, 7);
		var intCodeEntered2 = mySplit(username, 7, 37);
		var intCodeEntered3 = mySplit(username, 6, 54);
		var intCodeEntered4 = mySplit(username, 9, 86);

		var strCodeEntered = intCodeEntered1+"-"+intCodeEntered2+"-"+intCodeEntered3+"-"+intCodeEntered4;
		document.generate.licensecode.value = strCodeEntered;
		return false;
	} else{
	  alert ('Username is more than 10 chars long');
	  return false;
	}
}
function mySplit(test, number1, number2){
	var intCodeEntered=0;
	for(var i = 0; i < test.length; i++){
	   var c = getUnicode(test.charAt(i));
	   intCodeEntered = intCodeEntered + c * number1 + number2;
	}
	return intCodeEntered;
}
function getUnicode(c){
	if(c>=0 && c<=9){
		return c;
	}else{
		switch(c){
			case 'a' : return 100;
			case 'b' : return 101;
			/*
				code .....
			*/
			default  : return 1;
		}
	}
}
</script>
<form name='generate' action='#'>
<input type='text' name='username' size=20 maxlength=255></input> <br>
<input type='text' name='licensecode' size=50 disabled></input> <br>
<input type='button' value='Generate' onClick='LicenseGenerate();'></input>
</form>
</body>

بالنسبة لسؤال الثاني ، لا اعلم لذلك اضطريت لانشاء الفنكشن getUnicode للحصول على قيمة الحروف .

تم تعديل هذه المشاركة بواسطة ali7876 في 4 أغسطس 2007 في 11:05

#3

جزيت الخير أخي, ولو كنت تعلم لماذا لم يعمل الكود أعلاه وما سبب الخطأ أخبرني بالسبب لأتفاداه في المستقبل إن شاء الله.

سلمت يمناك

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

السلام عليكم و رحمة الله و بركاته .

من الظاهر يا Xacker إنك بتستعمل Visual Basic كثير ، لأن معظم الأخطاء عبارة عن إستخدام أشياء ليست موجودة في الـ JavaScript .

فمن ضمن الأخطاء إستخدام int و string في تعريف المتغيرات .

لأن في الـ JavaScript كل المتغيرات تتعرف من نوع varint .

و كذلك من ضمن الأخطاء إستخدام دالة charAt .

لأن هذه الدالة موجودة في الـ VBScript و ليست موجودة في الـ JavaScript .

و التي تقابلها في الـ JavaScript هي دالة indexOf .

و لمعلومات عن هذه الدالة ، أنظر الرابط التالي :

http://www.w3schools.com/jsref/jsref_indexOf.asp

و السلام عليكم و رحمة الله و بركاته .

تم تعديل هذه المشاركة بواسطة خالد محمود محمد في 5 أغسطس 2007 في 15:15

#5

شكرا للاخ خالد على اضافته

كما احب ان اضيف

هناك خطأ واحد فقط و بسيط

يكمن في تعريفك للمتغيرات على انها

char, int, String, StringBuilder

بدلا من تعريفها على انها var

وكذلك استخدامك للفنكشن toString

وهي غير موجوده في الجافاسكريبت.

#6
خالد محمود محمد كتب:
و كذلك من ضمن الأخطاء إستخدام دالة charAt .

تصحيح : الزميل خالد لا شك ان بسبب كثرت اللغات التي تتعامل معها تسببت لك بنوع من الخلط

فالداله charAt موجوده في الجافاسكريبت بدليل اني استخدمتها في كود التعديل

وشكرا لك على سعت صدرك

#7
اقتباس
من الظاهر يا Xacker إنك بتستعمل Visual Basic كثير

لا تعليق

:)

انكشفت يا X !

اللهم طهر أرض فلسطين من العملاء والخونة

#8
خالد محمود محمد كتب:
من الظاهر يا Xacker إنك بتستعمل Visual Basic كثير ، لأن معظم الأخطاء عبارة عن إستخدام أشياء ليست موجودة في الـ JavaScript .

بالعكس, أنا لا استخدم لا VBS ولا JS

رغم اني استخدم JS أكثر مع هذا, الشفرة أعلاه شبه "ملطوشة" من ملف jar ومن الـ class بالتحديد

اما بالنسبة لـ charAt فأنا أكيد من أنها موجودة في JS كما ذكر ali7876

علاء السلال كتب:
لا تعليق

:)

انكشفت يا X !

انا متت من الضحك اسكت :D

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

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

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