تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: برنامه ای برای شمارش تعداد خطوط کد

  1. #1
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض برنامه ای برای شمارش تعداد خطوط کد

    سلام
    در این مورد کمی وب گردی کردم و چیزهایی یافتم ولی هیچ کدام باب میلم نبود...
    نتیجتاً خودم یک برنامه کوچک نوشتم.

    - ورودی برنامه میتواند یک تک فایل کد و یا یک دایرکتوری و یا فایلهای پروژه csproj و vbproj باشد.
    - میتوانید فایلهایی که باید شمارش شوند و نشوند را ----- کنید.
    - با فعال سازی گزینه MyComputer handled file extension میتوانید برنامه را به راست کلیک فایلهای vbproj و csproj اضافه کنید.
    - طبیعتاً برنامه برای اجرا در XP نیازمند Framework2 میباشد.
    - انشاا... در نسخه های آتی قابلیت خواندن فایل sln و شمارش چند پروژه و... را اضافه میکنم، چون برنامه را در لیست برنامه هایم ثبت کرده ام، برای آپدیت میتوانید از سیستم آپدیت خود برنامه استفاده.

    دانلود مستقیم، حجم 120K
    support.h02.ir/fwlink/?linkid=13&familyid=3bdd4263-bad9-4dba-9e5d-f7f84c3a0233

    موفق باشید.

  2. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  3. #2
    اگه نباشه جاش خالی می مونه CHAPTER's Avatar
    تاريخ عضويت
    Feb 2009
    محل سكونت
    -_-
    پست ها
    464

    پيش فرض

    دوست عزیز احتمال داره سورس برنامه رو بزارید

  4. #3
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اول به دلیل تاخیر پیش آمده عضر خواهی میکنم، یکم کار داشتم...

    با توجه به ثبت برنامه در لیست نرم افزارهایم، منطقی نیست و نمیتوانم سورس انرا منتشر کنم.
    (
    مثالها و سمپلهای زیادی تا حالا در نت ارائه کرده ام ولی هیچ یک برنامه نبوده اند.
    شاید این اولین برنامه نرم افزاری مجانی من باشد!
    )

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

    - اول یک سری کد لازم داریم که لیست فایلهایی که باید شمارش شوند را استخراج کند.
    --- اگر یک تک فایل سورس باشد، این لیست یک آرایه یک عنصری خواهد بود.
    --- اگر یک دایرکتوری باشد، این لیست یک سرچ فایلهای دایرکتوری خواهد بود. (که البته برای سرعت 50 تا 200 برابر بیشتر از یک کلاسس سفارشی در GHNet.dll استفاده شده!)
    --- اگر هم یک فایل vbproj یا csproj باشد، در واقع فرمت این فایلها xml است و میتوانید آنها را در notepad مشاهده شده و در کد با مشتقات XmlReader آنرا بخوانید و نام و مسیر فایلهای سورس را از خصیصه Include تگهای Compile واکشی کنید (با Notepad ببینید...)

    - بعد نیازمند یک کد filetr هستید که به راحتی میتوانید آنرا با کلاس Regex و عبارات با قاعده پیاده سازی کنید، این کد وظیفه حذف فایلهایی با پسوند و انشعاب غیر مجاز را در داخل بدنه شمارشی دارد.

    - بعد نیاز به یک کد شمارشگر داریم، این کد باید خط به خط را میخواند و یک نوع خاص Trim پرسرعت روی آن اجرا میکند و تعداد کاراکترهای باقی مانده را با تعداد مشخص شده کاربر مقایسه و در صورت بیشتر بودن، شمارنده را افزایش میدهد.
    (من فعلاً پردازشی برای حدف توضیحات برناتامه و REM ها اضافه نکرده ام ولی انشاا... در آینده دستورات شرطی چشم پوشی این خطوط را هم اضافه میکنم و شما هم میتوانید همینکار را انجام دهید.)

    - اصل کار تمام شد، بقیه هم دیگر سرهم بندی و مخلفات است، مثل ...
    --- راست کلیک روی فایلهای شمارشی و Open with notepad ! فقط یک دستور Process.Start کافی است.
    --- یا آن + و - که بازوبسته میشود و در صورت Dock بندی فقط یک تغییر Visible کافی است.
    و...

    =====

    ضمناً یک باگ کوچک و ظیف که شاید در فایلهای vbproj و csproj دستکاری شده باعث بروز مشکل میشد، در برنامه اصلی رفع شد و نسخه جدید را میتوانید مجدداً دانلود کنید و یا از Update خود نرم افزار استفاده کنید.

    =====

    موفق و پیروز باشید.

  5. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  6. #4
    اگه نباشه جاش خالی می مونه CHAPTER's Avatar
    تاريخ عضويت
    Feb 2009
    محل سكونت
    -_-
    پست ها
    464

    پيش فرض

    حق با شما است درخواستم اشتباه بود من فقط می خواستم طریقه Update نرم افزار رو بدونم
    چطور می تونم طوری برنامه ام را بنویسم که در آینده نیاز به دانلود نسخه کامل نباشد بلکه نرم افزار Upgarde کنم.این بخش کار شما برام جذاب بود. اگر راضی بودید یه توضیحی برام بدید.
    بازم ممنون

  7. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    شاید از نظر حرفه ای نتوانم سورس بسیار بسیار ساده و الکی این برنامه را بدهم ولی هر جایی را شما یا دوستان دیگر بخواهند، میتوانم توضیح دهم تا خودتان برنامه ای بسیار بهتر از این بسازید.

    شما نیازمند داشتن یک آدرس اینترنتی هستید، یک وبلاگ هم شاید کافی باشد.
    دو مسئله مهم است.
    1) آپلود فایلهای جدید در فضای وب که در دسترس دانلود برنامه باشد.
    2) ارائه یک مکانیزم برای دادن اطلاعات آپدیتها و آخرین نسخه ها، تا برنامه فقط در صورت آپدیت نبودن اقدام به دانلود کند.

    برای این منظور شما میتوانید از webservice ها یا صفحات serverside عادی استفاده کنید و یا حتی از هیچ کدی در سرور استفاده نکنید و تمام اصول را بر مبنای دانلود عادی قرار دهید. (مثلاً zip و xml)

    نکته ای که اینجا با اهمیت است نوع اپدیت اینترنتی است.
    در یک تقسیم بندی ساده میتوان ان را به دو نوع ساده و پیچیده تفکیک کرد.
    - در نوع پیچیده، برنامه بزرگ است و بخشها و dll و exe و فایلهای دیتای متعدد دارد
    در این برنامه ها سرویس آپدیت خودش همه کار را انجام میدهد و با اعلام ورژن و سریال و سایر مشخصات خودش (و یا ارسال جداگانه برای هر dll)، اطلاعات آپدیتهای دردسترس را میگیرد و اقدام به دانلود میکند.
    در این سیستم باید مکانیزمی برای اجرا شدن یک exe جداگانه در نظر گرفته شود ... و... و...
    کار سختی نیست ولی باید کمی فکر کنید و نیازهای حال و آینده را برسی کنید و یک کد مناسب بنویسید.
    (این مورد در این برنامه استفاده نشده)

    - در نوع ساده (که در همین برنامه فوق الذکر شاهد ان هستید) حجم دانلودی کل برنامه باید پایین باشد و برنامه هم اصول ساده ای داشته باشد.
    در این برنامه کل نسخه جدید مجدداً دانلود میشود و حتی در همین نمونه برای سادگی بیشتر فایلها جدید هم Replace نشده اند.
    چون در این برنامه جاری کوچک از همین مکانیزم استفاده شده، من همین را با جزئیات بیشتر شرح میدهم.
    --- برنامه به سرور و یک آدرس ثابت وصل میشود و کد انحصاری خودش را میدهد (در صورت نیاز یک مقدار license هم فرستاده میشود.)
    --- سرور در جواب این اطلاعات یک فایل xml ای حاوی اطلاعات و مشخصات آخرین نسخه ارسال میکند، چیزی شبیه این:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    --- برنامه ضمن چک کردن اطلاعات، اصلی ترین کاری که میکند نسخه خود را با مقدار Version چک میکند.
    --- درصورتی که نسخه جدیدتری روی سرور موجود باشد، به لیست دانلودها مراجعه میکند و شروع به دانلود میکند.
    --- فایل دانلودی را در محل جاری برنامه ذخیره میکند و در صورت اتمام موفقیت آمیز پیغامی نشان داده و پوشه مربوطه را باز میکند.

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

    سعی کنید، میتوانید.
    موفق باشید.

  8. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •