رفتن به مطلب

آموزش متنی ساخت افزونه در ACQuickPack


amin_mn
 اشتراک گذاری

ارسال های توصیه شده

ظاهرا اولین محصول فروشگاه جدید انجمن رو من قرار دادم. و از اونجایی که اکثرا هنوز با اون آشنایی ندارند. تصمیم گرفتم آموزشها و نمونه کدهایی از اون رو برایتان فراهم کنم.

آموزش های من بر پایه جاوا اسکریپت هستند. البته امکان ساخت بر پایه بیسیک نیز وجود دارد.

اولین مثال: گرفتن اطلاعات پروژه B4A

در این مثال شما با انتخاب یک پروژه بی فور اطلاعاتی از قبیل لیست ماژولها . لیست فایل ها و لیست کتابخونه های مرتبط به پروژه را بدست می آورید.

کد دیزاین:

<!---------------------------فایل های لازم----------------------------->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<div class="col-md-9 col-md-offset-3">

<div class="row">
  <div class="col-lg-6">
    <div class="input-group">
      <input id="prjpath" type="text" class="form-control" placeholder="محل ذخیره پروژه" />
      <span class="input-group-btn">
        <button id="b4aproject" class="btn btn-default" type="button">انتخاب</button>
      </span>
    </div>
  </div>
</div>

<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingOne">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          ماژول ها
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
      <div class="panel-body">
		<div class="list-group"  id="list1"></div>  
	  </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingTwo">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
          فایلها
        </a>
      </h4>
    </div>
    <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
      <div class="panel-body"  id="list2"></div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingThree">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          کتابخانه ها
        </a>
      </h4>
    </div>
    <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
      <div class="panel-body" id="list3"></div>
    </div>
  </div>
</div>
</div>

کد جاوااسکریپت

var projectPath="";
Html2.OnClick("b4aproject","b4aproject");
function b4aproject(){
	var projectPath=File2.OpenFileDialog("","","B4A Project|*.b4a");
	Html2.SetAttribute("prjpath","value",projectPath);
	var line=File2.ReadLines(projectPath);
	for(var i=0;i<Array2.Length(line);i++){
		if(String2.StartsWith(Array2.Get(line,i),"NumberOfModules")){
			var j=String2.SubString(Array2.Get(line,i),16);
			var html="";
				for(var ii=0;ii<j;ii++){
					var mdulin=Array2.Get(line,++i);
					var mdulins=String2.Split(mdulin,"=");
					
					html+= "<a href='#' class='list-group-item'>"+Array2.Get(mdulins,1)+"</a>";
					Html2.SetHTML("list1",html);
				}
			
		}
		else if(String2.StartsWith(Array2.Get(line,i),"NumberOfFiles")){
			var j=String2.SubString(Array2.Get(line,i),14);
			var html="";
				for(var ii=0;ii<j;ii++){
					var mdulin=Array2.Get(line,++i);
					var mdulins=String2.Split(mdulin,"=");
					
					html+= Array2.Get(mdulins,1)+"<br/>";
					Html2.SetHTML("list2",html);
				}
			
		}
		else if(String2.StartsWith(Array2.Get(line,i),"NumberOfLibraries")){
			var j=String2.SubString(Array2.Get(line,i),18);
			var html="";
				for(var ii=0;ii<j;ii++){
					var mdulin=Array2.Get(line,++i);
					var mdulins=String2.Split(mdulin,"=");
					
					html+= Array2.Get(mdulins,1)+"<br/>";
					Html2.SetHTML("list3",html);
				}
		}				
	}
}

توضیحات:

کد دیزاین که کاملا بر مبنای HTML ایجاد شده است. ونیاز به توضیح خاصی ندارد.

اما کد جاوا اسکریپت شامل Api برنامه نیز می باشد و بر همین اساس توضیحاتی در این خصوص خواهم داد

Html2.OnClick("b4aproject","b4aproject");

کد بالا برای اختصاص رویداد کلیک کردن به یک المنت از کد Html می باشد و مثلا هربار دکمه ای با id  مورد نظر یعنی b4aproject کلیک شود  تابعی به همون نام اجرا می شود

	var projectPath=File2.OpenFileDialog("","","B4A Project|*.b4a");
	Html2.SetAttribute("prjpath","value",projectPath);

قسمت بالا هم پنجره انتخاب فایل را باز نموده تا پروژه خود را انتخاب نمایید و سپس اون رو در تکس باکسی با id مشخص یعنی prjpath قرار می دهد.

در ادامه نیز دستورات api دیگری آمده است که مربوط به خواندن فایل کار با آرایه و رشته ها می باشد.

که با یکبار اجرای اون در ویزارد JsWizardPro در فروشگاه می توانید با آنها بیشتر آشنا بشوید.

«موفق باشید.»

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کار با آرایه ها و آبجکت ها

آرایه ها و آبجکتها در جاوا اسکریپت بسیار ساده و استفاده آسانی دارند.و قدرت خوبی برای برنامه نویسان فراهم می کنن. اکنون آموزش هایی در این باره قرار خواهم داد

تعریف نوع:

در زیر نحوه ایجاد متغیری از هر یک را  میبینید.

//آرایه
var arr=[];
//آبجکت
var obj={};

افزودن مقدار

در جاوااسکریپت سختگیری در زمینه اندازه و افزودن مقدار به آرایه و اشیا وجود ندارد و هر زمان لازم بود می توانید آن را اضافه کنید.مثلا

arr[0]="test1";
arr[5]="test2";
object["key1"]="test";
object["key5"]=25;

برسی وجود داشتن مقدار

برای اینکار با یک if به راحتی میشود اینکار را انجام داد

if(obj["test1"])
	obj["test1"]="value";

واکاوی مقادیر

for(int i=0;i<arr.length;i++)
  arr[i]=i;

var x;
for(x in obj)
  obj[x]="test";

برای آموزش بیشتر می توانید به لینک زیر مراجعه نمایید.که منبع قسمتی از این آموزش هم بوده است

JavaScript Tutorial

«موفق باشید.»

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...