كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  medreg في 5/7/2015, 8:48 pm

السلام عليكم ورحمة الله تعالى وبركاته
في المرحلة الاولى كنا قد ربطنا N_Groupe بـ Groupe
وكانت النتيجة في المستوى المطلوب
وفي هذه المرحلة سنربط N_Groupe بـ Groupe و S_Groupe
وفي حالة تكرار نفس القيمة في S_Groupe
هنا المطلوب
يجب ان يأخذ نفس الترقيم في N_Groupe
حسب ماهو موضح في هذه الصورة
كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) 29qfo94
وهذا هو الكود المستعمل في المرحلة الاولى
الكود:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    DataSource1: TDataSource;
    Table1: TTable;
    Table1Cde: TFloatField;
    Table1N_Groupe: TFloatField;
    Table1Groupe: TStringField;
    Table1Montant: TFloatField;
    Table1S_Groupe: TStringField;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   num1, num2,num3,num4: integer; //Alger
   Cde1: Word; //Alger
begin
    num1 := 0; num2 := 0; num3 := 0;  num4 := 0;//Alger
    Cde1 := 0; //Alger
    Table1.Open;  //Alger
    Table1.First; //Alger

    Table1.DisableControls; //Alger
    while not Table1.Eof do
    begin
      if Table1Groupe.Text ='900' then
      begin
          num1 := num1 + 1; //Alger
          Table1.Edit;
          Table1N_Groupe.Value := num1;  //Alger
          Table1.Post; //Alger
      end;
      if Table1Groupe.Text ='901' then
      begin
          num2 := num2 + 1; //Alger
          Table1.Edit;
          Table1N_Groupe.Value := num2;  //Alger
          Table1.Post; //Alger
      end;
      if Table1Groupe.Text ='902' then
      begin
          num3 := num3 + 1; //Alger
          Table1.Edit;
          Table1N_Groupe.Value := num3;  //Alger
          Table1.Post; //Alger
      end;
      if Table1Groupe.Text ='903' then
      begin
          num4 := num4 + 1; //Alger
          Table1.Edit;
          Table1N_Groupe.Value := num4;  //Alger
          Table1.Post; //Alger
      end;
      Table1.Next; //Alger
    end;
   Table1.EnableControls; //Alger
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 close;
end;

end.
وبالتوفيق وصحى لفطورك

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  ali في 7/7/2015, 4:16 pm

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

السؤال :


وفي هذه المرحلة سنربط N_Groupe بـ Groupe و S_Groupe

وفي حالة تكرار نفس القيمة في S_Groupe

هنا المطلوب

يجب ان يأخذ نفس الترقيم في N_Groupe

حسب ماهو موضح في هذه الصورة

الجواب :

أعتقد تمت الاجابة على السؤال

الكود:

procedure TForm2.Button1Click(Sender: TObject);//Alger
var
  num1, num2, num3: Word;  //Alger
  sga1,sga2: string;    //Alger
  sgb1,sgb2: string;  //Alger
  sgc1,sgc2: string; //Alger

begin
    num1 := 0; num2 := 0; num3 := 0; //Alger
    Table1.Open;  //Alger
    Table1.First;  //Alger

    Table1.DisableControls;  //Alger
    while not Table1.Eof do
    begin
      if Table1Groupe.Text = '900' then
      begin
          sga1 := Table1S_Groupe.text; //Alger
          if sga1 <> sga2 then num1 := num1 + 1; //Alger
          Table1.Edit;  //Alger
          Table1N_Groupe.Value := num1;  //Alger
          Table1.Post;  //Alger
          sga2 := sga1;  //Alger
      end
      else if Table1Groupe.Text = '901' then
      begin
          sgb1 := Table1S_Groupe.text;  //Alger
          if sgb1 <> sgb2 then num2 := num2 + 1;  //Alger
          Table1.Edit;
          Table1N_Groupe.Value := num2;  //Alger
          Table1.Post;  //Alger
          sgb2 := sgb1;  //Alger
      end
      else
      begin
          sgc1 := Table1S_Groupe.text;  //Alger
          if sgc1 <> sgc2 then num3 := num3 + 1;  //Alger
          Table1.Edit;  //Alger
          Table1N_Groupe.Value := num3; //Alger
          Table1.Post;  //Alger
          sgc2 := sgc1;  //Alger
      end; //Alger
      Table1.Next;  //Alger
    end;  //Alger
    Table1.EnableControls; //Alger
end;


وفي الاخير تقبل مني فائق الشكر التقدير

معذرة على تأخير

اذا كانت هناك أي ملاحظات فلا تتردد في طرحها

شكرا






_________________

ali
مبرمج مجتهد

عدد المساهمات : 878
تاريخ التسجيل : 29/07/2013

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  ali في 7/7/2015, 4:21 pm


كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) 15ewk7a


كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) 29zea0w

_________________

ali
مبرمج مجتهد

عدد المساهمات : 878
تاريخ التسجيل : 29/07/2013

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  medreg في 7/7/2015, 6:19 pm

بارك الله فيك وجزاك الله عنا خير الجزاء
تقبل الله منا ومنكم صالح الاعمال
وثبت اقدامكم على السراط المستقيم
وتقبل الله منا ومنكم الصيام والقيام بمزيد من الأجر والثواب والمغفرة
آميـن آميـن آميـن آميـن آميـن آميـن آميـن

فعلا هذا هو المطلوب بالظبط ولم يبقى لي الا أن أحول المعطيات من البرادوكس إلى الابسوليت
وبعدها سأبلغك بالنتيجة الاخيرة إنشاء الله

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  medreg في 10/7/2015, 5:57 pm

السلام عليكم ورحمة الله تعالى وبركاته
تقيل الله منا ومنكم الصيام والقيام وصالح الاعمال
وبارك الله فيكم أخي alla
العملية ناجحة 100/100
جزاكم الله عنا خير الجزاء ووفقكم الله لما يحبه وبرضاه
رمضان كريم

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  ali في 11/7/2015, 12:11 pm


الحمد لله رب العالمين

آميـن آميـن آميـن آميـن آميـن



جزاكم الله خير الجزاء ووفقكم الله لما يحبه وبرضاه
رمضان كريم

آميـن

_________________

ali
مبرمج مجتهد

عدد المساهمات : 878
تاريخ التسجيل : 29/07/2013

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty المرحلة الثالثة

مُساهمة  medreg في 4/8/2019, 2:50 am

السلام عليكم ورحمة الله تعالى وبركاته
فيما يتعلق بإضافة ترقيم برمجيا حسب كل مجموع شريطة ان لايتجاوز الترقيم 5 حتى ولوكانت المجموعة تحتوي على اكثر من 5
يعني اذا كانت المجموعة تساوي 10 سجلات فالخمسة الاولى تكون من 1 الى 5
والخمسة الثانية تكون من 1 الى 5
وهذا هو الكود للتعديل عليه بارك الله فيكم

الكود:
Var
D500,D501,D000,
R500,R501,R000: Word;
  sga1,sga2: string;
  sgb1,sgb2: string;
  sgc1,sgc2: string;

begin
D500:=0; D501:=0; D000:=0; R500:=0; R501:=0; R000:=0;
  With Dm do
  Begin
    Tab1.Open;
    Tab1.First;
    Tab1.DisableControls;
    while not Tab1.Eof do
    begin
      if (Tab1Grp.Text = '500')and(Tab1Tpe.Text ='A') then
      begin
          sga1 := Tab1Opt.Text;
          if (sga1 <> sga2) then D500 := D500 + 1;
          Tab1.Edit;
          Tab1Cln.Value := D500;
          Tab1.Post;
          sga2 := sga1;
//اذا كانت قيمة هذا الحقل تصل الى اكثر من 5 سجلات بنفس القيمة يكون الترتيب المطلوب من 1 الى 5 لكل  خمس سجلات
      end
      else if (Tab1Grp.Text = '500')and(Tab1Tpe.Text ='B') then
      begin
          sgb1 := Tab1Opt.Text;
          if (sgb1 <> sgb2) then R500 := R500 + 1;
          Tab1.Edit;
          Tab1Cln.Value := R500;
          Tab1.Post;
          sgb2 := sgb1;
//اذا كانت قيمة هذا الحقل تصل الى اكثر من 5 سجلات بنفس القيمة يكون الترتيب المطلوب من 1 الى 5 لكل  خمس سجلات      
      end
      else if (Tab1Grp.Text = '501')and(Tab1Tpe.Text = 'A') then
      begin
          sga1 := Tab1Opt.Text;
          if (sga1 <> sga2) then D501 := D501 + 1;
          Tab1.Edit;
          Tab1Cln.Value := D501;
          Tab1.Post;
          sga2 := sga1;
//اذا كانت قيمة هذا الحقل تصل الى اكثر من 5 سجلات بنفس القيمة يكون الترتيب المطلوب من 1 الى 5 لكل  خمس سجلات    
      end
      else if (Tab1Grp.Text = '501')and(Tab1Tpe.Text = 'B') then
      begin
          sgb1 := Tab1Opt.Text;
          if (sgb1 <> sgb2)then R501 := R501 + 1;
          Tab1.Edit;
          Tab1Cln.Value := R501;
          Tab1.Post;
          sgb2 := sgb1;
//اذا كانت قيمة هذا الحقل تصل الى اكثر من 5 سجلات بنفس القيمة يكون الترتيب المطلوب من 1 الى 5 لكل  خمس سجلات      
      end
      else
      begin
          sgc1 := Tab1Opt.Text;
          if (sgc1 <> sgc2) then D000 := D000 + 1;
          Tab1.Edit;
          Tab1Cln.Value := D000;
          Tab1.Post;
          sgc2 := sgc1;

          sgc1 := Tab1Opt.Text;
          if (sgc1 <> sgc2) then R000 := R000 + 1;
          Tab1.Edit;
          Tab1Cln.Value := R000;
          Tab1.Post;
          sgc2 := sgc1;
      end;
      Tab1.Next;
    end;
    Tab1.EnableControls;
  end;
end;


عدل سابقا من قبل medreg في 14/9/2019, 12:48 pm عدل 1 مرات

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  djelal في 8/9/2019, 3:06 pm

nom : sabre djelal
صفحتي فيس بوك
https://m.facebook.com/Mepagelearnsdp-1491741854191471/
.
المجموعتي:
this is my group public and learns
https://m.facebook.com/groups/332401377603243?refid=27

I

djelal
مبرمج

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  medreg في 14/9/2019, 12:48 pm

بارك الله فيكم
لقد انتقلت الى صفحاتكم على الفايسبوك
وطرحت مشكلتي
وما يبقى عليكم الا الرد على الموضوع بارك الله فيكم

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  ali في 22/9/2019, 5:59 pm


كل 5 سجلات مرتبين من 1 الى 5 مهما كان عدد السجلات

الكود:

var i: word;
procedure TForm1.Button1Click(Sender: TObject);
begin
 Table1.Open;
 Table1.First;
 i := 1;
 Table1.DisableControls;
 while not Table1.Eof do
 begin
  Table1.Edit;
  if i > 5 then i := 1;
  Table1.FieldValues['NUM'] := i;
  i := i + 1;
  Table1.Post;
  Table1.Next;
 end;
 Table1.EnableControls;
end;

_________________

ali
مبرمج مجتهد

عدد المساهمات : 878
تاريخ التسجيل : 29/07/2013

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  medreg في 24/9/2019, 5:33 am

بارك الله فيكم اخي علي المرور
الفكرة جميلة الا انه هناك مشكل
ارجو الإطلاع على المرفقات حتى تتمكن من المطلوب
اليك رابط المرفقات
المرفق الاول هو محاولتي
mediafire.com file/tx32qijss11r5sc/TesteNbre.rar/file
المرفق الثاني وهو عبارة عن صورة للنتيجة المطلوبة
mediafire.com file/b5x3rbsz5jtc1rc/Teste.png/file
بارك الله فيكم

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  abas في 24/9/2019, 2:19 pm

المشكل هنا انهم لا يجيبون على اسئلة بسرعة
أو ربما لا يجيبون
دلفي للعرب احسن

abas
مبرمج

عدد المساهمات : 62
تاريخ التسجيل : 06/06/2015

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty وبعد ذلك قم بتصويرها لاتنسى ، صورتان 2

مُساهمة  ali في 25/9/2019, 7:27 pm


فيك بارك الله اخي
ضع صورتان
1
الاولى توضح فيها عملية ملء الحقول يدويا.
2
الثانية توضح فيها كيفية ملء الحقول بالطربقة البرمجية أو تعديل الذي تريده على الحقول.
...
أقصد عندما تضغط فوق أحد الازرار ، ماذا يحدث.

أنا الى حد الان لم أفهم ماذا تريد .

ملاحظة
ضع الصورتان في المنتدى ان استطعت

ضع رابط بشكل عادي هكذا
http://delph.forumalgerie.net/t435-topic
ورابط بهذا الشكل
mediafire . com / file / b5x3rbsz5jtc1rc / Teste . png / file

ملاحظة هامة
اعملها بالاكسال ان صعب عليك الامر
وبعد ذلك قم بتصويرها لاتنسى ، صورتان 2

_________________

ali
مبرمج مجتهد

عدد المساهمات : 878
تاريخ التسجيل : 29/07/2013

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  medreg في 28/9/2019, 12:52 am

الروابط العادية
mediafire.com file/kxvvge0gn1l7fw8/TesteNbre_Prg.rar/file
mediafire.com file/6kfpneypg28c5fv/TesteNbre_Excel.rar/file
الروابط بالشكل الثاني
mediafire . com / file/ kxvvge0gn1l7fw8/ TesteNbre_Prg.rar/ file
mediafire . com / file /6kfpneypg28c5fv/ TesteNbre_Excel.rar/ fileكيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Testen10
بالنسبة لعمل الأزرار
الزر الأول Num
ترتيب Opt حسب Grp و Cat و Tpe
الزر الثاني Pge
مع العلم ان كل صفحة تحتوي على 05 أعمدة فقط
لهذا يجب ان ل تتجاوز كل صفحة 05 Opt
إختيار رقم الصفحة المطلو إظهار Opt فيها حسب Grp و Cat و Tpe
الزر الثالث Lgn
إختيار رقم السطر المتعلق بـOpt حسب Grp و Cat و Tpe
الزر الرابع Cln
اختيار رقم العمود المتعلق بـOpt حسب Grp و Cat و Tpe

المقصود من الحقل Pge
هو عبارة عن ترقيم للصفحة التي يجب ان تكون فيها الحقل Grp على ان لا تتعدى كل صفحة خمسة من Opt من نفس Grp
كما هو موضح في الصورة
كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Pge10

وبالتوفيق

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  ali في 9/10/2019, 5:51 pm

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

_________________

ali
مبرمج مجتهد

عدد المساهمات : 878
تاريخ التسجيل : 29/07/2013

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  ali في 14/10/2019, 8:29 pm


الكود:

      if (Tab1Grp.Text = '500')and(Tab1Tpe.Text ='A') then
      begin
          sga1 := Tab1Opt.Text;
          if (sga1 <> sga2) then D500 := D500 + 1;
          Tab1.Edit;
          Tab1Cln.Value := D500;
          Tab1.Post;
          sga2 := sga1;
      end;

كم عدد القيم التي يأخذها الحقل Grp
وهل للحقل Tpe قيمتان فقط لــــــــــــ هما A و B


_________________

ali
مبرمج مجتهد

عدد المساهمات : 878
تاريخ التسجيل : 29/07/2013

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

كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية) Empty رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الثانية)

مُساهمة  medreg في 14/10/2019, 8:52 pm

ali كتب:
الكود:

      if (Tab1Grp.Text = '500')and(Tab1Tpe.Text ='A') then
      begin
          sga1 := Tab1Opt.Text;
          if (sga1 <> sga2) then D500 := D500 + 1;
          Tab1.Edit;
          Tab1Cln.Value := D500;
          Tab1.Post;
          sga2 := sga1;
      end;

كم عدد القيم التي يأخذها الحقل Grp
وهل للحقل Tpe قيمتان فقط   لــــــــــــ هما A و B
بارك الله فيك وفي اهلك
عدد القيم التي يأخذها الحقل غير محدودة
ارجو ان تتمعن في الصورة تلك التي تتعلق بصفحة الطباعىة (المقصود بالحقل Pge) مقارنة مع الصورة  التي تتعلق بالحجز البرمجي او النتيجة التي ينبغ ان تكون وخاصة الحقل GRP والقيمة 500
ما بالنسبة للحقل Tpe فله قيمتان فقط لـــ هما A و B

medreg
مبرمج ممتاز جدا
مبرمج ممتاز جدا

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

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

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


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