دلفي تعليم
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

سؤال بخصوص: تطبيق ومشروع اهم بعض الجمل باللغه الانجليزيه مترجمين عربي انجليزي وانجليزي عربي

اذهب الى الأسفل

سؤال بخصوص: تطبيق ومشروع اهم بعض الجمل باللغه الانجليزيه مترجمين عربي انجليزي وانجليزي عربي Empty سؤال بخصوص: تطبيق ومشروع اهم بعض الجمل باللغه الانجليزيه مترجمين عربي انجليزي وانجليزي عربي

مُساهمة  djelal 7/9/2019, 3:02 pm




تطبيق ومشروع اهم بعض الجمل باللغه الانجليزيه مترجمين عربي انجليزي وانجليزي عربي
Application and the project of some of the most
important sentences in English translators Arabic
English and English Arabic

English and Arabic

من انجازي قمت برمجته بدلفي 10.2 Delphi 10.2
وهي النسخة المجانية التي توزعها
Emparcadero

الجديد في هذا المشروع هي قاعدة بيانات اكسس وربطها بمكونات من المجموعات FireDAC
من اجل اظافة وتعديل وحذف جمل وترجمتها من القاعدة

ترجم الاسئلة كل من الاخوين

خليل الجنابي
و
Dares Almazhani

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

ماذا يعمل البرنامج ؟

البرنامج يطرح سؤال بللغة الانجليزية
ويطرح 5 ترجمات للسؤال باللغة العربية وتكون من بينهم ترجمة الصحيحة للسؤال

و كذلك البرنامج يطرح سؤال باللغة العربية
ويطرح 5 ترجمات للسؤال بللغة الانجليزية وتكون من بينهم ترجمة الصحيحة للسؤال

فاذا وفقت في اختيار ترجمة الصحيحة للسؤال تظهر رسالة تخبرك بان ترجمة الصحيحة

من الناحية البرمجية
البرنامج عبارة عن 1 Form و Label 1 و 1 RadioGroup و 1 BitBtn
في Label يعرض سؤال بللغة الانجليزية
وفي RadioGroup يعرض 5 ترجمات للسؤال باللغة العربية
و BitBtn للخروج من البرنامج.

English

The questions were translated by both brothers
خليل الجنابي
and
Dares Almazhani
I asked them to agree with me that I would complete my program
So they agreed
They are my partners in the program and since the program is free, they are my partners in the reward, God willing
I hope that this work will be pure and in the name of Allah

What does the program do?

The program poses a question in English
And subtracts 5 translations of the question in Arabic, including the correct translation of the question
If you succeed in choosing the correct translation of the question, a message will appear telling you that the translation is correct

and The program poses a question in Arabic
And subtracts 5 translations of the question in English, including the correct translation of the question
If you succeed in choosing the correct translation of the question, a message will appear telling you that the translation is correct

In terms of software
The program is 1 Form, 1 Label, 1 RadioGroup, and 1 BitBtn
The Label displays a question in English
RadioGroup offers 5 translations of the question in Arabic
And BitBtn out of the program

المشروع كامل بدلفي يجب ان يكون دلفي 10.2 طوكيو مثبت عندك

The project is complete
البرنامج كامل بدلفي
https://www.mediafire.com/file/edmowoplmcb8pyj/English2.rar/file

Executable file
الملف البتنفيذي
https://www.mediafire.com/file/j0n1j17kjnbzm84/prjEnglishs.rar/file

الملف التنفيذي يستطيع اي مستخدم ان يشغله

///////////////////////////

المشروع كامل بدلفي
prjEnglishs.dpr
----------------

program prjEnglishs;

uses
Forms,
untEnglish in 'untEnglish.pas' {frmEnglish},
untDataModule in 'untDataModule.pas' {DataModule1: TDataModule},
untEnglish1 in 'untEnglish1.pas' {frmEnglish1},
untEnglish2 in 'untEnglish2.pas' {frmEnglish2};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TfrmEnglish, frmEnglish);
Application.CreateForm(TDataModule1, DataModule1);
Application.CreateForm(TfrmEnglish1, frmEnglish1);
Application.CreateForm(TfrmEnglish2, frmEnglish2);
Application.Run;
end.

///////////////////////////
الوحدة
untEnglish.pas
----------------
unit untEnglish;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls,
Buttons;

type
TfrmEnglish = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label1: TLabel;
Label2: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
end;

var
frmEnglish: TfrmEnglish;

implementation

uses untEnglish1, untEnglish2;

{$R *.dfm}

procedure TfrmEnglish.BitBtn1Click(Sender: TObject);
begin
frmEnglish1.Show;
frmEnglish.Hide;
end;

procedure TfrmEnglish.BitBtn2Click(Sender: TObject);
begin
frmEnglish2.Show;
frmEnglish.Hide;
end;

procedure TfrmEnglish.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

end.

///////////////////////////
الوحدة
untEnglish1.pas
----------------
unit untEnglish1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons;

const ee1 = 'Some of the most important sentences in English are translated into Arabic';
aa1 = 'أهم بعض الجمل باللغة الانجليزية مترجمين الى العربية';
saa1='عدد الجمل المجاب عليها : ';
saa2='مجموع الجمل : ';
see1='number sentences right : ';
see2='all sentences : ';
type
TfrmEnglish1 = class(TForm)
Label1: TLabel;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Panel1: TPanel;
BitBtn1: TBitBtn;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormActivate(Sender: TObject);
private
procedure ChargeGrop;
end;

var
frmEnglish1: TfrmEnglish1;
CountRecord: integer;
i,i1,j: integer;
k: integer;
ea1,ea2: string;
x,y: integer;
s1,s2: string;

implementation

uses untEnglish, untDataModule;//, untQuickReport1

{$R *.dfm}

procedure TfrmEnglish1.ChargeGrop;
type TTabl = array[0..4, 0..4, 0..4] of Integer;
const CTab1: TTabl = (
((0, 1, 2, 3, 4), (1, 0, 2, 3, 4), (1, 2, 0, 3, 4), (1, 2, 3, 0, 4), (1, 2, 3, 4, 0)),
((4, 2, 3, 1, 0), (1, 0, 2, 3, 4), (0, 1, 2, 3, 4), (1, 2, 3, 0, 4), (1, 2, 3, 4, 0)),
((1, 2, 3, 0, 4), (0, 1, 2, 3, 4), (1, 0, 2, 3, 4), (1, 2, 3, 4, 0), (1, 2, 0, 3, 4)),
((2, 1, 0, 3, 4), (0, 1, 2, 3, 4), (1, 2, 3, 0, 4), (1, 0, 2, 3, 4), (1, 2, 3, 4, 0)),
((1, 2, 3, 4, 0), (0, 1, 2, 3, 4), (4, 0, 2, 3, 1), (1, 4, 0, 3, 2), (1, 2, 3, 0, 4))
);
begin
i1 := i1+1;
with DataModule1.FDt1 do
begin
FindKey([ i1 ]);
with RadioGroup1.Items do
begin
Label1.Caption := ' '+FieldValues[ea1]+' ';
k:=CTab1[i][j][0]; Strings[ k ] := FieldValues[ea2];
if i1 <= CountRecord - 4 then
begin
Next;
Strings[ CTab1[i][j][1] ] := FieldValues[ea2];
Next;
Strings[ CTab1[i][j][2] ] := FieldValues[ea2];
Next;
Strings[ CTab1[i][j][3] ] := FieldValues[ea2];
Next;
Strings[ CTab1[i][j][4] ] := FieldValues[ea2];
end else
begin
Prior;
Strings[ CTab1[i][j][1] ] := FieldValues[ea2];
Prior;
Strings[ CTab1[i][j][2] ] := FieldValues[ea2];
Prior;
Strings[ CTab1[i][j][3] ] := FieldValues[ea2];
Prior;
Strings[ CTab1[i][j][4] ] := FieldValues[ea2];
if i1 >= CountRecord then i1 := 0;
end;
end;
end;
j:=j+1;
if j >= 4 then begin j := 0; i:=i+1;end;
if i >= 4 then i := 0;
end;

procedure TfrmEnglish1.FormCreate(Sender: TObject);
begin
Caption := ee1;
frmEnglish.BiDiMode := bdLeftToRight;
RadioGroup1.Caption := Caption;
Label1.BiDiMode := bdLeftToRight;
Label1.Left := 21;
Label1.Top := 17;
Label1.Width := 453;
Label1.Height := 14;
Label1.Alignment := taRightJustify;
Label1.Font.Charset := ARABIC_CHARSET;
Label2.Alignment := taCenter;
Label2.Font.Charset := ARABIC_CHARSET;
Label3.Alignment := taCenter;
Label3.Font.Charset := ARABIC_CHARSET;
s1:=see1; s2:=see2;
Label2.Caption := s1;
Label3.Caption := s2;
i1 := 0;i:=0;j:=0;
x:=0;y:=0;
ea1 := 'Nam_Ar';
ea2 := 'Nam_En';
ChargeGrop;
end;

procedure TfrmEnglish1.RadioButton1Click(Sender: TObject);
begin
Caption := ee1;
RadioGroup1.Caption := caption;
frmEnglish.BiDiMode := bdLeftToRight;
RadioGroup1.BiDiMode := bdLeftToRight;
Label1.Alignment := taRightJustify;
Label1.Font.Charset := ARABIC_CHARSET;
Label2.Alignment := taCenter;
Label2.Font.Charset := ARABIC_CHARSET;
Label3.Alignment := taCenter;
Label3.Font.Charset := ARABIC_CHARSET;
Label4.Alignment := taCenter;
Label4.Font.Charset := ARABIC_CHARSET;
Label4.Caption := '% 0.000000000000';
s1:=see1; s2:=see2;
Label2.Caption := s1;
Label3.Caption := s2;
ea1 := 'Nam_Ar';
ea2 := 'Nam_En';
ChargeGrop;
x:=0;y:=0;
end;

procedure TfrmEnglish1.RadioButton2Click(Sender: TObject);
begin
caption := aa1;
RadioGroup1.Caption := Caption;
frmEnglish.BiDiMode := bdRightToLeft;
RadioGroup1.BiDiMode := bdRightToLeft;
Label1.Alignment := taLeftJustify;
Label1.Font.Charset := ARABIC_CHARSET;
Label2.Alignment := taCenter;
Label2.Font.Charset := ARABIC_CHARSET;
Label3.Alignment := taCenter;
Label3.Font.Charset := ARABIC_CHARSET;
Label4.Alignment := taCenter;
Label4.Font.Charset := ARABIC_CHARSET;
Label4.Caption := '% 0.000000000000';
s1:=saa1; s2:=saa2;
Label2.Caption := s1;
Label3.Caption := s2;
ea1 := 'Nam_En';
ea2 := 'Nam_Ar';
ChargeGrop;
x:=0;y:=0;
end;

procedure TfrmEnglish1.RadioGroup1Click(Sender: TObject);
begin

if k = RadioGroup1.ItemIndex then
begin
showmessage(' '+RadioGroup1.Items.Strings[ k ]+
' '+#13#10+' '+Label1.Caption+' ');
x:=x+1;
end;
Label2.Caption := s1+IntToStr(x);
y:=y+1;
Label3.Caption := s2+IntToStr(y);
Label4.Caption := FloatToStr((x*100)/ CountRecord);
ChargeGrop;
RadioGroup1.ItemIndex := -1;

if y=CountRecord then
begin
if x=CountRecord then
begin
showmessage('هنيئا لك لقد أجبت على كل الجمل'+
' '+#13#10+' '+Label4.Caption+' ');
end else
begin
showmessage(' هنيئا لك لقد تحصلت على '+
Label4.Caption);
end;
DataModule1.FDt1.First;
x:=0;y:=0;
end;
end;

procedure TfrmEnglish1.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
frmEnglish.Show;
end;

procedure TfrmEnglish1.FormActivate(Sender: TObject);
begin
CountRecord := DataModule1.FDt1.RecordCount;
end;

end.

///////////////////////////
الوحدة
untEnglish2.pas
---------------
unit untEnglish2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, DB,
Dialogs, untDataModule, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls,
Buttons;

type
TfrmEnglish2 = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
BitBtn1: TBitBtn;
Panel2: TPanel;
BitBtn2: TBitBtn;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
BitBtn3: TBitBtn;
CheckBox1: TCheckBox;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
end;

var
frmEnglish2: TfrmEnglish2;
Field1: string;

implementation

uses untEnglish;

{$R *.dfm}

procedure TfrmEnglish2.FormActivate(Sender: TObject);
begin
dbgrid1.DataSource :=DataModule1.DataSource1;
self.DBNavigator1.DataSource:=DataModule1.DataSource1;
DBGrid1.ReadOnly := true;
DBNavigator1.Visible := false;
end;

procedure TfrmEnglish2.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
frmEnglish.Show;
end;

procedure TfrmEnglish2.BitBtn1Click(Sender: TObject);
begin
if MessageDlg(' Do you went to add sentences to the database ',
mtInformation,[mbYes, mbNo], 0) = mrYes then
begin
DBGrid1.ReadOnly := false;
DBNavigator1.Visible := true;
end else begin
DBGrid1.ReadOnly := true;
DBNavigator1.Visible := false;
end;
end;

procedure TfrmEnglish2.BitBtn3Click(Sender: TObject);
begin
DataModule1.FDt1.Locate(Field1,Edit1.Text,[loCaseInsensitive, loPartialKey]);
end;

procedure TfrmEnglish2.Edit1Change(Sender: TObject);
begin
if Edit1.Text = '' then BitBtn3.Enabled := false
else BitBtn3.Enabled := true;
end;

procedure TfrmEnglish2.CheckBox1Click(Sender: TObject);
begin
if checkBox1.Checked then
begin
Field1 := 'Nam_En';
checkBox1.Caption := 'Arabic';
BitBtn3.Caption := 'Find';
caption := 'add sentences to the database';
self.BitBtn1.Caption := 'Add';
BitBtn2.Caption := '&Close';
BiDiMode := bdLeftToRight;
end else begin
Field1 := 'Nam_Ar';
checkBox1.Caption := 'English';
BitBtn3.Caption := 'بحث';
BiDiMode := bdRightToLeft;
caption := 'اظافة جمل الى قاعدة البيانات';
BitBtn1.Caption := 'اظافة';
BitBtn2.Caption := 'عودة';
end;
end;

procedure TfrmEnglish2.FormCreate(Sender: TObject);
begin
caption := 'add sentences to the database';
BiDiMode := bdLeftToRight;
Field1 := 'Nam_En';
end;

end.

///////////////////////////
الوحدة
untDataModule.pas
----------------
unit untDataModule;

interface

uses
SysUtils, Classes, DB, FireDAC.Stan.Intf, FireDAC.Stan.Option,
FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MSAcc,
FireDAC.Phys.MSAccDef, FireDAC.VCLUI.Wait, FireDAC.Stan.Param, FireDAC.DatS,
FireDAC.DApt.Intf, FireDAC.DApt, FireDAC.Comp.DataSet,
FireDAC.Comp.Client, vcl.forms, FireDAC.VCLUI.Login, FireDAC.Comp.UI;

type
TDataModule1 = class(TDataModule)
FDConnection1: TFDConnection;
FDt1: TFDTable;
DataSource1: TDataSource;
FDGUIxLoginDialog1: TFDGUIxLoginDialog;
procedure DataModuleCreate(Sender: TObject);
end;

var
DataModule1: TDataModule1;

implementation

{$R *.dfm}

procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
FDConnection1.LoginDialog := FDGUIxLoginDialog1;
if FileExists('BaseTEN.mdb') then
begin
FDConnection1.Close;
FDConnection1.Params.Clear;
FDConnection1.Params.Add('DriverID=MSAcc');
FDConnection1.Params.Add('StringFormat=sfUnicode');
FDConnection1.Params.Add('Database='+
ExtractFilePath(Application.ExeName)+'BaseTEN.mdb');
FDConnection1.Open;
FDt1.Close;
DataSource1.DataSet := FDt1;
if FDConnection1.Connected then
begin
FDt1.Connection := FDConnection1;
FDt1.TableName := 'TEN';
FDt1.Open;
end;
end;
end;

end.

djelal
مبرمج مجتهد

عدد المساهمات : 157
تاريخ التسجيل : 29/04/2015

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى