كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
4 مشترك
دلفي تعليم :: منتديات البرمجة :: دلفي
صفحة 1 من اصل 1
كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
بسم الله الرحمن الرحيم
والصلاة والسلام على رسول الله
شرح ، كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي .
أولا :
بعد كتابة الكود في دلف ي كـــومبيلي البرنامج بــــــــــــــ كونترول أف ناف فقط وشغله خارج دلفي وبعد تشغيل
اكتب اسم الملف في الكومبو بوكس1 وانقر على زر الحفظ أي رجيستري لو فيشي وفي الرسالة مسج انقر نعم
وبعد ذلك انقر على " شارج ليست " في مربع الحوار أوبن ديالوق حدد اسم أو اسماء ملفات اكسال
وانقر أوفرير ..... ظهور اسم أو اسماء في ليست بوكس انقر على أحدها ظهور مساج انقر موفق
وهذا طبعا بعد تحديد السطر والعمود في البرنامج في الاماكن المخصصة لهــا للقراءة منهــا أي تحديد خلية البدء
مثلا بي 4 = ممثلة 2، 4 وكذلك تحديد خلية إنهاء القراءة من الملف اكسال
انقر أوفرير اكسال لعرض عمود من الخلاية في الميمو وبعد ظهور قائمة الأسماء
ابحث على اسم معين من الأسماء وذلك بنقر على روشارش دان ليست وبعد ظهور مربع روشارش
اكتب اسم من الأسماء في مربع البحث وشاهد النتيجة
أرجو منكم أن تعذروني لقلت معرفتي بهذا المجال
=================================
= Unit1.pas
=================================
وفي الأخير تقبلوا مني فائق الشكر والاحترام والتقدير
منتدى دلفي تعليم يرحب بكم
delph.forumalgerie.net
والصلاة والسلام على رسول الله
شرح ، كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي .
أولا :
بعد كتابة الكود في دلف ي كـــومبيلي البرنامج بــــــــــــــ كونترول أف ناف فقط وشغله خارج دلفي وبعد تشغيل
اكتب اسم الملف في الكومبو بوكس1 وانقر على زر الحفظ أي رجيستري لو فيشي وفي الرسالة مسج انقر نعم
وبعد ذلك انقر على " شارج ليست " في مربع الحوار أوبن ديالوق حدد اسم أو اسماء ملفات اكسال
وانقر أوفرير ..... ظهور اسم أو اسماء في ليست بوكس انقر على أحدها ظهور مساج انقر موفق
وهذا طبعا بعد تحديد السطر والعمود في البرنامج في الاماكن المخصصة لهــا للقراءة منهــا أي تحديد خلية البدء
مثلا بي 4 = ممثلة 2، 4 وكذلك تحديد خلية إنهاء القراءة من الملف اكسال
انقر أوفرير اكسال لعرض عمود من الخلاية في الميمو وبعد ظهور قائمة الأسماء
ابحث على اسم معين من الأسماء وذلك بنقر على روشارش دان ليست وبعد ظهور مربع روشارش
اكتب اسم من الأسماء في مربع البحث وشاهد النتيجة
أرجو منكم أن تعذروني لقلت معرفتي بهذا المجال
=================================
= Unit1.pas
=================================
- الكود:
unit Unit1; // delph.forumalgerie.net
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, // delph.forumalgerie.net
StdCtrls, Buttons, ExtCtrls; // delph.forumalgerie.net
type
TForm1 = class(TForm) // delph.forumalgerie.net
Button2: TButton; // delph.forumalgerie.net
Button3: TButton; // delph.forumalgerie.net
OpenDialog1: TOpenDialog; // delph.forumalgerie.net
ListBox1: TListBox; // delph.forumalgerie.net
Button7: TButton; // delph.forumalgerie.net
Memo1: TMemo; // delph.forumalgerie.net
FindDialog1: TFindDialog; // delph.forumalgerie.net
Button1: TButton; // delph.forumalgerie.net
Edit1: TEdit; // delph.forumalgerie.net
BitBtn1: TBitBtn; // delph.forumalgerie.net
Label1: TLabel; // delph.forumalgerie.net
Edit2: TEdit; // delph.forumalgerie.net
Label2: TLabel; // delph.forumalgerie.net
Label3: TLabel; // delph.forumalgerie.net
Panel1: TPanel; // delph.forumalgerie.net
ComboBox1: TComboBox; // delph.forumalgerie.net
Button4: TButton; // delph.forumalgerie.net
Label4: TLabel; // delph.forumalgerie.net
Edit3: TEdit; // delph.forumalgerie.net
Edit4: TEdit; // delph.forumalgerie.net
Edit5: TEdit; // delph.forumalgerie.net
Label5: TLabel; // delph.forumalgerie.net
Label6: TLabel; // delph.forumalgerie.net
Label7: TLabel; // delph.forumalgerie.net
procedure Button7Click(Sender: TObject); // delph.forumalgerie.net
procedure FormCreate(Sender: TObject); // delph.forumalgerie.net
procedure FormCreate11(Sender: TObject); // delph.forumalgerie.net
procedure Button3Click(Sender: TObject); // delph.forumalgerie.net
procedure ListBox1Click(Sender: TObject); // delph.forumalgerie.net
procedure Button2Click(Sender: TObject); // delph.forumalgerie.net
procedure FormDestroy(Sender: TObject); // delph.forumalgerie.net
procedure FindDialog1Find(Sender: TObject); // delph.forumalgerie.net
procedure Button1Click(Sender: TObject); // delph.forumalgerie.net
procedure Button4Click(Sender: TObject); // delph.forumalgerie.net
procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, // delph.forumalgerie.net
Y: Integer); // delph.forumalgerie.net
procedure ComboBox1Exit(Sender: TObject); // delph.forumalgerie.net
private
{ Déclarations privées }
FSelPos: integer; // delph.forumalgerie.net
public
{ Déclarations publiques }
end; // delph.forumalgerie.net
const
abc1: array[1..26] of string = ('A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); // delph.forumalgerie.net
var
Form1: TForm1; // delph.forumalgerie.net
Exc1, Exc2: OleVariant; // delph.forumalgerie.net
NomFile: string; // delph.forumalgerie.net
excelNomFilel1 : string; // delph.forumalgerie.net
no1: boolean; boo01: boolean;
implementation
uses
ComObj, Shellapi; // delph.forumalgerie.net
{$R *.DFM} // delph.forumalgerie.net
procedure TForm1.Button7Click(Sender: TObject); // delph.forumalgerie.net
begin
ShellExecute(handle, 'open', PChar(excelNomFilel1), // delph.forumalgerie.net
nil, nil, SW_SHOWNORMAL); // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.FormCreate(Sender: TObject); // delph.forumalgerie.net
begin
no1 := false; //ComboBox1.Items.Clear; // delph.forumalgerie.net
boo01 := false; // delph.forumalgerie.net
FormCreate11(Sender); // delph.forumalgerie.net
end; // delph.forumalgerie.net
////////////////
procedure TForm1.FormCreate11(Sender: TObject); // delph.forumalgerie.net
var
f, f1: textfile; // delph.forumalgerie.net
s: string; // delph.forumalgerie.net
a: integer; // delph.forumalgerie.net
begin
ComboBox1.Items.LoadFromFile('fil.ag'); // delph.forumalgerie.net
assignfile(f1, 'Num1'); Reset(f1); Read(f1, a); closefile(f1); // delph.forumalgerie.net
if not no1 then
ComboBox1.Text := ComboBox1.Items.Strings[a]; // delph.forumalgerie.net
NomFile := ExtractFilePath(Application.EXEName)+ComboBox1.Text; // delph.forumalgerie.net
ListBox1.Items.Clear; // delph.forumalgerie.net
assignfile(f, NomFile); // delph.forumalgerie.net
if Not FileExists(NomFile) then ReWrite(f);
reset(f); // delph.forumalgerie.net
while not eof(f) do
begin
readln(f, s); // delph.forumalgerie.net
if s <> '' then
ListBox1.Items.Add(s); // delph.forumalgerie.net
end; // delph.forumalgerie.net
closefile(f); // delph.forumalgerie.net
end; // delph.forumalgerie.net
/////////////////
procedure TForm1.Button3Click(Sender: TObject); // delph.forumalgerie.net
begin
OpenDialog1.Filter := 'Fichier Excel (*.xlsx)|*.xlsx|Fichier Excel (*.xls)|*.xls|Tout les fichier (*.*)|*.*'; // delph.forumalgerie.net
OpenDialog1.Title := 'Ouvrir le fichier Excel ou selections un liste de fichiers'; // delph.forumalgerie.net
if OpenDialog1.Execute then begin
ListBox1.Items.Add(OpenDialog1.Files.Text); // delph.forumalgerie.net
ListBox1.Items.SaveToFile(NomFile); // delph.forumalgerie.net
no1 := true; // delph.forumalgerie.net
FormCreate11(Sender); // delph.forumalgerie.net
end; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.ListBox1Click(Sender: TObject); // delph.forumalgerie.net
var
i: integer; // delph.forumalgerie.net
begin
i := ListBox1.ItemIndex; // delph.forumalgerie.net
excelNomFilel1 := ListBox1.Items.Strings[i]; // delph.forumalgerie.net
ShowMessage(excelNomFilel1); // delph.forumalgerie.net
Edit1.Text := excelNomFilel1; // delph.forumalgerie.net
Button1.Enabled := true; // delph.forumalgerie.net
Button2.Enabled := true; // delph.forumalgerie.net
Button7.Enabled := true; // delph.forumalgerie.net
boo01 := false; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.Button2Click(Sender: TObject); // delph.forumalgerie.net
var jColonne: integer;
Colonne, Tracer : Integer; // delph.forumalgerie.net
CountTracer : Integer;
begin
Colonne := StrToInt(Edit3.Text); // delph.forumalgerie.net
Tracer := StrToInt(Edit4.Text); // delph.forumalgerie.net
CountTracer := StrToInt(Edit5.Text); // delph.forumalgerie.net
if Tracer <= 26 then begin
if not boo01 then
begin
Exc1 := CreateOleObject('Excel.Application'); // delph.forumalgerie.net
Exc1.Workbooks.Open(excelNomFilel1); // delph.forumalgerie.net
end;
Memo1.Lines.Clear; // delph.forumalgerie.net
for jColonne := Colonne to CountTracer do
Memo1.Lines.Add(Exc1.Cells[jColonne, Tracer].Text +
' --> '+abc1[Tracer]+IntToStr(jColonne)); // delph.forumalgerie.net
boo01 := true; // delph.forumalgerie.net
end; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.FormDestroy(Sender: TObject); // delph.forumalgerie.net
begin
if not VarIsEmpty(Exc1) then
begin
Exc1.DisplayAlerts := False; // delph.forumalgerie.net
Exc1.Quit; // delph.forumalgerie.net
end; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.FindDialog1Find(Sender: TObject); // delph.forumalgerie.net
var
S : string; // delph.forumalgerie.net
startpos : integer; // delph.forumalgerie.net
begin
with TFindDialog(Sender) do
begin
if FSelPos = 0 then
Options := Options - [frFindNext]; // delph.forumalgerie.net
if frfindNext in Options then
begin
StartPos := FSelPos + Length(Findtext); // delph.forumalgerie.net
S := Copy(Memo1.Lines.Text, StartPos, MaxInt); // delph.forumalgerie.net
end
else
begin
S := Memo1.Lines.Text; // delph.forumalgerie.net
StartPos := 1; // delph.forumalgerie.net
end; // delph.forumalgerie.net
FSelPos := Pos(FindText, S);
if FSelPos > 0 then
begin
FSelPos := FSelPos + StartPos - 1; // delph.forumalgerie.net
Memo1.SelStart := FSelPos - 1; // delph.forumalgerie.net
Memo1.SelLength := Length(FindText); // delph.forumalgerie.net
Memo1.SetFocus; // delph.forumalgerie.net
Edit2.Text := Memo1.SelText; // delph.forumalgerie.net
Label2.Caption := IntToStr(StrToInt(Label2.Caption) + 1); // delph.forumalgerie.net
end
else
begin
if frfindNext in Options then
begin
S := Concat('Non trouve autre là "', FindText,
'" dans Liste.'); // delph.forumalgerie.net
Label2.Caption := '0'; // delph.forumalgerie.net
end
else
S := Concat('ne trouve pas "', FindText, '" dans Liste.'); // delph.forumalgerie.net
MessageDlg(S, mtError, [mbOK], 0); // delph.forumalgerie.net
end; // delph.forumalgerie.net
end; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.Button1Click(Sender: TObject); // delph.forumalgerie.net
begin
FSelPos := 0; // delph.forumalgerie.net
FindDialog1.Execute; // delph.forumalgerie.net
Label2.Caption := '0'; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.Button4Click(Sender: TObject); // delph.forumalgerie.net
begin
if MessageDlg('Voulez vous vraiment enregistrer le fichier : '
+ComboBox1.Text,mtInformation,[mbYes,mbNo],0)=mrYes then
begin
// NomFile := ExtractFilePath(Application.EXEName)+ComboBox1.Text; // delph.forumalgerie.net
Edit1.Text := NomFile; // delph.forumalgerie.net
ComboBox1.Items.Add(ComboBox1.Text); // delph.forumalgerie.net
ComboBox1.Items.SaveToFile('fil.ag'); // delph.forumalgerie.net
end;
Button4.Enabled := false; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); // delph.forumalgerie.net
var
i: Integer; // delph.forumalgerie.net
s: String; // delph.forumalgerie.net
b1: boolean; // delph.forumalgerie.net
begin
if ComboBox1.Text <> '' then begin
b1 := false;
s := ComboBox1.Text; // delph.forumalgerie.net
for i := 0 to ComboBox1.Items.Count-1 do
if s = ComboBox1.Items.Strings[i] then
b1 := true; // delph.forumalgerie.net
if not b1 then
Button4.Enabled := true else Button4.Enabled := false; // delph.forumalgerie.net
NomFile := ExtractFilePath(Application.EXEName)+s; // delph.forumalgerie.net
if Button4.Enabled then
Button4.SetFocus; end; // delph.forumalgerie.net
end; // delph.forumalgerie.net
procedure TForm1.ComboBox1Exit(Sender: TObject); // delph.forumalgerie.net
var f, f1: TextFile; s, NomFil: String; // delph.forumalgerie.net
begin
if ComboBox1.Text <> '' then
begin
NomFil := ExtractFilePath(Application.EXEName)+'Num1'; // delph.forumalgerie.net
assignfile(f1, NomFil); ReWrite(f1); // delph.forumalgerie.net
Write(f1, ComboBox1.ItemIndex); // delph.forumalgerie.net
closefile(f1); // delph.forumalgerie.net
ListBox1.Items.Clear; // delph.forumalgerie.net
NomFile := ExtractFilePath(Application.EXEName)+ComboBox1.Text;
assignfile(f, NomFile); // delph.forumalgerie.net
if Not FileExists(NomFile) then ReWrite(f); // delph.forumalgerie.net
reset(f); // delph.forumalgerie.net
while not eof(f) do
begin
readln(f, s); // delph.forumalgerie.net
if s <> '' then
ListBox1.Items.Add(s); // delph.forumalgerie.net
end; // delph.forumalgerie.net
closefile(f); // delph.forumalgerie.net
Label4.Enabled := true; // delph.forumalgerie.net
end; // delph.forumalgerie.net
end; // delph.forumalgerie.net
end. // delph.forumalgerie.net
وفي الأخير تقبلوا مني فائق الشكر والاحترام والتقدير
منتدى دلفي تعليم يرحب بكم
delph.forumalgerie.net
عدل سابقا من قبل mah11 في 23/5/2015, 2:13 pm عدل 2 مرات (السبب : تصحيح بعض المعلومات)
رد: كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
مشكـــــور على الموضـــــوع.................
sad13- مبرمج
- عدد المساهمات : 53
تاريخ التسجيل : 04/01/2014
رد: كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
مشكـــــور على الموضـــــوع.................
sad13- مبرمج
- عدد المساهمات : 53
تاريخ التسجيل : 04/01/2014
رد: كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
مشكور عـــــلى الموضوع شـــكـــــــــــــــــــــرا شـــكـــــــــــــــــــــرا
شـــكـــــــــــــــــــــرا
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
مشكور عـــــلى الموضوع شـــكـــــــــــــــــــــرا شـــكـــــــــــــــــــــرا
شـــكـــــــــــــــــــــرا
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
=======================
= Form1
=======================
= Form1
=======================
- الكود:
object Form1: TForm1
Left = 192
Top = 114
Width = 808
Height = 581
BorderIcons = [biSystemMenu, biMinimize]
Caption = 'Form1 Exemple Excele'
Color = clBtnFace
Font.Charset = ARABIC_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
OldCreateOrder = False
Position = poScreenCenter
OnCreate = FormCreate
OnDestroy = FormDestroy
PixelsPerInch = 96
TextHeight = 16
object Label1: TLabel
Left = 344
Top = 0
Width = 150
Height = 16
Caption = 'Nom de fichier ouvrir ...'
end
object Label2: TLabel
Left = 624
Top = 56
Width = 7
Height = 16
Caption = '0'
end
object Label3: TLabel
Left = 352
Top = 40
Width = 101
Height = 16
Caption = 'Nom de Persont'
end
object Label4: TLabel
Left = 744
Top = 472
Width = 13
Height = 56
Caption = '.'
Enabled = False
Font.Charset = ANSI_CHARSET
Font.Color = clRed
Font.Height = -48
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object Label5: TLabel
Left = 720
Top = 16
Width = 53
Height = 16
Caption = 'Colonne'
end
object Label6: TLabel
Left = 720
Top = 40
Width = 41
Height = 16
Caption = 'Tracer'
end
object Label7: TLabel
Left = 720
Top = 72
Width = 70
Height = 16
Caption = 'Quantique '
end
object Button2: TButton
Left = 24
Top = 16
Width = 145
Height = 25
Cursor = crHandPoint
Caption = 'Ouvrir Excel'
Enabled = False
TabOrder = 0
OnClick = Button2Click
end
object Button3: TButton
Left = 32
Top = 56
Width = 249
Height = 25
Cursor = crHandPoint
Caption = 'Charge la liste'
TabOrder = 1
OnClick = Button3Click
end
object ListBox1: TListBox
Left = 8
Top = 88
Width = 337
Height = 393
ItemHeight = 16
TabOrder = 2
OnClick = ListBox1Click
end
object Button7: TButton
Left = 184
Top = 16
Width = 105
Height = 25
Cursor = crHandPoint
Caption = 'Ouvrir ...'
Enabled = False
TabOrder = 3
OnClick = Button7Click
end
object Memo1: TMemo
Left = 360
Top = 112
Width = 377
Height = 369
ScrollBars = ssBoth
TabOrder = 4
end
object Button1: TButton
Left = 384
Top = 88
Width = 241
Height = 25
Cursor = crHandPoint
Caption = 'Rechercher dans Liste'
Enabled = False
TabOrder = 5
OnClick = Button1Click
end
object Edit1: TEdit
Left = 344
Top = 16
Width = 273
Height = 24
TabOrder = 6
end
object BitBtn1: TBitBtn
Left = 24
Top = 491
Width = 169
Height = 29
Cursor = crHandPoint
TabOrder = 7
Kind = bkClose
end
object Edit2: TEdit
Left = 344
Top = 56
Width = 273
Height = 24
TabOrder = 8
end
object Panel1: TPanel
Left = 200
Top = 489
Width = 537
Height = 41
TabOrder = 9
OnMouseMove = Panel1MouseMove
object ComboBox1: TComboBox
Left = 184
Top = 9
Width = 345
Height = 24
ItemHeight = 16
TabOrder = 0
OnExit = ComboBox1Exit
end
object Button4: TButton
Left = 8
Top = 8
Width = 161
Height = 25
Caption = 'Enregistrer le fichier'
Enabled = False
TabOrder = 1
OnClick = Button4Click
end
end
object Edit3: TEdit
Left = 680
Top = 8
Width = 33
Height = 24
TabOrder = 10
Text = '4'
end
object Edit4: TEdit
Left = 680
Top = 40
Width = 33
Height = 24
TabOrder = 11
Text = '2'
end
object Edit5: TEdit
Left = 680
Top = 72
Width = 33
Height = 24
TabOrder = 12
Text = '24'
end
object OpenDialog1: TOpenDialog
Filter =
'Fichier Excel (*.xlsx)|*.xlsx|Fichier Excel (*.xls)|*.xls|Tout l' +
'es fichier (*.*)|*.*'
InitialDir = '.'
Options = [ofHideReadOnly, ofAllowMultiSelect, ofEnableSizing]
Left = 616
end
object FindDialog1: TFindDialog
OnFind = FindDialog1Find
Left = 648
end
end
رد: كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
بارك الله فيك
sdk11- مبرمج مجتهد
- عدد المساهمات : 108
تاريخ التسجيل : 19/09/2014
مواضيع مماثلة
» كيفية قراءة سطر أو عمود من ملف اكسال بـدلفي
» فتح أي برنامج أو مجلد بـدلفي
» قراءة متغير أو سطر من ملف
» كيفية ربط Excel مع Delphi
» كيفية ربط -Excel- مع -Delphi -
» فتح أي برنامج أو مجلد بـدلفي
» قراءة متغير أو سطر من ملف
» كيفية ربط Excel مع Delphi
» كيفية ربط -Excel- مع -Delphi -
دلفي تعليم :: منتديات البرمجة :: دلفي
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى