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

لمبرمجىبلس السى بلس

مغلق
بدأه eng_3llam في 22 أبريل 2005 · 10 رد · 610 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم

اريد مساعدة ف هذا المشروع حيث انة مشروع file أى كتابة فى ملف حيث المشكلة فى انة يكتب filed filed

وبين كل filed ,filed يوجد delimitar أى هذة العلامة | وفى الكتابة يكتب حقل وهذة العلامة ثم حقل أخر

اى

name|id|phone

ولكن المشكلة فى حالة القراءة لازم يتجاهل هذة العلامة ويخرج

name ثم id ثم phone

فهل يوجد دالة bulit in c++ تعمل على تجاهل هذة العلامة

وشكرا

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#2

ياجماعة أريد أى عضو يرد عليا لو تكرمتم

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#3

مافهمت شي.....

الكتابة الى ملف سهلة.. لكن تريد api او دوال السي ؟

هل هالمشروع مشروع جامعي بعد....(يعني لايستفيد منه الا انت)

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

الموضوع بسيط ولا يحتاج الى دوال خارجية او اي شي من هذا.

هناك عدة طرق, الطريقة الأولى اللتي تخطر على بالي هي ان تعمل نسخة مؤقتة من الملف, ثم تعمل لووب تمشي على هذه النسخة المؤقتة حرفا حرفا حتى النهاية, وكلما وجدت | تستبدلها بسطر جديد '\n' , في هذه الحالة سيكون الشكل العام للملف هكذا:

name

id

phone

name

id

phone

... الخ

الان اصبحت سهلة, تقرا السطر الأول على انه الاسم, و ا لسطر الثاني على انه الـid و السطر الثالث على انه الهاتف. و هكذا في كل مرة, الى ان ينتهي الملف. و بعد ان تنتهي من العمل تحذف هذا الملف المؤقت.

الطريقة الثانية, هي ان تكتب فنكشن صغير ياخذ النص اللي يحتوي على الـ "name|id|phone" و تحلله تحليل بسيط.

مثل, تعمل integer لتتبع مكان الـ cursor للبداية و النهاية. و تخليهما في البداية صفر.

ثم تمشي في النص حتى تجد الـ | فإذا وجدته اصبح هذا المكان هو النهاية, و عندئذ تنسخ الاسم من النص الأصلي بين مؤشري البداية و النهاية, ثم تجعل مؤشر البداية يشير الى النهاية الحالية, و تمشي مرة أخرى حتى تقابل الـ | و تعمل نفس الحركة.

و كمثال على ذلك, هذا كود غير كامل, لكنه يطبق الفكرة بشكل عام

#include <iostream>
#include <string>
using namespace std;

void parse( string, string&, string&, string& );

int main()
{
  string toParse = "Khalid|2543|3256675";
  
  string name;
  string id;
  string phone;
  
  parse( toParse, name, id, phone );
}

void parse( string toparse, string & name, string & id, string & phone )
{
  int begin = 0, end = 0;
  
  end = findNextPipe( toparse, begin );
  copySegment( toparse, begin, end, name );
  
  begin = end;
  end = findNextPipe( toparse, begin );
  copySegment( toparse, begin, end, id );
  
  begin = end;
  end = findNextPipe( toparse, begin );
  copySegment( toparse, begin, end, phone );    
}

لكن اعتقد الطريقة الأولى أسهل ..

#5

بسم الله الرحمن الرحيم

اولا بالنسبةالى الاخ الشمرى اولا أقول لك شكرا على مرورك

اقتباس
لكن تريد api او دوال السي ؟

فأنا أحاول ان اعملة بالapi وقد عملت الفورمة ولكن لم يتبقى لى سوى بعض الtextboxes وbuttons ولكن فانا اعتبر مبتدى ف برمجة الapi وأشتغل من الhelp c++ لحد ماشعرى شاب منها ولكن ...

الامر ممتع جدا فلو تكرمت ممكن تضع لى كتاب ف الapi لكى يساعدنى حيث أنى قد طلبت هذا ووجد ف منتدانا ولكن عند التحميل الكتاب لا يفتح :s

اقتباس
هل هالمشروع مشروع جامعي بعد....(يعني لايستفيد منه الا انت

نعم انة مشروع مطلوب منى فى الجامعة ولكن أول ماأنتهى منة ساضعة على المنتدى كى يستفيد منة باقى الاعضاء حيث انى اكرة أحتكار البرامج ومن مشجعى البرامج المفتوحة لا للكبيارة copy منها ولكن للاستفادة

اقتباس
الطريقة الأولى اللتي تخطر على بالي هي ان تعمل نسخة مؤقتة من الملف, ثم تعمل لووب تمشي على هذه النسخة المؤقتة حرفا حرفا حتى النهاية, وكلما وجدت | تستبدلها بسطر جديد '\n' , في هذه الحالة سيكون الشكل العام للملف هكذا:

نعم يأخى هى طريقة سهلة وبسطية وقد صممتها ولكن لو كان الfile كبيرجدا وبالتالى هذا يكون استهلاك جامد جدا للram حيث من مميزات المبرمج التقليل فى كتابة الكود وليس التطويل وأيضا عدم استهلاك الmemory ولكن بالنسبة للفكرة الثانية فهى جيدة

ولكن أريد دلة bulit in in c++

وأشكرك يأخ

hasan_aljudy

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#6

"""نعم انة مشروع مطلوب منى فى الجامعة ولكن أول ماأنتهى منة ساضعة على المنتدى"""

ساحاول ان اضع كود مبني على API لكن ... لعلي فهمت فكرة برنامجك!!!

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#7

بسم اللهالرحمن الرحيم

السلام عليكم

اشكرك يأخى وأنتظر على فارغ الصبر برنامجك

وشكرا على المتابعة

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#8

اعتذر اخوي عن وضع الكود لاني لم استطع التفرغ.. ولكن سأعطيك بعض المصادر الجيدة للتعلم دوال api لعله تفيدك

1- كتاب رائع عن دوال api ولكن لايوجد به شرح عن الملفات ان شاء الله يفيد

http://www.arabteam2000.com/BookLib/show.asp?Id=220

2- موضوع للاخ jass رائع حقيقة... وهو يهتم بدوال التعامل مع الملفات...واعتقد(سيفيدك كثيرا في موضوعك بإذن الله)...

/index.ph...41entry217341

--

واما بالنسبة لواجهة برنامجك فلو تستخدم mfc كواجهة وتستخدم دوال api في البرمجة يصبح اسهل...

واسف على التقصير...

وان وجدت امثلة سأضيفها..

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#9

بسم الله الرحمن الرحيم

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

وأشكرك على هذة اللينكات

أما عن طريق الmfc فانا مبتدى فى برمجة الapi ولكن عن اعتقادى ان مكتبات الmfc فى الvc++ وانا لا اجيدها حتى اتمكن من هذا!

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

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#10

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

على العموم على راحتك

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#11

thanks 4 u elshamry

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

هذا الموضوع مغلق.

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