SlowCode
یک شنبه 20 مرداد 1392, 03:53 صبح
سلام
امروز یهو به ذهنم رسید که چرا ما چندتا کلاس نمینویسیم که توی پروژه هامون ازشون استفاده کنیم و همش میریم از لای پروژه های فسیل شدمون یه تکه کد بر میداریم و میذاریم تو پروژه جدید؟
یا مثلا اون کلاس رو انتشار بدیم تا افراد مبتدی هم خیلی راحت ازش استفاده کنن!
تو موضوعات مختلفی میتونیم کلاس بنویسم، مثلا:
1- کار با رشته ها، از قبیل: خواندن، نوشتن، تبدیل utf8 - خواندن فایل از خط x به y و ...
2- کار با کیبورد، مثلا: خواندن کلیدهای فشرده شده، فرستادن کلید، تغییر زبان و ...
3- دسترسی به اطلاعات سیستم و ویرایش آنها.
4- کار با رجیستری.
5- گرافیک، مثلا: تبدیل انواع رنگ ها(مثل hsl,rgb,...) به همدیگر.
...
حالا من از شما دوستان 2 تا درخواست دارم:
1- نظرتون رو در مورد این کار بگید.
2- کسانیکه میخوان تو این کار کمک کنن اعلام آمادگی کنن.
فقط دوستانی که قراره با هم کار کنیم باید با طرز کد نویسی همدیگه آشنا بشیم و 100% از یه نوع کد نویسی استاندارد استفاده کنیم(البته من خودم تو این مثال پایین زیاد رعایت نکردم:لبخندساده:) تا درک کدهای همدیگه آسون بشه. و سعی کنیم کامنت گذاری هم بکنیم(انگلیسیش بهتره به نظرم).
درکل به نظرم کار سختی نیست! فقط حوصله میخواد.
انتظار دارم Mr'Jamshidy اولین نفری باشه که اعلام آمادگی میکنه.:لبخند:
من همین الان یه نمونه ساده واسه stream نوشتم:
StringClass:
Public Function ReadTextFile(ByVal Path As String, Optional FromLine As Integer = 1, Optional ToLine As Integer) As String
Ln = 0
Open Path For Input As #1
While EOF(1) = False
Ln = Ln + 1
Input #1, txt
If Ln >= FromLine And Ln <= ToLine Then
Content = Content & txt
If Content <> "" Then Content = Content & vbCrLf
End If
Wend
Close #1
ReadTextFile = Content
End Function
Public Function ReadBinaryFile(ByVal Path As String, Optional FromByte As Long, Optional ToByte As Long) As Variant
Dim Arr() As Byte
Open Path For Binary As #1
ReDim Arr(LOF(1))
Get #1, , Arr
Close #1
If FromByte < LBound(Arr) And ToByte > UBound(Arr) Then
Dim new_arr() As Byte
ReDim new_arr(ToByte - FromByte)
For i = 0 To UBound(new_arr)
new_arr(i) = FromByte + i
Next
End If
ReadBinaryFile = Arr
End Function
Public Function ArrayToString(ByVal Arr As Variant, Optional BinToAsc As Boolean = False) As String
For i = LBound(Arr) To UBound(Arr)
If BinToAsc = True Then
txt = txt & Chr$(Arr(i))
Else
txt = txt & Arr(i)
End If
Next
ArrayToString = txt
End Function
امروز یهو به ذهنم رسید که چرا ما چندتا کلاس نمینویسیم که توی پروژه هامون ازشون استفاده کنیم و همش میریم از لای پروژه های فسیل شدمون یه تکه کد بر میداریم و میذاریم تو پروژه جدید؟
یا مثلا اون کلاس رو انتشار بدیم تا افراد مبتدی هم خیلی راحت ازش استفاده کنن!
تو موضوعات مختلفی میتونیم کلاس بنویسم، مثلا:
1- کار با رشته ها، از قبیل: خواندن، نوشتن، تبدیل utf8 - خواندن فایل از خط x به y و ...
2- کار با کیبورد، مثلا: خواندن کلیدهای فشرده شده، فرستادن کلید، تغییر زبان و ...
3- دسترسی به اطلاعات سیستم و ویرایش آنها.
4- کار با رجیستری.
5- گرافیک، مثلا: تبدیل انواع رنگ ها(مثل hsl,rgb,...) به همدیگر.
...
حالا من از شما دوستان 2 تا درخواست دارم:
1- نظرتون رو در مورد این کار بگید.
2- کسانیکه میخوان تو این کار کمک کنن اعلام آمادگی کنن.
فقط دوستانی که قراره با هم کار کنیم باید با طرز کد نویسی همدیگه آشنا بشیم و 100% از یه نوع کد نویسی استاندارد استفاده کنیم(البته من خودم تو این مثال پایین زیاد رعایت نکردم:لبخندساده:) تا درک کدهای همدیگه آسون بشه. و سعی کنیم کامنت گذاری هم بکنیم(انگلیسیش بهتره به نظرم).
درکل به نظرم کار سختی نیست! فقط حوصله میخواد.
انتظار دارم Mr'Jamshidy اولین نفری باشه که اعلام آمادگی میکنه.:لبخند:
من همین الان یه نمونه ساده واسه stream نوشتم:
StringClass:
Public Function ReadTextFile(ByVal Path As String, Optional FromLine As Integer = 1, Optional ToLine As Integer) As String
Ln = 0
Open Path For Input As #1
While EOF(1) = False
Ln = Ln + 1
Input #1, txt
If Ln >= FromLine And Ln <= ToLine Then
Content = Content & txt
If Content <> "" Then Content = Content & vbCrLf
End If
Wend
Close #1
ReadTextFile = Content
End Function
Public Function ReadBinaryFile(ByVal Path As String, Optional FromByte As Long, Optional ToByte As Long) As Variant
Dim Arr() As Byte
Open Path For Binary As #1
ReDim Arr(LOF(1))
Get #1, , Arr
Close #1
If FromByte < LBound(Arr) And ToByte > UBound(Arr) Then
Dim new_arr() As Byte
ReDim new_arr(ToByte - FromByte)
For i = 0 To UBound(new_arr)
new_arr(i) = FromByte + i
Next
End If
ReadBinaryFile = Arr
End Function
Public Function ArrayToString(ByVal Arr As Variant, Optional BinToAsc As Boolean = False) As String
For i = LBound(Arr) To UBound(Arr)
If BinToAsc = True Then
txt = txt & Chr$(Arr(i))
Else
txt = txt & Arr(i)
End If
Next
ArrayToString = txt
End Function