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

مشروع مافكسبي 2003 ب C#

رائج
بدأه زكيري عبد العالي في 20 أغسطس 2008 · 68 رد · 7,598 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#26

السلام عليكم

اخي نصرو اجوا ان تقوم بانشاء الواجهة

علما ان هناك tabcontrol مخفية في الوسط و تحتوي على عدة صفحات حسب عدد الازرار

post-1034-1219603016.jpg

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 25 أغسطس 2008 في 10:59

#27

شكرا لك أخي زكيري ...

جاري إنشاء الواجهة لكن على السي شارب 2005 هل هناك مشكلة ؟

أرسلت لك رسالة خاصة أرجو أن ترد عليها (ربما لم تنتبه لها ...)

تم تعديل هذه المشاركة بواسطة نصرالدين2 في 26 أغسطس 2008 في 16:26

#28
اقتباس
رسالة خاصة أرجو أن ترد عليها (ربما لم تنتبه لها ...)

اخي نصرو مشكور على الاهتمام لقد جاوبت هنا وضننتك انتبهت لها اسف للاطالت

/index.ph...20&start=20

اما

اقتباس
لكن على السي شارب 2005 هل هناك مشكلة ؟

ماهي المشكله وسنعمل معا إن شاء الله لحلها

انا اعمل على 2008 ولا اضنه يختلف عن 2005 في انشاء مثل هذه المشاريع

شكرا

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 26 أغسطس 2008 في 18:29

#29
public static void CopyDir(string sourceDir, string destDir) 
{
	DirectoryInfo dir = new DirectoryInfo(sourceDir);	if (dir.Exists) 
	{
		string realDestDir;
		if (dir.Root.Name != dir.Name) 
	   {
		   realDestDir = Path.Combine(destDir, dir.Name); 
		   if (!Directory.Exists(realDestDir))
			   Directory.CreateDirectory(realDestDir); 
	   }
	   else realDestDir = destDir;	   
	   foreach (string d in Directory.GetDirectories(sourceDir)) 
		   CopyDir(d, realDestDir);
	   foreach (string file in Directory.GetFiles(sourceDir)) 
	   {

			string fileNameDest = Path.Combine(realDestDir, Path.GetFileName(file)); 
			//if (!File.Exists(fileNameDest))

			File.Copy(file, fileNameDest, true); 
	   }
	}
}
#30

السلام عليكم

طال الغياب اخي نصرو اجوا ان تكتب محاولتك كي تشجع الاخوة في اكما لالمشروع

#31

السلام عليكم

اين انتم يا اخوة طال الغياب

المهم كما هو واضح في الصورة اي الواجهة الاولى هناك زر الاظافة الدي يسمح باضافة عنوان الابي و اسم الجهاز و المستخدم و sID و اصدار OFFICE الى الجدول وعضها في DataGridView

لدلك يجب وضع ميتود لجلب كل هده المعلومات

انا حاولت في عمل دلك بواسطت WMI حيت قمت بعمل PING للجهاز حسب العنوان المدخل

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 System.Management;

 namespace WindowsFormsApplication2
 {
	 public partial class Form1 : Form
	 {
		 public Form1()
		 {
			 InitializeComponent();
		 }
		 private string WmiExecuteWQL(string iServer, string iWql, string iItm)
		 {
			 try{
			 string str="";
			 ConnectionOptions aCon = new ConnectionOptions(); 
			 //ConnectionOptions.Username = "domain\\username";
			 //ConnectionOptions.Password = "password";
			 ManagementScope aMScope = new ManagementScope(iServer, aCon);
			 ObjectQuery aQuery = new ObjectQuery(iWql);
			 ManagementObjectSearcher aMSearcher = new ManagementObjectSearcher(aMScope, aQuery);
			 ManagementObjectCollection aMCollection = aMSearcher.Get();
			 foreach (ManagementObject aManagementObject in aMCollection){
				 str = aManagementObject[iItm].ToString();}
			 return str;
			 }
			 catch{
				 return null;
				 }
		 }
		 private Boolean WmiPing(string iIP)
		 {
		 string vWql = "Select StatusCode from Win32_PingStatus where address='" + iIP + "'";
		 string vServer = "\\\\" + iIP + "\\root\\CIMV2";
		 string iItm = "StatusCode";
		 if (WmiExecuteWQL(vServer, vWql, iItm) == "0")
		 {  return true;  }
		 else
		 {  return false; }
		 }
		 private void button1_Click(object sender, EventArgs e)
		 {
			 if (WmiPing(textBox1.Text) )
				   {MessageBox.Show("جهاز متصل");}
			 else  {MessageBox.Show("جهاز عير متصل او مغلق");}
		 }  
	 }
 }

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 12 سبتمبر 2008 في 19:41

#32

السلام عليكم

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

اقتباس
*- القسم الاحير به page contrôle في الوهلة الأولى فم نعوضها ب notebook

ملاحظ :

كل زر يقوم بفتح صفحة من page contrôle

كل صفحة تحتوي على واحد TFRAMEفقط

لم أفهم هذه الخطوات ؟؟!!

ممكن توضح أكثر أخ زكيري ؟

#33

السلام عليكم

اقتباس
القسم الاحير به page contrôle في الوهلة الأولى فم نعوضها ب notebook

اخي نصرو ارجعت فيا الروح بعد ان ظننت ان المشوروع توقف

المكون page contr في الc# اسمه tabControl اما المكون notebook فهو غير موجود ول تحويل tabControl الى شكل notebook يكفي نزع الازرار في الاعلى فقط وتجد هدا في هدا الموضوع

/index.ph...59&hl=frame

2-

اقتباس
كل زر يقوم بفتح صفحة من page contrôle

اي عند الضعط على الزر يعرض الصفحة المقابلة فقط

tabControl1.SelectedIndex = 0;
 tabControl1.SelectedIndex = 1;
 ....

3-

كل صفحة تحتوي على واحد TFRAMEفقط

في الدلفي frame هو UserControl في c# اي عبارة عن فورم مستقل يشبه الفورم العدية ونكتب الاكواد في كل UserControl الخاصة به اي تصبح الاكواد منعزلة على الصفحرة الرئيسية و التي تحتوي على tabControl

لكن لو كانت فور لقمناب بعمل show لعرضها لكن كيف مع اليوزر كنترول يمكنك ذلك

- عهنما تعمل compil للمشروع تتحصل على ادوات جديدة كل ادات تأخذ اسم اUserControl الذ انشأته

تقوم بسحب كل اداتوتضعها في كل صفحة من صفحات tabControl

post-1034-1221486117_thumb.jpg

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 15 سبتمبر 2008 في 16:42

#35

هل يصلح Panel control بدلا من farme والــ Page control وذلك لأن ما ذكرته في موضوعك المشار اليه لم ينزع الازرار بالشكل الكامل من الــ Tab control

#36

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

وبما اني هنا في موضوع المشروع فاسمح لي ان اضيف الكلاس مرة اخرى هنا 


using System.IO;
using System.Collections.Generic;
using System.Text;

namespace DirectoryFunctions
{
  public static class DirFunctions
  {
  //Method to create a folder and return True if the operation is done correctly.
  public static bool CreatFolder(string newFolderName)
  {
  DirectoryInfo dinfoCreateFol = new DirectoryInfo(newFolderName);
  dinfoCreateFol.Create();
  if (dinfoCreateFol.Exists)
  return true;
  else
  return false;
  }

  //Method to delete a folder and return True if the operation is done correctly.
  public static bool DeleteFolder(string folderToDelete)
  {
  try
  {
  DirectoryInfo dinfoDeletFol = new DirectoryInfo(folderToDelete);
  if (dinfoDeletFol.Exists)
  {
  dinfoDeletFol.Delete(true);
  return true;
  }
  else
  throw new DirectoryNotFoundException();
  }
  catch (DirectoryNotFoundException )
  {
  return false;
  }  
  }

  //Method to check if the folder is empty or not.
  public static bool IsEmptyFolder(string FolderPath)
  {
  DirectoryInfo dinfoEmptyFol = new DirectoryInfo(FolderPath);
  DirectoryInfo[] dirArray;
  FileInfo[] filArray;

  dirArray = dinfoEmptyFol.GetDirectories();
  filArray = dinfoEmptyFol.GetFiles();

  if (dirArray.Length == 0 && filArray.Length == 0)
  return true;
  else
  return false;
  }

  //Method to Copy all files in a directory and return the total number of files copied.
  public static int CopyAllFiles(string copyFrom, string CopyTo, bool Overwrite)
  {
  DirectoryInfo drinfoSourceDir = new DirectoryInfo(copyFrom);
  DirectoryInfo drinfoDestDir = new DirectoryInfo(CopyTo);
   
  FileInfo[] sourceFiles;

  int counter = 0;

  try
  {
  if (drinfoDestDir.Exists)
  {
  sourceFiles = drinfoSourceDir.GetFiles();
  for (int i = 0; i <= sourceFiles.Length - 1; i++)
  {
  File.Copy(sourceFiles.FullName, drinfoDestDir.FullName + "\\" + sourceFiles.Name,Overwrite);
  counter++;
  }
  return counter;
  }
  else
  throw new DirectoryNotFoundException("The Destenation Folder Is Not Exist");
  }
  catch (DirectoryNotFoundException)
  {
  return 0;
  }
  }

  //Method to Copy a folder and its contents and return True if the operation is done correctly.
  public static bool CopyFolder(string CopyFrom, string CopyTo, bool Overwrite)
  {
  DirectoryInfo drinfoSourceDir = new DirectoryInfo(CopyFrom);
  DirectoryInfo drinfoDestDir = new DirectoryInfo(CopyTo);
  DirectoryInfo[] subdirs=drinfoSourceDir.GetDirectories();
  DirectoryInfo newfol;
   
  try
  {
  CopyFiles(CopyFrom, CopyTo, true);
  foreach (DirectoryInfo d in subdirs)
  {
  newfol=Directory.CreateDirectory(CopyTo +"\\" + d.Name );
  CopyFolder(d.FullName,newfol.FullName, true);
  }
  return true;
  }
  catch (DirectoryNotFoundException)
  {
  return false;
  }
 
  }
   
  //Method to copy files in a directory
  private static void CopyFiles(string From, string To, bool Overwrite)
  {
  DirectoryInfo drinfoSourceDir = new DirectoryInfo(From);
  DirectoryInfo drinfoDestDir = new DirectoryInfo(To);
  FileInfo[] sourceFiles;

  if (drinfoDestDir.Exists)
  {
  sourceFiles = drinfoSourceDir.GetFiles();
  for (int i = 0; i <= sourceFiles.Length - 1; i++)
  {
  File.Copy(sourceFiles.FullName, drinfoDestDir.FullName + "\\" + sourceFiles.Name, Overwrite);
  }
  }
  else
  throw new DirectoryNotFoundException("The Destenation Folder Is Not Exist");
   
  }
  }
}
using System;

DirectoryFunctions.rar

#37

مرحبا اخي Prof.Mend مشارك جيده جاري التجريب

اما عن

اقتباس
هل يصلح Panel control بدلا من farme والــ Page control وذلك لأن ما ذكرته في موضوعك المشار اليه لم ينزع الازرار بالشكل الكامل من الــ Tab contro

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

ارجو ان ترفق محاولتك لكي نستطبع النقاش اكثر

شكرا

#38

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

اخوانى: أتمنى لكم صوما مقبولا وافطارا شهيا

وعيد مبارك عليكم بإذن الله

أتمنى لو كان باستطاعتى الانضمام

أستطيع برمجة SQL& CSharp& XML

#39

بالطبع اخي مودي مرحبا بك معنا

المطلوب انشاء واجهة المشروع فقط .

انتضر المشاركة

#40

اخي زكيرى عبد العالى

شكرا لك على حسن استضافتك لى واتمنى ان اكون ذا منفعة

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

وشكرا

#41

شكرا على الحماس

الواجهة في هذه الرابطه

ابدأ فقط و انا ساتابع

شكرا

لان الاخ نصر الدين اطال كثيرا

#42

حاولت على الواجهة وكانت تلك محاولتي اتمنى ان تعجبكم

مع ملاحظة ان الصور يمكن ان تضاف بسهولة وبالاحجام المناسبة , انا فقط وضعت تصميم كروكي لما ستؤول اليه الواجهة وايضا يمكن التحكم في حجم split container اثناء وقت التنفيذ وهذه الاداه هي التي تحوي داتا جرايد فيو الاثنتين وما يعلوهما او يكو اسفل منهما

post-167492-1222614758_thumb.jpg 

#43

السلام عليكم

فعلا ارجعت الحياة الى المشروع

اذن سأتبع طريقة اخي محمد في شرح المطلوب اي نقطة نقطة :

-1- تابع للواجهه ولنسميها UAccuiel.cs و اسم الفورم name: FAccuiel

وضع المكون tapcontrol في الوسط الصورة 1

وضع الواجهة الثانوية الاولى في usercontrol جديد

-2- البرمجة

- برمجه الازرار الموجودة على الفورم الرئيسة كي نستطيع النتقل بين صفحات tap control كل زر يعرض page جديدة

- برمجة زر الاضافة في و الواجة الثانيوية الاولى ولنسميها UcListIP.cs و name : FcListIP

المطلوب هنا هو .....انتضر الجواب اولا

post-1034-1222681455_thumb.jpg

post-1034-1222681459_thumb.jpg

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 29 سبتمبر 2008 في 12:44

#44

اخي ذكيري دعني اطلب :-

اولا : تحديد الشكل النهائي للواجهة حتى نبدأ ببرمجة اجزاءها

يعني اذا كانت الواجهة التي رسمتها هي الواجهة التي سنعمل عليها فسارفق مشروع الواجهة وتبدأ انت باعادة تسمية الادوات ثم اعادة ارفاقها مرة اخرى وبعدها نبدأ ببرمجة جزء جزء

ثانيا : انا لم اضع tap control لأني لم ارى اي منها في التصميم الذي اوردته في الرابط

ثالثا : لنجعل الشرح كله باللغة الانجليزية لأنك تعرف المشاكل التي تظهر عند الكتابة باللغتين ومحاولة الترجمة فتظهر كلمات غريبة ( فانا عن نفسي لم افهم ماذا تريد فيما ذكرته في المشاركة السابقة )

#45

وهذا هو مشروع الواجهة 

XPto2003OfficeConverter.rar

#46

السلام عليكم

مشكور على الاقتراح الاول موافق عليه

اقتباس
2-انا لم اضع tap control لأني لم ارى اي منها في التصميم الذي اوردته في الرابط

نعم لانها مخفية وهذا ماتجده في الردود السابقة لكيفيه اخفاء ازرار tapcontrol

3- لا اجيد الانجليزية و المنتدي عربي 100% و انا معك حتي النهاية و الوقت امامنا لاتمام المشروع .

على العموم الواجهة عملتها بالفرنسية و يمكننا اعادها الانجليزية وهذا دورك

XPto2003OfficeConverter.rar

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 29 سبتمبر 2008 في 21:31

#47

وهذا هو المشروع مترجم الى الانجليزية 

ترجمت اسماء المتغيرات بالاضافة الى التعليقات 

لكن عندي بعض الاسئلة :-س

س1 : هناك بعض user controls التي ليس بها اي تصميم او برمجة , فما هي فائدتها ؟

س2: لماذا لم تضع فورم وتقوم بالتصميم عليها بدلا من كتابة الكود ؟

س3: بالنسبة لكلاس السبلاش لست افهم الكود جيدا فبرجاء الشرح قليلا

والان انا جاهز معك للبدء بالبرمجة 

واعسسسذرني ان كثرت كتابة حرف السين فلوحة المفاتيح بها حرف السين به مشكلة 

XPto2003OfficeConverter.rar

#48
اقتباس
س1 : هناك بعض user controls التي ليس بها اي تصميم او برمجة , فما هي فائدتها ؟

كل زر من الازرار للقاءمة على اليسار اي قاءمت الملفات ... المساعد كلها عبارة عن واجهات وهي ممثلة في usercontrol لاننا اذا استعملنا الفورم العادي يجب عمل show وهذا يلغي الطريقه التي اقترها في جعل النواقذ تضهر في شكل MDI فورم اي منتسب الى الفورم الرئيسة .

اقتباس
س2: لماذا لم تضع فورم وتقوم بالتصميم عليها بدلا من كتابة الكود ؟

كما قلت سابقا انا هناك عدة فورمات ولو كتبا كل الكود الفورم الرئيسة تصبح كبرة جدا والكواد مختلطة لذئ الاكواد تكون في الفورمات المنفصلة و العرض يكون في الفورم الرئيسة *** الطريقة التي افضها داءما و هي مجرد اقتراح ***

اقتباس
س3: بالنسبة لكلاس السبلاش لست افهم الكود جيدا فبرجاء الشرح قليلا

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

اقتباس
س3: بالنسبة لكلاس السبلاش لست افهم الكود جيدا فبرجاء الشرح قليلا

اما انا ساغيب قليا لاني بدات في عمل جديد معقد في برمجة االواب ب IASPI و الدلفي الطريقة القديمة لتصحيح منضومة ما.

اقتباس
واعسسسذرني ان كثرت كتابة حرف السين فلوحة المفاتيح بها حرف السين به مشكلة

لامشكلة

ارجوا ان تدخل منتدي الدلفي تجد فيه خطوات العمل يمكنك البدأ وحدك في برمجة زر الاضافة و الحذف...

#50

السلام عليكم

اخ نصرو الله يوفقك في المنتدى

Prof.Mendاخ لا تتاخر علينا و تكرم علينا بمحاولات لعل الكود يجلب اعضاء اخر في هذا المشروع .

شكرا

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…