۷۸ مطلب با موضوع «آموزش :: برنامه نویسی» ثبت شده است

چطور حجم یک پرونده را بدست بیاوریم؟ + کد پایتون + کد سی + کد پرل

اندی پیش به این فکر میکردم که چطور میتوانم حجم یک پرونده را بدست بیاورم و زیر کاپوت این توابع چه چیزی پنهان است.

برای بدست آوردن حجم یک پرونده، البته بدون توجه به فایل‌سیستم و سیستم‌عامل میتوانیم به این صورت عمل کنیم: اول پرونده را باز میکنیم، سپس اشاره‌گر پرونده را به آخرین بایت آن انتقال میدهیم(معمولا تابعی به اسم seek یا مشابه وجود دارد)، حالا مکان اشاره‌گر را نسبت به اول پرونده بدست می‌آوریم(معمولا تابعی به اسم tell وجود دارد). حجم پرونده را به بایت بدست آورده‌ایم.

ادامه مطلب...
مجوز مطالب و محتوا ۳۰ شهریور ۹۶ ، ۱۲:۳۱ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

تکرار یک رشته در پرل - عملگر x

عملگر x در زبان پرل برای تکرار یک رشته به کار میرود،مثال:

$s = "M";
$s = $s . ("o" x 3);
print $s;

خروجی:

Mooo
مجوز مطالب و محتوا ۱۹ شهریور ۹۶ ، ۰۸:۲۸ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

افزودن مقادیر به اشیاء در سی شارپ

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

ادامه مطلب...
مجوز مطالب و محتوا ۱۰ مرداد ۹۶ ، ۱۲:۰۰ ۱ نظر موافقین ۱ مخالفین ۰
BSimjoo

نظرات (۱)

فاروق کریمی زاده

3 روش برنامه نویسی در ویندوز بدون نیاز به برنامه اضافی

در این جا سه روش برنامه نویسی در ویندوز بدون نیاز به برنامه اضافی را به شما معرفی میکنیم.

 

1 - برنامه نویسی بتچ

 

این نوع برنامه نویسی در واقع همان دستورات داس است که تک به تک در خط فرمان اجرا میشوند.کافیست دستورات داس خود را در notepad نوشته و سپس با فرمت bat یا cmd ذخیره کنید. مثلا دستور echo hello که باعث نمایش پیغام hello میشود.

 

2 - برنامه نویسی ویژوال بیسیک اسکریپت

 

این برنامه نویسی از دستورات ویژوال بیسیک 6 پشتیبانی میکند. فقط باید مثل بالا دستورات را بنویسید و با فرمت vbs ذخیره کنید. حال میتوانید آن را اجرا کنید. مثال : msgbox time این مثال زمان فعلی سیستم را نمایش میدهد.

 

3 - برنامه نویسی جاوا اسکریپت

 

باید دستورات جاوا اسکریپت را در آن بنویسید.

 

همه ی این ها را باید بعد از ذخیره اجرا کنید تا نتیجه مشاهده شود.

مجوز مطالب و محتوا ۰۳ مرداد ۹۶ ، ۱۲:۰۰ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

range در پایتون

range([start,]end)
range(start, end[, step])

تابع range در زبان پایتون یک بازه از اعداد صحیح از start تا end-1 بر میگرداند و در صورتی که start ذکر نشود،بصورت پیشفرض ۰ است.step نیز مشخص میکند که فاصله‌ی اعدادی از هم چقدر باشد و بصورت پیشفرض ۱ هست.

ادامه مطلب...
مجوز مطالب و محتوا ۰۶ فروردين ۹۶ ، ۰۹:۰۰ ۲ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

enumerate در پایتون

enumerate در واقع یک کلاس هست و کاربردش زمانیست که بخواهید روی یک لیست(یا هر مخزن دیگر) پیمایش کنید و علاوه بر اعضای لیست، شماره‌ی آنها در لیست را نیز داشته باشید.
enumerate(myList) = (0, myList[0]), (1, myList[1]), (2, myList[2]), ...
سینتکس کلی بصورت زیر هست:
enumerate(myContainer, [start])

ادامه مطلب...
مجوز مطالب و محتوا ۳۰ اسفند ۹۵ ، ۱۹:۱۱ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

حلقه تکرار for-each در سی پلاس پلاس

این نوع حلقه که در c++11(همان C++0x) معرفی شد، الآن در زبان های برنامه نویسی جاوا، سی شارپ، پایتون، پرل و روبی وجود دارد،و برای انجام دادن یک عمل برای تمام اعضای یک مجموعه - مثلا یک آرایه - است. کد زیر را در نظر بگیرید:

int ary[5] = {1, 2, 4, 8, 16};
for (int i = 0; i < 5; i++){
cout << ary[i] << endl;
}

اما با استفاده از حلقه for-each میتوانید کار بالا را بصورت زیر انجام بدهید:

int ary[5] = {1, 2, 4, 8, 16};
for (a : ary){
cout << a << endl;
}

ادامه مطلب...
مجوز مطالب و محتوا ۲۹ اسفند ۹۵ ، ۱۷:۱۷ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

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

نویسنده: محمد رضا حقیری

انتشار: ۸ اسفند ۱۳۹۳

تعداد صفحات:‌۵۴

این کتاب زبان روبی را آموزش میدهد، شاید تنها ایرادی که میتوانم به آن بگیرم «صحبت نکردن در مورد کتابخانه ها» است. با اینحال با درست خواندن کتاب میتوانید به تسلط به زبان روبی برسید(گفته خود کتاب)


حجم: 121 کیلوبایت

مجوز مطالب و محتوا ۲۶ بهمن ۹۵ ، ۲۰:۰۹ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

کتابخانه رمزنگاری ویجنری

رمزنگاری ویجنری یک روش رمز نگاری هست که به دلیل استفاده از کلید نسبتا امنه ولی قبلا شکسته شده است. من قبلا هم این کتابخانه رو درست کرده بودم ولی این بار با الگوریتمی جدید این کتابخانه رو نوشتم. سورس کامل این کتابخانه که با زبان #C نوشته شده در انتها برای دانلود گذاشته شده است.

 

 

 

ادامه مطلب...
مجوز مطالب و محتوا ۲۲ بهمن ۹۵ ، ۲۰:۳۰ ۰ نظر موافقین ۱ مخالفین ۰
BSimjoo

چاپ رشته های چند خطی در پرل

فکر کنم اندی پیش بود که یکی از خوانندگان وبلاگ(از خوانندگان پروپا قرص بودن!) گفتند برای چاپ هر تگ اچ تی ام ال داخل پرل باید یک خط بنویسی. الآن که خودم رفتم سراع نوشتن یک اسکریپت cgi با پرل فهمیدم که اینطور میتونید یک رشته‌ی چند خطی رو چاپ بکنید:

print <<'END';
<!doctype html>
<html><body>
This is just a test
</body></html>
END

البته محدودیت هایی هم داره از جمله اینکه نمیتونید از متغیر ها، استفاده بکنید همونطور که استفاده میکردید:

$val = 111;
print "Value is $val\n";
مجوز مطالب و محتوا ۱۱ بهمن ۹۵ ، ۱۷:۴۹ ۳ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

یک مشاهده‌گر ساده فایل در فرمت شانزده‌شانزدهی(هکس) به زبان پایتون

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

#!/usr/bin/python3
'''
HexView.Py - A simple File Viewer in Hexadecimal format.
Author: FarooqKZ
Under GPL3+. THIS SOFTWARE COMES WITH NO WARRENTY FROM MAIN AUTHOR.
'''

import sys # I inlcude this to use sys.exit() and sys.argv

def showhelp(): # this function shows usage of program
    print("Usage: hexview.py file_path\n\tfile_path: Path of file to view.");
    sys.exit()

if '-h' in sys.argv: #shows help if something like this passed to program: 'hexview.py -h'
    showhelp()

path = sys.argv[1]
filestream = None
fbytes = None

try:
    filestream = open(path,'br') # Open the file in Binary mode for Reading(br)
    fbytes = filestream.read() # Read all bytes from the file 
finally:
    if filestream:
        filestream.close()

rown = 0 
print('')
for b in fbytes:
    s = hex(b).upper()
    s = s.replace('0X','')# "0XBA" => "BA"

    if len(s) == 1: 
        print('0', end='')
    print(s, end=' ')

    rown += 1
    if (rown % 27) == 0:
        print('')

print("\n") # prints 2 newline

پیوند تکه کد در گیت هاب گیست ( برای دریافت به اینجا بروید)

مجوز مطالب و محتوا ۱۶ دی ۹۵ ، ۰۹:۰۰ ۳ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

یک مشاهده‌گر ساده فایل در فرمت شانزده‌شانزدهی(هکس) به زبان سی

این تکه کد ساده یک مشاهده گر ساده هست که تک تک بایت های فایل را داخل مبنای شانزده(Hex) نمایش میده.

// hexview.c
// Author: FarooqKZ
// It's free software under GPL3+ and comes WITHOUT ANY WARRENTY FROM MAIN AUTHOR
#include <stdio.h>

int main(int argc, char *argv[]){
    if (argc == 1 || !strcmp(argv[1], "-h")){
        printf("Usage: hexview file_path\n");
        return 0;
    }
    FILE *fs = fopen(argv[1], "r");
    long byte_number = 0;
    while(1){
        if ((++byte_number % 26) == 0) // goes to new line each 26 bytes
            printf("\n"); // you may remove this part and then use fold to split it into lines


        int t = getc(fs);
        if (t == EOF)
            break;

        printf("%.2X ", t);
    }
    printf("\n");
    return 0;
}

پیوند کد در گیت‌هاب گیست(برای دریافت به اینجا بروید)

مجوز مطالب و محتوا ۰۴ دی ۹۵ ، ۱۶:۱۸ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

رمزنگاری ویجنر در #C

ویجر (vigenere) یکی از شیوه های امن در کد گزاری الفبایی است که من اون رو به صورت یک کتابخانه برای #C نوشتم تا هر متنی را با هر کلید دلخواه و با استفاده از چند متد ساده کد گذاری کنید.

کارکتر های مجاز:

"A-Z a-z 0-9 (SPACE) "!@#$%^&*()[]{}<>_-+=\/."

 

دانلود فایل زیپ سورس با حجم 227kb

دانلود

 

دانلود کتابخانه .net با حجم 116kb

دانلود

مجوز مطالب و محتوا ۱۷ مرداد ۹۵ ، ۱۵:۰۰ ۱ نظر موافقین ۰ مخالفین ۰
BSimjoo

نظرات (۱)

دانلود کتاب آموزش سریع پرل


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

حجم: 122 کیلوبایت
مجوز مطالب و محتوا ۱۷ مرداد ۹۵ ، ۱۲:۰۰ ۲ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

نظرات (۲)

محمد آذرکار

مخازن توکار در پایتون

تقریبا در تمام زبان هایی که از نسل سی هستند شما چیزی به اسم مجموعه‌ها یا آرایه‌ها می‌بینید.در زبان سی یک آرایه، یک مجموعه از متغیر های همنوع هست که خانه‌های مجاور حافظه به آن تخصیص داده شده است.آرایه زیر یک آرایه از 3 عدد صحیح هست:

int ary[3] = {1, 2, 3};
printf("%i\n", ary[0]); // prints 1

در پایتون چیزی به اسم آرایه وجود ندارد.خود زبان پایتون بصورت ذاتی(منظورم builtin یا توکار هست) چهار نوع مخزن دارد: لیست‌ها(Lists)،توپل‌ها(Tuples)،دایرکتوری‌ها(Directories) و مجموعه‌ها(Sets).

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

ادامه مطلب...
مجوز مطالب و محتوا ۱۴ مرداد ۹۵ ، ۱۹:۰۰ ۱ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

علیرضا آهنی