كاربر فعال


    كاربر مهمان


درباره وب سايت


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


برای عضویت در وب سایت روی لینک زیر کلیک کنید :

عضویت در وب سایت

برای طرح سوالات و پیشنهادات خود می توانید نظر خود را از طریق فرم پایین صفحات ارسال کنید و یا از طریق ایمیل با ما در میان بگذارید .همچنين مي توانيد به تالار گفتمان به آدرس زير مراجعه كنيد :

تالار گفتمان


لينك به ما


برای قرار دادن لینک سایت آموزش برنامه نویسی در وب سایت یا وبلاگ خود کد زیر را با کلیک بر روی دکمه " کپی کد " کپی کرده و در محل مورد نظر خود قرار دهید .







پيوندها


>>>اف سي پرسپوليس
>>>كسب درآمد اينترنتي ( درآمدزايي آسان و واقعي از طريق اينترنت )
>>>تالار گفتمان
>>>وب سایت افشین رشیدی
>>>وبلاگ بزرگ منچستر
>>>پول * پول * پول
>>>Astronomy
>>>شعرای یمانی
>>>اخبار سپاهان
>>>خريد و فروش اينترنتي (كمترين قيمتها )
>>>امیرحسین
>>>برنامه نویسی
>>>بهترین آهنگ های روز
>>>دريافت پول به ازاي هر كليك
>>>پایگاه آموزش
>>>جديدترين كليپ هاي موبايل
>>>دانلود ، سرگرمی ، مطالب جالب و خواندنی
>>>ارزان سراي اينترنتي
>>>Abtarang
>>>سرمست ترین
>>>سینما و رپ ایرانی
>>>!:: دنیـای عـکس و مـوزیک ::!
>>>عشق ، احساس ، زندگی
>>>فقط چند دقیقه
>>>Iranian-IT
>>>مهندسان برق
>>>مروارید درون
>>>آموزشکده کامپیوتر
>>>جونه من 18- نیان تو
>>>سلول زنده
>>>گيتار
>>>best download
>>>جک و SMS
>>>کلیپ ( جدید - 2008 ) و عکس و رینگتون و اس ام اس
>>>ورود ممنوع
>>>وبلاگ تخصصی کامپیوتر
>>>گروه شبکه پرشین بلاگ - پویا کوشنده
>>>خبرهای روز IT
>>>قفل سکوت
>>>دنیای کامپیوتر
>>>بیا تو مجانی اطلاعات بگیر
>>>برترین اخبار و مقالات رایانه
>>>فدا خانوم رو ببین چه کرده
>>>دابل-کلیک، مرکز آموزش کامپیوتر و اینترنت ایرانیان
>>>قاسم پرسپولیسی
>>>يه سايت توپ براي همه ي سليقه ها
>>>عکس داغ
>>>تجارت الكترونيك
>>>hossein
>>>تفریح>جک>ترفند>مطالب عاشقانه>هرچیکه بخوای
>>>وب سایت تفریحی طوطیا
>>>کرمانشاه نیوز
>>>computer-world20
>>>هنر رزمي فونگ پاي چي وو كونگ فو
>>>AIOS - All In One Site
>>>ROYAYE KHIS
>>>بانک مقالات فارسی
>>>قاسم روني
>>>طراحی وب سایت
>>>عکسهای جدید ایرانی



               WWW.BARNAMENEVISI.SOMEE.COM


آموزش کلد فیوژن: انواع داده پيچيده : ليست ها

آموزش کلد فیوژن: انواع داده پيچيده : ليست ها

 

 

ليست ها در حقيقت رشته هايي هستند که مقادير در آن به وسيله ي يک کاراکتر خاص از هم جدا شده اند. مانند مثال هاي زير :

<cfset List_of_employees="Hadi Moshayedi,Hossein Sharafi,Ben Forta">
<cfset List_of_animals="Elephant;Horse;Monkey">
<cfset List_of_salaries="12000,1300,5000,4000">


   به کاراکتري که مقادير را از هم جدا مي کند،
Delimiter گويند. مثلا , (کاما) در مثال اول و ; در مثال دوم.


   همانطور که در مثال هاي بالا ديديد، براي ايجاد ليست ها از
<cfset ... > استفاده مي کنيم و مقادير اوليه را تنظيم مي کنيم.



افزودن مقادير به يک ليست :


   ساده ترين راه براي افزودن يک مقدار به يک ليست استفاده از تابع
ListAppend به صورت زير مي باشد :

<cfset myList="hadi,coldfusion,something">
<cfset myList = ListAppend(myList,"php")>


   مثال بالا مقدار جديد "
php" را به انتهاي ليست اضافه مي کند. اين تابع، داراي پارامتر سومي مي باشد که اختياري مي باشد و مي تواند مانند مثال بالا ذکر نشود. اين پارامتر سوم، Delimiter ليست را مشخص مي کند و به صورت پيش فرض مقدار آن کاما مي باشد. اگر در ليست از Delimiter ي به غير از کاما استفاده کرده باشيم، براي افزودن يک مقدار به انتهاي ليست به صورت زير عمل مي کنيم :

<cfset myList="hadi;coldfusion;something">
<cfset myList = ListAppend(myList,"php",";")>


  
ListAppend مقدار جديد را به انتهاي ليست اضافه مي کرد. براي افزودن يک مقدار به ابتداي ليست، از تابع ListPrepend ، به همان صورت که از ListAppend استفاده مي کرديم، استفاده مي کنيم. به مثال هاي زير توجه فرمائيد :

<cfset myList="a,b,c,d">
<cfset myList = ListPrepend(myList,"0")>
<!--- Now, myList contains "0,a,b,c,d" --->

<cfset myList="a;b;c;d">
<cfset myList = ListPrepend(myList,"0",";")>
<!--- Now, myList contains "0;a;b;c;d" --->


  براي افزودن مقداري به ليست در يک مکان مشخص، از تابع
ListInsertAt استفاده مي کنيم. به صورت زير :

<cfset myList="a,b,c,d">
<cfset myList = ListInsertAt(myList,3,"h")>


  در مثال بالا، مقدار "
h" سومين عنصر از ليست خواهد شد. مانند توابع ديگري که در اين مقاله معرفي گرديد، اين تابع نيز داراي پارامتر اختياري چهارمي هست که Delimiter ليست را مشخص مي کند و مقدار پيش فرض آن کاما مي باشد.



استخراج مقداري از ليست با استفاده از انديس آن


   براي استخراج مقدار عنصري از ليست با استفاده از انديس آن، از تابع
ListGetAt استفاده مي کنيم. به صورت زير :

<cfset myList="a,b,c,d">
<cfset second_item=ListGetAt(myList,2)>


   کد بالا مقدار عنصر دوم ليست
myList را در متغير second_item قرار مي دهد.


   اين تابع نيز داراي پارامتر اختياري مشخص کننده
Delimiter مي باشد.



   توابع
ListFirst و ListLast به ترتيب مقدار عنصر اول، و مقدار عنصر آخر ليست را مي دهند. تابع ListRest تمام عناصر يک ليست به غير از عنصر اول را به عنوان خروجي مي دهد.

<cfset myList="a,b,c,d">
<cfset first_item = ListFirst(myList)>
<!--- first_item contains "a" now --->
<cfset last_item = ListLast(myList)>
<!--- last_item contains "d" now --->
<cfset rest_items = ListRest(myList)>
<!--- rest_items contains "b,c,d" now --->


   براي
بدست آوردن تعداد عناصر يک ليست از تابع ListLen به صورت زير استفاده مي کنيم :

<cfset myList="a,b,c,d">
<cfset myListLen = ListLen(myList)>
<!---Now, myListLen Equals 4 --->
<cfset myList="a;b;c;d">
<cfset myListLen = ListLen(myList,";")>
<!---Now, myListLen Equals 4 --->


   براي
حذف عنصري از ليست، از تابع ListDeleteAt به صورت زير استفاده مي کنيم :

<cfset myList="a,b,c,d">
<cfset myList = ListDeleteAt(myList,2)>


   کد بالا عنصر دوم ليست را حذف مي کند.



جستجو در ليست ها


   براي پيدا کردن مقداري در ليست، از تابع
ListFind استفاده مي کنيم. اين تابع موقعيت اولين عنصري که داراي مقدار دلخواه باشد را به عنوان خروجي بر مي گرداند.

<cfset myList="Hadi,Hossein,Ben">
<cfset Pos1 = ListFind(myList,"Ben")>
<!--- Pos1 equals 3 now --->


   تابع
ListContains موقعيت اولين عنصري که داراي مقدار شامل عبارت مورد نظر را به عنوان خروجي بر مي گرداند.

<cfset myList="Hadi,Hossein,Ben">
<cfset Pos2 = ListContains(myList,"se")>
<!--- Pos2 equals 2 now --->


   کد بالا مقدار
۲ را در متغير Pos2 قرار مي دهد، زيرا عبارت Hossein شامل عبارت se مي باشد.


  
ListFind و ListContains بين حروف بزرگ و کوچک تفاوت قائل مي شوند. براي اينکه در جستجو حروف بزرگ و کوچک يکسان باشند به جاي توابع بالا از توابع ListFindNoCase و ListContainsNoCase استفاده مي کنيم.



ليست هاي داراي عناصر خالي


   عناصر خالي، عناصري از ليست هستند که داراي هيچ مقداري نمي باشند. براي درک چگونگي کار با آن ها به مثال زير توجه کنيد :

<cfset myList = "Hadi,,Hossein,Ben,,">


   فکر مي کنيد ليست
myList داراي چند عنصر مي باشد؟ شايد فکر کنيد که اين ليست داراي شش عنصر مي باشد، ولي کلدفيوژن عناصر داراي مقدار خالي را حساب نمي کند ... پس ليست بالا از نظر کلدفيوژن سه عنصر دارد و "Ben" مقدار عنصر سوم آن مي باشد.


   براي ايجاد عناصر خالي، از کاراکتر فاصله به جاي مقدار خالي استفاده کنيد، مانند مثال زير :

<cfset myList = "Hadi, ,Hossein,Ben, , ">


   ليست بالا از نظر کلدفيوژن شش عنصر دارد.



   براي
تغيير مقدار عنصري از ليست از تابع ListSetAt مانند مثال زير استفاده مي کنيم :

<cfset myList = "Hadi,Hossein,Ben">
<cfset myList = ListSetAt(myList,1,"Good Boy")>
<!--- myList = "Good Boy,Hossein,Ben" --->


   کد بالا مقدار عنصر اول ليست را از
Hadi به Good Boy تغيير مي دهد.



مرتب سازي عناصر ليست


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

<cfset myList = "a,d,c,v">
<cfset myList = ListSort(myList,"text")>


   مقادير قابل قبول براي پارامتر دوم عبارتند از "
text"، "textnocase"، و "numeric". مرتب سازي "text" بين حروف بزرگ و کوچک تفاوت قائل مي باشد و در مرتب سازي حروف بزرگتر اول تر قرار مي گيرند ... "textnocase" براي حروف بزرگ و کوچک ارزش يکساني قائل مي باشد. "numeric" عناصر بر اساس ارزش عددي آن ها مرتب مي سازد.


   پارانتر سوم که اختياري مي باشد، ترتيب مرتب سازي را مشخص مي سازد. "
asc" (مقدار پيش فرض) مشخص مي کند که مرتب سازي از ارزش کمتر به ارزش بيشتر باشد . "desc" براي مرتب سازي از ارزش بيشتر به ارزش کمتر به کار مي رود. به مثال هاي زير توجه کنيد :

<cfset myList = "a,d,c,v">
<cfset myList = ListSort(myList,"text")>
<!--- myList = "a,c,d,v" --->
<cfset myList = "a,B,c,d">
<cfset myList = ListSort(myList, "textnocase", "desc")>
<!--- myList = "d,c,B,a" --->



Delimiter هاي يک ليست


   توابعي که براي کار با ليست ها به کار مي روند تقريبا همه شان يک پارامتر آخري اختياري دارند که
Delimiter ليست را مشخص مي سازد. Delimiter هايي که اکثرا مورد استفاده قرار مي گيرند، عبارتند از : کاما، ;، |، ~ .


   براي تغيير
Delimiter يک ليست از تابع ListChangeDelims به صورت زير استفاده مي کنيم :

<cfset myList = "a;b;c;d">
<cfset myList = ListChangeDelims(myList, ",", ";")>
<!--- myList = "a,b,c,d" --->


   پارامتر دوم مشخص کننده
Delimiter جديد و پارامتر سوم مشخص کننده Delimiter قبلي مي باشد.

پارامتر سوم اختياري مي باشد و داراي مقدار پيش فرض کاما مي باشد.



ايجاد حلقه(Loop) روي عناصر ليست


   براي ايجاد حلقه روي عناصر يک ليست، به صورت زير عمل مي کنيم :

 

<cfset myList = "a;b;c;d">
<cfoutput>
<cfloop list="#myList#" index="theElement" delimiters=";" >
#theElement#<br>
</cfloop>
</cfoutput>


   در کد بالا،
theElement ابتدا مقدار "a" ، سپس مقدار "b" ، سپس مقدار "c" و در آخر مقدار "d" مي گيرد و در هر مرحله کد بين <cfloop ...></cfloop> را براي مقادير theElement اجرا مي کند.

delimiters اختياري مي باشد و داراي مقدار پيش فرض کاما مي باشد.



مناسب سازي يک ليست براي عبارات SQL


   ليست زير را در نظر بگيريد :

<cfset myList = "pear,lemon,orange,citron">


   و حال مي خواهيد ليست بالا در
Query زير استفاده کنيد :

SELECT *
FROM Fruit
WHERE FruitName IN ('pear','lemon','orange','citron')


   شما نمي توانيد از ليست به اين صورت استفاده کنيد :

SELECT *
FROM Fruit
WHERE FruitName IN (#myList#)


   زيرا عناصر ليست داراي ' (
single quote) در دو طرفشان نمي باشند. براي اين منظور، از تابع ListQualify استفاده مي کنيم. مانند مثال زير :

SELECT *
FROM Fruit
WHERE FruitName IN (#ListQualify(myList,"'")#))



موارد استفاده از ليست ها


   اينکه کجا از ليست ها استفاده کنيد، بستگي به خودتان و خلاقيت و نحوه ي تفکر شما دارد. اما من شخصا از ليست ها در موارد زير استفاده مي کنم :

  1. وقتي مي خواهم در يک متغير کوکي (cookie) بيش از يک مقدار قرار دهم. زيرا نمي توان به کوکي ها مقادير آرايه اي داد، ليست ها در اين جا يکي از انتخاب هاي خوب براي استفاده مي باشد. روش ديگري هم وجود دارد که بعدا در باره ي آن صحبت خواهم کرد.
  2. هنگامي مي خواهم ليستي از مقادير را در يک فيلد از يک رکورد در پايگاه داده ذخيره کنم. در اين مورد نيز نمي توان از آرايه ها استفاده کرد.

 

 

 

بازگشت به فهرست

بازگشت به صفحه نخست


                آخرین مطالب وب سایت


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

الگوریتم محاسبه کوتاهترین مسیر بین تمام رئوس ( Floyd ) به زبان C

آموزش گام به گام پاسكال

برنامه نویسی با زبان اسمبلی

توابع و قطعه كدهاي مفيد برنامه نويسي

برنامه ماشين حساب مهندسي با زبان دلفي 7

همه چيز در مورد اينترنت

منابع ، سرفصلها و اطلاعات كنكور كارداني به كارشناسي دولتي 1388 نرم افزار كامپيوتر

برنامه بازي مارپله با زبان ويژوال بيسيك

برنامه استك چند گانه با استفاده از آرايه به زبان C

برنامه مساله پر پيچ و خم Mazing به زبان C


               ارسال سوالات ، نظرات و پيشنهادات


نام :
ایمیل :
وب سایت :
موضوع :
متن پیام :
كد امنيتي :

                                     مشاهده سایر پیامها



* براي مشاهده ساير نظرات و ديدن پاسخ سوالات روي " مشاهده ساير پيامها " كليك كنيد
* در صورتی که از پاسخ سوالات مطرح شده سایر بازدیدکنندگان مطلع هستید لطفا از طریق همین فرم پاسخ دهید
* چنانکه نظر شما خصوصی می باشد به ایمیل afshinrashidi@yahoo.com ارسال فرمائید .

منوي اصلي

= صفحه اصلی
= تالار گفتمان
= عضویت در وب سایت
= ورود به حساب شخصی
= آپلود عکس در وب سایت
= چت
= Visual Basic
= VB.NET
= C ++ / VC++ / C
= C #
= Pascal
= Delphi 7
= JAVA
= ASP
= ASP.NET
= PHP
= Gold Fusion
= XML
= HTML
= CSS
= Java Script
= Action Script
= SQL Server
= ADO / ADO.NET
= Security
= Registery
= UML
= Internet
= Windows XP Install
= Access
= Photoshop CS
= Flash
= Microsoft Power Point
= Microsoft Excel
= MATLAB
= ذخیره و بازیابی اطلاعات
= سیستم عامل
= ساختمان داده ها
= مهندسی نرم افزار
= معماری کامپیوتر
= هوش مصنوعی
= شیوه ارائه مطالب
= کتاب آموزش MATLAB
= الگوریتم Floyd
= آموزش گام به گام پاسكال
= برنامه نویسی اسمبلی
= توابع مفيد برنامه نويسي
= برنامه ماشين حساب دلفي
= همه چيز در مورد اينترنت
= كنكور كارداني به كارشناسي 88
= بازي مارپله با ويژوال بيسيك
= استكهاي چندگانه با زبان C
= مساله پر پيچ و خم Mazing
= تبديل Infix به Postfix
= شکستن پسورد administrator
= اجراي فايل صوتي در ويژوال بيسيك
= پارتيشن بندي FDisk
= اسمبل كردن كامپيوتر
= ارسال ايميل به ما


ورود به سيستم


 نام کاربری :
 رمز عبور :


عضویت در وب سایت


نظرسنجي

عالی
خوب
متوسط
ضعیف
بسیار ضعیف

نتايج نظرسنجي

عالی : 73 رای - 68 درصد

خوب : 14 رای - 13 درصد

متوسط : 5 رای - 5 درصد

ضعیف : 2 رای - 2 درصد

خیلی ضعیف : 14 رای - 13 درصد

مجموع آرا : 108 رای


نويسنده


نام : افشین
نام خانوادگی : رشیدی
شهرستان : مهاباد
تاریخ تاسیس : 05/05/1387
ایمیل : afshinrashidi@yahoo.com




آمار وب سايت


[11/22/2009]
بازديدهاي شما :
IP شما : 38.107.191.104
ساعت ورود : 3:14:27 PM
تعداد کل بازدیدها : 86545 بار
تعداد اعضا : 866 نفر
آمار وبگذر :

وضوح تصوير :


افشين رشيدي
Copyright © 2006 Afshin Rashidi - MAHABAD,IRAN , All rights reserved.
E~mail : afshinrashidi@yahoo.com