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

سؤال لم أجد له إجابة - طريقة برمجة مترجم نصوص

بدأه khiro rca في 29 مايو 2010 · 5 رد · 718 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

إخواني - أعضاء أكبر منتدى عربي للبرمجة - والأغزر بالنجاحات

آمل أن أجد عند إخواني الإجابة عن سؤال بحثت عنه طويلا

السؤال:

- كيف يمكنني برمجة مترجم نصوص بالدلفي؟؟؟

مترجم نصوص دفعة واحدة وليس كلمة كلمة

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

ولابأس بسورس برنامج مشابه .

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

وجزاكم الله خيرا ولكم دعوات مني في الصلاة

بارك الله فيكم وأنتظر إجابتكم إخواني.....

أخوكم خيرالدين من الجزائر.

#2

أهناك حل إخواني؟؟؟

#3

اخي الكريم هذا المشروع ليس بالسهل و ليس بالمستحيل في الوقت ذاته ؛

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

Text Parsing , ويمكن بعض تقنيات ال hooking. التعامل الجيد مع الملفات النصية اذا اردت استعمالها كقواعد بيانات , و هنا يمكن ان ندخل بعض الشئ في ال Binary Trees وخاصة ال Balanced B-Trees وهذا بدوره سوف ياخذك الى التفكير في سرعة تحميل قواعدة البيانات والقيام بال Parsing و الى ماذلك من عمليات .... الخ

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

ولكن كما قلت سابقا ليس مستحيل القيام به ...

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

والله المستعان

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#4

بارك الله فيك أخي على تفاعلك

ما أريده بالضبط ليس مترجما لأستعمله لترجمة اللغات لنفهمها - وإنما سأستعمله لغرض برمجي آخر بسيط

والمترجم لن يحوي على أكثر من 100 كلمة

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

وجدت هذا الكود بالـ++C وسيعينني على عملي لكن لم أستطع تحويله للدلفي لأكمل العمل - ولا أعرف السي ++

هذا هو الكود (يقوم بوضع كل كلمة في سطر إنطلاقا من جملة)

int main()
{
string strtext("khiro c++ delphi");
int iLength = strtext.length();
for (int i=0;i<=iLength;i++)
{ if (!(strtext==' '))
{
cout<<strtext;
}
else 
cout<<endl; 
}
return 0;
}

**********

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

   var text:string;
       ilengt,i :Integer;
//---------------------------
begin
  i:=0;
  text:='khiro c++ delphi' ;
  ilengt:=length(text);  ;
//---------------------------
 for i := 0 to ilengt do
   begin
if  text<>(' ') then
   Writeln(text) ;

   end;
    Readln;
end.

هل من خبير في اللغتين معا؟؟؟

#5

جرب هذا :

uses HTTPUtil;

procedure TForm1.Button2Click(Sender: TObject);
var
LTokenizer: IStringTokenizer;
begin
memo1.Clear;
LTokenizer := StringTokenizer('khiro c++ delphi', ' ');
while LTokenizer.hasMoreTokens do
memo1.Lines.Add(LTokenizer.nextToken);
end;

والله المستعان

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#6
mohfa كتب:

جرب هذا :

uses HTTPUtil;

procedure TForm1.Button2Click(Sender: TObject);
var
LTokenizer: IStringTokenizer;
begin
memo1.Clear;
LTokenizer := StringTokenizer('khiro c++ delphi', ' ');
while LTokenizer.hasMoreTokens do
memo1.Lines.Add(LTokenizer.nextToken);
end;

والله المستعان

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

بارك الله فيك أخي - أفرحتني بردك

مع بعض التعديلات نتج التالي أخي

procedure TForm1.Button2Click(Sender: TObject);

var LTokenizer: IStringTokenizer;
begin
memo1.Clear;
LTokenizer := StringTokenizer(Memo2.Text,' ');
while
 LTokenizer.hasMoreTokens do memo1.Lines.Add(LTokenizer.nextToken);

end;

بارك الله فيك أخي مجددا

ستتم إضافتك لقائمة الأصدقاء أخي...

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

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

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

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

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