رفتن به مطلب

امین مهدی نژاد

معاون انجمن
  • تعداد ارسال ها

    716
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    135

پست ها ارسال شده توسط امین مهدی نژاد

  1. irGif


    کتابخانه ای قدرتمند برای کار با فایل های Gif

    با امکان تبدیل تصاویر به Gif و یا نمایش آن ها

    منبع:

    android-ndk-gif

    مثال ساخت Gif

    Dim gif As irGifEncoder
    gif.init(300,300,File.Combine(File.DirRootExternal,"test.gif"),0)
    For i=1 To 20
    	gif.encodeFrame(LoadBitmap(File.DirAssets,"sample_000"&i&".png"),gif.ENCODING_TYPE_FAST)
    Next
    gif.close

    مثالی از نمایش Gif

    	Dim gif2 As irGifDecoder
    	gif2.load(File.Combine(File.DirRootExternal,"test.gif"))
    	Log(gif2.delay(0))
    	Dim d As BitmapDrawable
    	d.Initialize(gif2.frame(0))
    	Activity.Background=d
    	Log(gif2.frameNum)
    	Log(gif2.height)
    	Log(gif2.width)

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


     

    • پسندیدن 2
  2. نسخه 2 بارگذاری شد.

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

    	Private ff As irFFMPEGLoader
    	ff.Initialize(Me,"ff")
    	ff.install(File.OpenInput(File.DirAssets,"ffmpeg"),"ffmpeg")

    ارسال دستورات

    Sub Button1_Click
    	Dim ord() As String=Array As String("ffmpeg", "-i",File.DirRootExternal&"/1.mp4",File.DirRootExternal&"/b.mp3")
    	ff.Run(ord)
    End Sub

    رویدادهای خطا-خروجی و پایان اجرای دستورات

    Sub ff_End
    	ToastMessageShow("end",True)
    End Sub
    Sub ff_Out(str As String)
    	Label1.Text=str
    End Sub
    Sub ff_Error(err As String)
    	
    End Sub

     

    • پسندیدن 1
  3. نسخه 3.01 از کتابخونه ffmpeg رو براتون تهیه کردم. با قابلیت ها و افکت های بیشتر و قابلیت های بروز شده و بیشتر از نسخه 2.8 که قبلا در انجمن قرار داده بودم.

    دو نسخه زیر  را بر اساس نوع دستگاه مورد نظر دانلود کنید.

    ffmpeg v3_01(x86)

    ffmpeg v3.01(armeabi_v7a)

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

  4. دومین مسابقه انجمن رو قرار میدیم

    امیدوارم که فعالیت کاربران مناسب باشه.

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

    نمونه ای از چیزی که می خواهیم در لینک زیر موجوده

    حل دو معادله دو مجهول آنلاین | باحساب

    که شما اونو فقط برای دو معادله و دومجهول پیاده سازی کنید.

    از بین موارد ارسالی درست. به قید قرعه یه جایزه هم تعلق میگیره.(البته اگه کسی شرکت کنه:DD:)

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

    • پسندیدن 4
    • ذوق زده 1
  5. در 15 ساعت قبل، almora گفته است :

    نحوه ضبط یک تصویر در exo player با استفاده از کتابخانه irFfmpeg. متشکرم.

     

    How to capture a screenshot on the exoplayer using the irFfmpeg library. Thank you.

     

    ****

    • گرفتن تصویر یک فریم خاص از ویدئو

     

     

    به پست زیر مراجعه نماید.

    go to this page

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

    • تشکر 1
  6. B4JSwingDialog

    مشاهده فایل

    کتابخانه جدیدی شامل دیالوگ های زیر می باشد

    • انتخاب فولدر
    • انتخاب فایل
    • انتخاب فایل ذخیره
    • انتخاب رنگ

    این کتابخانه بسیار کاربردی ساده ای دارد و برای نوشتن برنامه های B4J و یا ساخت ویزارد در ACStore قابل استفاده می باشد

    نمونه کد

    	Log(SwingDialog.colorDialog("#FFFFFF","43"))
    	Log(SwingDialog.folderDialog("c:/","43"))
    	Dim lst As List
    	lst.Initialize
    	lst.Add(SwingDialog.addFilter("xml file","xml"))
    	Log(SwingDialog.saveDialog("c:/","43",lst,0))
    	Log(SwingDialog.openDialog("c:/","43",lst,0))

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


     

    • پسندیدن 3
  7. کار با آرایه ها و آبجکت ها

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

    تعریف نوع:

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

    //آرایه
    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

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

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

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

    اولین مثال: گرفتن اطلاعات پروژه 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 در فروشگاه می توانید با آنها بیشتر آشنا بشوید.

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

    • پسندیدن 2
  9. در یک کلام این نرم افزار یک فروشگاه اینترنتی می باشد.

    برای اجرای هر محصول باید بر روی نام اون در لیست کلیک بشه

    اگه تمایل به ساخت محصول دارین از WizarPro  استفاده کنید

    پیشنیازهای نصب

    • ویندوز 8 یا 10
    • جاوا 64بیتی
    • دات نت 4

    فعلا می تونین کتابخونه و ویزارد برای اون بسازید

    ولی احتمالا در آینده محصولات آموزشی نیز بشه در اون قرار داد.

    این تصویری از برنامه

     

    ACQuickPack.jpg

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

    • پسندیدن 3
  10. کتابخانه B4JSubtitleReader

    مشاهده فایل

    قبلا نسخه B4A این کتابخونه رو نوشته بودم. و نسخه B4J اونو فراهم نمودم و قرار دادم.

    از نظر کار کرد شبیه نسخه یک در B4A میمونه و کدنویسی اون به همون ترتیب می باشه.

    امیدوارم مفید باشه براتون.

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


     

    • پسندیدن 1
  11. کتابخانه irMapsforge

    مشاهده فایل

    در بین پروژه های متن باز در زمینه نقشه های آفلاین Mapsforge از جایگاه خوبی بخصوص در ایران برخوردار است.

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

    استفاده از نقشه آفلاین گاهی برای توسعه دهندگان راه حل مناسبی بشمار می آید.

    بر همین اساس این کتابخانه را  فراهم نمودم. امیدوارم که برای کاربران مفید و کاربردی باشد.

    منبع:

    GitHub - mapsforge/mapsforge: Vector map library written in Java - running on Android and Desktop.

    مثال:

    #Region  Activity Attributes 
    	#FullScreen: False
    	#IncludeTitle: True
    	#Extends: org.mapsforge.android.maps.MapActivity
    	#AdditionalRes: ..\res	
    #End Region
    
    Sub Globals
    	Dim ir As irMapsforge
    End Sub
    
    Sub Activity_Create(FirstTime As Boolean)
    	ir.Init(File.DirRootExternal,"IRAN.map")
    	Dim re As Reflector
    	Activity.AddView(ir.getMapView(re.GetActivity),0,0,100%x,100%y)
    	
    	ir.setting(re.GetActivity)
    	ir.mapController.setZoom(14)
    End Sub

    دانلود نقشه:

    از لینک زیر می توانید نقشه های عمومی را دانلود کنید

    Index of /maps

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


     

    • پسندیدن 4
    • تشکر 2
  12. دیروز  ACQuickPack API در کانال انجمن قرار گرفت و از اونجایی که کدهای این برنامه با بیسیک نوشته میشه تا جایی که من دیدم

    این کتابخونه رو تهیه کردم تا برای نوشتن و کار با API راحتتر باشید.

    در انتهای هر کلاس عدد 2 رو گذاشتم تا با کلاس های خود B4J تداخل نداشته باشه. که البته با هماهنگی بوده و مشکلی در این بابت وجود نداره

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

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

    ACQuickPack.rar

    • پسندیدن 6
  13. هر دو نسخه رو حذف و دوباره بارگذاری کردم تا اگر مشکلی هست برطرف شود.

    یه آموزش هم براش بزارم

    افزودن تصویر در خود دیتابیس

    اگر در دیتابیس ستونی از نوع blob داشته باشید می توانید انواع فایل مثل تصاویر رو در اون قرار بدید. البته توصیه نمیشه هنگامی که تصاویر زیلد و پرحجمی داشته باشید از این روش استفاده کنید.

    برای افزودن چنین عکسهایی در کد HTML چنین استفاده می کنیم

    <img src="sql/Select pic From tbl where id=1" />

    در کد بالا pic نام ستون و tbl نام جدول می باشد.

    برای افزودن دیتابیس به کد کتابخونه از تابع setDB استفاده می کنیم. مثلا:

    	Dim ir As irHtmlView
    	ir.Initialize
    	ir.setDB(File.DirInternal,"data.db")
          ...

     

    افزودن تصویر از اینترنت

    این هم که روش ساده ای دارد. که در کد زیر نمایان است

    <img src="https://answercenter.ir/uploads/set_resources_8/619a9f9a78e845698216372767e314f1_responsive-design-by-saeednazari.png" />

    چنانچه کد در صورت قطع نت بخواهید از تصویری پیشفرض استفاده کنید از تابع notNet استفاده کنید. مثلا:

    	Dim ir As irHtmlView
    	ir.Initialize
    	ir.notNet(LoadBitmap(File.DirAssets,"answercenter.png"))
          ...

    گرفتن متن HTML

    چنانچه برای Share کردن نیاز به گرفتن متن HTML باشید از تابع GetText استفاده کنید.

    کد نمونه:

    	Dim ir As irHtmlView
    	ir.Initialize
    	ir.setDB(File.DirInternal,"data.db")
    	ir.notNet(LoadBitmap(File.DirAssets,"answercenter.png"))
    	Activity.AddView(ir.getView,0,0,100%x,100%y)
    	ir.SetHtml(	File.ReadString(File.DirAssets,"a.txt"))

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

    • پسندیدن 2
  14. در در 1396/06/25, 23:18:03، basic 4 android گفته است :

    لطفا این نمایش عکی آنلاین و آفلاین رو اضافه کنید همزمان ممنون میشم 

    قابلیت های جدید اضافه شد

    <h1><font color="red">درباره ی ما</font></h1>
    <p> گروه برنامه نویسی انسور سنتر کار خود را به صورت رسمی از سال 1392 تحت عنوان تیم برنامه نویسی بیسیک4اندروید ایران آغاز کرد و در کمتر از یک سال به پرمخاطب ترین .و محبوب ترین انجمن برنامه نویسی بیسیک4اندروید ایرانی تبدیل شد و اکنون به درخواست بسیاری از کاربران، انجمن زمینه فعالیت خود را گسترش داده است</p>
    <img src="asset/answercenter.png" />
    <p> توجه: تمامی حقوق انجمن محفوظ و هرگونه کپی برداری بدون رضایت مدیریت شرعا و قانونا حرام است</p>
    <img src="https://answercenter.ir/uploads/set_resources_8/619a9f9a78e845698216372767e314f1_responsive-design-by-saeednazari.png" />
    <b>آدرس: بلوچستان، ایرانشهر، بلوار مکران، میدان بسیج، جنب حوزه علمیه حقانیه.</b><b>:)</b>
    <img src="sql/Select pic From tbl where id=1" />
    <p>کد پستی: 9917914113</p>

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

    • پسندیدن 2
  15. B4JRSyntaxTextArea

    مشاهده فایل

    اینم اولین کتابخونه B4J که wrap کردم.

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

    زبان هایی مثل جاوا - بیسیک - سی شارپ و ...

    منبع:

    GitHub - bobbylight/RSyntaxTextArea: A syntax highlighting, code folding text editor for Java Swing applications.

    مثال:

    Sub Process_Globals
    	Private fx As JFX
    	Private MainForm As Form
    	Dim w As SyntaxConstants=Null
    	Dim rsta As B4JRSyntaxTextArea
    End Sub
    
    Sub AppStart (Form1 As Form, Args() As String)
    	MainForm = Form1
    	rsta.init
    	MainForm.RootPane.AddNode(rsta.getView,0,0,300,300)
    	rsta.resize(800,800)
    	rsta.setText("public class main{}")
    	rsta.setSyntax(w.SYNTAX_STYLE_JAVA)
    	MainForm.Show
    End Sub

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


     

    • پسندیدن 4
×
×
  • اضافه کردن...