بسم الله الرحمن الرحيم
اود طرح موضوع مهم جدا وهو برنامج لكتابة المواضيع والمقالات الخاصة بالمنتدى offline اي في حالة توقف المنتدى للصيانة او التحديث لان في بعض الاحيان المنتدى يتوقف للتحديث والبعض لا يكونون لديهم انترنت في فترة من الفترات واضافة لكل ذلك فان ذلك يسمح للشخص بقرائة مقالتة بتمعن فتكون خالية من الاخطاء لذلك ارجوا من الاعضاء الكرام البدأ بتطوير البرنامج
>< انا مستعد لمساعدتكم في بناء البرنامج اضافة الى ذلك فان الاستاذ xacker قد وافق على تطوير البرنامج اضافة الى الاعلان عنة وذلك عن طريق مدونة المنتدى ><
خصائص البرنامج
1- كتابة مقالاتك ومواضيعك من دون الدخول للمنتدى وبعد ذلك رفع مقالتك .
2- ان يوجد في البرنامج جميع ما يوجد في الصندوق السحري للمنتدى.
3-امكانية حفظ مقالتك الى حين اكمالها ونشرها مثل برنامج الورد.
اضافة الى ذلك موقع code project الشهير يستخدم ذلك
الرابط http://www.codeproject.com/Articles/468625/Offline-Article-Editor-For-CodeProject
http://www.codeproject.com/KB/mentor/468625/cpae_mainwindow.png
http://www.codeproject.com/KB/mentor/468625/opendialog.png
class Example
{
private Action after_MyThreadFinished;
private Form invoker;
public Example(Action after_MyThreadFinished, Form invoker)
{
this.after_MyThreadFinished = after_MyThreadFinished;
this.invoker = invoker;
}
public void doSomeWorksAsynchronously()
{
new Thread(() =>
{
// some codes that take long time...
Thread.Sleep(2000);
if (after_MyThreadFinished != null)
invoker.Invoke(after_MyThreadFinished);
}).Start();
}
}private void button1_Click(object sender, EventArgs e)
{
Action myAction = new Action(() =>
{
MessageBox.Show("Finished.");
this.Text = "I can access all the objects without any trouble." +
"Because I will be invoked by the thread of this form.";
});
Example example = new Example(myAction, this);
example.doSomeWorksAsynchronously(); // It doesn't block the current thread.
}// Original code: B.preview.setAttribute('src',s.$.src);
// Modified for CP Article Editor
// The modification has been made to convert a relative image src to an
// absolute src in preview window.
// begin
if(s.$.src.substring(0,7)=='http://' || s.$.src.substring(0,8)=='https://')
B.preview.setAttribute('src',s.$.src);
else
{
var kok=(document.getElementsByTagName('base')[0]==null?'**biseyyapma**':
document.getElementsByTagName('base')[0].getAttribute('href'));
var verilenAdres=C;
var tamAdres=kok+C;
B.preview.setAttribute('src',tamAdres);
}
// end
// Original code: --
// Modified for CP Article Editor
// The modification has been made to convert an absolute image src to a relative src.
// begin
kok=(document.getElementsByTagName('base')[0]==null?'**biseyyapma**':
document.getElementsByTagName('base')[0].getAttribute('href')),
D=(D.indexOf(kok)>-1?D.replace(kok,''):D),
// end
// Original code: C.data('cke-saved-src',D.getValue()); C.setAttribute('src',D.getValue());
// Modified for CP Article Editor
// The modification has been made to convert a relative image src to an absolute src.
// begin
var verilenAdres=D.getValue();
if(verilenAdres.substring(0,7)=='http://' || verilenAdres.substring(0,8)=='https://')
{
C.data('cke-saved-src',D.getValue());
C.setAttribute('src',D.getValue());
}
else
{
var kok=(document.getElementsByTagName('base')[0]==null?'**biseyyapma**':
document.getElementsByTagName('base')[0].getAttribute('href'));
var tamAdres=(verilenAdres.indexOf(kok)<0?kok+verilenAdres:verilenAdres)
C.data('cke-saved-src',tamAdres);
C.setAttribute('src',tamAdres);
}
// endfullPage : false // We are not editing a full page
language : 'en' // I removed all other language files to decrease the size.
resize_enabled : false // Prevent resizing the editor.
uiColor : '#CCC' // Grey
tabSpaces : 4 // Each tab character is replaced with 4 spaces.
contentsCss : 'CodeProject.css' // CSS stylesheet file of codeproject template.
removePlugins : 'contextmenu,liststyle,tabletools' // For hiding ckeditor's context menu
docType : '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"' +
'"http://www.w3.org/TR/html4/loose.dtd">' // Document type of CodeProject.ولمزيد من المعلومات زورو رابط البرنامج http://www.codeproject.com/Articles/468625/Offline-Article-Editor-For-CodeProject