دلفي تعليم
مرحبا بكم ايها الزئر أو الزائرة الكريمين

كيف استدعي الملف النصي السالف الذكر

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كيف استدعي الملف النصي السالف الذكر

مُساهمة  medreg في 8/4/2016, 10:15 pm

السلام عليكم
كيف استدعي الملف النصي السالف الذكر وادخله في قاعدة البيانات
virement ccp
وجزاكم الله عنا كل خير

medreg
مبرمج

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

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

رد: كيف استدعي الملف النصي السالف الذكر

مُساهمة  alla في 26/4/2016, 2:07 pm

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

أضف هذان الملفان الى مشرعك

وهذا بعد أن تقوم بحفظ هذين الملفين بتنسيق

أقصد هكذا :
Unit3.pas
Unit3.dfm

وهذه الفكرة تنجح في بعض الاحيان

اذا لم تنجح افتح دلفي وانشيء الوحدة 3

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

واذا كانت خاطئة وضح لي الخطأ وشكرا

ونأسف لتأخير


nom de fichier : Unit3.pas

الكود:

unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Menus, Buttons, Grids, DBGrids;

type
  TForm3 = class(TForm)
    MainMenu1: TMainMenu;
    file1: TMenuItem;
    new1: TMenuItem;
    open1: TMenuItem;
    save1: TMenuItem;
    savas1: TMenuItem;
    N1: TMenuItem;
    exit1: TMenuItem;
    edit1: TMenuItem;
    cut1: TMenuItem;
    copy1: TMenuItem;
    paste1: TMenuItem;
    select1: TMenuItem;
    N2: TMenuItem;
    clear1: TMenuItem;
    help1: TMenuItem;
    Memo1: TMemo;
    StatusBar1: TStatusBar;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    FontDialog1: TFontDialog;
    font1: TMenuItem;
    BitBtn1: TBitBtn;
    Ed2: TEdit;
    Ed3: TEdit;
    L02: TLabel;
    L01: TLabel;
    L03: TLabel;
    Ed4: TEdit;
    L04: TLabel;
    Ed5: TEdit;
    L05: TLabel;
    Ed6: TEdit;
    L06: TLabel;
    Ed7: TEdit;
    L07: TLabel;
    Ed8: TEdit;
    L08: TLabel;
    Ed9: TEdit;
    Ed10: TEdit;
    L09: TLabel;
    L010: TLabel;
    BitBtn2: TBitBtn;
    DBGrid1: TDBGrid;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    procedure new1Click(Sender: TObject);
    procedure open1Click(Sender: TObject);
    procedure save1Click(Sender: TObject);
    procedure savas1Click(Sender: TObject);
    procedure exit1Click(Sender: TObject);
    procedure cut1Click(Sender: TObject);
    procedure copy1Click(Sender: TObject);
    procedure paste1Click(Sender: TObject);
    procedure select1Click(Sender: TObject);
    procedure clear1Click(Sender: TObject);
    procedure font1Click(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
  public
  end;

  function copy0001(linges: string; debut, fin: integer): string;
 
var
  Form3: TForm3;


 
implementation

uses Unit2;

{$R *.dfm}

function copy0001;
begin
 result := copy(linges, debut, fin);
end;

procedure TForm3.new1Click(Sender: TObject);
begin
///

end;

procedure TForm3.open1Click(Sender: TObject);
begin
 Memo1.Lines.Clear;
 if OpenDialog1.Execute then
  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
 
end;

procedure TForm3.save1Click(Sender: TObject);
begin
 if SaveDialog1.Execute then
  Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

procedure TForm3.savas1Click(Sender: TObject);
begin
 save1Click(Sender);
end;

procedure TForm3.exit1Click(Sender: TObject);
begin
 close;
end;

procedure TForm3.cut1Click(Sender: TObject);
begin
  Memo1.CutToClipboard;
end;

procedure TForm3.copy1Click(Sender: TObject);
begin
  Memo1.CopyToClipboard;
end;

procedure TForm3.paste1Click(Sender: TObject);
begin
  Memo1.PasteFromClipboard;
end;

procedure TForm3.select1Click(Sender: TObject);
begin
  Memo1.SelectAll;
end;

procedure TForm3.clear1Click(Sender: TObject);
begin
 Memo1.Clear
end;

procedure TForm3.font1Click(Sender: TObject);
begin
 FontDialog1.Font := Form3.Font;
 if not FontDialog1.Execute then Exit;
end;

procedure TForm3.Memo1Change(Sender: TObject);
begin
 if Memo1.Lines.Count = 0 then
  BitBtn1.Enabled := false
  else BitBtn1.Enabled := true;
  BitBtn2.Enabled := false
end;

procedure TForm3.BitBtn1Click(Sender: TObject);
begin
 L01.Caption := IntToStr(length(Memo1.Lines.Strings[0]));
 Ed2.Text := copy0001(Memo1.Lines.Strings[0],1,9);  L02.Caption := IntToStr(length(Ed2.Text));
 Ed3.Text := copy0001(Memo1.Lines.Strings[0],10,10); L03.Caption := IntToStr(length(Ed3.Text));
 Ed4.Text := copy0001(Memo1.Lines.Strings[0],20,2); L04.Caption := IntToStr(length(Ed4.Text));
 Ed5.Text := copy0001(Memo1.Lines.Strings[0],22,13); L05.Caption := IntToStr(length(Ed5.Text));
 Ed6.Text := copy0001(Memo1.Lines.Strings[0],35,7); L06.Caption := IntToStr(length(Ed6.Text));
 Ed7.Text := copy0001(Memo1.Lines.Strings[0],42,2); L07.Caption := IntToStr(length(Ed7.Text));
 Ed8.Text := copy0001(Memo1.Lines.Strings[0],44,4); L08.Caption := IntToStr(length(Ed8.Text));
 Ed9.Text := copy0001(Memo1.Lines.Strings[0],48,14); L09.Caption := IntToStr(length(Ed9.Text));
 Ed10.Text := copy0001(Memo1.Lines.Strings[0],62,1); L010.Caption := IntToStr(length(Ed10.Text));


 BitBtn2.Enabled := true;
end;

procedure TForm3.BitBtn2Click(Sender: TObject);
begin
 with DM do
 begin
  TVrment.Open;
  TVrment.Append;
  TVrment.FieldByName('Numero').AsString := Ed2.Text;
  TVrment.FieldByName('NCpte').AsString := Ed3.Text;
  TVrment.FieldByName('Cle').AsString := Ed4.Text;
  TVrment.FieldByName('MT_TOT').AsString := Ed5.Text;
  TVrment.FieldByName('Effectif').AsString := Ed6.Text;
  TVrment.FieldByName('Mios').AsString := Ed7.Text;
  TVrment.FieldByName('Annee').AsString := Ed8.Text;
  TVrment.FieldByName('Espace').AsString := Ed9.Text;
  TVrment.FieldByName('Nnum1').AsString := Ed10.Text;
  TVrment.Post;
 end;(*  *)
 BitBtn2.Enabled := false
end;

procedure TForm3.BitBtn3Click(Sender: TObject);
begin
  DM.TVrment.Close;
  DM.TVrment.Open;
end;

end.
=======================================================================

nom de fichier : Unit3.dfm

الكود:

object Form3: TForm3
  Left = 198
  Top = 114
  Width = 696
  Height = 539
  Color = clBtnFace
  Font.Charset = ARABIC_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = [fsBold]
  Menu = MainMenu1
  OldCreateOrder = False
  Position = poScreenCenter
  PixelsPerInch = 96
  TextHeight = 13
  object L02: TLabel
    Left = 312
    Top = 312
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L01: TLabel
    Left = 40
    Top = 288
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L03: TLabel
    Left = 312
    Top = 344
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L04: TLabel
    Left = 312
    Top = 368
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L05: TLabel
    Left = 312
    Top = 392
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L06: TLabel
    Left = 312
    Top = 416
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L07: TLabel
    Left = 464
    Top = 312
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L08: TLabel
    Left = 464
    Top = 336
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L09: TLabel
    Left = 464
    Top = 360
    Width = 8
    Height = 13
    Caption = '0'
  end
  object L010: TLabel
    Left = 464
    Top = 384
    Width = 8
    Height = 13
    Caption = '0'
  end
  object Memo1: TMemo
    Left = 16
    Top = 0
    Width = 641
    Height = 169
    ReadOnly = True
    ScrollBars = ssBoth
    TabOrder = 0
    OnChange = Memo1Change
  end
  object StatusBar1: TStatusBar
    Left = 0
    Top = 462
    Width = 680
    Height = 19
    Panels = <>
  end
  object BitBtn1: TBitBtn
    Left = 16
    Top = 312
    Width = 129
    Height = 25
    Hint = 'clique ici pour lire le fichier txt'
    Caption = 'Lire Fichier Txt'
    Enabled = False
    ParentShowHint = False
    ShowHint = True
    TabOrder = 2
    OnClick = BitBtn1Click
    Kind = bkOK
  end
  object Ed2: TEdit
    Left = 184
    Top = 312
    Width = 121
    Height = 21
    Hint = 'Numero'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 3
  end
  object Ed3: TEdit
    Left = 184
    Top = 336
    Width = 121
    Height = 21
    Hint = 'Numero de compte'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 4
  end
  object Ed4: TEdit
    Left = 184
    Top = 360
    Width = 121
    Height = 21
    Hint = 'Cle'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 5
  end
  object Ed5: TEdit
    Left = 184
    Top = 384
    Width = 121
    Height = 21
    Hint = 'Montent total'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 6
  end
  object Ed6: TEdit
    Left = 184
    Top = 408
    Width = 121
    Height = 21
    Hint = 'Effectif'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 7
  end
  object Ed7: TEdit
    Left = 336
    Top = 312
    Width = 121
    Height = 21
    Hint = 'Mois'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 8
  end
  object Ed8: TEdit
    Left = 336
    Top = 336
    Width = 121
    Height = 21
    Hint = 'Annee'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 9
  end
  object Ed9: TEdit
    Left = 336
    Top = 360
    Width = 121
    Height = 21
    Hint = 'Espace'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 10
  end
  object Ed10: TEdit
    Left = 336
    Top = 384
    Width = 121
    Height = 21
    Hint = 'Num zero'
    ParentShowHint = False
    ReadOnly = True
    ShowHint = True
    TabOrder = 11
  end
  object BitBtn2: TBitBtn
    Left = 16
    Top = 376
    Width = 97
    Height = 25
    Caption = 'Registrer'
    Enabled = False
    TabOrder = 12
    OnClick = BitBtn2Click
    Kind = bkOK
  end
  object DBGrid1: TDBGrid
    Left = 16
    Top = 176
    Width = 641
    Height = 97
    DataSource = DM.DataSource1
    ReadOnly = True
    TabOrder = 13
    TitleFont.Charset = ARABIC_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'MS Sans Serif'
    TitleFont.Style = [fsBold]
  end
  object BitBtn3: TBitBtn
    Left = 512
    Top = 288
    Width = 105
    Height = 25
    TabOrder = 14
    OnClick = BitBtn3Click
    Kind = bkOK
  end
  object BitBtn4: TBitBtn
    Left = 16
    Top = 432
    Width = 75
    Height = 25
    TabOrder = 15
    Kind = bkClose
  end
  object MainMenu1: TMainMenu
    Left = 192
    Top = 8
    object file1: TMenuItem
      Caption = 'file'
      object new1: TMenuItem
        Caption = 'new'
        OnClick = new1Click
      end
      object open1: TMenuItem
        Caption = 'open'
        OnClick = open1Click
      end
      object save1: TMenuItem
        Caption = 'save'
        OnClick = save1Click
      end
      object savas1: TMenuItem
        Caption = 'save as'
        OnClick = savas1Click
      end
      object font1: TMenuItem
        Caption = 'font'
        OnClick = font1Click
      end
      object N1: TMenuItem
        Caption = '-'
      end
      object exit1: TMenuItem
        Caption = 'exit'
        OnClick = exit1Click
      end
    end
    object edit1: TMenuItem
      Caption = 'edit'
      object cut1: TMenuItem
        Caption = 'cut'
        OnClick = cut1Click
      end
      object copy1: TMenuItem
        Caption = 'copy'
        OnClick = copy1Click
      end
      object paste1: TMenuItem
        Caption = 'paste'
        OnClick = paste1Click
      end
      object select1: TMenuItem
        Caption = 'select'
        OnClick = select1Click
      end
      object N2: TMenuItem
        Caption = '-'
      end
      object clear1: TMenuItem
        Caption = 'clear'
        OnClick = clear1Click
      end
    end
    object help1: TMenuItem
      Caption = 'help'
    end
  end
  object OpenDialog1: TOpenDialog
    Filter = 'fichier txt(*.txt)|*.txt|tout les fichiers (*.*)|*.*'
    InitialDir = '.'
    Left = 152
    Top = 8
  end
  object SaveDialog1: TSaveDialog
    Filter = 'fichier txt(*.txt)|*.txt|tout les fichiers (*.*)|*.*'
    InitialDir = '.'
    Left = 232
    Top = 8
  end
  object FontDialog1: TFontDialog
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    Left = 288
    Top = 8
  end
end












_________________
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

alla
مبرمج مجتهد

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

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

رد: كيف استدعي الملف النصي السالف الذكر

مُساهمة  medreg في 3/5/2016, 9:34 am

alla كتب:بسم الله الرحمن الرحيم

أضف هذان الملفان الى مشرعك


بارك الله فيك
لقد طبقت الكود الذي ارسلته الي و تم اعادته اليك عبر الإميل
الا انه هناك ملاحظة
السطر الاول من الملف يجب ان يكون في قاعدة بيانات اخرى
لأن السطر الاول في الأصل ياتي من قاعدة بيانات
وباقي الأسطر من قاعدة بيانات اخرى
إضافة الى حقل المبلغ
عندما يتم حفظه في قاعدة البيانات يجب ان يكون بنوع Float
أي
20,982,561.72
وبارك الله فيك

medreg
مبرمج

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

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

رد: كيف استدعي الملف النصي السالف الذكر

مُساهمة  medreg في 4/5/2016, 6:01 pm

شكرًا اخي العزيز
لقد فعلت ذلك الا انني لم اقوم بالقراءة بواسطة الاديت بل استعملت مكون memo
ومنه قمت بادخال المعلومات الى قاعدة البيانات وكانت النتيجة سطر واحد فقط يظهر في الديبقريد
المشكل المطروح هو :
1- على من تطبق الحلقة التكرارية (for)
هل توضع للميمو او لقاعدة البيانات
إذا كان توضع للميمو فكيف ذلك
واذا كان توضع للقاعدة هل توضع للقاعدة ام لحقل منها
2- بالنسبة للمبلغ الذي هو من نوع نصي اي بهذا الشكل 0002550050
عند ادخاله في قاعدة البيانات كيف يمكنني ان ادخله بالقاعدة على هذا الشكل 25.500,50
3- الملف النصي يحتوي على جزئين الجزء الاول والمتمثل في السطر الآول يحتوي على معلومات امين الخزينة والشهر والسنة وعدد الموظفين
والجزء الثاني يتمثل في باقي الاسطر التي تحتوي على معلومات الموظف واجرته
كيف يمكنني قراءة السطر الاول وادخاله في قاعدة بيانات
وباقي الاسطر في قاعدة بيانات اخرى
وجزاكم الله عنا كل خير

medreg
مبرمج

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

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

رد: كيف استدعي الملف النصي السالف الذكر

مُساهمة  medreg في 4/5/2016, 6:07 pm

وهذا هو الكود
الكود:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Grids, DBGrids, Menus;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    New11: TMenuItem;
    Open1: TMenuItem;
    save1: TMenuItem;
    saveas1: TMenuItem;
    N1: TMenuItem;
    Exit1: TMenuItem;
    Edit1: TMenuItem;
    Exit2: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    cut1: TMenuItem;
    Copy1: TMenuItem;
    Paste1: TMenuItem;
    Semect1: TMenuItem;
    Clear1: TMenuItem;
    N4: TMenuItem;
    Help1: TMenuItem;
    Font1: TMenuItem;
    N5: TMenuItem;
    Button2: TButton;
    Button3: TButton;
    DBGrid1: TDBGrid;
    Memo1: TMemo;
    StatusBar1: TStatusBar;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    FontDialog1: TFontDialog;
    procedure FormCreate(Sender: TObject);
    procedure Open1Click(Sender: TObject);
    procedure save1Click(Sender: TObject);
    procedure saveas1Click(Sender: TObject);
    procedure Exit2Click(Sender: TObject);
    procedure cut1Click(Sender: TObject);
    procedure Copy1Click(Sender: TObject);
    procedure Paste1Click(Sender: TObject);
    procedure Semect1Click(Sender: TObject);
    procedure Clear1Click(Sender: TObject);
    procedure Font1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
  function copy0001(linges: string; debut, fin: integer): string;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}
function copy0001;
begin
 result := copy(linges, debut, fin);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
////
end;

procedure TForm1.Open1Click(Sender: TObject);
begin
 Memo1.Lines.Clear;
 if OpenDialog1.Execute then
  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

procedure TForm1.save1Click(Sender: TObject);
begin
 if SaveDialog1.Execute then
  Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

procedure TForm1.saveas1Click(Sender: TObject);
begin
 save1Click(Sender);
end;

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

procedure TForm1.cut1Click(Sender: TObject);
begin
  Memo1.CutToClipboard;
end;

procedure TForm1.Copy1Click(Sender: TObject);
begin
  Memo1.CopyToClipboard;
end;

procedure TForm1.Paste1Click(Sender: TObject);
begin
  Memo1.PasteFromClipboard;
end;

procedure TForm1.Semect1Click(Sender: TObject);
begin
  Memo1.SelectAll;
end;

procedure TForm1.Clear1Click(Sender: TObject);
begin
 Memo1.Clear
end;

procedure TForm1.Font1Click(Sender: TObject);
begin
 FontDialog1.Font := Form1.Font;
 if not FontDialog1.Execute then Exit;
end;

procedure TForm1.Button2Click(Sender: TObject);
var mt:string;
mth:real;
mts:double;
i:integer;
begin
mt:=copy0001(Memo1.Lines.Strings[0],22,13);
mth:=strtofloat(mt);
mts:=mth;
 with DM do
 begin
  TVrment.Open;
  TVrment.Append;
  TVrment.FieldByName('Numero').AsString := copy0001(Memo1.Lines.Strings[0],1,9);
  TVrment.FieldByName('NCpte').AsString := copy0001(Memo1.Lines.Strings[0],10,10);
  TVrment.FieldByName('Cle').AsString := copy0001(Memo1.Lines.Strings[0],20,2);
  TVrment.FieldByName('MT_TOT').AsFloat :=mts;
  TVrment.FieldByName('Effectif').AsString := copy0001(Memo1.Lines.Strings[0],35,7);
  TVrment.FieldByName('Mois').AsString := copy0001(Memo1.Lines.Strings[0],42,2);
  TVrment.FieldByName('Annee').AsString := copy0001(Memo1.Lines.Strings[0],44,4);
  TVrment.Post;
 end;(*  *)
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  DM.TVrment.Close;
  DM.TVrment.Open;
end;

end.

medreg
مبرمج

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

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

رد: كيف استدعي الملف النصي السالف الذكر

مُساهمة  alla في 5/5/2016, 2:29 pm


السلام عليكم

أطن أن الفكرة وضحت لديك

وأي اقتراحات لا تتردد في طرحها

ربما أطيل عليك بالجواب فلا تقلق لأني غير متوجد في الانترنت بشكل مستمر

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

var mt:string;
mth: Currency; // mth:real;
//mts:double;
i:integer;
begin
// fichier 1
mt:=copy0001(Memo1.Lines.Strings[0],22,13);
mth:=strtocurr(mt); // mth:=strtofloat(mt);
//mts:=mth;
with DM do
begin
TVrment.Open;
TVrment.Append;
TVrment.FieldByName('Numero').AsString := copy0001(Memo1.Lines.Strings[0],1,9);
TVrment.FieldByName('NCpte').AsString := copy0001(Memo1.Lines.Strings[0],10,10);
TVrment.FieldByName('Cle').AsString := copy0001(Memo1.Lines.Strings[0],20,2);
TVrment.FieldByName('MT_TOT').AsCurrency :=mth; //.AsFloat :=mts;
TVrment.FieldByName('Effectif').AsString := copy0001(Memo1.Lines.Strings[0],35,7);
TVrment.FieldByName('Mois').AsString := copy0001(Memo1.Lines.Strings[0],42,2);
TVrment.FieldByName('Annee').AsString := copy0001(Memo1.Lines.Strings[0],44,4);
TVrment.Post;

// fichier 2
/////////////////////////////////////////////

TVtab.Open;
for i := 1 to Memo1.Lines.Count - 1 do
begin
TVtab.Append;
TVtab.FieldByName('TNum').AsString := copy0001(Memo1.Lines.Strings[i],1,9);
TVtab.FieldByName('TCpt').AsString := copy0001(Memo1.Lines.Strings[i],10,10);
TVtab.FieldByName('TCle').AsString := copy0001(Memo1.Lines.Strings[i],20,2);
TVtab.FieldByName('TMnt').AsCurrency := StrToCurr(copy0001(Memo1.Lines.Strings[i],22,13));
TVtab.FieldByName('TNom').AsString := copy0001(Memo1.Lines.Strings[i],35,27);
TVtab.FieldByName('Num_en').AsString := copy0001(Memo1.Lines.Strings[i],62,1);
TVtab.Post;
TVtab.Next;
end;(* *)
end;


===============================
ملف قاعدة البيانات الجديد
object TVtabTNum: TStringField
FieldName = 'TNum'
Size = 9
end
object TVtabTCpt: TStringField
FieldName = 'TCpt'
Size = 10
end
object TVtabTCle: TStringField
FieldName = 'TCle'
Size = 2
end
object TVtabTMnt: TCurrencyField
FieldName = 'TMnt'
end
object TVtabTNom: TStringField
FieldName = 'TNom'
Size = 27
end
object TVtabNum_en: TStringField
FieldName = 'Num_en'
Size = 1
end

أشكرك أخي على المشاركة


_________________
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

alla
مبرمج مجتهد

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

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

رد: كيف استدعي الملف النصي السالف الذكر

مُساهمة  medreg في 6/5/2016, 12:00 am

لقد تمت العملية بنجاح والحمد لله وبارك الله فيك
وهذا هو الكود الذي اعطيتني  وها انا قد اجريت عليه بعض التعديلات بعد عدة محاولات ليصبح جاهز للإستعمال
الكود:
procedure TForm1.Button3Click(Sender: TObject);
var mtt,mt,nccp:string;
var s1,s2,s3,s4,s5,s6:string;
mth,mhm:Currency;
i,t,n,h:integer;
begin
 Memo1.Lines.Clear;
 if OpenDialog1.Execute then
 Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
 begin
  s1:= copy0001(Memo1.Lines.Strings[0],42,2);
  s2:= copy0001(Memo1.Lines.Strings[0],44,4);
  s3:= copy0001(Memo1.Lines.Strings[0],10,10);
  s4:= copy0001(Memo1.Lines.Strings[0],20,2);
  s5:= copy0001(Memo1.Lines.Strings[0],22,13);
  s6:= copy0001(Memo1.Lines.Strings[0],35,7);
t:=strtoint(s3);
h:=strtoint(s6);
mt:=copy0001(Memo1.Lines.Strings[0],22,13);
mth:=strtocurr(mt)/100;
 with DM do
 begin
 TVirPrm.Close;
 TVirPrm.EmptyTable;
 TVirPrm.Open;
 TVirPrm.Refresh;

  TVirPrm.Open;
  TVirPrm.Edit;
  TVirPrm.FieldByName('NCpte').AsString := inttostr(t);
  TVirPrm.FieldByName('Cle').AsString := s4;
  TVirPrm.FieldByName('MT_TOT').AsCurrency :=mth;
  TVirPrm.FieldByName('Mois').AsString := s1;
  TVirPrm.FieldByName('Annee').AsString :=s2;
  TVirPrm.FieldByName('Effectif').AsString := inttostr(h);
  TVirPrm.Post;


  TVrment.Close;
  TVrment.EmptyTable;
  TVrment.Open;
  TVrment.Refresh;

  TVrment.Open;
  for i := 1 to Memo1.Lines.Count - 1 do
  begin
  nccp:=copy0001(Memo1.Lines.Strings[i],10,10);
  mtt:=copy0001(Memo1.Lines.Strings[i],22,13);
  n:=strtoint(nccp);
  mhm:=strtofloat(mtt)/100;
  TVrment.insert;
  TVrment.FieldByName('Compte').AsString := inttostr(n);
  TVrment.FieldByName('Clef').AsString := copy0001(Memo1.Lines.Strings[i],20,2);
  TVrment.FieldByName('Montant').AsCurrency :=mhm;
  TVrment.FieldByName('Nom').AsString := copy0001(Memo1.Lines.Strings[i],35,27);
  TVrment.Post;
  TVrment.Next;
  end;
 end;
 end;
end;
بارك الله فيك

medreg
مبرمج

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

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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