أرشيف التصنيف ‘برمجة’

01
Jun

بسبب خسارتي لبياناتي اكثر من مرة رأيت ان مشاركة ملفاتي الموجودة علي القرص الصلب أمراً صائبا لان ما كنت اشاركه هو الشيء المتبقي لذا ربما ستجدون مقالات من هذا النوع ومنها هذا المقال و الذي يحتوي علي كلاس فكرته موجوده في كتاب البرمجة الشيئية الذي امتحنت فيه قبل ايام.

الكلاس مكتوبة ب VB.Net و تبحث عن عدد الملفات الموجود في مكان معين باستخدام تاريخ الملفات او حجمها او امتداتها و الكود يفسر نفسه

Class CountFiles
'// Get Files Number in Specific Folder - License: Public Domain
    Public Overloads Function GetFiles(ByVal Max As Integer, ByVal Min As Integer, ByVal PATH As String) As Integer
        Max = Max * 1024 * 1024 'To Convert MB to Byte
        Min = Min * 1024 * 1024 'To Convert MB to Byte
        Dim files() As String
        files = System.IO.Directory.GetFiles(PATH)
        Dim i, counter As Integer
        For i = 0 To UBound(files)
            Dim F1 As New System.IO.FileInfo(files(i))
            If F1.Length < Max And F1.Length > Min Then
                counter += 1
            End If
        Next
        Return (counter)
    End Function
    Public Overloads Function GetFiles(ByVal toDate As Date, ByVal FromDate As Date, ByVal PATH As String) As Integer
        'To Get Files Nuumber By Date
        Dim files() As String
        files = System.IO.Directory.GetFiles(PATH)
        Dim i, counter As Integer
        For i = 0 To UBound(files)
            Dim F1 As New System.IO.FileInfo(files(i))
            If F1.CreationTime.Date < toDate And F1.CreationTime.Date > FromDate Then
                counter += 1
            End If
        Next
        Return (counter)
    End Function
    Public Overloads Function GetFiles(ByVal ext As String, ByVal PATH As String) As Integer
        'To Get Files Nuumber By Extention
        Dim files() As String
        files = System.IO.Directory.GetFiles(PATH, "*." + ext)
        Dim i, counter As Integer
        For i = 0 To UBound(files)
            counter += 1
        Next
        Return (counter)
    End Function
End Class

للتاكد من عمل الكلاس
اكتب الكود الأتي في اي زر

Dim DllFiles As New CountFiles()
MsgBox(DllFiles.GetFiles("dll", "c:/windows"))

سيأتي لك بعدد الملفات ذات الأمتداد DLL في المجلد c:/windows
ارجو ان يستفاد شخص ما من هذه الفئة

, , ,

10
Jan

منذ فترة و انا انوي ان اخصص وقت لتعلم برمجة الشيل Shell Scripting و لكن جدولي كان و لازال الي حدا ما مكتظاً فقلت افضل شيء يجبرني علي تخصيص لوقت لتعلمها هو البدء بأي مشروع و بالفعل و علي الفور قمت بانتقاء فكرة لشيء فعلا استخدمه و احتاجة في تعاملي اليومي مع اللينوكس و هي القوالب الجاهزة مثل ان اقوم في الابونتو ب

R.Click >> Create Document >> Empty File

لاقوم بانشاء ملف نصي فارغ لاكتب فية ما اشاء بدل من كتابة الامر touch newfile في سطر الاوامر و من هنا جاءت الفكرة.

ثم قمت بكتابة هذا الاسكربت بناءً عن معلوماتي السابقة بأوامر الشيل و كما اعلم انه بسيط جدا و لكن الهدف منه هو جعلي ابدأ تعلم برمجة الشيل حتي اطوره

Ubuntu Templates

هو اسكربت لتسهيل عملية انشاء ملفات فارغة من خلال قائمة زر الفارة الايمن عوضا عن فتح برامج مثل حزمة الاوبن اوفيس مثلا او Gimp ثم انشاء ملف جديد.

مميزات الاسكربت

الاسكربت يدعم مجموعة الاوفيس و برنامج ال Gimp نظرا لانهم موجدين افتراضيا في كل توزيعة ubuntu ايضا الاسكربت يساعدات علي انشاء ملفات xhtml من النوع frameset و transitional و Strict و يوفر عليك كتابة مثل هذا الكود

<!DOCTYPE html
PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN

http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>

<html>
<head>
<title>simple document</title>
</head>
<body>
<p>a simple paragraph</p>
</body>
</html>

استخدام الاسكربت

هذا الاسكربت تمت برمجته لاغراض تعليمية بحته و ملائم لاستخدامي الشخصي و تمت تجربته علي Ubuntu 7.10 بنجاح و انت مدعو لاستخدام الاسكربت او تطويره او تصحيح اخطائي كمان الان الاسكربت تحط رخصة GPL

الكود

قم بتحمي الاسكربت من هنـــــــا

#!/bin/bash
# Ubuntu Templetes is open Source Shell Script Under GPL
# Please, Feel Free To Use, Modfiy and Re-write it.
# Created By Ahmed Mahmoud < http://amaiko.net/contact/ >
clear
TODAY=$(date)
HOST=$(hostname)
echo “——————————————”
echo ” Date: $TODAY”
echo “——————————————”
echo ” Host:$HOST User:$USERNAME”
echo “——————————————”
echo ” Ubuntu Templetes 0.0.9″
echo “http://amaiko.net/linux/ubuntu-templetes”
echo “——————————————”
echo “Script Files Tree :
Templates/
– GIMP.xcf
|– OO-Calc.ods
|– OO-DataBase.odb
|– OO-Impress.odp
|– OO-Writer.odt
— XHTML
|– Strict.html
|– frameset.html
— transitional.html”
echo “………20%”
cd
mkdir Temp-dir
cd Temp-dir
echo “…………….40%”
touch OO-Writer.odt
touch OO-Calc.ods
touch OO-Impress.odp
touch OO-DataBase.odb
touch GIMP.xcf
echo “………………….60%”
mkdir XHTML
cd XHTML
echo “<!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html>
<head>
<title>simple document</title>
</head>
<body>
<p>a simple paragraph</p>
</body>
</html>
” > Strict.html
echo “<!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html>
<head>
<title>simple document</title>
</head>
<body>
<p>a simple paragraph</p>
</body>
</html>
” > transitional.html
echo “<!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>
<html>
<head>
<title>simple document</title>
</head>
<body>
<p>a simple paragraph</p>
</body>
</html>
” > frameset.html
cd
echo “…………………………80%”
rm -rf Templates
mv Temp-dir Templates
echo “………………………………Done”
echo “Don’t Delete This Dir >> $HOME/Templates”

نفذ الاسكربت علي جهازك

لتشغيل الاسكربت قم بكتابة التالي في سطر الاوامر
cd
gedit templates
ثم قم بنسخ و لصق الكود و احفظ الملف ثم
sh templates
ليتم تنفيد البرنامج
او
chmod +x templates
./templates

لاضافة خاصية في الاسكربت

- لاضافة خاصية معينة كنوع معين من الامتدادت و ليكن من النوع .rb ابحث عن touch GIMP.xcf و اضف بعدها touch RubyFile.rb

Bugs

هذه المنطقة لاضافة ال bugs الخاصة بالاسكربت
حاليا الاسكربت يقوم بانشاء ملفات الاوبن اوفيس و ال Gimp علي اساس انها ملفات نصية
ارجو ان كنت تمتلك الحل ساعدني

, , , , , ,