تور لحظه آخری
امروز : جمعه ، 13 مهر 1403    احادیث و روایات:  پیامبر اکرم (ص):بهترين سخن، كتاب خدا و بهترين روش، روش پيامبر صلى لله  عليه  و  آله و بدترين ام...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها




آمار وبسایت

 تعداد کل بازدیدها : 1820438595




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

بحث و آموزش پيرامون Coldfusion : كلدفيوژن


واضح آرشیو وب فارسی:سایت ریسک: WooKMaN29-04-2006, 09:29 PMسلام اينم عشق خودم كلدفيوژن كه اميدوارم يه روز به محبوبيت asp برسه ! بروبچ منتظر ديدن مقالاتي متنوع در مورد كلدفيوژن باشيد ;) WooKMaN29-04-2006, 09:30 PMاول يه مقايسه بين Coldfusion و ASP بعد آموزش ASP بر مبنای ISAPI بنا شده است . ASP یک DLL است بنام ASP.DLL که معمولا در دایرکتوری های سیستمی ویندوز یافت میشود . IIS فایل های ASP را به ASP.DLL راهنمایی میکند ، در اینجا موتور ASP فایل ها را پردازش میکند و سپس نتایج را برای کلاینت میفرستد. کلدفیوژن از پسوند CFM استفاده میکند . iis ازین پسوند برای تعیین مسیر درخواست هاو راهنمایی آنها به کلدفیوژن توسط ارتباط دهنده ISAPI استفاده میکند. ASP از کد های اسکریپتی سرور ساید مانند VBSCRIPT استفاده میکند و همچنین کد های کلاینت ساید جاوا اسکریپت .کلدفیوژن هم از فایل هی CFML برای عملیات سرور ساید و از جاوا اسکریپت جهت اعمال کلاینت ساید استفاده میکند . اما کلدفیوژن با asp فرق دارد . چون کلدفیوژن فقط یک DLL نیست که توسط IIS لود شود بلکه کلدفیوژن یک سرویس است که روی ویندوز اجرا میشود وشما میتوانید آن را مانند هر سرویس دیگر (مثلا SQL ) بحالت START و STOP در آورید . پس نحوه کار ASP و Coldfusion با IIS یکسان است . نحوه برنامه نویسی در هر دو یکسان است ( استفاده همزمان سرور ساید و کلاینت ساید) و تفاوت آنها در پسوند فایل ها و زبان استفاده شده در اسکریپت نویسی آنهاست. دات نت قدم بعدی ASP : ASP.NET برای کار با دات نت فریم ورک مایکروسافت طراحی شده . برخلاف ASP که یک زبان اینترپرتری (مفسری) است ،ASP.NET قبل از اجرا در همان لحظه درخواست به زبان MSIL (Microsoft Intermediate Language ) ترجمه میشود . کدهای ترجمه شده ASP.NET که معمولا کدVB.NET یا C# هستند در محیط CLR ترجمه میشود . کلدفیوژن زبان کامپایلری است که در لحظه اجرا کد هایش به بایت کد جاوا تبدیل میشوندو کد تبدیل شده در محیطی بنام Java Virtual Machine اجرا میشود. ASP.NET از منابع و آبجکت ها و API های دات نت استفاده میکند که در CLR هستند . مدیریت حافظه و اجرا و همه چیز بعهده CLR میباشد . ASP.net بجای پردازش در یک فایل dll تنها، از CLR استفاده میکند -- اما کلدفیوژن بجای اینکه فقط در محیط دات نت مایکروسافت اجرا شود روی تمام محیط های J2EE اجرا میشود و از ابجکت ها و منابع و API های جاوا و J2EE که داخل java VM است استفاده میکند. و مدیریت حافظه و اجرا و بقیه بعهده VM است . WooKMaN30-04-2006, 07:06 PMدفاع از کلدفیوژن در برابر پدرخوانده اش در این روزها خیلی می بینیم که بعضی ها میگن از کلدفیوژن به جاوا اسباب کشی کنید . چرا ؟ یکی از دلایل کمبود شناخت درباره کلدفیوژن و طرز کارشه . بیاید با یک رابطه بین این دو برنامه شروع کنیم : برنامه های نوشته شده در CF اصالتا جاوا هستند یا مقدار خیلی کمی فرق دارند .CF روی یک سرورJ2EE اجرا میشود که یک برنامه تایید شده توسط شرکت سان میباشد که کدبایت جاوا را اجرا میکند . این کدبایت جاوا از کامپایل کد های CFML نوشته شده توسط شما برجود میاید. به زبان ساده تر میشه گفت که CFML یک ساختار زبان برای برنامه نویس است، نه برای سرور . در هنگام اجرا کلدفیوژن برنامه را به جاوا کامپایل کرده و بنام CF اجرا میکند . در این لحظه هیچ CFML ای وجود ندارد و کدی که اجرا میشود تماما جاوا است . نه بیشتر و نه کمتر ! بهمین سادگی . برنامه کلدفیوژن شما یک برنامه جاوا است که با کد های ساده تر کلدفیوژن آنرا نوشته اید . در اصل کلدفیوژن یکی از ابزارهای کمکی جاوا بحساب میاید .مثلا در جاوا برای وصل شده به پایگاه داده باید 10 خط کد بنویسید ، در حالیکه این کار با یک تگ کلدفیوژن قابل انجام است . یا در جاوا برای فرستادن ایمیل SMTP با استفاده از JAVAMail API باید کلی خودتونو برای نوشتن کد خسته کنید ، در حالیکه اینکار با یک تگ تنها در کلدفیوژن انجام میشود . خوب دوباره نویسی را پس کنار بگذارید . پس cf برنامه نویسی جاوا راگسترش داده و ساده تر میکند . وبرنامه های CF نوعی جاوا هستند و با برنامه هایی که در زبان سطح پایین تر جاوا نوشته شده اند فرقی ندارند .کلدفیوژن همچنین میتواند از API های جاوا ، class های جاوا ، تگ های JSP و JavaBeans نیز استفاده کند .چون خودش فرزند جاواست. WooKMaN30-04-2006, 08:08 PMچون در تيتر گذاشتن واسه تاپيك ها يه مقدار عاميانه برخورد ميكنم يكي از مديران زحمت ويرايش تيتر تاپيك رو كشيد نميدونم كي بوده كه ازش تشكر كنم WooKMaN02-05-2006, 09:05 PMآموزش کلد فیوژن : متغیر های Client و Session از من درخواست شده بود که در باره ی متغیرهای Session بنویسم. از آن جایی که بین متغیر های Session و Client و تشابه هایی وجود دارد، آن ها را در یک مقاله توضیح می دهم. 1- متغیرهای Client متغیرهای Client به جای اینکه در سیستم کاربر ذخیره گردد، در سرور Coldfusion ذخیره می گردند. متغیرهای Client با مرورگر کاربر یک جفت تشکیل می دهند و برای هر مرورگر یک Client.MyVar وجود دارد. برای این که سرور کلدفیوژن بتواند تشخیص بدهد که کدام متغیر Client مربوط به کدام مرورگر می باشد، از یک جفت متغیر CFID و CFTOKEN استفاده می کند. بعدا در باره ی این دو متغیر بحث خواهیم کرد. برای تنظیم حداکثر مدت زمان باقی ماندن متغیرهای Client، از Administrator کلدفیوژن استفاده می شود. مقدار پیش فرض 90 روز می باشد. شما می توانید این مقدار تا یک روز پایین بیاورید. اگر از متغیرهای مربوط به CFID و CFTOKEN خاصی ، در این مدت زمان استفاده نگردد، متغیرهای مربوط به آن از روی سرور پاک می گردد. برای استفاده از متغیرهای Client، ابتدا باید با استفاده از cfapplication، مقدار clientManagement را true کنید. به این صورت : <cfapplication clientManagement=”true” … > سپس، برای ایجاد متغیرهای Client از CFSet و یا CFParam به صورت زیر استفاده کنید : <CFSet Client.MyVar=1> <CFParam name=”Client.MyVar” default=”1”> یکی از کاربردهای جالب متغیرهای Client، متغیر Client.LastVisit می باشد که خود به خود ایجاد می گردد و مقدار آن خود به خود به روز می گردد و دارای مقدار تاریخ آخرین روزی است که وب سایت جاری توسط یک مرورگر در خواست شده است. برای استفاده از این متغیر، به مثال زیر توجه کنید : <CFOUTPUT> Welcome back to the Web SuperShop, your last visit was on #DateFormat(Client.LastVisit)#. </CFOUTPUT> برای حذف کردن یک متغیر Client، از تابع DeleteClientVariable() به صورت زیر استفاده کنید : <cfset result=DeleteClientVariable(“MyVar”)> 2- متغیر های Session متغیرهای Session در RAM سیستمی که سرور کلدفیوژن در آن اجرا می شود ذخیره می گردند و مانند متغیرهای Client برای هر مرورگر مجزایی متغیرهای Session مجزا ایجاد می شوند و این متغیرها نیز، توسط متغیرهای CFToken و CFID از هم باز شناخته می شوند. تفاوت های بین متغیرهای Client و متغیرهای Session عبارت است از : · متغیرهای session قادر به ذخیره سازی انواع داده ی پیچیده مانند Structure ها و آرایه ها می باشند، ولی متغیر های Client تنها قادر به ذخیره سازی داده های ساده مانند رشته های متنی و اعداد می باشند. · متغیرهای session نیاز به استفاده از CFLock می باشند ولی متغیر های Client نیازی به استفاده از CFLock ندارند. (بعدا در این مقاله استفاده از CFLock را شرح خواهم داد.) · مدت عمر متغیرهای کمتر از مدت عمر متغیرهای Client می باشد. · اگر سرور Coldfusion را از نو راه اندازی کنیم، متغیرهای Session از بین خواهند رفت ولی متغیر های Client هم چنان باقی خواهند ماند. · متغیرهای Session از لحاظ فضای اشغالی هیچ محدودیتی ندارند در حالی که متغیرهای Client به 32 کیلوبایت محدود هستند. برای استفاده از متغیرهای Session، ابتدا باید SessionManagement را به صورت زیر “true” کنیم : <cfapplication sessionManagement=”true” … > اگر می خواهید مقدار پیش فرض مدت عمر متغیرهای Session را تغیر دهید، مقدار SessionTimeout را به روش زیر تغییر دهید : <cfapplication sessionmanagement=”true” sessiontimeout=”#CreateTimeSpan(0,0,20,0)#” …> مثلا مثال بالا حداکثر مدت طول عمر متغیر های از نوع Session را برابر 20 دقیقه قرار می دهد. ( در تابع CreateTimeSpan، پارامتر اول تعداد روزها، پارامتر دوم، ساعات، پارامتر سوم، دقیقه ها و پارامتر آخر ثانیه ها می باشند.) برای حذف یک متغیر Session از تابع StructDelete به روش زیر استفاده کنید : <cfset Result=StructDelete(Session,”MyVar”)> برای حذف تمام متغیرهای Session، از cfapplication به روش زیر استفاده کنید : <cfapplication sessiontimeout=”#CreateTimeSpan(0,0,0,0)#” …> متغیرهای Session در حافظه ی سرور کلدفیوژن ذخیره می گردند و کاربرهای مختلف ممکن است خواهان دسترسی به آن ها در یک زمان خاصی باشند. برای اینکه در مدیریت حافظه اختلال به وجود نیاید، باید هنگام خواندن مقدار و یا مقدار دهی این متغیرها استفاده از حافظه را به یک کاربر خاص محدود کرد و پس از آن که این کاربر خاص کار بر روی مقادیر متغیرها را تمام کرد، نوبت به کاربر دیگر می رسد. برای این کار، از cflock استفاده می کنیم. برای مقدار دهی به متغیرهای session، از cflock به صورت زیر استفاده می کنیم : <CFLock name=”Session_MyVar” type=”Exclusive” timeout=”10” throwOnTimeOut=”Yes”> <CFSet Session.MyVar=”1”> </CFLock> برای خواندن مقدار یک متغیر session از cflock به صورت زیر استفاده می کنیم : <CFLock name=”Session_MyVar” type=”READONLY” timeout=”10” throwOnTimeOut=”Yes”> <CFSet Variables.MyVar=Session.MyVar> </CFLock> WooKMaN04-05-2006, 09:06 PMآموزش ColdFusion ، ساختار Switch/Case ساختار Switch/Case يک عبارت را در برابر چندين شرط، ارزيابي مي کند و سپس کد مربوطه را اجرا مي کند. مثلا، تکه کد زير را در نظر بگيريد : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! تکه کد بالا مقدار myVar را سه بار ارزيابي مي کند و هر بار تست مي کند که آيا مقدار آن برابر مقدار خاصي هست يا نه. کد بالا را مي توان به صورت بهتر مي توان نوشت : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! هر دو کد يک کار واحد انجام مي دهند اما ساختار cfswitch بهينه تر مي باشد، زيرا مقدار متغير myVar به جاي سه بار، يک بار ارزيابي مي کند. کلدفيوژن عبارات cfswitch را بسيار بهينه تر از عبارات cfif اجرا مي کند ، زيرا براي اجراي cfif، هر دفعه هر مقدار هر عبارت شرطي را ارزيابي مي کند (true يا false) تا آنجا مقدار يک عبارت true شود، ولي cfswitch ابتدا مقدار عبارت را ارزيابي مي کند (يک بار) و سپس قسمت مطابق با آن را اجرا مي کند. مقادير ذکر شده در cfcase بايد از نوع ثابت باشند و نمي توانند متغير و يا عبارت باشند. به عنوان مثال، تکه کد زير مجاز نيست : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! کد بالا به اين معناست که اگر هيچ يک از مقادير cfcase برابر مقدار عبارت نبودند، بلوک کد مربوط به cfdefaultcase را اجرا کند. اگر چه ساختار هاي cfswitch مزاياي زيادي دارند، اما در اغلي اوقات نمي توان از آن به جاي cfif استفاده کرد. مثلا به کد زير توجه کنيد : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اين کد را نمي توان به وسيله ساختار cfswitch نوشت. زيرا عبارات شرطي کد بالا چيزي بيشتر از يک مقايسه ي برابري ساده مي باشند. WooKMaN07-05-2006, 10:35 PMدستورهای شرطی در ColdFusion برای تصميم گيری بر اساس شرايط مختلف می توان از ساخت if/else/elseif استفاده کرد : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ColdFusion چک می کند که آيا شرط condition دارای مقدار True می باشد يا False . اگر اين مقدار True باشد کد بين جفت تق را اجرا می کند. مانند مثال زير : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اگر بخواهيد coldfusion يک کد خاص برای مواقعی که شرط False می باشد را اجرا کند از ساختار زير استفاده می کنيم : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! شما می توانيد اين ساخت شرطی را با افزودن cfelseif گسترش دهيد : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اگر شرط موجود در cfif صحيح نباشد شرط مجود در cfelseif های موجود به ترتيب چک می شود. اگر هيچ کدام درست نباشند ٬ کد موجود پس از cfelse اجرا می شود . WooKMaN08-05-2006, 11:30 PMدرك و رفع نقص پيام هاي error در كلد فيوژن پيام خطاي : ColdFusion—Access Denied اين پيام خطا هنگام كار با يكي از پايگاه هاي داده فايلي مايكروسافت (مانند Access و يا FoxPro) رخ ميدهد .هنگامي كه كلدفيوژن در حال دسترسي به پايگاه داده ها از طريق Data Source باشد . اين ايراد معمولا زماني رخ ميدهد كه شما مشغول رونويسي بانك داده ها از طريق FTP و يا كپي روي آن هستيد . بهترين راه حل اين مشكل كنار گذاشتن coldfusion services و يا غير فعال كردن Maintain Database Connection از بخش data source در ColdFusion Administrator است . پيام خطاي : ColdFusion—Operation must use an updateable query error اين ايراد زماني رخ مي دهد كه سعي در اجراي يك صفحه كلد فيوژن داريد كه كارش آپديت يا پاك كردن ركوردي از يك بانك اطلاعاتي مايكروسافت مثل اكسس است.اين ايراد بصورت معمول زياد رخ ميدهد . چون كلدفيوژن اجازه دسترسي گسترده در سطح سيستم عامل شبكه براي نوشتن روي بانك اطلاعاتي ندارد . براي حل اين مسئله در ويندوز NT به آدرس زير برويد : Start > Settings > Control Panel > Services و روي ColdFusion Application Server service كليك كنيد و start-up account را بخاطر بسپاريد . در حالت پيش فرض بايد System Account باشد .بعد به پوشه اي برويد كه فايل بانك اطلاعاتي در آن است و به آن account اجازه دسترسي به پوشه مورد نظر را بدهيد. حتي اگر كنترل پوشه ميگويد همه (everyone) حق دسترسي دارند باز هم بايد اكانت ColdFusion startup را اضافه كنيد hamidreza_buddy09-05-2006, 11:14 AMsalam duste aziz. mishe begid tu che mohiti bayad in codeharo ejra konim? nasim198410-05-2006, 12:05 AMمقدمه Coldfusion ، توليد شده توسط شرکت Allaire (در سال 2001 Allaire به Macromedia پيوست)، شامل يک سرور و مجموعه ابزارهايی برای استفاده از پايگاه داده ها در صفحات وب می باشد. با استفاده از ColdFusion، شخصی می تواند نامی را در يک صفحه وب وارد کند، و سرور اطلاعات مربوط به آن نام را از پايگاه داده درخواست کند و اطلاعات استخراج شده را به صورت صفحات HTML نشان دهد. برنامه های ColdFusion در فايل هايی با پسوند .cfm ذخيره می شوند. برنامه های ColdFusion، دارای تگ هايی می باشند که ارتباط با پايگاه داده و کار با داده ها را آسان می سازد. اين تگ ها با CF شروع می شوند. مانند : CFQuery، CFMail و ... شروع کار برای اجرای سرور coldfusion : 1- اگر در ويندوز 98 هستيد، Start->Macromedia ColdFusion MX -> ColdFusion MX Start 2- اگر از ويندوز 2000 يا XP استفاده می کنيد، Control Panel -> Administrative Tools -> Services سپس ، از پانل سمت راست، ColdFusion MX Application Server را پيدا کنيد و راست کليک کرده و start را انتخاب کنيد. اولين برنامه ColdFusion شما برای نوشتن يک برنامه ColdFusion به يک ويرايشگر نياز داريد. اين ويرايشگر می تواند هر ويرايشگر مورد علاقه شما مانند : HTML-Kit، HomeSite، Notepad و ... باشد. فقط بايد فايل خود را با پسوند .cfm و بصورت متنی ذخيره کنيد. من برای نوشتن مثال های اين مقاله از Notepad ويندوز استفاده کرده ام. 1- Notepad را باز کنيد. 2- کد زير را تايپ کنيد : <HTML> <HEAD> <Title> Salam </Title> </HEAD> <Body> <CFSet MyVar="Hello World" /> <CFOutput>#MyVar#</CFOutput> </Body> </HTML> 3- يک دايرکتوری جديد به نام mysite در زيرشاخه wwwroot کلدفيوژن ايجاد کنيد. 4- فايل خود را در دايرکتوری جديد با نام MyPage.cfm ذخيره کنيد. دقت کنيد که “Save As Type” را برابر All Files (*.*) قرار دهيد تا با پسوند txt ذخيره نگردد. 1- يک پنجره Internet Explorer باز کنيد و به آدرس زير برويد : http://localhost:8500/mysite/MyPage.cfm http://localhost:8500/ به مسير زيرشاخه wwwroot مسيری که ColdFusion در آن نصب شده است اشاره می کند در اينجا C:CfusionMXwwwroot. و بقيه آدرس مسير فايل مورد نظر نسبت به wwwroot می باشد. توضيح برنامه بالا : <HTML> <HEAD> <Title> Salam </Title> </HEAD> <Body> < "CFSet MyVar="Hello World> <CFOutput>#MyVar#</CFOutput> </Body> </HTML> قسمت های سبز کد بالا کد HTML معمولی می باشند. و اما قسمت های سياه کد بالا : <CFSet MyVar=”Hello World” /> يک متغير به نام MyVar ايجاد می شود و مقدار آن برابر "Hello World" قرار می گيرد. کلا برای ايجاد و مقدار دهی به متغير ها دو راه وجود دارد. راه اول استفاده از CFSet می باشد که پس از نوشتن CFSet نام متغير و سپس علامت مساوی و سپس مقدار جديد متغير را می نويسيم. راه دوم، استفاده استفاده از CFParam به شکل زير می باشد : <CFParam name=”MyVar” default=”DefaultValue”> اگر متغيری به نام MyVar وجود نداشته باشد، با اجرای خط بالا، متغيری با نام MyVar و مقدار DefaultValue ايجاد می گردد و اگر از قبل متغيری با نام MyVar وجود داشته باشد هيچ اتفاقی نمی افتد. يعنی متغير MyVar مقدار پيشين خود را حفظ می کند. و اما خط زير : <CFOutput>#MyVar#</CFOutput> عبارات بين <CFOutput></CFOutput> مورد بررسی قرار می گيرد و هر عبارتی که بين ## قرار داشته باشد، مقدار معادل آن جايگزين می گردد. مثلا در مثال بالا، بجای #MyVar# ، Hello World جايگزين می شود. پس از اجرای کد بالا، کد HTML زير به عنوان نتيجه کد ColdFusion ايجاد می گردد و به مرور گر کاربر فرستاده می شود : <HTML> <HEAD> <Title> Salam </Title> </HEAD> <Body> Hello World </Body> </HTML> متغير ها در ColdFusion قوانين نام گذاری متغير ها : 1- نام متغيرها تشکيل شده است از يک حرف بعلاوه چندين کاراکتر حرفی، عددی يا underscore. 2- نام متغيرها بايد يک کلمه باشند و دارای space نباشند. 3- از حروف خاص مانند ! يا ? در نام گذاری متغيرها نمی توانيد استفاده کنيد. 4- نام متغيرها حساس به کوچکی و بزرگی حروف نمی باشند. برای نشان دادن مقدار يک متغير از <CFOutput> به شکل زير استفاده می کنيم: <CFOutput> # This is the Value for a variable : #MyVar </CFOutput> MyVar نام متغير می باشد. بقيه عبارت به همان صورت به خروجی فرستاده خواهند شد. nasim198410-05-2006, 12:19 AMاين بحث ادامه دارد WooKMaN10-05-2006, 09:48 PMممنون نسيم خانم كه همراهي ميكنيد WooKMaN10-05-2006, 09:52 PMآموزش ColdFusion ،انواع داده ي پيچيده : آرايه ها آرايه ها نيز مانند ليست ها، براي ذخيره سازي مقادير متعدد، تحت يک نام مي باشند. اما، برخلاف ليست ها، اين ذخيره سازي در قسمت ها جدا از هم انجام مي گيرد و مانند ليست ها تمام مقادير در يک رشته اي از مقادير جدا شده به وسيله ي حرف جدا کننده ذخيره نمي گردند. ليست ها داده هاي ساده مي باشند، چون فقط يک رشته مي باشند، در حالي که آرايه ها داده هاي پيچيده مي باشند، چون متشکل از چندين قسمت قابل آدرس دهي مي باشند و داراي چنيدن مقدار مختلف مي باشند. ايجاد يک آرايه برخلاف ليست، که يک رشته ساده مي باشد، آرايه ها نوع داده ي پيچيده اي مي باشند که توسط تابع ArrayNew() ايجاد مي گردند. مانند مثال زير : <cfset myArray = ArrayNew(1) > تکه کد بالا، يک آرايه ي يک بعدي ايجاد مي کند و آن را به ArrayNew تخصيص مي دهد. يک آرايه مي تواند تا 3 بعد داشته باشد. ارجاع به عضوي از يک آرايه براي دسترسي به عضوي از آرايه، مانند مثال زير عمل مي کنيم : <cfoutput>#MyArray[2]#</cfoutput> مثال بالا مقدار عنصر دوم آرايه را چاپ مي کند. بر خلاف اکثر زبان هاي برنامه نويسي، انديس آرايه در کلدفيوژن از يک شروع مي شود. افزودن عنصري به آرايه براي افزودن عنصري به آرايه از ArrayAppend() به شکل زير استفاده مي کنيم : <cfset myArray = ArrayNew(1)> <cfset ArrayAppend(myArray,”apple”)> به تفاوت ArrayAppend و ListAppend توجه کنيد : <cfset myList = ListAppend(myList, “apple”)> <cfset ArrayAppend(myArray,”apple”)> ListAppend مقدار ليست اصلي را تغيير نمي دهد، بلکه يک ليست جديد با يک مقدار جديد افزوده شده به انتهاي آن ايجاد مي کند. اما ArrayAppend تغييرات را روي آرايه ي اصلي اعمال مي کند، و مقدار بازگشتي آن در صورت موفقيت تابع true مي باشد و در غير اين صورت false مي باشد. بنابراين شما حتي نياز نداريد که مقدار بازگشتي را ذخيره کنيد. همچنين براي افزودن عنصري به ابتداي يک آرايه از تابع ArrayPrepend مانند مثال زير استفاده مي کنيم : <cfset ArrayPrepend(myArray,”lemon”)> شما همچنين مي توانيد عنصري را ميان عناصر موجود اضافه کنيد . مثلا فرض کنيد آرايه ي ما داراي عناصر زير باشد : 1 : peach 2 : apple شما مي توانيد عنصري را ميان عناصر اول و دوم اضافه کنيد . بدين منظور از تابع ArrayInsertAt به صورت زير استفاده مي کنيم : <cfset ArrayInsertAt(myArray,2,”lemon”)> پس از اجراي کد بالا آرايه ي ما داراي عناصر زير خواهد بود : 1 : peach 2 : lemon 3 : apple شما همچنين مي توانيد يک عنصر براي آرايه بوسيله عمل تخصيص ايجاد کنيد. مثلا، براي آرايه ي بالا، کد زير را اجرا مي کنيم : <cfset myArray[4]=”blueberry”> حال، آرايه ي ما داراي چهار عنصر زير مي باشد : 1 : peach 2 : lemon 3 : apple 4 : blueberry شما همچنين مي توانيد از مقدار دهي به برخي از عناصر صرف نظر کنيد : <cfset myArray[6]=”pomegranate”> پس از اجراي کد بالا آرايه ما به صورت زير مي باشد : 1 : peach 2 : lemon 3 : apple 4 : blueberry 5 : هيچ عنصري با انديس پنج وجود ندارد 6 : pomegranate به آرايه ي بالا توجه کنيد، هيچ عنصري با انديس 5 وجود ندارد و اين به اين معني نيست که آرايه ي پنجم داراي مقدار خالي مي باشد، فقط، هيچ عنصري با انديس 5 وجود ندارد. حذف عنصري از يک آرايه براي حذف عنصري از آرايه مي توانيد از تابع ArrayDeleteAt به صورت زير استفاده کنيد : <cfset ArrayDeleteAt(myArray,2)> تابع بالا عنصر دوم از آرايه را حذف مي کند. براي پاک کردن کل آرايه ، يعني حذف تمام عناصر از تابع ArrayClear مانند زير استفاده مي کنيم : <cfset ArrayClear(myArray)> بدست آوردن اطلاعاتي در رابطه با آرايه : براي تست کردن اينکه آيا هيچ عنصري در آرايه موجود مي باشد يا نه ، از تابع ArrayIsEmpty به صورت زير استفاده مي کنيم : <cfif ArrayIsEmpty(myArray)> This Array is empty. <cfelse> This Array has some elements. </cfif> براي بدست آوردن تعداد عناصر يک آرايه از تابع ArrayLen بصورت زير استفاده مي کنيم : <cfset numElements = ArrayLen(myArray) > ArrayLen عناصر تعريف نشده را نيز حساب مي کند. پيدا کردن عنصري در آرايه : براي پيدا کردن عناصر در يک ليست دو تابع ListFind و ListFindnocase وجود داشتند، ولي هيچ تابعي براي جستجو بر روي آرايه ها وجود ندارد. بنابراين، براي جستجو در يک آرايه، بايد از cfloop مانند مثال زير استفاده کرد : <cfloop from=”1” to=”#ArrayLen(myArray)#” index=”I”> <cfif myArray[I] EQ “apple”> <cfbreak> </cfif> </cfloop> پس از اجراي کد بالا، I داراي انديس عنصر داراي مقدار apple مي باشد. برخي توابع رياضي براي آرايه ها : تابع ArrayMin براي پيدا کردن کمترين مقدار موجود در آرايه به کار مي رود. تابع ArrayMax براي پيدا کردن بيشترين مقدار موجود در آرايه به کار مي رود. تابع ArraySum براي پيدا کردن مجموع مقادير موجود در آرايه به کار مي رود. تابع ArrayAvg براي پيدا کردن ميانگين مقادير موجود در آرايه به کار مي رود. به عنوان مثال، به تکه کد زير توجه کنيد : <cfset NumericArray=ArrayNew(1)> <cfset NumericArray[1]=10> <cfset NumericArray[2]=12> <cfset NumericArray[3]=11> <cfset NumericArray[4]=20> <cfset NumericArray[5]=10> <cfset Minimum=ArrayMin(NumericArray)> <cfset Maximum=ArrayMax(NumericArray)> <cfset Sum=ArraySum(NumericArray)> <cfset Avg=ArraySum(NumericArray)> سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 647]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن