خرداد ۲۸
موردی که شرح آن در ادامه آمده است، مشکلی است که هنگامی برای من پیش آمد که قصد داشتم در BusinessLayer یک برنامه چند لایه یک Distributed Transaction برای بروز رسانی و انتقال اطلاعات بین دو پایگاه داده Oracle۹i و SQLServer۲۰۰۰ بنویسم. ادامه مطلب »
مهدی حیدری
دی ۲۱
بنام خدا
تعطيلات غيرمنتظرهاي که بدليل بارش برف بوجود آمد اين فرصت را براي من بوجود آورد تا بتوانم نگارش Delphi نمونه برنامه DBTreeView را بعد از يک بدقولي طولاني مدت روي سايت بگذاريم.میتوانید این برنامه را از اینجا بارگیری کنید.
اين برنامه تکهاي از يک برنامه نوشته شده در گذشته است که در آن آيات قرآن بصورت سوره به سوره در يک درخت راست به چپ نمايش داده ميشود.
همانطور که گفته شد اين برنامه با دلفي ۷ و براي بانک اطلاعاتي Access نوشته شده و براي نمايش راست به چپ درخت از کامپوننت Virtual TreeView استفاده شده است.[مي توانيد اين کامپوننت را با مراجعه به اين آدرس بارگيري کنيد.]
يک DLL هم در اين برنامه استفاده شده است که کار وظيفه آن جدا کردن کلمات در رشتههاست( Split String). بخش مربوط به استخراج اطلاعات از پايگاه اطلاعاتي و نمايش آن بصورت مناسب نيز به صورت چند تابع ساده در داخل برنامه قرار داده شده است.
سعي شده است اين برنامه در نهايت سادگي نوشته شود، بنابراين توضيحات بيشتر در صورت درخواست شما داده خواهد شد.
مهدی حیدری
آبان ۲۸
این هم چند تا کانکشناسترینگ برای پایگاهدادههای مختلف
Oracle:
Data Source=YourOracleDataBaseName;User ID=YourUserNAme; Password=YourPassword; Unicode=True
SQLServer:
Data Source=YourSQLServerInstanceName;Initial Catalog=YourDataBase; User ID=YourUserName; Password=YourPassword
SQLServer Mobile Edition: (For Windows CE and Windows Mobile Edition OSes)
Data Source =”YourSQLServerMobileDBPath”;Password=YourPassword
Access
Provider=Microsoft.Jet.OLEDB.۴.۰;Data Source=”YourDBFileAddress”
مهدی حیدری
آبان ۲۶
- Technology: .Net2
- زبان برنامه نویسی: #C
- سطح: متوسط
سلام
این هم یک کد ساده که بوسیله آن میتوانید یک درخت (ٰTree) را با استفاده از اطلاعات جداول (Table) پایگاهداده (DataBase) پر کنید.
سورس برنامه DBTree را میتوانید از اینجا بارگیری کنید.
نکته خاصی در این برنامه نگذاشتم و تنها منظورم از گذاشتن این برنامه (که قبلاً هم آن را در CodeProjects قرار دادم) نمایش الگوریتم شبیهسازی یک درخت بر اساس اطلاعات پایگاه داده بود.
برای اطلاعات مربوط به جداول هم میتوانید این دیتابیس را بارگیری کرده و به SQLServer سیستم Attach کنید.
سورس دیتا یتابیس برنامه را میتوانید از اینجا بارگیری کنید.
اطلاعات بیشتر را هم میتوانید در این آدرس ببینید و اگر باز هم نکته مبهم یا سئوالی بود در قسمت نظرات بنویسید تا جواب بدهم.
مهدی حیدری
آبان ۲۶
سلام
این هم از فونت نستعلیق که میتوانید در نرمافزارهایی مثل Word از آن به راحتی استفاده کنید؛ و دیگر نیازی به نرمافزارهایی مثل “میرعماد” که امکان استفاده از فونت نستعلیق تو Word رو بوجود میآوردند، ندارید.
اطلاعات و توضیحات کاملتر را میتوانید در پورتال شورای عالی اطلاعرسانی کشور ببینید.
البته مشکلاتی هم دارد. مثلاً در کلمهای نظیر “گچی” نقطه “چ” بدلیل اینکه به پایین تر از محدوده مجاز ارتفاع هر فونت (Font Height) منتقل می شود؛ یکی از نقطهها ناپدید میشود.
اگر فونت را بصورت باینری باز کنید به اطلاعات زیر می رسید که در داخل فونت قرار داده شده است.
Design by Hossein Zahedi.
IranNastaliqRegularHamoonsoft: IranNastaliq: ۲۰۰۷
IranNastaliqVersion ۱.۰۰۱
IranNastaliqIranNast? is a trademark of scict.ir
http://www.hamoonsoft.com
NOTIFICATION OF LICENSE AGREEMENT
This typeface is the property of scict.ir Copration and its use by you is covered under the terms of a license agreement. You have obtained this typeface software either directly from Hamoonsoft or together with software distributed by one of scict’s licensees.This software is a valuable asset of scict. Unless you have entered into a specific license agreement granting you additional rights, your use of this software is limited to your workstation for your own publishing use. You may not copy or distribute this software.If you have any question concerning your rights you should review the license agreement you received with the software or contact scict for a copy of the license agreement.
scict can be contacted at:http://www.scict
مهدی حیدری
مهر ۱۴
مقایسه بین abstract و Interface :
۱ - اعضای اینترفیس Public هستند اما اعضای abtract میتوانند public, protected و … باشند.
۲ - یک کلاس انتزاعی (abstract) هم اعضای انتزاعی دارد و هم اعضای غیرانتزاعی اما اعضای اینترفیس انتزاعی هستند.
۳ - یک کلاس میتواند چندین اینترفیس به عنوان کلاس پایه داشته باشد ولی تنها میتواند یک کلاس abstract داشته باشد.
۴- در یک اینترفیس تنها میتوان اعضاء را معرفی کرد و شرح آن (بدنه توابع و …) در کلاسی که بر پایه این اینترفیس ایجاد میشود قرار میگیرد؛ ولی در کلاسهای انتزاعی میتوان بصورت پیشفرض شرح عناصر در داخل همان کلاس نوشت.
۵ - با توجه به نکته ۴ اگر در داخل یک اینترفیس یک عنصر جدید اضافه کنیم باید در تمامی کلاسهایی که بر پایه این اینترفیس نوشته شدهاند شرح این عنصر جدید را بنویسیم ولی اگر در یک کلاس انتزاعی یک عنصر اضافه کنیم میتوان همان جا آن را شرح دهیم(مثلاً بدنه تابع را تعریف کنیم). از سوی دیگر همین موضوع باعث میشود که برای هر کلاسی که از یک اینترفیس ارث برده باشد یک تعریف جدا برای عناصر اینترفیس بنویسید بنابراین تغییر در کد توابع مانعی برای سایر کلاسها ایجاد نمیکند اما در صورتی که در یک کلاس انتزاعی چیزی را تغییر دهید ممکن است برای کلاسهایی که از آن ارث بردهاند مشکل ایجاد کند.
مهدی حیدری
مهر ۱۲
Abstract یا انتزاعی: هرگاه قصد داشته باشیم تا یک کلاس پایه برای کلاسهای دیگر تعریف کنیم، از abstract استفاده میکنیم.
کلیه اعضایی که در یک کلاس انتزاعی تعریف میشوند و یا کلیه اعضای یک کلاس که کلمه کلیدی abstract برای آنها ذکر شده (یعنی به عنوان یک عنصر انتزاعی معرفی شدهاند) باید در کلاسی که بر پایه این کلاس ایجاد میشوند، شرح داده شوند.
در مورد کلاسهای انتزاعی نکات زیر مهم است:
۱- نمیتوان از کلاسهای انتزاعی نمونه گرفت(اصطلاحاً newکرد).
۲- نمیتوان یک کلاس انتزاعی را با استفاده از sealed تغییر داد،این به معنی نیز هست که نمیتوان از این کلاس ارث برد.
۳- در یک کلاس غیرانتزاعی که بر پایه یک کلاس انتزاعی ایجاد شده است باید کلیه متدها و accessor هایی که که از کلاس پایه گرفته شده است شرح داده شود.
مشخصات یک کلاس انتزاعی
۱ - یک متد انتزاعی یک متد مجازی است.
۲ - معرفی یک متد مجازی تنها در کلاسهای انتزاعی مجاز است.
۳ - به دلیل اینکه معرفی یک کلاس انتزاعی،شرحی برای آن کلاس ایجاد نمیدهد،بنابراین بدنهای هم برای متدهای انتزاعی وجود ندارد. به عبارت دیگر معرفی یک متد انتزاعی با قرار دادن یک “;” در انتهای آن پایان مییابد و خبری از {} نیست.
۴- برای شرح یک متد انتزاعی در یک کلاس غیرانتزاعی،از overrideاستفاده میکنیم.
۵- استفاده از کلمات کلیدی static و virtual برای متدهای انتزاعی غیرمجاز بوده و باعث خطا میشود.
مهدی حیدری
مهر ۰۸
Interface یک reference typeاست و تنها شامل عناصر انتزاعی(abstract) است. اعضای یک Interface میتوانند رخدادها، متدها، خواص اشیاء (Property) و ایندکسرها باشند. اما اینترفیس تنها حاوی معرفی اعضاء خودش است. هر گونه شرح اعضاء باید داخل یک کلاس قرار بگیرد. ثابتها (Constants)و فیلدهای دادهای(Data Fields)و سازندهها و مخربها(constructures & destructures) و اعضای استاتیک (static) نمیتوانند در اینترفیس باشند.
تمام اعضایی که در یک اینترفیس شرح داده میشوند public هستند.
ادامه مطلب »
مهدی حیدری
مهر ۰۳
بخش گالری بصورت کامل و بهعنوان یک ماژول مجزا همراه با امکانات جدید و سرعت بالاتر به روز شد.
این بخش با استفاده از فلش ایجاد شده است و باعث میشود تا کاربران در مراجعات بعدی با سرعت بسیار بالاتر نسبت به نمونه قبلی تصاویر را مشاهده نمایند.
تصاویری که در حال حاضر در این بخش گنجانده شدهاند شامل مجموعهای از کارهای گرافیکی انجام شده در بخش های مختلف مانند تصویرسازی، نقاشی، چاپ، نمونه برنامههای مالتی مدیا و … میباشد و در ادامه نیز این مجموعه کامل تر خواهد شد.
مهدی حیدری
شهریور ۲۶
با اینکه به احتمال زیاد این فیلتر شدن،یک اشتباه غیر عمد است (حداقل امیدوارم اینطور باشد)؛باز هم بروز چنین اشتباهاتی بسیار ناپسند است بخصوص که در حال حاضر (ساعت ۷ صبح) نزدیک به ۹ ساعت از زمانی که من متوجه شدم گوگل فیلتر شدهاست میگذرد. حالا این موضوع که آیا قبل از ساعت ۱۰ شب هم فیلتر بودهاست یا خیر را نمیدانم.
در هر صورت امیدوارم این فیلتر شدن مشکل ISP باشد که من از آن ااستفاده میکنم.

مهدی حیدری
آخرین نظرات...