المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الكتابة في ملفات rtf بالشكل الأفقي


ثامر أبو بلقيس
25-12-2013, 07:21 PM
السلام عليكم ورحمة الله
كما تعرف أخي الكريم أنه يمكننا كتابة بيانات في
الملف من نوع rtf
عند تصدير أثركتابي نجد ما كتب تم وفق إعداد الصفحةبالشكل العمودي
ماالأكواد ؟
أو الاقتراحات ؟

حتى أتمكن الكتابة وفق إعداد أفقي

سلام :abc_023:

عبود عبود
25-12-2013, 07:36 PM
بصراحة مش فاهم المطلوب :abc_070:

علاء الدين حسين
25-12-2013, 07:43 PM
من الوورد
قم بعمل صفحة فارغة بإسم my_test.rtf مثلا

قم بضبطها إلى الوضع land scape
قم بوضعها ضمن مصادر المشروع

قم بإستخدامها من داخل مشروعك كما يحلو لك

ثامر أبو بلقيس
25-12-2013, 07:44 PM
السلام عليكم

شغل مثلاهذا :
TempFile = _TempFolder.."\\temp.rtf"

RichText.SaveToFile("RichText1", TempFile)
File.Open( _TempFolder.."\\temp.rtf", "", SW_SHOWNORMAL);

الستندالذي فتح بعد الكتابة في RichText
هو على شكل عمودي
أريده أفقي بضوابط من الأوتوبلاي أوالمستند نفسه

ثامر أبو بلقيس
25-12-2013, 07:46 PM
من الوورد
قم بعمل صفحة فارغة بإسم my_test.rtf مثلا

قم بضبطها إلى الوضع land scape
قم بوضعها ضمن مصادر المشروع

قم بإستخدامها من داخل مشروعك كما يحلو لك

أرسل أخي علاء مستند شاغر :abc_138:

علاء الدين حسين
25-12-2013, 07:51 PM
بسم الله الرحمن الرحيم

ثامر أبو بلقيس
25-12-2013, 07:57 PM
ضع RichText
في صفحة اوتوبلاي و ضع ملفك في مجلد Docs
بعد الكتابة في RichText

نفذ الكود التالي "
TempFile ="AutoPlay\\Docs\\MyFile.rtf"

RichText.SaveToFile("RichText1", TempFile)
File.Open( "AutoPlay\\Docs\\MyFile.rtf", "", SW_SHOWNORMAL);

لماذا تغير تجاه الصفحة ؟ من هناا السؤال

عبود عبود
25-12-2013, 07:59 PM
أعتقد ربما تكون الفكرة هى الحصول على النص بداخل العنصر
ثم البحث عن " r\n " أو " n\ " ومن ثم إستبدالها بــ مسافة
ثم العرض مرة أخرى داخل العنصر ثم الحفظ بأوامر الحفظ للعنصر كما إستخدمت أنت سابقا

أعتقــــــد ولم أجرب :abc_065:

ثامر أبو بلقيس
25-12-2013, 08:02 PM
حاولت كثيرا أخي عبود و لم أصل هي بالتأكيد أكواد متعلقة بالعنصر تساهم
في بناء المستند عند عملية التصدير

عبود عبود
25-12-2013, 08:05 PM
يعنى تقصد لو مكتوب أكثر من سطر تريد أنت أن تجعله يكتب فى المستند على سطر واحد فقط ؟

ثامر أبو بلقيس
25-12-2013, 08:12 PM
أخي عبود الفكرة كلها تتلخص في أني
اريد أن أتحكم في طباعة وثائق من خلال RichText حيث يتم ما تم
تصديره للمستند rtf ومن ثمة طباعته
في RichText سأجعل الكلمات التي تتغير عبارة عن نقاط ذات لون أبيض
و يتم تعبئتها من RichText آخر باستغلال التحديد و النسخ و اللصق

بعض المستندات يكون شكلها أفقي فأحاول المحافظة على تلك الإعدادات



شكرا :abc_138:

علاء الدين حسين
25-12-2013, 08:13 PM
كلامك صحيح
لن يكون الحل بسيط

يتخطى امكاناتى المتواضعة
ساحاول

ثامر أبو بلقيس
25-12-2013, 08:18 PM
جزاك الله خيرا أخي علاء
شكرا :abc_138:

علاء الدين حسين
25-12-2013, 08:24 PM
أخى ثامر
العيب بالأوتوبلاى نفسه

قم بفك الملف المرفق منى
قم بقياس مساحته
4 كيلو بايت تقريبا

قم بتنفيذ أكوادك

أعد قياس حجم الملف
يتقلص حجم الملف كثيرا

الأوتوبلاى تحفظ الملفات النصية بنظام plain text و ليس بنظام rich text format
plain text هى صيغة لا تقبل التنسيقات مثل land scape

عبود عبود
25-12-2013, 08:26 PM
إذا أمكنك وضع صورة توضح المطلوب سيكون أفضل وتوضح ما يظهر لك الذى تعتبرة مشكلة

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

عبود عبود
25-12-2013, 08:35 PM
الأوتوبلاى تحفظ الملفات النصية بنظام plain text و ليس بنظام rich text format
plain text هى صيغة لا تقبل التنسيقات مثل land scape


أعتقد أن هذا الكلام غير صحيح فهو يمكن الحفظ بصيغة الــ rtf أو التكست العادى .

علاء الدين حسين
25-12-2013, 08:45 PM
أعتقد أن هذا الكلام غير صحيح فهو يمكن الحفظ بصيغة الــ rtf أو التكست العادى .

ربما

لكن جرب إنشاء ملف بالوورد به كلمتان و لتكن "الحمد لله"
قس حجم الملف
قم بإنشاء نفس الملف بالأوتوبلاى و قس حجم الملف

الآن
ما سر تقلص المساحة للربع ؟؟
لا أعلم

ثامر أبو بلقيس
25-12-2013, 08:52 PM
أحتاج للتجربة من جهاز آخر
أعدت لك ملفك اخي علاء
جرب عليها ما سبق من أكواد و خبرني هل تمت الكتابة في ورقة
أفقية
http://www.gulfup.com/?2awMcf

أعمل بالأوفيس2003

علاء الدين حسين
25-12-2013, 09:05 PM
أخى ثامر
الأوتوبلاى تعيد هيكلة الملف
و أعرف ذلك من تقلص حجم الملف

يحتاج الآمر لخبرة أعلى منى
قد تضطر لإستخدام ocx

هذه الأمور قد تتعدى نطاق خبرتى بالأوتوبلاى
تقبل عذرى عن المتابعة

تمنياتى بالتوفيق

عبود عبود
25-12-2013, 09:05 PM
كنت أظن أنك سوف تكتب داخل عنصر RichText ثم تحفظ أيضا منه وبالتالى سيكون الناتج هو ملف RTF بنفس تنسيق ما تم كتابته داخل العنصر و بجميع الألوان المستخدمة فى الكتابة ............. عموما موفق .

ثامر أبو بلقيس
25-12-2013, 09:06 PM
و للأجابة عما طرحته فيما يخص الحجم

قم بالتجربة التالية ضعRichText
في عملك تكون فارغة تماما
ازرع كود لقراءةما هو مكتوب فيها
result = RichText.GetText("RichText1", true);
Dialog.Message("Notice",result );


ذاك سبب الحجم

علاء الدين حسين
25-12-2013, 09:15 PM
شكرا على المعلومة

الرسالة أظهرت هيدر الملف و يحتوى على
rtf1
adeflang1025
ansi
ansicpg1256
uc1
adeff0
deff0
stshfdbch0
stshfloch0
stshfhich0
stshfbi0
deflang1033
deflangfe1033
fcharset


يظهر بها تعبيرات شائعة
تمس جوهر تساؤلك

تتبادر بارقة أمل
سأحاول مجددا

ثامر أبو بلقيس
25-12-2013, 09:17 PM
يا أخي علاء في آخر الصفحة السابقة طلب
أرجو الاجابة عنه ؟؟ لعله الحل النهائي للمشكل

ثامر أبو بلقيس
25-12-2013, 09:22 PM
كنت أظن أنك سوف تكتب داخل عنصر RichText ثم تحفظ أيضا منه وبالتالى سيكون الناتج هو ملف RTF بنفس تنسيق ما تم كتابته داخل العنصر و بجميع الألوان المستخدمة فى الكتابة ............. عموما موفق .


:abc_138::abc_138:

علاء الدين حسين
25-12-2013, 09:25 PM
رددت على تساؤلك فى الصفحة السابقة

أخى ثامر
الأوتوبلاى تعيد هيكلة الملف

هذا يعنى أننى حاولت أخى و لم أوفق

سأواصل
لكن ليس من تلك النقطة فى الصفحة السابقة

سأحاول فهم دالة الحفظ الموجودة فى سكربت الأوتوبلاى نفسه

ثامر أبو بلقيس
25-12-2013, 09:44 PM
موفق:abc_152:

علاء الدين حسين
25-12-2013, 09:46 PM
قمت بتعديل كودك السابق
و أعتقد أنه سيكون حل مشكلتك
result = RichText.GetText("RichText1", true);
result = String.Replace(result, "{\\rtf1\\fbidis\\ansi\\ansicpg1252\\deff0\\deflang 1033{\\fonttbl{\\f0\\fnil\\fcharset0 MS Shell Dlg;}}", "{\\rtf1\\fbidis\\ansi\\ansicpg1252\\deff0\\deflang 1033\\paperw15840\\paperh12240\\landscape{\\fonttb l{\\f0\\fnil\\fcharset0 MS Shell Dlg;}}", false);
TextFile.WriteFromString("C:\\MyFile2.rtf", result, false);
File.Open("C:\\MyFile2.rtf", "", SW_SHOWNORMAL);

السطر الثانى يضمن حل مشكلتك
ستجده landscape بإذن الله

جرب و أطلعنى على النتيجة
ملحوظة
لا علاقة لإصدار الأوفيس لما أنت بصدده الآن

ثامر أبو بلقيس
25-12-2013, 10:05 PM
:abc_138: :abc_138: :abc_138:
ممتـــــــــــــــــاز أخي علاء

علاء الدين حسين
25-12-2013, 10:07 PM
أسعدتنى مساعدتك أخى ثامر :abc_145:

ثامر أبو بلقيس
25-12-2013, 10:09 PM
تستهل التقييم و كل خير سررت بذلك :abc_052:

فرح صالحي
25-12-2013, 10:12 PM
تمنياتي بالتوفيق للجميع

علاء الدين حسين
25-12-2013, 10:36 PM
تستهل التقييم و كل خير سررت بذلك :abc_052:

شكرا أخى على التقييم و التقدير

الحل كان فى تعديل هيدر الملف قبل كتابته للقرص
دالة الإستبدال التى وضعتها لك قامت بتحرير هيدر rtf من الهيدر القياسى لهيدر الملفات العرضية التنسيق
الهيدر يحتوى على خواص أخرى كثيرة غير الوضع العرضى للصفحة

أعتقد أنه على شركة الأوتوبلاى وضع خيارات لحفظ ملفات rtf طالما الإمكانيات متاحة

ثامر أبو بلقيس
25-12-2013, 10:48 PM
أتمنى أن تخصص عناية خاصة و دراسة معمقة لكل ما تراه
فأنا عن نفسي في غاية الاحتياج للتعامل مع مستندات rtf بأكثر أريحية
و يسعدني أن أطلب تعلمها منك :abc_138:

علاء الدين حسين
25-12-2013, 10:57 PM
و يسعدني أن أطلب تعلمها منك :abc_138:

سامحك الله أستاذ ثامر
نحن نتعلم منكم

لكن طالما الموضوع يهمك لهذا الحد
فسأطلعك على أى معلومة أجد أنها تفيدك

و شكرا على رسالة الزوار
سأعتبرها وسام على صدرى

وفقك الله أخى

عبود عبود
28-12-2013, 10:09 AM
ربما

لكن جرب إنشاء ملف بالوورد به كلمتان و لتكن "الحمد لله"
قس حجم الملف
قم بإنشاء نفس الملف بالأوتوبلاى و قس حجم الملف

الآن
ما سر تقلص المساحة للربع ؟؟
لا أعلم

إذا كان البرنامج قادر على آداء عمل ما فليس مطلوبا أبدا أن تستخدم برنامج آخر معه سواء وورد أو غيرة .



أعيد التذكير بما ذكرته سابقا :

كنت أظن أنك سوف تكتب داخل عنصر RichText ثم تحفظ أيضا منه وبالتالى سيكون الناتج هو ملف RTF بنفس تنسيق ما تم كتابته داخل العنصر و بجميع الألوان المستخدمة فى الكتابة ............. عموما موفق .

طبعا لم أستخدم الوورد لآداء وظيفة تقوم بها وظيفة من وظائف العنصر ...........


الحل كان فى تعديل هيدر الملف قبل كتابته للقرص
دالة الإستبدال التى وضعتها لك قامت بتحرير هيدر rtf من الهيدر القياسى لهيدر الملفات العرضية التنسيق
الهيدر يحتوى على خواص أخرى كثيرة غير الوضع العرضى للصفحة

أعتقد أنه على شركة الأوتوبلاى وضع خيارات لحفظ ملفات rtf طالما الإمكانيات متاحة

الرد التالى هو لمناقشة محاولتك الجميلة :
هل تظن أن التعديل الذى قمت به يعتبر بمثابة تعديل أم إنشاء ملف جديد ؟

الإجابة هو بمثابة إنشاء ملف جديد فلماذا ؟ الإجابة هى أنك قد قمت بتبديل كافة محتويات الملف القديم ووضع محتوى جديد .

إذن هل كان إستخدام الوورد فى البداية له أى أهمية أو أى داعى ؟؟؟؟؟!!!!!!

وما هو الفرق بعد وضع التعديل على ملف منجز بالورد ثم تغيير كافة محتوياته عن طريق داله الإستبدال وبين ملف تكست عادى جدا " New Text Document.txt " إذا تم تغيير لاحقته من " txt. " إلى " rtf. " ؟؟؟؟؟


تذكير طبعا كما تعلمون أن الداله التالية تستخدم لحفظ ما بداخل العنصر " RichText1 " :

--
RichText.SaveToFile("RichText1", "C:\\MyFile.rtf");


:abc_152: كان هذا توضيحا فقط ............... بالتوفيق للجميـــــــع :abc_152:

ثامر أبو بلقيس
28-12-2013, 11:37 AM
السلا م عليكم
أستاذي و أخي عبود قد لا أتفق معك
بأنه لا يوجد فرق بل الفرق كبير ومهم
فعندما تنفذ الكود
RichText.SaveToFile("RichText1", "C:\\MyFile.rtf");


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

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

عبود عبود
28-12-2013, 11:41 AM
السلا م عليكم
أستاذي و أخي عبود قد لا أتفق معك
بأنه لا يوجد فرق بل الفرق كبير ومهم
فعندما تنفذ الكود
RichText.SaveToFile("RichText1", "C:\\MyFile.rtf");


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

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

هناك فرق بين تعديل ملف وإضافة تعديلات متغيرة وبين الإنشاء الأصلى
إن لا أتفق معك أنا أيضا فكل منا له تفكيره :abc_065: ولكن الإختلاف لا يفسد للود قضية

:abc_152: بالتوفيق

علاء الدين حسين
28-12-2013, 12:43 PM
هناك فرق بين تعديل ملف وإضافة تعديلات متغيرة وبين الإنشاء الأصلى

تعقيبا على كلامك
فى هذه الحالة تحديدا

ليس هناك أى فرق
و أعنيها حرفيا

وما هو الفرق بعد وضع التعديل على ملف منجز بالورد ثم تغيير كافة محتوياته عن طريق داله الإستبدال

الأوتوبلاى ستعيد هيكلة الهيدر للوضع الطولى (منذ بداية المناقشة و حتى كتابتك لهذا السطر فأنت لم تقترب سنتيمترا واحدا من جوهر التساؤل)

ملف تكست عادى جدا " New Text Document.txt " إذا تم تغيير لاحقته من " txt. " إلى " rtf. " ؟؟؟؟؟

الفرق شاسع لأبعد مما تظن
و لو كنت بارعا بمقارنة الملفات ستعرف السبب
هنا سيعيد الوورد تحويل الملف عند فتحه للمرة الأولى
هذا لو كان المكون CONVERT مثبت ضمن الأوفيس
غير ذلك سيظهر الوورد رسالة طلب تثبيت مكون ناقص يتعلق بتحويل هيدر الملف مثل هذه
http://im31.gulfup.com/ITFjm.jpg

أخ عبود
سأختصر الموضوع معك فى نقطتان
النقطة الأولى
بداية إسأل نفسك من أين أحضرت أنا السترنج الخاص بالإنشاء
هل عرفت من أين ؟؟
result = RichText.GetText("RichText1", true);

لقد أحضرته من الكائن rich text وتم إختزانه فى المتغير result
هل تدرك معنى ذلك ؟؟

هذا يعنى أن المتغير result يحمل بين دفتيه ملف RTF كامل و مكتمل المعالم و التفاصيل و لكن الهيدر الخاص به يشير إلى ملف طولى و ليس عرضى
تريد دليل ؟؟ .... طبق المشاركة 21 بحذافيرها و ستفهم

الأن

تذكير طبعا كما تعلمون أن الداله التالية تستخدم لحفظ ما بداخل العنصر " RichText1 " :
--
RichText.SaveToFile("RichText1", "C:\\MyFile.rtf");
:

عذرا فلقد فشلت هذه الدالة العظيمة فشلا عظيما فى صنع RTF عرضى فماذا تقترح أن نفعل تحديدا ؟؟
هل نصر عليها رغم فشلها فى المطلوب؟؟ أم نجلس بجوارها و نبكى ؟؟ :abc_019:

ماذا عدلت أنا ؟؟؟
أنا إستبدلت عملية إنشاء عاجزة من الأوتوبلاى بعملية إنشاء متقدمة عجزت عنها دالة الأوتوبلاى (لكن كلا العمليتان يستخدمان نفس الأسلوب)
عدا أننى عدلت الهيدر الخاص بملف ال rtf إلى وضع الملفات العرضية

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

أعد قراءة الموضوع من أوله و كأنك تقرأه للمرة الأولى و تابع السائل
و حاول أن تلامس جوهر السؤال هذه المرة

أعتذر لصراحتى
و شكرا لمتابعتك و ملاحظاتك

ثامر أبو بلقيس
28-12-2013, 02:48 PM
بارك الله فيك أخي العزيز علاء شرحك واف
جزاك الله خيرا
طريقة شرحك و تدرجها المنطقي قريبة مني بل تذكرني بأستاذ أفتقده
بارك الله فيك :abc_138:

عبود عبود
28-12-2013, 03:03 PM
أعد قراءة الموضوع من أوله و كأنك تقرأه للمرة الأولى و تابع السائل
و حاول أن تلامس جوهر السؤال هذه المرة

أعتذر لصراحتى
و شكرا لمتابعتك و ملاحظاتك

سوف أحاول لمس جوهر السؤال

:abc_152:

علاء الدين حسين
28-12-2013, 03:08 PM
سوف أحاول لمس جوهر السؤال

:abc_152:

شكرا لرحابة صدرك
و أتمنى ألا أكون أزعجتك
:abc_152:

علاء الدين حسين
28-12-2013, 03:11 PM
بارك الله فيك أخي العزيز علاء شرحك واف
جزاك الله خيرا
طريقة شرحك و تدرجها المنطقي قريبة مني بل تذكرني بأستاذ أفتقده
بارك الله فيك :abc_138:

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

أنا عائد بعد إنقطاع 3 سنوات عن البرمجة بالفيجوال
الآن سأتجه لدراسة اللوا
بعدها سأقرر الإستمرار من عدمه بالأوتوبلاى

ثامر أبو بلقيس
28-12-2013, 03:22 PM
أتمنى لك التوفيق في كلا البرنامجين
استمرارك في الاوتوبلاي و التعامل معه بمنطق الفيجوال
متعة :abc_138:

من كل قلبي اتمنى ان توفق في اختياراتك :abc_152:

عبود عبود
28-12-2013, 03:25 PM
أنا عائد بعد إنقطاع 3 سنوات عن البرمجة بالفيجوال


وما هو مستواك فى البرمجة بالفيجوال .............. أحتاج لمن يعلمنى.

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

:abc_152:

علاء الدين حسين
28-12-2013, 03:30 PM
مستواى lمتقدم بالفيجوال 6
الفجوال تنتج ملفات dll بمنتهى السهوله

لكنها لا تصدر الوظائف

الأوتوبلاى هى إحدى صور ال c++

و لا تتعامل مع dll لا يحوى لائحة بالوظاف المصدرة exported functions

عبود عبود
28-12-2013, 03:37 PM
الفجوال تنتج ملفات dll بمنتهى السهوله
لكنها لا تصدر الوظائف


يعنى ممكن ومش ممكن ‍!!! ولابد من التعامل بــــ ++c

علاء الدين حسين
28-12-2013, 03:42 PM
لابد من التعامل بــــ ++c

لا أخى
ليس لزاما ++c

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

عبود عبود
28-12-2013, 03:47 PM
أشكرك .......... إذا كان الأقرب لك هو تعلم ++C فهذا سوف يفيدك و يفيدنا فالأتوبلاى هو عبارة عن دوال API

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


بالتوفيق ............ عذرا على إطاله موضوع أبوبلقيس بكثرة التعليقات . :abc_152:

ثامر أبو بلقيس
28-12-2013, 03:51 PM
بالعكس أخي عبود المناقشات الجادة أكوادا أو أراء تفيد :abc_138:

ابو حسان عوض
23-01-2015, 02:12 PM
[بالتوفيق :abc_139:

محمد سامر
15-07-2016, 11:59 AM
تمااااااااااااااااااااااا ااام