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

كيف اعمل واجهة باستخدام MFC ؟

مغلق
بدأه Mashael Ebrahim في 5 يناير 2008 · 24 رد · 2,113 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أرجوا ان اجد من يجيب على اسئلتي :

انا عملت برنامج ++C .. عادي

والمطلوب ان أعمل له واجهه .. والممكن لدي هو استخدام الـ MFC

فتحت مشروع جديد وعملت الازرار والحقول المطلوبه .. ولكن بقي التعامل مع المتغيرات كيف يكون !

فهناك متغير لدي في ال edit box .. عبارة عن CString CodeSTR;

المشكله انني لا اعرف كيف استفيد منه ولا كيف اتعامل معه .. فأنا اريد ان اختبر حروفه وكلماته .. واريد الاستفادة منه في دالة اخرى اسميتها lex();

ولكن يظهر لي رسالة خطأ تقول

(163): error C2065: 'CodeSTR' : undeclared identifier
(163): error C3861: 'CodeSTR': identifier not found, even with argument-dependent lookup

هل من أحد لديه فكره عما أتحدث عنه!!

فأنا مبتدئه جدا في الـ MFC

تم تعديل هذه المشاركة بواسطة Mashael Ebrahim في 6 يناير 2008 في 00:00

#2

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

( _ /)

(='.'=)

(")-(")

#3

عذرا لكنني منذ مدة طويلة لم استخدم إم إف سي الرائعة، لكنني الآن سأحاول الإجابة.

أنا أفترض انك قمت ببناء البرنامج على هيئة صندوق حوار Dialog Based

اختر التكست بوكس

اضغط زر الفأرة اليمين لإنشاء متغير وذلك بإختيار Add Variable

الآن يمكنك اضافة متغيرات لمشروعك، هناك متغيرات عادية (بدائية مثل رقم وحرف...الخ* وهناك متغيرات تمثل كنترول (مثلا صندوق نص)

أشر الخيار : Control Variable

الآن اختر نوع الـControl طبعا هنا نختار CEdit الذي يمثل صندوق النص.

اكتب اسم المتغير في المكان المناسب (بمعنى سمّي المتغير الذي تريده ان يمثل صندوق النص) مثلا Textbx

في الموقع الذي تريد التحكم بصندوق النص من داخل الكود أكتب :

CString str;									  // this string will get the value of the text box
Textbx.GetWindowTextW(str);	  // GetWindowText method puts the text in the parameter
MessageBox(str);							// just to check the Value of your variable.

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 6 يناير 2008 في 12:25

#4

السلام عليكم :)

garo .. شاكره لك مرورك وهذا الكود سأضعه بعد ان ارتبه قليلا

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

سأشرح من البداية .. نحن مطالبون بعمل Parser بسيط .. يعتمد على grammar معين

يأخذ نص من المستخدم ويختبره هل يحقق الشروط أم لا..

لذلك احتجنا الى string يأخذ الكلمات كلها .. ومن ثم ندرس هذا الـ string كلمةً كلمه .. بتخزين هذا الكلمات في string آخر اسمه nextToken

قمتُ بعمل ماقلتَ أنت :) .. واضفت المتغير :)

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

void CJava_ParserDlg::OnBnClickedComp()
{

	pcount = 0;

	txt.GetWindowTextW(CodeSTR);	  // GetWindowText method puts the text in the parameter
	MessageBox(CodeSTR);			  // just to check the Value of your variable.
	parser();

	if( ec == 0 )
		error(0);
	// TODO: Add your control notification handler code here
}

وهذا هو كود الدالة التي تختبر الـ nextToken ..

لا ادري هل ستعجبكم أم لا :( وهناك دوال أخرة كثيره ستستخدم الـ nextToken ولكن لا ارى داعيا لكتابتها

void lex()
{
	nextToken = "?";
	out = 0;
	while( CodeSTR[pcount] != ' ' && out == 0 && CodeSTR[pcount] != NULL && CodeSTR[pcount]!= '\n')
	{
		if(nextToken == "?")// there is space before it
		{
			nextToken = CodeSTR[pcount];
			if(CodeSTR[pcount] == '.' || CodeSTR[pcount] == '(' || CodeSTR[pcount] == ')' || CodeSTR[pcount] == '{' || CodeSTR[pcount] == '}' || CodeSTR[pcount] == '+' || CodeSTR[pcount] == '-' || CodeSTR[pcount] == '/' || CodeSTR[pcount] == '*' )
			{
				out =1;
			}				
		}
		else
		{
			if(CodeSTR[pcount] == '.' || CodeSTR[pcount] == '(' || CodeSTR[pcount] == ')' || CodeSTR[pcount] == '{' || CodeSTR[pcount] == '}' || CodeSTR[pcount] == '+' || CodeSTR[pcount] == '-' || CodeSTR[pcount] == '/' || CodeSTR[pcount] == '*' )
			{
				out =1;
				pcount--;
			}
			else
			{
				letter = CodeSTR[pcount];
				nextToken.append(letter);
			}
		}

		pcount++;

	}
	if(CodeSTR[pcount] == ' ')
		pcount++; //to jump the space


}

ظهر لي اخطاء أولها

أظن أن هناك مكتبه يجب اضافتها !

Java_Parser\Java_ParserDlg.cpp(153): error C2039: 'GetWindowTextW' : is not a member of 'CEdit'

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

وتلك وضعتها في نفس الملف Dlg.cpp

سؤال ثاني أتمنى ان يتسع له بالك :)

اذا اكتمل أختبار النص .. انا وضعت دالة أسمها error(int) .. تأخذ رقم الخطأ إذا كان هنالك خطأ .. وتعرض الرسالة الخاصة به في staticbox

ولكن المتغير الذي عّرفته الخاص بالمسج يقول لي انه ليس معروف !! .. ما المشكلة

هذا بعض من الكود الخاص بدالة الأخطاء

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

void error(int n)
{
	switch(n)
	{
	case 0:
		ErrorMSG.Format("%d", "\n\n Successfull .. (\",)");
		//cout << "\n\n Successfull .. (\",)";
		break;
	case 1:
		ErrorMSG.Format("%d","\n error 1: syntax error : expect \"public\" at the begining of the program\n " );
		//cout << "\n error 1: syntax error : expect \"public\" at the begining of the program\n ";
		ec++;
		break;
	case 2:
		ErrorMSG.Format("%d", "\n error 2: syntax error : expect \"class\" after \"public\" \n" );
		//cout << "\n error 2: syntax error : expect \"class\" after \"public\" \n";
		ec++;
		break;

وهذا الخطأ الذي يظهر لي

Java_Parser\Java_ParserDlg.cpp(204): error C2065: 'ErrorMSG' : undeclared identifier

Java_Parser\Java_ParserDlg.cpp(208): error C3861: 'ErrorMSG': identifier not found, even with argument-dependent lookup

ما المشكلة :)

وطلب أخير .. هل لديك مصادر تنصح بمراجعتها للاستزادة في الـ MFC .. وخاصه لمن هم مثلي لآول مره يستخدمونها !! ولأني أرى انك (ماشاء الله) تمدحها .. ولم تستثقل دمها كما حدث معي :(

وشااكرة لك تعاونك

#5
txt.GetWindowTextW(CodeSTR);

الخطاء في هذا الاجراء (الاجراء السابق)

استبدل هذا الاجراء بالاجراء

 txt.GetWindowText(CodeSTR);

اما الخطاء الثاني فلاعرف من اين جاء المتغير ErrorMSG حتي ادلك علي الاجابة الصحيحة

يبدو انك لم تعرف المتغير او لم تستدعي احدي الملفات

تم تعديل هذه المشاركة بواسطة garo في 6 يناير 2008 في 16:02

( _ /)

(='.'=)

(")-(")

#6

garo ..

جزااك الله خيرا .. قمتُ بالتعديل :) .. ولكن لدي سؤال ..

المتغير الذي عرفته أنا CodeSTR .. أين هو أفضل مكان لتعريفه :)

فأنا وضعته عائما في ملف الـ cpp ..

وهذا الخطأ ظهر لي .. مع جملة أخطاء أخرى

Java_Parser\Java_ParserDlg.cpp(63): error C2614: 'CJava_ParserDlg' : illegal member initialization: 'CodeSTR' is not a base or member

ما المشكلة الآن ؟؟

ولدي بضعة أسئلة أتمنى ان اجد اجابتها لديكم

أين أعرف متغيراتي بالضبط ؟

أين أضع تعاريف الدوال الاضافية التي استخدمها .. واين اسردها هي نفسها ؟؟

كيف اضع الانكلودات للمكتبات الاضافية ؟

وبالنسبة للمتغير ErrorMSG ..

فهذا المتغير اضفته بالنقر على الـstatic text واضافة فاريبل .. وجعلته value .. لا ادري هل خطواتي صحيحه أم لا ؟؟

هذا صورة البرنامج بوجه عام في المرفقات :)

شااكره لك حسن تعاونك وسعة بالك :)

post-143911-1199628047_thumb.jpg

#7
اقتباس
أين أعرف متغيراتي بالضبط ؟

المكان المفضل هو في تعريف الكلاس، عادة في ملف h.

اقتباس
أين أضع تعاريف الدوال الاضافية التي استخدمها .. واين اسردها هي نفسها ؟؟

البروتوتايب يُعرَّف في ملف h. (بوتوتايب أعني به القيمة المرجعة + اسم الدالة + قائمة البرامترات + ؛

وتطبيق الدالة يكون في ملف cpp

اقتباس
كيف اضع الانكلودات للمكتبات الاضافية ؟

للمكتبات التي لا تكون في مجلد الإنكلود الاعتيادي تضاف بنفس طريقة انكلود عادي لكن بدل <> نضع " "

اقتباس
فهذا المتغير اضفته بالنقر على الـstatic text واضافة فاريبل .. وجعلته value .. لا ادري هل خطواتي صحيحه أم لا ؟؟

أحتاج الكود الذي قمت بتعريف المتغير ومحاولة اعطائه قيمة.

#8
class CJava_ParserDlg
{
.
.
.
CEdit txt;// text box
CStatic m_static; //static Ctrl
.
.
.
};

هذا هو شكل الـclass للفورم Dialog.

يحتوي علي متغيرين احدهما مربع نص والاخر اداءة نص ثابت (static)

علي ما اعتقد انك تريد عرض رسالة ما في اداءة static

لفعل ذلك ماعليك الا ان تكتب.

m_static.SetWindowsTxt(string);

حيث string هو النص الذي تريد عرضه في الاداءة

اقتباس
أين أعرف متغيراتي بالضبط ؟

أين أضع تعاريف الدوال الاضافية التي استخدمها .. واين اسردها هي نفسها ؟؟

كيف اضع الانكلودات للمكتبات الاضافية ؟

للاجابة علي كل هذه الاسئلة قد نحتاج الي مقال كامل ابحث في المنتدي

علي ما اعتقد ان الاخوة قد كتبو عن ذلك الكثير من المقالات

( _ /)

(='.'=)

(")-(")

#9

ملاحظة : بالنسبة لوضع المتغيرا ومكان تعريفها : ما قلته يعد اقتراح، طبعا يجب قراءة مجالات التعريف للمتغيرات وانواعها، مثل public, private الخ، وإذا تم تعريف متغير داخل دالة ما هو مجال تعريفه... الخ

#10

لا ادري كيف ارد لكم ولو جزء قليل من جميل تعاونكم .. وفقكم الله جميعا ..

قمت بعمل ما قلتم

واتمنى ان يكون صحيح .. المتغير الذي وضعته أخي garo .. قمت بنسخه ولصقه مباشره في الكلاس الموجود عندي

بدون ما أطبق خطوات add variable .. فهل يصلح هكذا ..

ومالفائدة من CEdit txt;// text box إذا لم أستخدمها في أمر الطباعة ؟؟

شيء آخر .. أخي اسماعيل .. قمت بوضع المتغيرات في الكلاس الموجود في ملف Dlg.h ولكن تظهر لي هذه الأخطاء !!

لا أدري لماذا لا يراها

\Java_Parser\Java_ParserDlg.cpp(121): error C2065: 'nextToken' : undeclared identifier
\Java_Parser\Java_ParserDlg.cpp(122): error C2065: 'out' : undeclared identifier
\Java_ParserDlg.cpp(123): error C2065: 'CodeSTR' : undeclared identifier
\Java_Parser\Java_ParserDlg.cpp(123): error C2065: 'pcount' : undeclared identifier
\Java_Parser\Java_ParserDlg.cpp(123): error C3861: 'CodeSTR': identifier not found, even with argument-dependent lookup
\Java_Parser\Java_ParserDlg.cpp(123): error C3861: 'CodeSTR': identifier not found, even with argument-dependent lookup
\Java_Parser\Java_ParserDlg.cpp(123): error C3861: 'out': identifier not found, even with argument-dependent lookup
\Java_Parser\Java_ParserDlg.cpp(123): error C3861: 'pcount': identifier not found, even with argument-dependent lookup
\Java_Parser\Java_ParserDlg.cpp(123): error C3861: 'pcount': identifier not found, even with argument-dependent lookup
\Java_Parser\Java_ParserDlg.cpp(123): fatal error C1903: unable to recover from previous error(s); stopping compilation

هذا هو الكود الخاص بالكلاس :

class CJava_ParserDlg : public CDialog
{
// Construction
public:
	CJava_ParserDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	enum { IDD = IDD_JAVA_PARSER_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support


// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnEnChangeEdit1();
	afx_msg void OnBnClickedComp();

	CString ErrorMSG;


	CEdit txt;
	CStatic m_static; //static Ctrl

	string nextToken;
	string letter;
	int pcount,out;
	string classSTR;	//collect classes that have been declared
	string functionSTR;	//collect functions that have been declared
	string objectSTR;	//collect objects that have been declared
	string idSTR;		//collect identifiers that have been declared
	unsigned int indx;
	int ec;//errors counter
	CString CodeSTR;
};

void lex();
void error(int);
void parser();
void class_declaration();
void class_name();
void body_declaration();
void ident_dec();
void fun_dec();
void main_fun();
void normal_fun();
void parameter();
void fun_name();
void main_body();
void fun_body();
void object_dec();
void object_name();
void fun_call();
void parameters();
void stmt();
void iff_then_stmt();
void while_stmt();
void for_stmt();
int digit();
int var();
int identifier();
void oper();
void logic_oper();
void declare_expr();
void initial_expr();
void update_expr();
void logic_expr();
void assign_expr();

أعلم اني ازعجتكم :) .. ولكن تحملوني قليلا حتى افهم طريقة الـ MFC وأنهي مشروعي بسلام :)

..

تم تعديل هذه المشاركة بواسطة Mashael Ebrahim في 6 يناير 2008 في 20:47

#11

هل قمت بعمل إنكلود للملف Dlg.h

#12

نعم ... هذه هي الانكلودات بالملفات الموجودة ..

// Java_ParserDlg.h : header file
//

#pragma once
#include "afxwin.h"
#include <string>
using namespace std;

// Java_ParserDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Java_Parser.h"
#include "Java_ParserDlg.h"
#include ".\java_parserdlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// Java_Parser.h : main header file for the PROJECT_NAME application
//

#pragma once

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h"		// main symbols

// CJava_ParserApp:
// See Java_Parser.cpp for the implementation of this class
//



// Java_Parser.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "Java_Parser.h"
#include "Java_ParserDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

أين المشكلة :(

#13

انت عرفت المتغيرات داخل الكلاس : CJava_ParserDlg، أي أنها أعضاء فيه members

عليك الانتباه إلى مجال تعريف المتغير، وطريقة الوصول إلى المتغيرات التابعة لفئة معينة... الخ

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 7 يناير 2008 في 10:38

#14

هنالك خطاء في تضمين ملف Java_ParserDlg.h مرتين داخل ملف Java_ParserDlg.cpp

#include "Java_ParserDlg.h"

#include ".\java_parserdlg.h"

( _ /)

(='.'=)

(")-(")

#15

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

بامكانك استعمال CString.Tokenize للبحث داخل نص/كلمة وهذا مثل ييسر لك ذلك

المثال غير كامل ولكن يفي بالغرض ان شاء الله

post-91400-1199701960_thumb.jpg

void CtestCStringSplitDlg::OnBnClickedOk()
   {   int iNbr = 0;
	   CString data("");
	   CString Msg("");;
	   m_txtArea.GetWindowText(data);
	   CString Separator(" ");

	   CString resToken;
	   int curPos= 0;

	   resToken= data.Tokenize(Separator,curPos);
	   while (resToken != "")
	   { iNbr++;
		 m_listBox.AddString(resToken);
		 resToken = data.Tokenize(Separator,curPos);		
	   }   

	   Msg.Format(_T("%d items found "), iNbr);
	   AfxMessageBox(Msg);

	   CString str = "Sample";
	   wchar_t* psz = str.GetBuffer();
	   str.Release();
   }

testCStringSplit.zip

#16

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

اسماعيل ابراهيم .. garo .. اهلا بكم مرة اخرى :) .. وادعوا الله ان ينفع بعلمكما :) .. ويعينني على تطبيق الواجهه على خير مايرام ..

اسماعيل ابراهيم

انا عرفت المتغيرات كما في رد سابق .. في الـ public .. واذا كانت كذلك .. في حالتي ماهي طريقة التعامل معها ؟؟

اليوم قمت بوضع تعاريفها خارج الكلاس ولكن بنفس ملف الـ Dlg.h واختفت الأخطاء :) .. فهل معناه ان المشكله بإذن الله انتهت :)

.................

garo

أيهما أحذف !!

وبالنسبة للمتغير الذي اضفته m_static .. أصبح يظهر لي أخطاء هذه الأخطاء

Java_Parser\Java_ParserDlg.cpp(163): error C2065: 'm_static' : undeclared identifier
Java_Parser\Java_ParserDlg.cpp(163): error C2228: left of '.SetWindowsTxt' must have class/struct/union type

عند هذا الكود

void error(int n)
{
	switch(n)
	{
	case 0:
		m_static.SetWindowsTxt("\n\n Successfull .. (\",)");
		break;
	case 1:
		m_static.SetWindowsTxt("\n error 1: syntax error : expect \"public\" at the begining of the program\n " );
		ec++;
		break;
.
.
.
.
.

ما المشكلة :)

-----------------

أخي بن العيد .. اهلا بك .. وشاكره لك تعاونك :) ..

بالنسبه للمثال الذي وضعته . قريب نوعا ما من اسلوب الذي أعمل عليه .. اللهم أنني لا أطبع الـ nextToken وانما اختبرها في دوال اخرى هل هي صحيحه أم لا

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

شاكره لك حرصك ومداخلتك .. وان كان لديك نصائح تعين على اكمال الواجهه بنجاح .. فلا تبخل بها علي :) ..

وجزاك الله كل خير

#17

كما قلت في رد سابق - منذ زمن لم اتعامل مع MFC وكذلك سي، وأرجو ألا تكون سي# أنستني بعض الأمور لهذا كلامي التالي صحيح 90% فقط :) :

تعريف المتغيرات خارج الكلاس يجعلها متغيرات global أي تبقى في الذاكرة طول عمر البرنامج، ويمكن الوصول اليها من اي مكان في البرنامج، لهذا يجب الا نتهاون في تعريف هكذا متغيرات.

1- العضو هو عضو عام public

2- نضع اسم الكائن الذي أخذناه عن الفئة وليس الفئة نفسها..

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 8 يناير 2008 في 09:14

#18

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

هل تعني انني لا استطيع استخدام هذا المتغير الخاص بـ statix text .. إلا في الدوال المعرفة داخل الكلاس !!

هل أستطيع تعريف الدالة error الخاصة بالاخطاء .. في الكلاس ؟؟ .. وكيف هل هو بنفس طريقة كلاس ال سي++ العادية ؟؟

أم تختلف في الـ MFC ؟؟

ما رأيك في طريقة أخرى .. وهي ان بدلا من دالة الـ error ..استخدم نفس دالة الstatic text .. اتوقع ان المشكلة ستختفي ..

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

أكثرت عليكم من اسئلتي :) .. ولكن لثقتي فيكم بعد الله ان الحل سيكون عندكم :) ..

سأجرب الحلول اللتي قلتها حتى ولو لم اعرف الطريقة لعلها تصدف معي :) .. وارد خبرا بالنتيجة ان شاء الله .. وربنا يسهل ..

شكرا لك على سعة بالك

#19

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

قمت بعمل التعديل على الدالة وضبطت ولكن ظهر لي اخطاء جديدة غريبة جدا :(

Java_Parser error LNK2005: "class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > CodeSTR" (?CodeSTR@@3V?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@A) already defined in Java_Parser.obj

Java_Parser error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > classSTR" (?classSTR@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in Java_Parser.obj

Java_Parser error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > functionSTR" (?functionSTR@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in Java_Parser.obj

Java_Parser error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > idSTR" (?idSTR@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in Java_Parser.obj

Java_Parser error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > letter" (?letter@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in Java_Parser.obj

Java_Parser error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > nextToken" (?nextToken@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in Java_Parser.obj

Java_Parser error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > objectSTR" (?objectSTR@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in Java_Parser.obj

Java_Parser error LNK2005: "int ec" (?ec@@3HA) already defined in Java_Parser.obj
Java_Parser error LNK2005: "int out" (?out@@3HA) already defined in Java_Parser.obj
Java_Parser error LNK2005: "int pcount" (?pcount@@3HA) already defined in Java_Parser.obj
Java_Parser error LNK2005: "unsigned int indx" (?indx@@3IA) already defined in Java_Parser.obj
Java_Parser error LNK2019: unresolved external symbol "void __cdecl error(int)" (?error@@YAXH@Z) referenced in function "void __cdecl class_declaration(void)" (?class_declaration@@YAXXZ)
Java_Parser fatal error LNK1120: 1 unresolved externals

ما المشكلة :( .. التسليم غداً .. :( :( :( ..

وسؤال آخر هل هناك دالة أخرى بديلة للطباعة SetWindowText .. بحيث استطيع وضع مجموعة بداخلها .. نص .. ومتغيرات .. !!

تشبه الـ cout في السي++ ..

أرجوا الرد عاجلا :(

#20

ألو :( ..

مليتوا من أخطاء برنامجي :( .....

#21

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

هل بامكانك رفع الكود هنا ليتم التعديل عليه مباشرة ربما استطيع المساعدة

#22
اقتباس
ما المشكلة sad.gif .. التسليم غداً ..

لما شفت الجملة هاي قلت خلص فات الأوان,,

لكن كما قال أخوي بن العيد - حطي الكود افضل

#23

السلام عليكم :) .. الحمد لله انكم عدتم .. والله خشيت انكم مللتم وان واجهتي لن تتم أبداً :blink:

صحيح أن التسليم يوم الاربعاء .. :( .. ولكنني سلمت الكود الأصلي للبرنامج وليس كود الـ MFC ..

على أمل ان اتمكن منه الخميس والجمعة .. والحقه يوم السبت :( ..

هذا هو الكود الاصلي بالسي ++ والكود الآخر بالـ MFC

وشاااكرة لكم تعاونكم ووقتكم .. وسعة بالكم :) ..

CPP_File.zip

#24

عندي سؤال .. يارب تتحملوني ..

بعد ما نننتهي من الانترفيس :) .. ناوية اسوي واجهه عربي بونس .. هل (اللهم اني اغير في الكابشن) ويمشي الحال :)

والسترنق تبعي هل راح يقدر يقرا عربي ..

بس ابي اجابات .. :)

تم تعديل هذه المشاركة بواسطة Mashael Ebrahim في 11 يناير 2008 في 15:59

#25

ألو :( ..

مافيه حس ولا خبر .. :( :( :( ..

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

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