شوخی بود

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

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

نويسندگان
مازیار آجودانی
تبلیغات



تکنیک‌های کاربردی استخراج داده‌ها با لینک (بخش سوم)

 

 

  • تکنیک‌های کاربردی استخراج داده‌ها با لینک (بخش سوم)

    پیاده‌سازی LINQ to SQL به شیوه کدنویسی
    در شماره گذشته مشاهده کردید که چگونه می‌توان به بانک‌های اطلاعاتی متصل شد و جداول مورد نیاز را با استفاده از ابزارها و ویزاردهایی که ویژوال استودیو به‌طور آماده در اختیار برنامه‌‌نویسان قرار می‌دهد، در برنامه کاربردی وارد و از آن‌ها استفاده کرد. اما در بعضی موارد برنامه‌نویسان مجبور هستند جداول مورد نیاز را به شیوه برنامه‌نویسی در یک برنامه کاربردی وارد کنند. بر همین اساس، در این بخش از مقاله در نظر داریم نحوه دسترسی به بانک‌های ‌اطلاعاتی‌ را بدون استفاده از پنجره‌های آماده ویژوال استودیو و به‌شکل دستی به شما نشان دهیم. (بانک ‌اطلاعاتی مورد استفاده در این مقاله همان بانک اطلاعاتی AdventureWorks است که در شماره گذشته از آن استفاده کردیم).

    مطلب پیشنهادی

    تکنیک‌های کاربردی استخراج داده‌ها با لینک (بخش اول)

    دسترسی به منابع داده‌ای با LINQ

    مطلب پیشنهادی

    تکنیک‌های کاربردی استخراج داده‌ها با لینک (بخش دوم)

    دسترسی به منابع داده‌ای با LINQ

    محاوره چهارده، اضافه کردن یک جدول در قالب یک کلاس در برنامه 
    به نظر من یکی از بهترین ویژگی‌هایی که لینک در اختیار برنامه‌نویسان قرار می‌دهد، تعریف جداول بانک اطلاعاتی همانند کلاس‌ها در یک برنامه کاربردی است. یکی از قابلیت‌های جالبی که در زمان کدنویسی می‌توانید از آن بهره ببرید، تعریف جداول بانک ‌اطلاعاتی همانند یک کلاس در یک برنامه کاربردی است که تحت عنوان Entity از آن نام برده می‌شود. در زمان تعریف کلاس‌ها در برنامه‌های کاربردی خصلت ویژه‌ای تحت عنوان Table که از اشیای LINQ To SQL است وجود دارد که با استفاده از آن نام جدول مورد نظر را می‌توان تعیین کرد. ترکیب نحوی نشان داده شده در فهرست ۱، نحوه تعریف کلاسی به نام MyTestTable را نشان می‌دهد. MyTestTable همان جدولی است که در مثال شماره گذشته آن‌ را ایجاد کرده‌ایم. 

    فهرست ۱

            [Table(Name = “MyTestTable”)]
            public class MyTestTable
            {
                public int MytableID;
                public string TablelName;
            }

    خصلت Table فیلدی به‌نام Name دارد که برای تعیین نام دقیق جدول در بانک اطلاعاتی مورد استفاده قرار می‌گیرد. اگر از این فیلد استفاده نکنید، LINQ to SQL تصور می‌کند نام کلاس هماهنگ با نام جدول بانک اطلاعاتی تعیین شده است. بنابراین، در تعریف نام کلاس مجبور نیستید نام دقیق جدول را بیان کنید، در نتیجه این انتخاب را دارید تا نام مورد نظر خود را وارد کنید. کلاس‌هایی که به این شکل تعریف می‌شوند، Entity Classes نام دارند. در گام بعد باید اعضای کلاس را مشخص کنید. این اعضا در واقع ستون‌هایی هستند که تمایل دارید داده‌های آن‌ها را دریافت کنید. در زمان تعریف این فیلدها حتماً به یکسان بودن نوع آن‌ها با نوع ستون‌ها در بانک اطلاعاتی توجه کنید. خصلت Column به شما اجازه تعریف ستون‌ها را می‌دهد. فهرست ۲ نحوه تعریف ستون‌ها را نشان می‌دهد.

    فهرست ۲

            [Table(Name = “ MyTestTable”)]
            public class MyTestTable
    {
    [Column(IsPrimaryKey = true)]
                public int MytableID;
    [Column]
    public string TablelName;
    }

    خصلت Column تعدادی فیلد دارد که یک سری پارامتر را به‌عنوان ورودی دریافت می‌کند. در نتیجه به برنامه‌نویس اجازه می‌دهد ستون‌ها را با جزیی‌ترین خصلت‌ها تعریف کند. به‌طور مثال، خاصیت مهمIsPrimaryKey  به‌منظور مشخص کردن کلید اصلی که در یک جدول تعریف شده است، مورد استفاده قرار می‌گیرد. 

    کلاس DataContext
    یکی از مهم‌ترین کلاس‌هایی که به شما اجازه می‌دهد با اشیای بانک اطلاعاتی کار کرده و تغییراتی را روی آن‌ها پیاده‌سازی کنید، کلاس DataContext است. متدها، خاصیت‌ها و فیلدهایی که این کلاس در اختیار شما قرار می‌دهند، به‌راحتی امکان کار کردن با عناصر یک بانک اطلاعاتی را فراهم می‌کنند. به‌طور معمول، این کلاس به‌صورت یک کلاس مشتق شده مورد استفاده قرار می‌گیرد، اما به طور مستقیم نیز می‌تواند استفاده شود.
     این کلاس  شبیه به شیء Connection در ADO.Net مورد استفاده قرار می‌گیرد. DataContext با استفاده از یک شیء ارتباطی به بانک اطلاعاتی هدف وصل می‌شود. این شیء ارتباطی می‌تواند نام فایل یا یک رشته ارتباطی باشد. DataContext با استفاده از عملگرهای مشخصی همچون Where و Select محاوره‌های مورد نیاز کاربر را ایجاد و آن‌ها را مدیریت می‌کند.

    جداول در قالب کلاس‌ها 
    همان‌ گونه که در پاراگراف قبل مشاهده کردید، جداول به‌شکل ساده و کاربردی در قالب کلاس‌هایی می‌توانند در اختیار شما قرار گیرند. کلاس‌هایی که به این شکل ترسیم شده و  فیلدهای متناظر به جدول‌ها بانک اطلاعاتی را توصیف می‌کنند به شما اجازه می‌دهند به‌راحتی به رکوردها دسترسی داشته باشید و تغییرات مورد نظر خود را پیاده‌سازی کنید. 
    محاوره پانزده؛ اضافه کردن رکوردها به یک جدول بر مبنای تکنیک موجودیت فهرست ۳ نحوه به‌کارگیری کلاس DataContext روی بانک ‌اطلاعاتی AdventureWorks2012 را نشان می‌دهد. در حال حاضر به دلیل این‌که هیچ‌گونه رکوردی در جدول MyTestTable وجود ندارد، خروجی قطعه کد فوق خالی خواهد بود. (ما جدول MyTestTable را در آخرین محاوره‌ای که در شماره گذشته ماهنامه مورد بررسی قرار دادیم ایجاد کردیم.) در زمان نوشتن کدهای فوق دقت کنید فضاهای نام را در برنامه خود وارد کنید. 

    فهرست ۳

    using System.Linq;
    using System.Data.Linq.Mapping;
    using System.Data.Linq;

    class Program
    {
    [Table(Name = “MyTestTable”)]
    public class MyTestTable
    {
    [Column(IsPrimaryKey = true)]
    public int MytableID;
    [Column]
    public string TablelName;
    }
    static void Main(string[] args)
    {
    String connectionString =
    “Data Source=APPLE-PC\MSSQLSERVER1;Initial Catalog=AdventureWorks2012;Integrated Security=True”;
    DataContext dc = new DataContext(connectionString);
    Table<MyTestTable> mytable = dc.GetTable<MyTestTable>();
    var q =
    from c in mytable
    //where c.MytableID == 1
    select c;
    foreach (var query in q)
    Console.WriteLine(“id = {0}, Content = {1}”, query.MytableID, query.TablelName);
    }
    }
     

    محاوره شانزده، تعریف نمونه‌ای از کلاس DataContext در قالب یک نوع Strongly Typed (وابستگی زیاد به نوع)
    هر جدول بانک ‌اطلاعاتی در دات‌نت به‌عنوان یک شیء Table شناخته می‌شود. این شیء از طریق متد GetTable() که در هر کلاسی وجود دارد، در اختیار برنامه‌نویسان قرار دارد. اما پیشنهاد می‌کنیم به‌جای آن‌که DataContext را به‌طور مستقیم و با استفاده از متد GetTable() مورد استفاده قرار دهید، از تکنیک وابستگی زیاد به نوع در ارتباط با کلاس DataContext استفاده کنید. در این تکنیک تمام جداول به عنوان عضوی از کلاس تعریف می‌شوند و در نتیجه دسترسی آسان به جداول بانک اطلاعاتی را فراهم می‌کنند. قطعه کد فهرست۴ نحوه تعریف جدول‌ها Person، PersonPhone و MyTestTable را برمبنای این تکنیک نشان می‌دهد. 

    فهرست ۴

       class Program
        {

            [Table(Name = “MyTestTable”)]
            public class MyTestTable
            {
                [Column(IsPrimaryKey = true)]
                public int MytableID;
                [Column]
                public string TablelName;
            }

            [Table(Name = “Person.Person”)]
            public class Person
            {
                [Column(IsPrimaryKey = true)]
                public int BusinessEntityID;
                [Column]
                public string FirstName;
                         [Column]
                public string Title;
                         [Column]
                public string LastName;
                         [Column]
                public DateTime ModifiedDate;
            }

            [Table(Name = “Person.PersonPhone”)]
            public class PersonPhone
            {

                [Column(IsPrimaryKey = true)]
                public int BusinessEntityID;
                [Column]
                public string PhoneNumber;
                 [Column]
                public int PhoneNumberTypeID;
                 [Column]
                public DateTime ModifiedDate;
            }
    public partial class AdventureWorks2012 : DataContext
            {
                public Table<MyTestTable> mytable;
                public Table<Person> Person;
                public Table<PersonPhone> PersonPhone;

                public AdventureWorks2012(string connection) : base(connection) { }
            }

    اکنون می‌توانید از یک ترکیب ساده‌تر و ساخت‌یافته‌تر در ارتباط با جدول‌ها مطابق با آنچه در فهرست ۵ نشان داده شده است، استفاده کنید. (در زمان کار با بانک‌های اطلاعاتی همواره به این نکته توجه داشته باشید که در هر لحظه احتمال پدید آمدن یک استثنا وجود دارد، در نتیجه همیشه کدهای خود را در بلوک‌های try/catch قرار دهید. در فهرست ۵ به دلیل این‌که جدول فوق هیچ‌گونه رکوردی ندارد یک استثنا را نشان می‌‌دهد.)

    فهرست ۵

    static void Main(string[] args)
    {
    String connectionString =
    “Data Source=APPLE-PC\MSSQLSERVER1;Initial Catalog=AdventureWorks2012;Integrated Security=True”;
    AdventureWorks2012 dc = new AdventureWorks2012(connectionString);

    try
    {
    MyTestTable query = (from c in dc.mytable
    where c.MytableID == 1
    select c).Single<MyTestTable>();
    Console.WriteLine(“ID is:{0} ، Table name is:{1}”, query.MytableID، query.TablelName);
    }
    catch(Exception e)
    {
    Console.WriteLine(e.Message);
    }
    }

    محاوره هفده، اضافه کردن رکوردهایی به یک جدول 
    برنامه‌های خیلی کمی تنها به‌منظور دریافت داده‌ها مورد استفاده قرار می‌گیرند. اکثر برنامه‌های کاربردی به ویرایش داده‌ها و اضافه کردن داده‌ها نیاز دارند. فهرست ۶ نحوه اضافه کردن رکوردی به جدول MyTestTable و به‌روزرسانی بانک ‌اطلاعاتی را نشان می‌دهند. تنها نکته‌ای که در ارتباط با این فهرست باید به آن توجه کنید این است که در آخرین گام باید متد SubmitChanges از کلاس DataContext را برای ثبت تغییرات روی بانک اطلاعاتی فراخوانی کنید. 

    فهرست ۶

    Static void Main(string[] args)
    {
    String connectionString =
    “Data Source=APPLE-PC\MSSQLSERVER1;Initial Catalog=AdventureWorks2012;Integrated Security=True”;
    AdventureWorks2012 dc = new AdventureWorks2012(connectionString);

    MyTestTable mtable = new MyTestTable
    {
    MytableID = 1،
    TablelName = “Inserted by Linq”
    };
    dc.mytable.InsertOnSubmit(mtable);
    dc.SubmitChanges();

    MyTestTable myquery = dc.mytable.Where(c => c.TablelName == “Inserted by Linq”).First();
    Console.WriteLine(“{۰} – {۱}”, myquery.MytableID، myquery.TablelName);
    }

    همان‌ گونه که مشاهده می‌کنید نحوه اضافه کردن رکوردها در لینک ساده‌تر از آن است که تصور می‌شد. در این روش دیگر نیاز نیست اشیای مختلفی مانند DataAdapter یا تدارک‌بیننده‌های مختلفی که در ADO.Net مورد استفاده قرار می‌گیرند را فراخوانی کنید. در فهرست ۶ ما کارهای زیر را انجام دادیم: 
    ۱- ابتدا نمونه‌ای از کلاس AdventureWorks2012 را تعریف کردیم.
    ۲- در مرحله دوم یک شیء از کلاس MyTestTable تعریف و این شیء را مقداردهی کردیم. 
    ۳- در مرحله سوم شیء ساخته شده را به جدول MyTestTable که از نوع Table<MyTestTable> بود و در کلاس AdventureWorks2012DataContext قرار داشت، اضافه کردیم. 
    ۴- در چهارمین مرحله متد SubmitChanges را برای ثبت تغییرات در بانک اطلاعاتی فراخوانی کردیم. همچنین، برای آن‌که اطمینان حاصل کنیم رکورد مورد نظر به‌درستی در جدول اضافه شده است، بر مبنای رکورد اضافه شده محاوره‌ای را نوشتیم.

    محاوره هجده، نحوه دریافت رکوردهایی از یک جدول بر مبنای تکنیک Strongly Typed 
    اگر در نظر داشته باشید تا محاوره‌های مورد نیاز خود را تعریف کنید، این‌ کار به‌سادگی انجام می‌شود. فهرست ۷ رکوردهای اطلاعاتی موجود در دو جدول Mytable و Person را دریافت می‌کند. 

    فهرست ۷

            static void Main(string[] args)
            {
                String connectionString =
      “Data Source=APPLE-PC\MSSQLSERVER1;Initial Catalog=AdventureWorks2012;Integrated Security=True”;
                AdventureWorks2012 dc = new AdventureWorks2012(connectionString);

                var q =
                   from c in dc.mytable
                   from a in dc.Person
                   where a.BusinessEntityID== 1
                   where c.MytableID== 1
                   select new { c, a };
                foreach (var query in q)
                {
                    Console.WriteLine(“ID = {0}, First Name = {1}”,
                        query.c.MytableID, query.c.TablelName);
                    Console.WriteLine(“ID = {0}, First Name = {1}, Last Name= {2} , Date={3}”,
       query.a.BusinessEntityID, query.a.FirstName, query.a.LastName, query.a.ModifiedDate);
                }
                Console.WriteLine(“This query returned {0} records”,q.Count());  
          }

    محاوره نوزده، حذف رکوردهایی از یک جدول
    در کنار اضافه کردن رکوردها به یک جدول، حذف رکوردها از یک جدول نیز از اهمیت خاصی برخوردار است. حذف رکوردها با فراخوانی متد DeleteOnSubmit که محاوره‌ای را به‌عنوان پارامتر ورودی دریافت می‌کند، انجام می‌شود. در فهرست ۸ به دنبال رکوردهایی هستیم که فیلد MytableID آ‌ن‌ها برابر با ۱ است. اگر چنین رکوردهایی در جدول پیدا شوند، از بانک اطلاعاتی حذف خواهند شد. 

    فهرست ۸

    static void Main(string[] args)
    {
    String connectionString =
    “Data Source=APPLE-PC\MSSQLSERVER1;Initial Catalog=AdventureWorks2012;Integrated Security=True”;
    AdventureWorks2012 dc = new AdventureWorks2012(connectionString);
    try
    {
    var delRecord = (from p in dc.mytable
    where p.MytableID == 1
    select p).FirstOrDefault();
    if (delRecord != null)
    dc.mytable.DeleteOnSubmit(delRecord);
    dc.SubmitChanges();
    }
    catch (Exception e)
    {
    Console.WriteLine(e.Message);
    }
    }

    محاوره بیست، به‌روزرسانی رکوردهای یک جدول

    داده‌های مرتبط با ستون‌های یک جدول به‌راحتی از طریق محاوره‌های لینک به‌روزرسانی می‌شوند. در این حالت جست‌وجو به‌منظور پیدا کردن رکوردهای مورد نظر انجام می‌شود. اگر رکوردها پیدا شدند، مقادیر جدید جایگزین مقادیر قبلی می‌شوند. فهرست ۹ نحوه به‌روزرسانی رکورد جدول MyTable که فیلد MyTableID آن برابر با مقدار ۱ است نشان می‌دهد. در این قطعه کد فیلد TableName مقدار جدید را دریافت کرده است و متد SubmitChanges تغییرات را ثبت می‌کند. 

    فهرست ۹

    static void Main(string[] args)
    {
    String connectionString =
    “Data Source=APPLE-PC\MSSQLSERVER1;Initial Catalog=AdventureWorks2012;Integrated Security=True”;
    AdventureWorks2012 ad = new AdventureWorks2012(connectionString);
    var cust = ad.mytable.Single(c => c.MytableID== 1);
    cust.TablelName = “Hi everyone”;
    Console.WriteLine(cust.TablelName);
    ad.SubmitChanges();
    }

    دسترسی منطبق با استاندارد‌های جهانی به داده‌ها از طریق LINQ to XML

    در میان فناوری‌‌های مختلفی که امروزه مورد استفاده قرار می‌گیرد، فناوری XML به عنوان یک استاندارد جامع برای قالب‌بندی داده‌ها از سوی سازمان‌های بزرگ مورد استفاده قرار می‌گیرد. با توجه به فراگیر بودن این استاندارد و کاربردی بودن این فناوری، مایکروسافت چارچوب جامعی را برای دسترسی به داده‌هایی که درون فایل‌های XML قرار دارند طراحی کرده است. این چارچوب جامع با فضای نام LINQ to XML در اختیار برنامه‌نویسان قرار دارد. تا پیش از معرفی لینک از سوی مایکروسافت، برنامه‌نویسان دات‌نت از طریق اسمبلی System.Xml.dll قادر به دستکاری اسناد XML بودند. این کتابخانه به برنامه‌نویسان اجازه می‌داد به‌راحتی به تعامل با داده‌های XML بپردازد، اسناد XML داخل حافظه را بارگذاری کند، یک سند XML را برای گره‌های ویژه‌ جست‌وجو کند، یک سند را بر مبنای یک الگوی مشخص اعتبارسنجی کند و کارهای مشابه را انجام دهد. هرچند این کتابخانه طیف گسترده‌ای از قابلیت‌ها را در اختیار برنامه‌نویسان قرار می‌داد، اما به‌کارگیری متدهای آن به‌راحتی امکان‌پذیر نبود.
    اما LINQ to XML یک رابط برنامه‌نویسی مقیم در حافظه را در اختیار برنامه‌نویس قرار می‌دهد تا از طریق زبان‌های برنامه‌نویسی دا‌ت‌نت به‌راحتی بتواند با فایل‌های XML کار کند. محاوره‌های پیچیده‌ای که با استفاده از LINQ to XML قادر به نوشتن آن‌‌ها هستید، این پتانسیل را دارند تا داده‌ها از منابع داده‌ای مختلفی در یک زمان دریافت کنند. در حالی که در ظاهرLINQ to XML  عملکردی شبیه به DOM (سرنام Document Object Model) دارد، اما تفاوت‌هایی با آن دارد. به‌طور مثال، یک نمونه شیء را به شکل ساده و سریعی ایجاد می‌کند. در نتیجه برنامه‌نویسان به‌راحتی می‌توانند از آن استفاده کنند. مهم‌ترین مزیت LINQ to XML به یکپارچگی این کتابخانه با لینک باز می‌گردد. در نتیجه به‌راحتی امکان نوشتن محاوره‌ها با استفاده از مجموعه‌ای از عناصر و خصلت‌ها امکان‌پذیر است. همین موضوع باعث می‌شود تا توانمندی محاوره‌های لینک هم‌تراز با XPath و XQuery باشند. مزیت دیگر LINQ to XML به انعطاف‌پذیری بالای آن باز می‌گردد که به برنامه‌نویس اجازه می‌دهد نتایج تولید شده را در قالب پارامترهایی برای اشیای XElement و XAttribute مورد استفاده قرار دهد، به طوری که امکان ساخت درخت‌های XML را امکان‌پذیر می‌سازد. این قابلیت که به‌نام ساخت‌یافتگی تابعی مشهور است به طراحان اجازه می‌دهد با سهولت هرچه تمام‌تر درخت‌های XML را از شکلی به شکل دیگر تغییر دهند.
     
    کتابخانه System.Xml.Linq هر آنچه به آن نیاز دارید را در اختیارتان قرار می‌دهد
    System. Xml.Linq.dll مشتمل بر سه کتابخانه متمایز از یکدیگر است که برای کار کردن با XML مورد استفاده قرار می‌گیرد. System.Xml.Linq، System.Xml.Schema و System.Xml.Path  همراه با کتابخانه اصلی System.Xml.Linq مشتمل بر کلاس‌هایی هستند که برای کار کردن با اسناد لینک به آن‌ها نیاز دارید. 

    محاوره بیست و یک، نحوه ساخت یک درخت XML با لینک
    ساخت یک درخت XML یکی از رایج‌ترین کارهایی است که برنامه‌نویسان انجام می‌دهند. به‌طور مثال، برنامه‌ای داده‌هایی تولید کرده و باید این داده‌ها را در قالب یک سند XML به کاربران نشان دهد. لینک با استفاده از کلاس XElement امکان پیاده‌سازی این وظیفه را فراهم می‌کند.  این کار به دو شکل انجام می‌شود. در روش ساده‌تر یک شیء از کلاس XElement که عنصر ریشه را تعریف می‌کند، ساخته شده و در ادامه گره‌های فرزند و خصلت‌ها با تعریف نمونه‌هایی از XElement و XAttribute ساخته می‌شوند. در ادامه یک شیء از XDocument همراه با XDeclaration تعریف شده و عناصر XElement به آن افزوده می‌شوند. فهرست ۱۰ نحوه انجام این ‌کار را نشان می‌دهد. 

    فهرست ۱۰

            static void Main(string[] args)
            {

                XElement root = new XElement(“Programming”,
    new XElement(“Group”, new XAttribute(“ID”, ۱),
    new XElement(“VisualBasic”), 
    new XElement(“FSharp”, “Its a powerful language programming of .Net’s family.”),
    new XElement(“Group2”, new XAttribute(“ID”, ۲),
    new XElement(“CPlusPlus”, “Its a powerful language programming .”),
    new XElement(“JAVA”),
    new XElement(“Rate”, ۱),
    new XElement(“Rich”, true))));
                XDocument doc = new XDocument(
                new XDeclaration(“۱٫۰”, “”, “”), root);
                doc.Save(Console.Out);

    خروجی فهرست ۱۰ را در شکل ۱ مشاهده می‌کنید.

    شکل ۱

    اگر تمایل دارید این خروجی را در قالب یک فایل XML در اختیار داشته باشید، از دستور doc.Save استفاده کنید. در این حالت به‌جای آن‌که خروجی روی صفحه‌نمایش ظاهر شود، در فایلی که آن‌ را مشخص کرده‌اید، قرار می‌گیرد. در شماره آینده ادامه مبحث LINQ to XML را ادامه خواهیم داد.

     


تاريخ : پنجشنبه ۳۱ فروردین ،۱۳٩٦ ساعت: ۱٠:٤٧ ‎ب.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها :



دانلود آهنگ جدید مهران مدیری یار تویی • اتون

 

 

  • دانلود آهنگ جدید مهران مدیری یار تویی • اتون

    دانلود آهنگ جدید مهران مدیری یار تویی

    و حالا از صبا موزیک ، دانلود ترانه زیبا و جدید هنرمند مهران مدیری بنام یار تویی همراه با متن و کیفیت عالی

    موزیک : مهیار علیزاده / شعر : مولانا

    Download New Music Mehran Modiri – Yaar Toei With Direct Links 320 & 128

    Yaar Toei دانلود آهنگ جدید مهران مدیری یار تویی

    متن آهنگ یار تویی مهران مدیری

    یار مرا غار مرا عشق جگرخوار مرا یار تویی غار تویی خواجه نگهدار مرا
    نوح تویی روح تویی فاتح و مفتوح تویی سینه مشروح تویی بر در اسرار مرا
    نور تویی سور تویی دولت منصور تویی مرغ کوه طور تویی خسته به منقار مرا
    قطره تویی بحر تویی لطف تویی قهر تویی قند تویی زهر تویی بیش میازار مرا
    حجره خورشید تویی خانه ناهید تویی روضه امید تویی راه ده ای یار مرا
    روز تویی روزه تویی حاصل دریوزه تویی آب تویی کوزه تویی آب ده این بار مرا
    دانه تویی دام تویی باده تویی جام تویی پخته تویی خام تویی خام بمگذار مرا
    این تن اگر کم تندی راه دلم کم زندی راه شدی تا نبدی این همه گفتار مرا

    مهران مدیری یار تویی

    منبع : دانلود آهنگ جدید مهران مدیری یار تویی

    تاریخ : ۱۳۹۶/۰۱/۲۶

    نویسنده: علی بابازاده

    اشتراک مطلب با دوستان :


تاريخ : یکشنبه ٢٧ فروردین ،۱۳٩٦ ساعت: ۸:٢٩ ‎ق.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها :



پزشکی و سلامت

 

 

  • پزشکی و سلامت

    دانلود آهنگ جدید سینا سرلک یه بیقرارمموزیک شنیدنی و زیبای خواننده سینا سرلک با عنوان یه بیقرارم همراه با متن موزیک و لینک مستقیم دانلود…موزیک / ترانه سرا / تنظیم کننده : پدرام کشتکارDownload New Song By : Sina Sarlak – Ye Bighararam With Text On Saba-Musicمتن آهنگ یه بیقرارم سینا سرلکاز این که عاشق تو هستم از این که تورو میپرستم من عاشق یه عشق ساده ام ببین چه پیشت بی ارادم کنارتم تو خواب و رویا با تو چه ساده میشه دنیا بیا که از نبودن تو یه عاشقم یه بی قرارم یه عاشقم یه بی قرارم از این ...


تاريخ : چهارشنبه ٩ فروردین ،۱۳٩٦ ساعت: ٩:۱٧ ‎ب.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها :



دانلود آهنگ جدید رضا رامیار مبتلا - آقا و خانوم لوکس

 

 

  • دانلود آهنگ جدید رضا رامیار مبتلا - آقا و خانوم لوکس

    دانلود آهنگ جدید رضا رامیار مبتلا

    رضا رامیار آهنگی جدید رو با عنوان مبتلا آماده کرده کی متونید درا دامه مطلب با متن ترانه و کیفیت عالی دانلود کنید

    موزیک و شعر : رضا رامیار

    Download New Song By : Reza Ramyar – Mobtala With Text On Saba-Music

    Mobtala دانلود آهنگ جدید رضا رامیار مبتلا

    متن آهنگ مبتلا رضا رامیار

    با نگاه تو شروع شد
    انگاری دنیا برا من
    با یکی بودی که اسمت
    قلبمو بد زیر و رو کرد
    با نگاه تو عزیزم
    میگیرم دلشوره بازم
    تو بخند دیوونه میشم
    میزنم به سیم آخر
    این تنم آلوده آغوش آرومت شده دیوونه
    تو نباشی همه جای دنیا واسه قلب من زندونه
    من و تو حتی تو رویا با همیم اینو دنیا میدونه
    این تنم آلوده آغوش آرومت شده دیوونه
    تو نباشی همه جای دنیا واسه قلب من زندونه
    آخ که بدجوری وجودم شده وابسته ی جونت
    عاشقتم دیوونه
    من تو رو میخوام تو این عشقای عالم
    تو فرشته بودی نه نگو یه آدم آدم آدم
    با تو دورم من از این دنیای نامرد
    تو همون حسی که آرزوشو دارم
    مگه چی داری تو این قلب مریضت
    منه مغرور شده اینجوری اسیرت
    این چه دردیه که افتاده به جونم
    تو نباشی بعد تو از کی بخونم
    این تنم آلوده آغوش آرومت شده دیوونه
    تو نباشی همه جای دنیا واسه قلب من زندونه
    من و تو حتی تو رویا با همیم اینو دنیا میدونه
    این تنم آلوده آغوش آرومت شده دیوونه
    تو نباشی همه جای دنیا واسه قلب من زندونه
    آخ که بدجوری وجودم شده وابسته ی جونت

    منبع : دانلود آهنگ جدید رضا رامیار مبتلا


تاريخ : یکشنبه ٦ فروردین ،۱۳٩٦ ساعت: ٤:۳۸ ‎ق.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها :



 
  • [unable to retrieve full-text content]

تاريخ : دوشنبه ۱۸ بهمن ،۱۳٩٥ ساعت: ٩:۱٧ ‎ب.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها : عکس



دانلود آهنگ جدید یوسف زمانی نامه

 

 

  • دانلود آهنگ جدید یوسف زمانی نامه

    دانلود آهنگ جدید یوسف زمانی نامه

    اینبار یوسف زمانی با آهنگی به نام نامه با بهترین کیفیت ممکن و لینک مستقیم در صبا موزیک آماده شده است…

    تنظیم و میکس : محمدعلی ضیا , موزیک و ترانه : یوسف زمانی

    Download New Music “Nameh” Of Yousef Zamani Whit Text On Saba-Music

    Nameh دانلود آهنگ جدید یوسف زمانی نامه

    متن آهنگ نامه از یوسف زمانی

    فقط یه قدم مونده بود که بی بهونه برسیم بهم نمیدونم چی باعث شد که گمت کنم
    که هر شب تو بغض و گریه یادت کنم آره من بدم دارم تقاص بد بودنمو میدم
    این نامه آخره که حرفامو میگم منو بدستای گریه نسپارتم خستم از اینکه تنهاییم
    هی سرزنش کرده قلبمو دائم توو فکر فرداییم به این امید که میایی آخه نبودت شکستم میده
    برگردی قلبم عاشقت میشه اینو قول میده آره قول میدم قول میدم اونی که میخواستی میشم
    فقط باش پیشم بی تو میشم بی تو یه قاب کهنه و شکسته رو دیوار میشم
    حتی واسه یه بارم بذار پیشت بشینم تا صبح ببارم
    آخه به جز تنهایی چاره ای ندارم میدونم ببینیم میگی دوست ندارم
    عزیزم حرفای دلمو تو نامه مینویسم این نامه آخره که حرفامو میگم
    منو بدستای گریه نسپارتم خستم از اینکه تنهاییم هی سرزنش کرده قلبمو دائم توو فکر فرداییم
    به این امید که میایی آخه نبودت شکستم میده برگردی قلبم عاشقت میشه اینو قول میده
    آره قول میدم قول میدم اونی که میخواستی میشم
    فقط باش پیشم بی تو میشم بی تو یه قاب کهنه و شکسته رو دیوار میشم
    یوسف زمانی نامه

    یوسف زمانی نامه

    آهنگ های پیشنهادی دیگر :


تاريخ : شنبه ۱٦ بهمن ،۱۳٩٥ ساعت: ٩:٤٥ ‎ب.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها :



سفارش ساخت 10 کشتی به سازنده روسی • نه بندان نیوز

 

 

  • سفارش ساخت 10 کشتی به سازنده روسی • نه بندان نیوز

    شرکت کشتی‎سازی Krasnoye Sormovo روسیه قرارداد ساخت ۱۰ فروند کشتی را امضا کرد.

    شرکت کشتی‎سازی Krasnoye Sormovo روسیه به تازگی
    قرارداد ساخت پنج فروند کشتی حمل مواد شیمیایی و پنج فروند کشتی حمل محموله‎های
    خشک را برای تحویل در سال ۲۰۱۸ امضا کرده است.

    به گزارش گروه بین الملل نه بندان نیوز،بر اساس این قرارداد کشتی‎های تانکر مورد نظر با
    طول ۱۴۰ متر برای شرکت
    BF
    Tanker
    روسیه، و کشتی‎های حمل کالای خشک برای شرکت روسی Paula Rise خواهد
    ساخت.

    گرچه هنوز شرایط مالی این قرارداد فاش نشده است، اما این
    شرکت کشتی‎سازی اعلام کرد که شرکت
    State Transport Leasing Company (GTLK)
    روسیه از انعقاد این قرارداد حمایت کرده است.

    کشتی‎ساز روسی سه کشتی تانکر نخست را در
    سال ۲۰۱۷ تحویل مشتری خود می دهد، و دو کشتی تانکر دیگر در نیمه اول سال ۲۰۱۸
    میلادی ساخته، تکمیل و تحویل داده می‎شوند. در همین حال، تمامی کشتی‎های حمل کالای
    خشک سفارش داده شده نیز در سال آینده میلادی تحویل می‎شوند.

    کشتی‎سازی Krasnoye Sormovo در ابتدای سال ۲۰۱۷ میلادی
    سفارش ساخت یک فروند کشتی کروز را نیز برای شرکت
    Vodohod دریافت کرده
    بود. این کشتی که قرار است در فوریه ۲۰۲۰ میلادی تحویل داده شود، چهار طبقه، ۱۴۱
    متر طول، و ۱۶٫۸ متر عرض دارد.

    منبع

تاريخ : پنجشنبه ۱٤ بهمن ،۱۳٩٥ ساعت: ٩:٤٦ ‎ق.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها :



 دانلود آهنگ جدید حجت اشرف زاده کوچ

دانلود آهنگ زیبا و شنیدنی خواننده خوش صدای کشور حجت اشرف زاده با نام کوچ با متن ترانه

موزیک : حمید اکبرزاده | میکس و مستر : محمد فلاحی

Download New Music “Barf Amad” Of Hojat Ashrafzadeh Whit Text On Saba-Music

متن آهنگ کوچ از حجت اشرف زاده

کذاب ترین حادثه زندگیم رفت
دیوانه‌ دیوانه‌ دیوانگیم رفت
تو میروی و جان عزیز من مغرور
هر لحظه به من دست تکان میدهد از دور
انگار که تو آمده بودی بروی زود
کز روز تولد به تنت رخت سفر بود
با این همه داغی که دلم دید و تبارم
من این همه غم را به دلم یاد ندارم
بدرود امیدم نفسم عشق عزیزم
آهسته برو پشت سرت آب بریزم
رویای مرا از دل دنیام گرفتی
من سوختم اما تو که آرام گرفتی
این منظره کوچ تو را دشت ندارد
این کوچ همین کوچ که برگشت ندارد
با این همه داغی که دلم دید و تبارم
من این همه غم را به دلم یاد ندارم
بدرود امیدم نفسم عشق عزیزم
 آهسته برو پشت سرت آب بریزم

 حجت اشرف زاده کوچ

دانلود آهنگ جدید محمد علیزاده خدانگهدار

دانلود آهنگ جدید محمد علیزاده تصمیمتو بگیر

دانلود آهنگ جدید محمد علیزاده گاهی بخند

دانلود آهنگ جدید محمد علیزاده 40 درجه

دانلود آهنگ جدید محمد علیزاده یه آدم دیگه‌ای

دانلود آهنگ جدید محمد علیزاده بیمارم

دانلود آهنگ جدید محمد علیزاده بی‌معرفت

دانلود آهنگ جدید مسعود صادقلو هوس باز


 


تاريخ : دوشنبه ۱۱ بهمن ،۱۳٩٥ ساعت: ٩:٤٥ ‎ب.ظ ا نویسنده : مازیار آجودانی ا نظرات ()
تگ ها : دانلود ، آهنگ ، موزیک ، هنز


صفحات سایت


امکانات وب