كود البرنامج
<%
'======================================================================== = =========
"تصدير السجلات كملف (.csv)."
"تاريخ الإنتاج: مارس 2003."
المؤلف: الثلوج في سايبي
'======================================================================== = =========
فئة التصدير_CSV
كائن نظام الملفات الخاص FSO
تصدير خاص
خافت Exp_Type
فرعي خاص Class_Initialize ()
set FSO= Server.CreateObject("Scripting.FileSystemObject") 'إنشاء مثيل كائن نظام الملفات
Exp_Type=1 'نوع التصدير 1 هو وضع الإلحاق لكتابة ملف 2 هو إنشاء ملف جديد ثم الكتابة
النهاية الفرعية
'أغلق الكائن
فرعي خاص Class_Terminate()
fExport.Close
تعيين FSO = لا شيء
النهاية الفرعية
'تصدير البرنامج الرئيسي (استخدم المصفوفة لتحديد الحقول)
الوظيفة العامة ExportFile (fullpath، rsSet، HeaderArray)
إذا Exp_type = 1 ثم
إذا لم يكن ExistFile (fullpath) إذن
إذا كان CreateFile (fullpath) ثم
WriteHeaderHeaderArray
WriteBody rsSet,HeaderArray
آخر
err_Show "حدث خطأ أثناء إنشاء الملف!"
نهاية إذا
آخر
إذا كان OpenFile(fullpath) إذن
WriteBody rsSet,HeaderArray
آخر
err_Show "حدث خطأ أثناء فتح الملف!"
نهاية إذا
نهاية إذا
elseif Exp_type=2 إذن
إذا ExistFile (fullpath) ثم
err_Show "تعارض اسم الملف!"
آخر
إذا كان CreateFile (fullpath) ثم
WriteHeaderHeaderArray
WriteBody rsSet,HeaderArray
آخر
err_Show "حدث خطأ أثناء إنشاء الملف!"
نهاية إذا
نهاية إذا
نهاية إذا
إذا أخطأ = 0 ثم
ملف التصدير = صحيح
آخر
ملف التصدير = خطأ
نهاية إذا
وظيفة النهاية
'اكتب العنوان المحدد
رأس الكتابة الفرعي العام (HeaderArray)
س لاين = ""
لـ i=0 إلى ubound(HeaderArray,2)
sLine=sLine & ""، & HeaderArray(0,i)
التالي
إذا sLine<>"" إذن
sLine=يمين(sLine,len(sLine)-1)
fExport.WriteLine(sLine)
نهاية إذا
end sub
'إخراج معلومات الحقل المحددة بواسطة مجموعة السجلات
WriteBody العامة الفرعية (rsSet، HeaderArray)
rsSet.movefirst
افعل حتى rsSet.EOF
س لاين = ""
لـ i=0 إلى ubound(HeaderArray,2)
sLine=sLine & ""، & rsSet(HeaderArray(1,i))
التالي
إذا sLine <> "" ثم
sLine = يمين (sLine، Len (sLine)-1)
fExport.WriteLine(sLine)
نهاية إذا
rsSet.MoveNext
حلقة
النهاية الفرعية
'تصدير البرنامج الرئيسي (مجموعة السجلات الكاملة)
الوظيفة العامة ExportFile2 (fullpath، rsSet)
إذا Exp_type = 1 ثم
إذا لم يكن ExistFile (fullpath) إذن
إذا كان CreateFile (fullpath) ثم
WriteHeader2 rsSet
WriteBody2 rsSet
آخر
err_Show "حدث خطأ أثناء إنشاء الملف!"
نهاية إذا
آخر
إذا كان OpenFile(fullpath) إذن
WriteBody2 rsSet
آخر
err_Show "حدث خطأ أثناء فتح الملف!"
نهاية إذا
نهاية إذا
elseif Exp_type=2 إذن
إذا ExistFile (fullpath) ثم
err_Show "تعارض اسم الملف!"
آخر
إذا كان CreateFile (fullpath) ثم
WriteHeader2 rsSet
WriteBody2 rsSet
آخر
err_Show "حدث خطأ أثناء إنشاء الملف!"
نهاية إذا
نهاية إذا
نهاية إذا
إذا أخطأ = 0 ثم
ExportFile2=صحيح
آخر
ExportFile2=خطأ
نهاية إذا
وظيفة النهاية
'اكتب اسم الحقل كعنوان
WriteHeader2 الفرعي العام (rsSet)
س لاين = ""
لـ i=0 إلى rsSet.fields.count-1
sLine=sLine & ""، & rsSet.fields(i).name
التالي
إذا sLine<>"" إذن
sLine=يمين(sLine,len(sLine)-1)
fExport.WriteLine(sLine)
نهاية إذا
end sub
'معلومات مجموعة سجلات الإخراج
WriteBody2 الفرعي العام (rsSet)
rsSet.movefirst
افعل حتى rsSet.EOF
س لاين = ""
لـ i=0 إلى rsSet.fields.count-1
sLine=sLine & ""، & rsSet.fields(i).value
التالي
إذا sLine <> "" ثم
sLine = يمين (sLine، Len (sLine)-1)
fExport.WriteLine(sLine)
نهاية إذا
rsSet.MoveNext
حلقة
النهاية الفرعية
"رسالة خطأ في الإخراج."
Err_Show الفرعي الخاص (errDesc)
الاستجابة.اكتب errDesc
الاستجابة.النهاية
النهاية الفرعية
'إنشاء ملف
الوظيفة العامة CreateFile (المسار الكامل)
تعيين fExport = FSO.CreateTextFile (FullPath، false)
إذا أخطأ = 0 ثم
إنشاء ملف = صحيح
آخر
إنشاء ملف = خطأ
نهاية إذا
وظيفة النهاية
'افتح ملفًا
الوظيفة العامة OpenFile (fullpath)
تعيين fExport=FSO.OpenTextFile(fullPath,8,false)
إذا أخطأ = 0 ثم
الملف المفتوح = صحيح
آخر
الملف المفتوح = خطأ
نهاية إذا
وظيفة النهاية
'تحديد ما إذا كان الملف الذي يحمل اسم الملف المحدد موجودًا أم لا
الوظيفة العامة ExistFile (المسار الكامل)
إذا كان FSO.FileExists(fullpath) إذن
ExistFile=true
آخر
ExistFile=false
نهاية إذا
وظيفة النهاية
endClass
%>