منتدى المحلقون Flying Blogger
مدونة تحتوي على مواضيع متفرقة ومعلومات البرمجة وبرامج الكمبيوتر , معلومات علمية , منزلية , طبية , تجارية , مدرسية , تكنولوجية , صناعية , مالية , ومعلومات عامة The blog contains various topics and , information programming and computer programs, scientific information, household, medical, commercial, school, technology, industrial, financial, and general information
الأربعاء، 23 نوفمبر 2022
الخميس، 24 أكتوبر 2019
إجراء التفقيط في لغة باسكال الدلفي - Function for Arabic Tafqeet
unit flyingTafqeet;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Grids, DBGrids, StdCtrls, Mask, DBCtrls, Db, ComCtrls, Qrctrls, ExtCtrls;
function SpellNumber(MyNumber: Real): string;
function Horof(X: string): string;
function SHorof(X: Real): string;
function THorof(X: Real): string;
implementation
function SpellNumber(MyNumber: Real): string;
begin
Result := Horof(Trim(FloatToStr(MyNumber)));
end;
function Horof(X: string): string;
var
Ma : string;
Mi1 : string;
Mi2 : string;
N : LONGLONG;
B : integer;
R : string;
begin
Ma := ' دينار';
Mi1 := ' فلـ';
Mi2 := 'ـس';
N := Trunc(StrToFloat(X));
B := StrToInt(Copy(trim(FormatFloat('00000000000000.000',StrToFloat(X))),16,3));
R := SHorof(N);
if (R <> '') And (B > 0) Then Result := R + Ma + ' و ' + Mi1+IntToStr(B)+Mi2;
if (R <> '') And (B = 0) Then Result := R + Ma;
if (R = '') And (B <> 0) Then Result := Mi1+IntToStr(B)+Mi2;
Horof := Result;
end;
function SHorof(X: Real): string;
var
N : LONGLONG;
C : string;
C1 : integer;
C2 : integer;
C3 : integer;
C4 : integer;
C5 : integer;
C6 : integer;
C7 : integer;
Letter1 : string;
Letter2 : string;
Letter3 : string;
Letter4 : string;
Letter5 : string;
Letter6 : string;
Letter7 : string;
begin
N := Trunc(X);
C := Copy(format('%14d',[N]),1,14);
while Pos(' ', C) > 0 do
C[Pos(' ', C)] := '0';
C1 := StrToInt(Copy(C, 14, 1));
case C1 of
1: Letter1 := 'واحد';
2: Letter1 := 'اثنان';
3: Letter1 := 'ثلاثة';
4: Letter1 := 'اربعة';
5: Letter1 := 'خمسة';
6: Letter1 := 'ستة';
7: Letter1 := 'سبعة';
8: Letter1 := 'ثمانة';
9: Letter1 := 'تسعة';
end;
C2 := StrToInt(Copy(C, 13, 1));
case C2 of
1: Letter2 := 'عشر';
2: Letter2 := 'عشرون';
3: Letter2 := 'ثلاثون';
4: Letter2 := 'اربعون';
5: Letter2 := 'خمسون';
6: Letter2 := 'ستون';
7: Letter2 := 'سبعون';
8: Letter2 := 'ثمانون';
9: Letter2 := 'تسعون';
end;
if (Letter1 <> '') And (C2 > 1) Then Letter2 := Letter1 + ' و' + Letter2;
if Letter2 = '' Then Letter2 := Letter1;
if (C1 = 0) And (C2 = 1) Then Letter2 := Letter2 + 'ة';
if (C1 = 1) And (C2 = 1) Then Letter2 := 'احدى عشر';
if (C1 = 2) And (C2 = 1) Then Letter2 := 'اثنى عشر';
if (C1 > 2) And (C2 = 1) Then Letter2 := Letter1 + ' ' + Letter2;
C3 := StrToInt(Copy(C, 12, 1));
case C3 of
1: Letter3 := 'مائة';
2: Letter3 := 'مئتان';
3..9: Letter3 := Copy(THorof(C3),1, Length(THorof(C3)) - 1) + 'مائة';
end;
if (Letter3 <> '') And (Letter2 <> '') Then Letter3 := Letter3 + ' و' + Letter2;
if Letter3 = '' then Letter3 := Letter2;
C4 := StrToInt(Copy(C, 9, 3));
Case C4 of
1: Letter4 := 'الف';
2: Letter4 := 'الفان';
3..10: Letter4 := THorof(C4) + ' آلاف';
11..999: Letter4 := THorof(C4) + ' الف';
end;
if (Letter4 <> '') And (Letter3 <> '') then Letter4 := Letter4 + ' و' + Letter3;
if Letter4 = '' then Letter4 := Letter3;
C5 := strToInt(Copy(C, 6, 3));
Case C5 of
1: Letter5 := 'مليون';
2: Letter5 := 'مليونان';
3..10: Letter5 := THorof(C5) + ' ملايين';
11..999: Letter5 := THorof(C5) + ' مليون';
end;
if (Letter5 <> '') And (Letter4 <> '') Then Letter5 := Letter5 + ' و' + Letter4;
if Letter5 = '' Then Letter5 := Letter4;
C6 := StrToInt(Copy(C, 3, 3));
Case C6 of
1: Letter6 := 'مليار';
2: Letter6 := 'ملياران';
3..999: Letter6 := THorof(C6) + ' مليار';
end;
if (Letter6 <> '') And (Letter5 <> '') Then Letter6 := Letter6 + ' و' + Letter5;
if Letter6 = '' Then Letter6 := Letter5;
C7 := StrToInt(Copy(C, 1, 2));
Case C7 of
1: Letter7 := 'بليون';
2: Letter7 := 'بليونان';
3..99: Letter7 := THorof(C7) + ' بليون';
end;
if (Letter7 <> '') And (Letter6 <> '') Then Letter7 := Letter7 + ' و' + Letter6;
if Letter7 = '' Then Letter7 := Letter6;
Result := Letter7;
end;
function THorof(X: Real): string;
var
N : Longint;
C : string;
C1 : integer;
C2 : integer;
C3 : integer;
Letter1 : string;
Letter2 : string;
Letter3 : string;
begin
N := Trunc(X);
C := Copy(format('%14d',[N]),1,14);
while Pos(' ', C) > 0 do
C[Pos(' ', C)] := '0';
C1 := StrToInt(Copy(C, 14, 1));
case C1 of
1: Letter1 := 'واحد';
2: Letter1 := 'اثنان';
3: Letter1 := 'ثلاثة';
4: Letter1 := 'اربعة';
5: Letter1 := 'خمسة';
6: Letter1 := 'ستة';
7: Letter1 := 'سبعة';
8: Letter1 := 'ثمانية';
9: Letter1 := 'تسعة';
end;
C2 := StrToInt(Copy(C, 13, 1));
case C2 of
1: Letter2 := 'عشر';
2: Letter2 := 'عشرون';
3: Letter2 := 'ثلاثون';
4: Letter2 := 'اربعون';
5: Letter2 := 'خمسون';
6: Letter2 := 'ستون';
7: Letter2 := 'سبعون';
8: Letter2 := 'ثمانون';
9: Letter2 := 'تسعون';
end;
if (Letter1 <> '') And (C2 > 1) Then Letter2 := Letter1 + ' و' + Letter2;
if Letter2 = '' Then Letter2 := Letter1;
if (C1 = 0) And (C2 = 1) Then Letter2 := Letter2 + 'ة';
if (C1 = 1) And (C2 = 1) Then Letter2 := 'احدى عشر';
if (C1 = 2) And (C2 = 1) Then Letter2 := 'اثنى عشر';
if (C1 > 2) And (C2 = 1) Then Letter2 := Letter1 + ' ' + Letter2;
C3 := StrToInt(Copy(C, 12, 1));
case C3 of
1: Letter3 := 'مائة';
2: Letter3 := 'مئتان';
3..9: Letter3 := Copy(THorof(C3),1, Length(THorof(C3)) - 1) + 'مائة';
end;
if (Letter3 <> '') And (Letter2 <> '') Then Letter3 := Letter3 + ' و' + Letter2;
if Letter3 = '' then Letter3 := Letter2;
Result := Letter3;
end;
end.
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Grids, DBGrids, StdCtrls, Mask, DBCtrls, Db, ComCtrls, Qrctrls, ExtCtrls;
function SpellNumber(MyNumber: Real): string;
function Horof(X: string): string;
function SHorof(X: Real): string;
function THorof(X: Real): string;
implementation
function SpellNumber(MyNumber: Real): string;
begin
Result := Horof(Trim(FloatToStr(MyNumber)));
end;
function Horof(X: string): string;
var
Ma : string;
Mi1 : string;
Mi2 : string;
N : LONGLONG;
B : integer;
R : string;
begin
Ma := ' دينار';
Mi1 := ' فلـ';
Mi2 := 'ـس';
N := Trunc(StrToFloat(X));
B := StrToInt(Copy(trim(FormatFloat('00000000000000.000',StrToFloat(X))),16,3));
R := SHorof(N);
if (R <> '') And (B > 0) Then Result := R + Ma + ' و ' + Mi1+IntToStr(B)+Mi2;
if (R <> '') And (B = 0) Then Result := R + Ma;
if (R = '') And (B <> 0) Then Result := Mi1+IntToStr(B)+Mi2;
Horof := Result;
end;
function SHorof(X: Real): string;
var
N : LONGLONG;
C : string;
C1 : integer;
C2 : integer;
C3 : integer;
C4 : integer;
C5 : integer;
C6 : integer;
C7 : integer;
Letter1 : string;
Letter2 : string;
Letter3 : string;
Letter4 : string;
Letter5 : string;
Letter6 : string;
Letter7 : string;
begin
N := Trunc(X);
C := Copy(format('%14d',[N]),1,14);
while Pos(' ', C) > 0 do
C[Pos(' ', C)] := '0';
C1 := StrToInt(Copy(C, 14, 1));
case C1 of
1: Letter1 := 'واحد';
2: Letter1 := 'اثنان';
3: Letter1 := 'ثلاثة';
4: Letter1 := 'اربعة';
5: Letter1 := 'خمسة';
6: Letter1 := 'ستة';
7: Letter1 := 'سبعة';
8: Letter1 := 'ثمانة';
9: Letter1 := 'تسعة';
end;
C2 := StrToInt(Copy(C, 13, 1));
case C2 of
1: Letter2 := 'عشر';
2: Letter2 := 'عشرون';
3: Letter2 := 'ثلاثون';
4: Letter2 := 'اربعون';
5: Letter2 := 'خمسون';
6: Letter2 := 'ستون';
7: Letter2 := 'سبعون';
8: Letter2 := 'ثمانون';
9: Letter2 := 'تسعون';
end;
if (Letter1 <> '') And (C2 > 1) Then Letter2 := Letter1 + ' و' + Letter2;
if Letter2 = '' Then Letter2 := Letter1;
if (C1 = 0) And (C2 = 1) Then Letter2 := Letter2 + 'ة';
if (C1 = 1) And (C2 = 1) Then Letter2 := 'احدى عشر';
if (C1 = 2) And (C2 = 1) Then Letter2 := 'اثنى عشر';
if (C1 > 2) And (C2 = 1) Then Letter2 := Letter1 + ' ' + Letter2;
C3 := StrToInt(Copy(C, 12, 1));
case C3 of
1: Letter3 := 'مائة';
2: Letter3 := 'مئتان';
3..9: Letter3 := Copy(THorof(C3),1, Length(THorof(C3)) - 1) + 'مائة';
end;
if (Letter3 <> '') And (Letter2 <> '') Then Letter3 := Letter3 + ' و' + Letter2;
if Letter3 = '' then Letter3 := Letter2;
C4 := StrToInt(Copy(C, 9, 3));
Case C4 of
1: Letter4 := 'الف';
2: Letter4 := 'الفان';
3..10: Letter4 := THorof(C4) + ' آلاف';
11..999: Letter4 := THorof(C4) + ' الف';
end;
if (Letter4 <> '') And (Letter3 <> '') then Letter4 := Letter4 + ' و' + Letter3;
if Letter4 = '' then Letter4 := Letter3;
C5 := strToInt(Copy(C, 6, 3));
Case C5 of
1: Letter5 := 'مليون';
2: Letter5 := 'مليونان';
3..10: Letter5 := THorof(C5) + ' ملايين';
11..999: Letter5 := THorof(C5) + ' مليون';
end;
if (Letter5 <> '') And (Letter4 <> '') Then Letter5 := Letter5 + ' و' + Letter4;
if Letter5 = '' Then Letter5 := Letter4;
C6 := StrToInt(Copy(C, 3, 3));
Case C6 of
1: Letter6 := 'مليار';
2: Letter6 := 'ملياران';
3..999: Letter6 := THorof(C6) + ' مليار';
end;
if (Letter6 <> '') And (Letter5 <> '') Then Letter6 := Letter6 + ' و' + Letter5;
if Letter6 = '' Then Letter6 := Letter5;
C7 := StrToInt(Copy(C, 1, 2));
Case C7 of
1: Letter7 := 'بليون';
2: Letter7 := 'بليونان';
3..99: Letter7 := THorof(C7) + ' بليون';
end;
if (Letter7 <> '') And (Letter6 <> '') Then Letter7 := Letter7 + ' و' + Letter6;
if Letter7 = '' Then Letter7 := Letter6;
Result := Letter7;
end;
function THorof(X: Real): string;
var
N : Longint;
C : string;
C1 : integer;
C2 : integer;
C3 : integer;
Letter1 : string;
Letter2 : string;
Letter3 : string;
begin
N := Trunc(X);
C := Copy(format('%14d',[N]),1,14);
while Pos(' ', C) > 0 do
C[Pos(' ', C)] := '0';
C1 := StrToInt(Copy(C, 14, 1));
case C1 of
1: Letter1 := 'واحد';
2: Letter1 := 'اثنان';
3: Letter1 := 'ثلاثة';
4: Letter1 := 'اربعة';
5: Letter1 := 'خمسة';
6: Letter1 := 'ستة';
7: Letter1 := 'سبعة';
8: Letter1 := 'ثمانية';
9: Letter1 := 'تسعة';
end;
C2 := StrToInt(Copy(C, 13, 1));
case C2 of
1: Letter2 := 'عشر';
2: Letter2 := 'عشرون';
3: Letter2 := 'ثلاثون';
4: Letter2 := 'اربعون';
5: Letter2 := 'خمسون';
6: Letter2 := 'ستون';
7: Letter2 := 'سبعون';
8: Letter2 := 'ثمانون';
9: Letter2 := 'تسعون';
end;
if (Letter1 <> '') And (C2 > 1) Then Letter2 := Letter1 + ' و' + Letter2;
if Letter2 = '' Then Letter2 := Letter1;
if (C1 = 0) And (C2 = 1) Then Letter2 := Letter2 + 'ة';
if (C1 = 1) And (C2 = 1) Then Letter2 := 'احدى عشر';
if (C1 = 2) And (C2 = 1) Then Letter2 := 'اثنى عشر';
if (C1 > 2) And (C2 = 1) Then Letter2 := Letter1 + ' ' + Letter2;
C3 := StrToInt(Copy(C, 12, 1));
case C3 of
1: Letter3 := 'مائة';
2: Letter3 := 'مئتان';
3..9: Letter3 := Copy(THorof(C3),1, Length(THorof(C3)) - 1) + 'مائة';
end;
if (Letter3 <> '') And (Letter2 <> '') Then Letter3 := Letter3 + ' و' + Letter2;
if Letter3 = '' then Letter3 := Letter2;
Result := Letter3;
end;
end.
الثلاثاء، 1 أكتوبر 2019
إذا ساء فعل المرء ساءت ظنونه - أبو الطيب المتنبي
الاثنين، 16 سبتمبر 2019
الجمعة، 23 أغسطس 2019
الشافعي - دع الأيام تفعل ما تشاء
دَعِ الأَيّامَ تَفعَلُ ما تَشاءُ
وَطِب نَفساً إِذا حَكَمَ القَضاءُ
وَلا تَجزَع لِحادِثَةِ اللَيالي
فَما لِحَوادِثِ الدُنيا بَقاءُ
وَكُن رَجُلاً عَلى الأَهوالِ جَلداً
وَشيمَتُكَ السَماحَةُ وَالوَفاءُ
وَإِن كَثُرَت عُيوبُكَ في البَرايا
وَسَرَّكَ أَن يَكونَ لَها غِطاءُ
تَسَتَّر بِالسَخاءِ فَكُلُّ عَيبٍ
يُغَطّيهِ كَما قيلَ السَخاءُ
وَلا تُرِ لِلأَعادي قَطُّ ذُلّاً
فَإِنَّ شَماتَةَ الأَعدا بَلاءُ
وَلا تَرجُ السَماحَةَ مِن بَخيلٍ
فَما في النارِ لِلظَمآنِ ماءُ
وَرِزقُكَ لَيسَ يُنقِصُهُ التَأَنّي
وَلَيسَ يَزيدُ في الرِزقِ العَناءُ
وَلا حُزنٌ يَدومُ وَلا سُرورٌ
وَلا بُؤسٌ عَلَيكَ وَلا رَخاءُ
إِذا ما كُنتَ ذا قَلبٍ قَنوعٍ
فَأَنتَ وَمالِكُ الدُنيا سَواءُ
وَمَن نَزَلَت بِساحَتِهِ المَنايا
فَلا أَرضٌ تَقيهِ وَلا سَماءُ
وَأَرضُ اللَهِ واسِعَةٌ وَلَكِن
إِذا نَزَلَ القَضا ضاقَ الفَضاءُ
دَعِ الأَيّامَ تَغدِرُ كُلَّ حِينٍ
فَما يُغني عَنِ المَوتِ الدَواءُ
الأحد، 11 أغسطس 2019
إجراء تصدير بيانات من جدول إلى الأكسل بلغة الدلفي - Delphi Function Export To Excel File
هذا الإجراء يستخدم لتصدير بيانات من جدول داتابيس إلى ملف أكسل , بلغة الدلفي
function ExportToExcel(oDataSet : TDataSet; sFile : String; pName : String): Boolean;
var
iCol,iRow : Integer;
oExcel : TExcelApplication;
oWorkbook : TExcelWorkbook;
oSheet : TExcelWorksheet;
vRowNo : integer;
vFieldC : integer;
vVarCol : OleVariant;
lcid : integer;
begin
lcid := LOCALE_USER_DEFAULT;
result := True;
oExcel := TExcelApplication.Create(Application);
oWorkbook := TExcelWorkbook.Create(Application);
oSheet := TExcelWorksheet.Create(Application);
try
oExcel.ConnectKind := ckNewInstance;
oExcel.Visible[lcid] := False;
oExcel.Connect;
except
result := False;
MessageDlg('Excel may not be installed', mtError, [mbOk], 0);
exit;
end;
oExcel.Visible[lcid] := True;
oExcel.Caption := 'Title Excel Export ';
oExcel.Workbooks.Add(Null, lcid);
oWorkbook.ConnectTo(oExcel.Workbooks[1]);
oSheet.ConnectTo(oWorkbook.Worksheets[1] as _Worksheet);
oSheet.DisplayRightToLeft[lcid] := True;
iRow := 1;
vRowNo := oDataSet.RecordCount+1;
vFieldC := oDataSet.FieldCount;
case vFieldC of // لتحديد الأعمدة والعمل على تلوينها حسب ما هو مطلوب //
1: vVarCol := 'A1';
2: vVarCol := 'B1';
3: vVarCol := 'C1';
4: vVarCol := 'D1';
5: vVarCol := 'E1';
6: vVarCol := 'F1';
7: vVarCol := 'G1';
8: vVarCol := 'H1';
9: vVarCol := 'I1';
10: vVarCol := 'J1';
// Add as required //
end;
for iCol := 1 to oDataSet.FieldCount do
begin
oSheet.Cells.Item[iRow,iCol] := oDataSet.Fields[iCol-1].DisplayLabel;
end;
oDataSet.First;
while NOT oDataSet.Eof do
begin
Inc(iRow);
for iCol := 1 to oDataSet.FieldCount do
begin
oSheet.Cells.Item[iRow,iCol] := oDataSet.Fields[iCol-1].AsString;
end;
oDataSet.Next;
end;
oSheet.Name := pName; // Change the wprksheet name. //
// Change Color and font to Title of page //
oSheet.Range['A1',vVarCol].EntireRow.Font.Color := clNavy;
oSheet.Range['A1',vVarCol].EntireRow.Font.Size := 12;
oSheet.Range['A1',vVarCol].EntireRow.Font.Bold := True;
oSheet.Range['A1',vVarCol].EntireRow.Font.Name := 'Arabic Transparent';
oSheet.Range['A1',vVarCol].Interior.ColorIndex := 15;
oSheet.Range['A1',vVarCol].Interior.Pattern := xlSolid;
// Change the font properties of a row. //
oSheet.Range['A2','A'+IntToStr(vRowNo)].EntireRow.Font.Color := clBlack;
oSheet.Range['A2','A'+IntToStr(vRowNo)].EntireRow.Font.Size := 12;
oSheet.Range['A2','A'+IntToStr(vRowNo)].EntireRow.Font.Name := 'Arabic Transparent';
oSheet.Columns.AutoFit;
Sleep(10);
if FileExists(sFile) then DeleteFile(sFile);
oSheet.SaveAs(sFile);
oSheet.Disconnect;
oSheet.Free;
oWorkbook.Disconnect;
oWorkbook.Free;
oExcel.Quit;
oExcel.Disconnect;
oExcel.Free;
end;
الجافا : انسياب التحكم
إن البرنامج الذي يتألف من لائحة من العبارات المتتابعة مفيد بما أنه يتم تنفيذ العبارات بالترتيب الذي تم كتابتها فيه. لكن القدرة على التحكم بالترتيب الذي يتم فيه تنفيذ العبارات : أي أن تختبر الشروط وتنفيذ عبارات مختلفة بالاعتماد على نتائج الاختبارات - يضيف قيمة كبيرة إلى طقم الأدوات البرمجية.
إن العبارات الأساسية هي عبارات التعابير وعبارات التصريح التي رأيت الكثير منها ، عبارات التعابير مثل ++i أو استدعاءات المناهج هي تعابير مع فاصلة منقوطة في النهاية. تنتهي الفاصلة المنقوطة العبارة. وبالفعل فإن الفاصلة المنقوطة بحد ذاتها هي عبارة لا تنفيذ شيء - عبارة فارغة. ولا يمكن أن تصبح جميع التعابير عبارات ، بما أنه ، على سبيل المثال لا يوجد معنى لوجود تعبير مثل x <= y لوحده كعبارة. يمكن تحويل الأنواع التالية من التعابير فقط إلى عبارات بإضافة فاصلة منقوطة :
- تعابير الاسناد : تلك التي تحتوي على = أو أحد أنواع العوامل =op.
- النماذج السابقة أو اللاحقة من ++ و -- .
- استدعاءات المناهج (سواء كانت تعيد قيمة أم لا).
- تعابير إنشاء الكائنات - تلك التي تستخدم new لإنشاء كائن.
إن تعابير التصريح (تدعى رسمياً بعبارات التصريح عن المتغيرات المحلية) تصرح عن متغيرة وتمهدها إلى قيمة، وبمكن أن تظهر في أي مكان ضمن الكتلة ، وليس في البداية فقط ، وتبقى المتغيرات المحلية حية فقط في الفترة التي يتم فيها تنفيذ الكتلة التي تحتوي على التصريح عنها ، كما يجب أن يتم تمهيد المتغيرات المحلية قبل استخدامها ، إما بالتمهيد عن التصريح عنها أو بالإسناد ، وإذا استخدمت أي متغيرة محلية قبل أن يتم تمهيدها ، فلن يتم تصريف الشيفرة.
تصريح عبارات تصريح الفئة المحلية عن فئة داخلية محلية يمكن أن تستخدم ضمن الكتلة التي تم فيها التصريح عنها.
بالإضافة إلى عبارات التعبير المذكورة ، فإن العديد من الأنواع الأخرى من العبارات ، مثل العباراتين if و for ، تؤثر على انسياب التحكم عبر البرنامج.
تجمع القوسان الحاصرتان {and} العبارات ضمن الكتلة ، ويمكن استخدام الكتلة في أي مكان تستخدم فيه عبارة واحدة بما أن الكتلة هي عبارة ، ولو أنها عبارة مركبة.
السبت، 27 يوليو 2019
Email marketing
Email marketing is everywhere. Even if you have a website that represents a small local business, chances are that you have a list of your loyal subscribers to inform about happenings in your company. Create email newsletters is very simple and effective.
We can provide you with campaign of email marketing , so among all possible solutions, email campaigns have proved quite beneficial and Increase the number of customers accessing your website.
We can provide you with campaign of email marketing , so among all possible solutions, email campaigns have proved quite beneficial and Increase the number of customers accessing your website.
الخميس، 18 يوليو 2019
? What about Visual basic
Visual basic is hardly even a good idea to use at all today, so the best language of your code modern alternatives Like C#, PHP, Python, Node.js ...
الأربعاء، 10 يوليو 2019
أهم أسباب أدت إلى الإنتقال من برامج الدسك توب إلى برامج الويب بيز Web Base
هناك عدة أسباب ، جعلت المبرمجين ينتقلون من برمجة برامج الدسك توب Desktop إلى برامج الويب بيز ومن أهمها :
أولاً : عدم استقرار أنظمة التشغيل وخاصة في الآونة الأخيرة نظام ويندوز
ثانياً : برامج الدسك توب تحتاج لمكتبات ، وفي الغالب هذه المكتبات مكلفة.
ثالثاً : طريقة تصميم المظهر الخارجي للبرامج ، محكومة بنظام التشغيل وهذه الآلية
تحد من القدرة على تطوير واجهة تواكب التطور التكنولوجي.
رابعاً : عملية ربط عدة أجهزة عن طريق الشبكات المحلية ، لا تواجه قبول من معظم العملاء.
خامساً : ظهور الموبايلات الحديثة ، مما أسهم في تقليص قبول برامج الدسك توب من قبل العملاء ، لأنها لا تعمل على الموبايلات.
سادساً : أصبحت خدمة الإنترنت في متناول الجميع وفي كل مكان سواء بالعمل أو البيت أو حتى في الخارج.
سابعاً : أصبح كثير من العملاء ، يرغبون بتشغيل البرنامج على أي جهاز دون التقيد بنظام التشغيل ، مما ساعد في انتشار برامج الويب بيز التي تعمل على أي جهاز ومن أي مكان.
ثامناً : مرونة التطوير بالنسبة لمطور البرامج ، لوجود ملايين المكتبات الجاهزة من فريم وورك تطوير برامج الويب بيز وكثير منها مفتوح المصدر.
الخميس، 4 يوليو 2019
? Why MySQL Is Still the best
Why MySQL Is Still the best? With the launch of NoSQL, many were of the opinion that it would drive MySQL out of the market.
But MySQL is an open source (RDBMS) Relational Database Management System which utilizes Structured Query Language (SQL).Flying Forum
MySQL is not about to exit the market, despite imminent competition.
Built on MySQL Enterprise Edition and powered by the Oracle Cloud, Oracle MySQL Cloud Service provides a simple, automated, integrated and enterprise ready MySQL cloud service, enabling organizations to increase business agility and reduce costs.
Flying Soft
Flying Soft
الأربعاء، 3 يوليو 2019
? What would Oracle database cost for big company
Oracle sells enterprise license agreements, which basically means that they promise to not come back to bug you for a few years Flying Forum if you give them lots of money.
it’s going to cost you 17 billion dollars.” The extorted customer responds, well, we’re thinking of moving our database to Sybase or Postgres if we don’t get a good price, and you never fixed any bugs that we reported, and we really don’t need your stuff, so we’ll offer you 5 million dollars. The Oracle salesperson comes back and says well, I did the best I could for you, and got you a price of 10 billion dollars if you buy now.
Details
what about Mysql Database ?
it’s going to cost you 17 billion dollars.” The extorted customer responds, well, we’re thinking of moving our database to Sybase or Postgres if we don’t get a good price, and you never fixed any bugs that we reported, and we really don’t need your stuff, so we’ll offer you 5 million dollars. The Oracle salesperson comes back and says well, I did the best I could for you, and got you a price of 10 billion dollars if you buy now.
Details
what about Mysql Database ?
الاثنين، 4 سبتمبر 2017
ترتيب النص العربي في اس كيو ال Sql
Sql Order By with Arabic Name
بدل استخدام الاستعلام التالي :
Select Name from Table
حيث أن نوع الحقل Name يكون STRING أو VARCHAR
اذا كنت تستخدم الحقل VARCHAR أو الحقل STRING
يجب أن يتم تبديله أثناء عملية الاستعلام بهذه الطريقة :
Select CAST(Name As WIDESTRING) As NewName from Table
Order By NewName
الاثنين، 28 أغسطس 2017
برنامج طباعة الشيكات
نقدم لكم برنامج طباعة الشيكات مجاناً
أولاً : رابط تنزيل البرامج
تجد قائمة بجميع البرامج , ومن ضمنها بإمكانك تنزيل بعض البرامج المجانية
مثال بالضغط على برنامج الشيكات Check Print, يظهر لك خيارات تنزيل برنامج طباعة الشيكات
وبرامج أخرى مثل برنامج الرواتب المجاني , تنزيل البرامج تابع باستمرار لمشاهدة المزيد من البرامج المجانية.
يرجى الضغط على الكلمة Download ليتم تنزيل البرنامج
نرجوا الإستفادة من البرنامج وننتظر منكم الملاحظات , وشكراً
السبت، 22 يوليو 2017
نقاط البيع Flying POS
نقاط البيع Flying POS
Point Of Sales (POS) System
Ease of use : Look for software with a user-friendly graphical
Entry : allow you to enter with multi type , manually or automatically via a bar-code scanner.
Reporting : include sales, by individual inventory items, by salesperson, or by category for the day, month and year to date. also reports for entry time , X report, Z report for the day.
ميزات نظام نقاط البيع
تصميم أنيق يرضي أي مستخدم وقريب للقلب
إدخالات متعددة عن طريق الماوس , الكيبورد واستخدام الرقم الآلي , استخدام البحث عن صنف.
الإدخال باستخدام الطريقة الافتراضية لنقاط البيع عن طريق قارئة الباركود.
اظهار الأصناف المطلوبة باستمرار ضمن قوائم متعددة يمكن تسمتها مع اظهار صورة للصنف تعمل باللمس
اظهار قيم الفاتورة الأخيرة على نقطة البيع كما يمكن تصفح فواتير البيع في ذلك اليوم.
امكانية استخدام زر العميل التالي (Next Customer) بحيث يمكن تخزين عملاء ووضعهم في حالة انتظار , غير محدود.
المزيد من الخيارات والوظائف المتعددة
الأربعاء، 19 يوليو 2017
نظام مالي Flying Money
Flying Money نظام مالي
نظام مالي Flying Money هو عبارة عن نظام يحتوي على 7 دفاتر مالية وهذا النظام ليس بالضرورة للشخص الذي يستخدمه أن يكون ملم بالمحاسبة أو بأي دورة مالية , لأن نظام مالي تم تطويره وبرمجته بناءاً على إدخال مبالغ مالية مباشرة وبدون أي شروط تتعلق بقيود المحاسبة , فأي شخص يقوم باستخدام أحد الدفاتر الموجودة بالنظام ما عليه سوى عمل إضافة ثم القيام بتتبع الخطوات حسب آلية البرنامج ومنها التاريخ , الشركة , الفرع , ومن ثم فتح سطر وإدخال المبلغ , وسيتم شرح الدفاتر تالياً :
- دفتر المشتريات
- دفتر المصاريف العامة
- دفتر المصاريف الشخصية
- دفتر الفوائد والعمولات
- دفتر مصاريف المقاولين
- دفتر مصاريف الرواتب
- دفتر الإيرادات والمبيعات
دفتر المشتريات
هذا الدفتر يستخدم لإدراج جميع فواتير المشتريات التي تقوم بشرائها المؤسسة أو الشركة.
نظام المحاسبة والمستودعات
نظام المحاسبة والمستودعات
يتكون نظام المحاسبة والمستودعات من موديولات متعددة , المحاسبة العامة , المستودعات , الذمم العامة , المبيعات , المشتريات بالإضافة إلى متابعة الشيكات , وكما هو معروف لدى الكثير من المحاسبين أن البرنامج الجيد يمتاز بسهولة التنقل بين الشاشات والقدرة على الوصول بالسرعة المطلوبة :
موديول المحاسبة العامة :
- دفتر الأستاذ العام
- دفتر اليومية العامة
- تقارير المحاسبة العامة (يحتوي النظام على تقارير كاملة وشاملة للمحاسبة العامة)
موديول المستودعات :
- دفتر تعريف المستودعات
- دفتر بطاقة الصنف
- دفتر سندات التسوية
- دفتر سندات الاستلام
- دفتر سندات التسليم
- تقارير المستودعات (يحتوي النظام على تقارير تحليلية للأصناف ومتابعتها وتقرير الجرد المالي)
- تقارير سريعة quick report
موديول الذمم العام :
- دفتر الأستاذ المساعد
- تقارير الذمم العام (تشمل تقارير العملاء وتقارير الموردين , بالإضافة إلى تقارير شاملة وتحليلية)
موديول المبيعات :
- دفتر عروض الأسعار
- دفتر طلبات البيع
- دفتر فواتير المبيعات
- دفتر مرتجع المبيعات
- دفتر فواتير التصدير
- تقارير كشوفات المبيعات (تتضمن تقارير متعددة للمبيعات)
موديول المشتريات :
- دفتر طلبات الشراء
- دفتر فواتير المشتريات
- دفتر فواتير المشتريات الخارجية
- تقارير كشوفات المشتريات (تتضمن تقارير متعددة للمشتريات)
الثلاثاء، 18 يوليو 2017
نقاط مهمة لعمل برنامج بلغة الدلفي أو بلغات أخرى
- تحديد الاستفادة والمهام التي سيؤديها البرنامج الذي تفكر أن تقوم بوضع الخطوط العريضة لتنفيذه.
- البدء بجمع المعلومات والنقاط التي ستستخدمها في عملية التحليل.
- عمل تحليل بطريقة برمجية (System Analysis) لتوضيح خطة سير العمل المراد منها هذا البرنامج بعمل فلوشارت (Flowchart) وهذا معروف لجميع المبرمجين سواء لغة الدلفي أو السي أو الفيجيول بيسك أو غيرها من لغات البرمجة.
- وضع استراتيجية للوقت اليومي الذي ستحدده للقيام بهذا البرنامج , حيث أن العمل العشوائي كثيراً ما يكون قاتل , وخاصة في بناء البرامج فأنصحك أن تقوم بترتيب وقتك لتنفيذ هذا العمل , مثال كل يوم ساعة , أو كل أسبوع 5 ساعات في يوم محدد أو يوم بعد يوم .. وهكذا.
- عند البدء ببناء البرنامج في محرر لغة الدلفي (Delphi) عليك الأخذ بعين الاعتبار أن هناك أمور تكون متوفرة في معظم البرامج , اذاً نبدء بتجهيز هذه الأمور المشتركة مثل القوائم , والأزرار وأوامر النسخ الاحتياطي وأيضاً في حال كان البرنامج الذي ننوي عمله يستخدم تخزين بيانات (Database) علينا بتحديد ما هي الداتا بيس التي سوف نستخدمها , ونعمل على تجهيز بيئة الدلفي لهذا العمل.
- ثم نقوم بالسير ضمن الفلوشارت (Flowchart) الذي قمنا بكتابته في عملية التحليل في النقاط السابقة , وينصح بإنهاء خطوة كاملة قبل الإنتقال إلى خطوة أخرى.
- عمل فحص وتشييك على الخطوة التي قمنا بتجهيزها والتأكد من سير عملها ونتائجها بحيث تكون صحيحة , كما يمكن تتبع الأخطاء عن طريق المدقق المضاف في محرر لغة الدلفي والاستعانة به في معظم الاحيان (Debugging).
- أن يكون لديك نفس طويل , وقدرة على تلقي النتائج الخاطئة والعمل على تصحيحها وهذه تكون عند المبرمجين الجدد , ومع الوقت تصبح ملم وتكون هذه الخطوة قليل ما تتعرض لها بعد الخبرة.
- عندما تواجه نقطة جديدة عليك ينصح بالمحاولة بتنفيذها ولا ضير من استشارة ومناقشة زميل في البرمجة أو في أماكن التوصل الاجتماعي.
يرجى المشاركة في الرأي , وشكراً
طارق زياد
السبت، 15 يوليو 2017
الدلفي والتعامل مع حقل التواريخ
السلام عليكم ورحمة الله وبركاته ,,,
أخواني أخواتي المبرمجين المحترمين عامة ومبرمجين الدلفي خاصة , هذه المدونة قمت بعملها ليس لتعليم الدلفي من الصفر , ولكن لإدراج النقاط المهمة والحساسة والخطيرة التي يجب أن ينتبه لها مبرمجين الدلفي خاصة في الاعمال التجارية وليس أعمال الهواية , وهذا هي الملاحظة الأولى التي أود التنويه لها وهو ما يخص التعامل مع الدلفي في طريقة حساب التاريخ عندما نريد من البرنامج أن يحسب بيانات معينة وخاصة اذا كانت البيانات مخزنة في قاعدة بيانات , وكما تعلمون أن حقل التاريخ يتضمن وقت , فإنه عندما نقوم بتصميم شاشة لتسجيل سجلات مالية سوف نقوم بوضع DateTimePicker في شاشة اضافة السجل , طبعاً يتم اختيار التاريخ الذي نريد أن يتم حفظ السجل فيه , هناك خطأ مخفي لا ينظر له كثير من المبرمجين وهذا الخطأ لا يتم اكتشافه بسهولة لأنه ليس خطأ لغة , وإنما هو عبارة عن سهو يقع على عاتق المبرمج , عندما يكون البرنامج تجارية سيتم بيعه في السوق , ستحتاج لاخراج تقارير ضمن فترة معينة , وسيكون التقرير من تاريخ إلى تاريخ , في هذه اللحظة اذا كان DateTimePicker موضوع مباشرة حسب وقت البرمجة سيأخذ ذلك الوقت وسأوضح الموضوع بالصور لهذا السبب يجب عند وضع DateTimePicker على الفورم أن نذهب للخصائص ونحذف الوقت , حيث يقوم محرر الدلفي بوضع الوقت في منتصف الليل بين التاريخين , وبذلك تصبح نتائج التقارير التي تعتمد على فترة من تاريخ إلى تاريخ صحيحة 100%
يسعدنا تلقي أي ملاحظة في أي وقت ودمتم في رعاية الله , نلتقي بملاحظة جديدة إن شاء الله
طارق زياد
الجمعة، 14 يوليو 2017
رسالة ترحيب بجميع المبرمجين
تحية طيبة
لا يسعني إلا أن أتقدم من جميع المبرمجين بالترحيب الحار في هذه المدونة وأتمنى لهم الاستفادة والافادة ، أخواني أخواتي المبرمجين هناك نقاط مهمة عند القيام باستخدام الدلفي بالبرمجة المرئية , حيث أن الشروع في كتابة كود لبرنامج معين , لا يمكن معرفة نتائجه 100% إلا إذا تم العمل عليه لفترة من الزمن والخبرة في هذه الأمور تكون حتمية وأكيدة للمبرمجين المتمرسين في لغة برمجة معينة , حيث يصبح المبرمج خبير بمعظم أدوات لغة معينة ويمكن الرجوع إليه عند الحاجة , كما أن تبادل الآراء بين المبرمجية يعمل على تقوية الخبرة بينهم , وذلك باكتساب مهارات جديدة واعطاء مهارات للأخرين فأرجو من الأخوة القراء الذين يهتمون بلغة الدلفي أو يمكن أن يكون هناك مشاركات لمبرمجين لغات أخرى علينا التعاون في ما بيننا حتى تعم الفائدة على الجميع
نتمنى التوفيق للجميع : والمشاركة قدر الإمكان
طارق زياد
الاشتراك في:
الرسائل (Atom)
? What about Visual basic
Visual basic is hardly even a good idea to use at all today, so the best language of your code modern alternatives Like C#, PHP, Python,...
-
مجاناً برنامج طباعة الشيكات الأصدار الثاني يشمل التفقيط وحفظ الأسماء رابط التنزيل : https://bit.ly/ChecksPrintXE الثمن : دعوة في ظ...
-
نقاط البيع Flying POS Point Of Sales (POS) System Ease of use : Look for software with a user-friendly graphical Entr...