الاخوة الزملاء
السلام عليكم ورحمة الله وبركاتة
يوجد لدي جدول يحتوي علي 7000 صورة والمطلوب هو تصدير هذه الصور دفعة واحدة الي مجلد خارجي علي الهارد ديسك
بحيث يتم تصدير الصورة ويكون اسم الصورة هو كود الموظف الموجود في حقل كود الموظف
مرفق مثال
الاخوة الزملاء
السلام عليكم ورحمة الله وبركاتة
يوجد لدي جدول يحتوي علي 7000 صورة والمطلوب هو تصدير هذه الصور دفعة واحدة الي مجلد خارجي علي الهارد ديسك
بحيث يتم تصدير الصورة ويكون اسم الصورة هو كود الموظف الموجود في حقل كود الموظف
مرفق مثال


السلام عليكم ..
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
ممكن VB.net أو أكسس !!
واذا كان الخيار VB.net يبقي نشتغل علي SQL Database لان البيانات أساساً موجوده داخل قاعدة بيانات SQL Server و أنا نقلت مثال علي الاكسس في محاولة لتحويل الصور بالاكسس


تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 20 ديسمبر 2011 في 17:31
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
السلام عليكم ..
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
أخي الفاضل حسام
المثال ممتاز ولا غبار عليه وقد جربتة وحفظت صور داخل قاعدة البيانات ثم قمت باخراجها مرة أخري علي مجلد وقد تمت بنجاح لكن مازلت مشكلتي قائمة حيث انني حاولت تطبيق ما سبق علي الصور الذي املكها فخرج ملف الصورة الي المجلد و لكن عندما حاولت فتحة ففتح فارغ
مرفق قاعده البيانات الاصلية وبها صورة كمثال ربما أجد لديك حل ...
ملحوظة عندما استعرض الصورة علي اي تقرير تظهر واعتقد ان هذه علامة علي سلامة الصورة داخل قاعدة البيانات
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 20 ديسمبر 2011 في 19:02


السلام عليكم ..
ALTER DATABASE Pictures SET COMPATIBILITY_LEVEL = 90 ;
و ارسل القاعدة الجديدة , ربما نجد الحل .. أنا أو أحد الأعضاء ..
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
اخي الفاضل : محمد فؤاد
السلام عليكم ورحمة الله وبركاته
الكائن الموجود في الجدول الخاص بالصوره غير معتمد من ضمن كائنات OLE ولهذا فهو غير معروف ولا يمكن تصديره
اما اذا قمنا بتغيير هذا الكائن الى احد كائنات OLE الطبيعية سيتم تصديره والتعرف عليه فورا
جرب هذا الكائن الخاص بالصوره السابقه وحاول تصديره الى اي مجلد وانظر النتيجه
اذا رغبت بأن اعمل لك برنامج يقوم بتصدير جميع الصور دفعة واحده فعليك تغيير الكائن اولا وحفظه كما في الجدول الأخير بصيغة Bitmap Image ولكن قبل ان تقوم بإي اجراء وتغيرات في القاعدة الأساسية خذ نسخة احتياطية اولا ثم قم بعمل التجارب على نسخة التجارب
فإن استطعت ان تعدل على الكائن المحتةي على الصور فإرفعه لنا لنقوم بإعداد البرنامج لك .
بالتوفيق
أخي الفاضل حسام
لقد لاحظت ذلك من خلال سلسلة الاتصال الموجوده داخل كود المثال ولاحظت انك تستخدم MSSQL 2005 وقد قمت بمراعاه ذلك قبل ان ارسل لك ملف قاعدة البيانات لكن من الواضح انها لم تعمل طرفك علي الرغم من تهيئتها للعمل علي الاصدار طرفك
علي أي حال لقد ارفقت لك Generate Database Script لكي نتفادي جزئية الاصدارات المختلفة بينك وبيني كل ما عليك الان هو نسخ الاسكريبت وتشغيلة في New Query طرفك لكي يقوم الاسكريبت بانشاء قاعدة البيانات والجدول وبداخله البيانات
ستجد الصورة رقم 1 في الجدول ستصدر بشكل سليم والصورة رقم 2 ستصدر ولكن الصورة ستصبح فارغة
أختي الفاضلة زهرة
أهلاً وسهلاً بمشاركتك الطيبة
اذا فسنحتاج من حضرتك عمل اجراء اضافي بجانب المطلوب
الاول تحويل الملف الي صيغة Bitmap Image حيث ان عدد الصور التي سأقوم بتحويلها عددها يفوق 7000 صورة وهذا يستحيل عملها يدويا
الثاني تصدير جميع الصور دفعة واحدة الي مجلد علي ان يكون اسم الصورة عبارة عن كود الموظف
ملحوظة :- حاولت تحويل الملف لصيغة Bitmap Image يدويا ولكن لم استطيع كما فعلت في الصورة التي ارفقتيها
فارجو مساعدتي ومحاولة عمل مثال أو برنامج يقوم بتحويل صيغة الصور الي Bitmap Image ثم تصدير الصور دفعة واحدة داخل مجلد بامتداد JPG علي ان يكون اسم الصورة هو كود الموظف وأكون شاكر جداً يا معلمتي الغالية


السلام عليكم ...
Microsoft Photo Editor 3.0 Picture MSPhotoEditor MSPhotoEd.3
مما يدل على أنه Ole Object .
تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 21 ديسمبر 2011 في 22:13
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
جرب هذا
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); أخي الفاضل كريم
لقد جربت هذا الاجراء المكتوب في المشاركة فلم يفلح وظهر لي هذا الخطأ أثناء تنفيذه !!
مع ان هذا الاجراء مكتوب داخل الاسكريبت getREADTEXT
وظهرت الصورة فارغة كما هو موضح
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 23 ديسمبر 2011 في 20:22


أخي الفاضل حسام
شكراً جزيلاً علي الروابط التي وقد قمت بطرحها لكن مع الاسف ولا فكرة من الافكار المطروحة فادت بالغرض ولا حتي البرامج التي مصممة بالاكسس لاداء هذه العملية تعمل مع الاسف :wacko:


لقد حاولت تحويل الصورة يدوياً الي OLE Object ولم استطع
حاولت أن افتح هذا التطبيق المرفق من الاخ حسام فاشتغل من خلال OFFICE 2003 وقام بتحويل الصور التي امتدادها Package فقط ولا تزال مشكلةالصورة الاساسية لا استطيع تصديرها


انظر المثال
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); السلام عليكم ..
تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 25 ديسمبر 2011 في 19:55
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
السلام عليكم ورحمة الله وبركاته
الف شكر اخي houssam11350_11350 كلامك صح 100*100 كما شرحت هذه هي فكرة عمل البرنامج
اذا كان في مشكله بعد شرح houssam11350_11350 ساحول الرد عليها
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); أخي الفاضل حسام
أخي الفاضل كريم
الخطوات الذي ذكرها الاخ حسام لست غافلاً عنها فربط التقرير بالـ Data Source أعرفها عن ظهر قلب ! فقد قمت بربط التقرير المرفق في المثال بمصدر البيانات وتم عرض التقرير كما هو موضح بالصورة المرفقة لكن ما هي الخطوة التالي ؟؟
اذا كانت الخطوة التالية هي تشغيل المشروع والضغط علي الزر الموجود علي الفورم فقد فعلتها وظهر لي الخطأ الذي ارفقته لكم في المشاركة السابقة لذلك ارجو توضيح سبب الخطأ
ربما فعلت شيء ما خطأ


ممكن تضع كود شاشة التقرير هذا
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); ماذا تقصد بكود شاشة التقرير ؟
لقد استخدمت المثال الذي ارفقت انت وقد قمت فقد بربط التقرير بمصدر البيانات فقط لا غير
هل المثال يحتاج لشيء آخر حتي يعمل بشكل سليم


هل عرض التقرير من الامر
Report1 cryRtp = new Report1();
crystalReportViewer1.ReportSource = cryRtp ;
يعمل جيدا
ام تستخدم الاتصال المباشر
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); أخي الفاضل كريم
المثال الذي ارفقتة لا يوجد بداخلة crystalReportViewer1 علي الفورم !
ولا يوجد بداخل الكود هذا السطر
crystalReportViewer1.ReportSource = cryRtp ;
أنا لا اقوم بالاتصال المباشر بالتقرير
علي أي حال أنا قمت باضافة هذا السطر بالكود وكانت هذه هي النتيجة
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.IO;
namespace imageApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string sPath="D:\\NEW\\reporthtml.htm";
Report1 cryRtp = new Report1();
crystalReportViewer1.ReportSource = cryRtp;
cryRtp.ExportToDisk(ExportFormatType.HTML40, sPath );
System.IO.StreamReader sr =new StreamReader(sPath);
string[] sImage = sr.ReadToEnd().Replace('"'.ToString(), "").Replace("<img src=images/", "$")
.Replace(" alt=Image border=0 width=128px height=128px />","").Split('$');
sr.Close();
///////////////////////////////
string[] sImage1 = new string[sImage.Length - 1];
for(int I=1; I<sImage.Length ;I++)
sImage1[I-1] = sImage.Remove(sImage.LastIndexOf(".png") + 4);
//////////////////////////////
for (int I = 0; I < sImage.Length-1; I++)
{
File.Move("D:\\NEW\\images\\" + sImage1, "D:\\NEW\\images\\" + (I+1).ToString() +".jpg");
}
Application.Exit();
}
}
}مرفق قاعدة البيانات والمثال

