الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تصدير OLE Object الي Physical File مرة أخري

بدأه محمد فؤاد تركي في 20 ديسمبر 2011 · 35 رد · 3,201 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الزملاء

السلام عليكم ورحمة الله وبركاتة

يوجد لدي جدول يحتوي علي 7000 صورة والمطلوب هو تصدير هذه الصور دفعة واحدة الي مجلد خارجي علي الهارد ديسك

بحيث يتم تصدير الصورة ويكون اسم الصورة هو كود الموظف الموجود في حقل كود الموظف

مرفق مثال

Export Image.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

السلام عليكم ..

  1. هل تريده برنامج بالــ C# أم بالــ vb.net أم ضمن الــ الأكسس ...
  2. ممكن أساعدك بأول اثنين ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

ممكن VB.net أو أكسس !!

واذا كان الخيار VB.net يبقي نشتغل علي SQL Database لان البيانات أساساً موجوده داخل قاعدة بيانات SQL Server و أنا نقلت مثال علي الاكسس في محاولة لتحويل الصور بالاكسس

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#4

السلام عليكم ..

  1. تم الاستفادة من الكود في الرابط
  2. المثال في المرفقات ..

ArabTeamSqlImageVB.rar

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 20 ديسمبر 2011 في 17:31

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#5

أنت نسيت ترفق ملف LDF

عشان كده أنا مش عارف اعمل attached للداتا بيز

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#6

السلام عليكم ..

  1. تم تحديث المرفقات في المشاركة السابقة ..
  2. أنا افتح قاعدة البيانات من ملفات المشروع في visual studio 2008 و يتم توليد الملف ldf بشكل تلقائي , و تظهر محتويات القاعدة في النافذة server explorer
  3. لو فتحت الملف التنفيذي في المجلد debug و قمت بعملية داخل قاعدة البيانات مثل الحفظ , سيتم توليد الملف ldf .
1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#7

أخي الفاضل حسام

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

مرفق قاعده البيانات الاصلية وبها صورة كمثال ربما أجد لديك حل ...

ملحوظة عندما استعرض الصورة علي اي تقرير تظهر واعتقد ان هذه علامة علي سلامة الصورة داخل قاعدة البيانات

PIC-DB.rar

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 20 ديسمبر 2011 في 19:02

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#8

السلام عليكم ..

  1. لم استطع فتح قاعدة البيانات لأنها على ما يبدو تم إنشاؤها بــ sql server 2008 و أنا عندي sql server 2005 .
  2. لو اردت استخدم الكود التالي :
    ALTER DATABASE Pictures  SET COMPATIBILITY_LEVEL = 90 ;

    و ارسل القاعدة الجديدة , ربما نجد الحل .. أنا أو أحد الأعضاء ..

  3. طبعا لا تنسى تعمل نسخة احتياطية من القاعدة ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#9

اخي الفاضل : محمد فؤاد

السلام عليكم ورحمة الله وبركاته

الكائن الموجود في الجدول الخاص بالصوره غير معتمد من ضمن كائنات OLE ولهذا فهو غير معروف ولا يمكن تصديره

post-15367-006408400 1324400633_thumb.gi

post-15367-065401700 1324400650_thumb.gi

اما اذا قمنا بتغيير هذا الكائن الى احد كائنات OLE الطبيعية سيتم تصديره والتعرف عليه فورا

post-15367-032749600 1324400751_thumb.gi

جرب هذا الكائن الخاص بالصوره السابقه وحاول تصديره الى اي مجلد وانظر النتيجه

اذا رغبت بأن اعمل لك برنامج يقوم بتصدير جميع الصور دفعة واحده فعليك تغيير الكائن اولا وحفظه كما في الجدول الأخير بصيغة Bitmap Image ولكن قبل ان تقوم بإي اجراء وتغيرات في القاعدة الأساسية خذ نسخة احتياطية اولا ثم قم بعمل التجارب على نسخة التجارب

فإن استطعت ان تعدل على الكائن المحتةي على الصور فإرفعه لنا لنقوم بإعداد البرنامج لك .

بالتوفيق

المرفقات
PICM1.gifPICM2.gifPICM3.gif
#10

أخي الفاضل حسام

لقد لاحظت ذلك من خلال سلسلة الاتصال الموجوده داخل كود المثال ولاحظت انك تستخدم MSSQL 2005 وقد قمت بمراعاه ذلك قبل ان ارسل لك ملف قاعدة البيانات لكن من الواضح انها لم تعمل طرفك علي الرغم من تهيئتها للعمل علي الاصدار طرفك

post-46243-034184100 1324404850_thumb.jp

علي أي حال لقد ارفقت لك Generate Database Script لكي نتفادي جزئية الاصدارات المختلفة بينك وبيني كل ما عليك الان هو نسخ الاسكريبت وتشغيلة في New Query طرفك لكي يقوم الاسكريبت بانشاء قاعدة البيانات والجدول وبداخله البيانات

ستجد الصورة رقم 1 في الجدول ستصدر بشكل سليم والصورة رقم 2 ستصدر ولكن الصورة ستصبح فارغة

أختي الفاضلة زهرة

أهلاً وسهلاً بمشاركتك الطيبة

اذا فسنحتاج من حضرتك عمل اجراء اضافي بجانب المطلوب

الاول تحويل الملف الي صيغة Bitmap Image حيث ان عدد الصور التي سأقوم بتحويلها عددها يفوق 7000 صورة وهذا يستحيل عملها يدويا

الثاني تصدير جميع الصور دفعة واحدة الي مجلد علي ان يكون اسم الصورة عبارة عن كود الموظف

ملحوظة :- حاولت تحويل الملف لصيغة Bitmap Image يدويا ولكن لم استطيع كما فعلت في الصورة التي ارفقتيها

فارجو مساعدتي ومحاولة عمل مثال أو برنامج يقوم بتحويل صيغة الصور الي Bitmap Image ثم تصدير الصور دفعة واحدة داخل مجلد بامتداد JPG علي ان يكون اسم الصورة هو كود الموظف وأكون شاكر جداً يا معلمتي الغالية

NEWDB-PIC.rar

المرفقات
1.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#11

السلام عليكم ...

  1. تم فتح أول صورة بنجاح و لكن الصورة الثانية لم تفتح و لو فتحناها بالــ Notepad++ لإظهار محتوى الملف الفعلي سنجد بيانات مثل :
    Microsoft Photo Editor 3.0 Picture   MSPhotoEditor  MSPhotoEd.3

    مما يدل على أنه Ole Object .

  2. تحصل هذه المشكلة غالبا عند تحويل قاعدة البيانات من Access إلى SQL Server إذا كانت الحقول من نوع Ole Object .أما لو كان الحقل هو مجموعة من البايتات الثنائية فلا مشكلة باعتقادي .
  3. حسب معلوماتي أن الفرق بين الــ Ole Object و الــ Binary أو Image هو أن Ole Object يحوي بيانات إضافية تدل ربما على نوع التطبيق الذي يجب أن يفتح به البيانات الأصلية إضافة للبيانات الأصلية للملف .
  4. هذه المشكلة مطروحة في المنتديات .. و أحد الحلول يقول أنه يجب التخلص من البايتات الخاصة بالــ Ole Object عددها 78 على ما اعتقد و إبقاء بيانات الملف الأصلي . جربته على المثال الذي ارسلته فلم يعمل رابط
  5. هذا تطبيق على الأكسس .. حاول به ..رابط
  6. رابط مفيد فيه مرفقات للتحميل
  7. هنا مثال يقول أنه يعمل ... رابط و انتبه داخله يمكن تحميل الملف OleStripper.cs و تحتاج للمكتبة الموجودة هنا

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 21 ديسمبر 2011 في 22:13

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#13

أخي الفاضل كريم

لقد جربت هذا الاجراء المكتوب في المشاركة فلم يفلح وظهر لي هذا الخطأ أثناء تنفيذه !!

مع ان هذا الاجراء مكتوب داخل الاسكريبت getREADTEXT

post-46243-062722100 1324660631_thumb.jp

وظهرت الصورة فارغة كما هو موضح

post-46243-079495700 1324660567_thumb.jp

المرفقات
2.jpg1.jpg

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 23 ديسمبر 2011 في 20:22

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#14

أخي الفاضل حسام

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

post-46243-017494800 1324661748_thumb.jp

المرفقات
1.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#15

هل من جديد

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 25 ديسمبر 2011 في 16:07

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#16

لقد حاولت تحويل الصورة يدوياً الي OLE Object ولم استطع

post-46243-012256900 1324819663_thumb.jp

post-46243-030403000 1324819690_thumb.jp

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

post-46243-043713500 1324819838_thumb.jp

المرفقات
1.jpg2.jpg3.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#17

انظر المثال

imageApp.rar

#18

أخي الفاضل كريم

ممكن تفهمني المثال ده بيعمل ايه ؟ لاني حاولت اشغلة ومعرفتش

post-46243-083224400 1324829253_thumb.jp

المرفقات
25-12-2011 6-01-40 PM.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#19

السلام عليكم ..

  1. مشكور الأخ KARIMSOFT أنه يعمل ... +1
  2. الأخ محمد فؤاد تركي .. انتبه أن البرنامج يقوم بتصدير اسماء ملفات الصور كأرقام 1 و 2 و 3 و هكذا .. و كل ما عليك فعله هو جلب القيم المقابلة من قاعدة البيانات لو أردت ذلك ..أي أن أول سجل يقابل أول صورة .. و ثاني سجل يقابل ثاني صورة ...إذا كانت البيانات مرتبة كما هي في التقرير ..
  3. التقرير يقوم بالاتصال مباشرة مع قاعدة البيانات ..و لجعل المثال يعمل اتبع مايلي :
    1. افتح التقرير في وضع التصميم .. ثم من النافذة Field Explorer اعمل نقرة يمينية على Database Fields ثم الخيار verify database ثم تظهر نافذة تطلب اسم مخدم قاعدة البيانات و ندخل اسم المستخدم و كلمة المرور أو نضع check على Integrated security .. و نحدد قاعدة البيانات ..
    2. إذا اختفى الجدول و الحقل المسحوب على التقرير .. نقرة يمينية على database fields ثم database experts ثم current connections ثم نحدد الاتصال ثم داخله الجدول ثم نضيفه للقائمة على اليمين باستخدام < ثم تسحب حقل الصورة على القسم details .. و ننفذ ..
    3. إذا لم يظهر الــ Current Connection قم بإنشاء اتصال جديد لقاعدة البيانات sql server كما لو كنت تصمم أي تقرير عادي ..

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 25 ديسمبر 2011 في 19:55

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#20

السلام عليكم ورحمة الله وبركاته

الف شكر اخي houssam11350_11350 كلامك صح 100*100 كما شرحت هذه هي فكرة عمل البرنامج

اذا كان في مشكله بعد شرح houssam11350_11350 ساحول الرد عليها

#21

أخي الفاضل حسام

أخي الفاضل كريم

الخطوات الذي ذكرها الاخ حسام لست غافلاً عنها فربط التقرير بالـ Data Source أعرفها عن ظهر قلب ! فقد قمت بربط التقرير المرفق في المثال بمصدر البيانات وتم عرض التقرير كما هو موضح بالصورة المرفقة لكن ما هي الخطوة التالي ؟؟

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

ربما فعلت شيء ما خطأ

post-46243-007778200 1324838463_thumb.jp

المرفقات
1.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#22

ممكن تضع كود شاشة التقرير هذا

#23

ماذا تقصد بكود شاشة التقرير ؟

لقد استخدمت المثال الذي ارفقت انت وقد قمت فقد بربط التقرير بمصدر البيانات فقط لا غير

هل المثال يحتاج لشيء آخر حتي يعمل بشكل سليم

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#24

هل عرض التقرير من الامر

Report1 cryRtp = new Report1();

crystalReportViewer1.ReportSource = cryRtp ;

يعمل جيدا

ام تستخدم الاتصال المباشر

#25

أخي الفاضل كريم

المثال الذي ارفقتة لا يوجد بداخلة 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();
        }
    }
}

post-46243-009426900 1324875512_thumb.jp

post-46243-087032500 1324875608_thumb.jp

مرفق قاعدة البيانات والمثال

Picture DB Script.rar

imageApp_up.rar

المرفقات
1.jpg2.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us

مواضيع مشابهة