... Button4: TButton; Button5: TButton; procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure LoadPage(IndexPage: Integer); ... var Form8: TForm8; Suite: Boolean; NumPage: Integer; ... procedure TForm8.FormActivate(Sender: TObject); begin //Rien end; //procedure pour charger en fonction du numéro de page procedure TForm8.LoadPage(IndexPage: Integer); var I: Integer; MyLabel: TLabel; MyImage: TImage; begin if not ADOTable1.Active then ADOTable1.Active := True; vide; Suite := False; Form8.Caption := 'Page n° ' + inttostr(NumPage); ADOTable1.First; ADOTable1.MoveBy((104*(IndexPage-1))+1);//On se déplace au début des données que l'on a besoin for I := 1 to 104 do begin //Ce que tu as essayé pour stopper Application.ProcessMessages; if Suite then Break; Button1.Visible := False; MyLabel := TLabel(FindComponent(Format('Label%d', [I]))); if MyLabel <> nil then MyLabel.Caption := ADOTable1.Fields[0].AsString + ' N° ' + ADOTable1.Fields[5].AsString; MyImage := TImage(FindComponent(Format('Image%d', [I]))); if MyImage <> nil then begin MyImage.Width := 105; MyImage.Height := 105; MyImage.picture.Assign(ADOTable1.Fields[1]); MyImage.Tag := ADOTable1.Fields[4].AsInteger; end; if ADOTable1.Eof then Break; ADOTable1.Next; end; end; //Bouton page plus procedure TForm8.Button4Click(Sender: TObject); begin //On regarde si le nombre de données est suffisant pour une nouvelle page if ADOTable1.RecordCount > NumPage * 104 then begin Inc(NumPage);//ou Inc(NumPage,1) ou NumPage := Numpage +1; Button4.Caption := Format('Page %d',[NumPage +1]); Button5.Caption := Format('Page %d',[NumPage +1]); LoadPage(NumPage);//Chargement en fonction numéro de page end; end; //Bouton page moins procedure TForm8.Button5Click(Sender: TObject); begin if NumPage> 1 then begin Dec(NumPage); Button4.Caption := Format('Page %d',[NumPage -1]); Button5.Caption := Format('Page %d',[NumPage -1]); LoadPage(NumPage); end; end; procedure TForm8.FormCreate(Sender: TObject); var Chemin: string; begin Chemin := ExtractFilePath(Application.ExeName); ADOConnection1.Close; ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'User ID=Admin;' + 'Data Source=' + Chemin + 'Placo.mdb;' + 'Mode=ReadWrite;' + 'Jet OLEDB:System database="";' + 'Jet OLEDB:Registry Path="";' + 'Jet OLEDB:Database Password="";' + 'Jet OLEDB:Engine Type=5;' + 'Jet OLEDB:Database Locking Mode=1;' + 'Jet OLEDB:Global Partial Bulk Ops=2;' + 'Jet OLEDB:Global Bulk Transactions=1;' + 'Jet OLEDB:New Database Password="";' + 'Jet OLEDB:Create System Database=False;' + 'Jet OLEDB:Encrypt Database=False;' + 'Jet OLEDB:Don''t Copy Locale on Compact=False;' + 'Jet OLEDB:Compact Without Replica Repair=False;' + 'Jet OLEDB:SFP=False;'; ADOConnection1.Open(); ADOTable1.Active := True; NumPage := 1; Button4.Caption := Format('Page %d',[2]); Button5.Caption := Format('Page %d',[0]); LoadPage(NumPage); end;@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionunit Photos; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Buttons, Printers; type TForm8 = class(TForm) Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; Image10: TImage; Image11: TImage; Image12: TImage; Image13: TImage; Image14: TImage; Image15: TImage; Image16: TImage; Image17: TImage; Image18: TImage; Image19: TImage; Image20: TImage; Image21: TImage; Image22: TImage; Image23: TImage; Image24: TImage; Image25: TImage; Image26: TImage; Image27: TImage; Image28: TImage; Image29: TImage; Image30: TImage; Image31: TImage; Image32: TImage; Image33: TImage; Image34: TImage; Image35: TImage; Image36: TImage; Image37: TImage; Image38: TImage; Image39: TImage; Image40: TImage; Image41: TImage; Image42: TImage; Image43: TImage; Image44: TImage; Image45: TImage; Image46: TImage; Image47: TImage; Image48: TImage; Image49: TImage; Image50: TImage; Image51: TImage; Image52: TImage; Image53: TImage; Image54: TImage; Image55: TImage; Image56: TImage; Image57: TImage; Image58: TImage; Image59: TImage; Image60: TImage; Image61: TImage; Image62: TImage; Image63: TImage; Image64: TImage; Image65: TImage; Image66: TImage; Image67: TImage; Image68: TImage; Image69: TImage; Image70: TImage; Image71: TImage; Image72: TImage; Image73: TImage; Image74: TImage; Image75: TImage; Image76: TImage; Image77: TImage; Image78: TImage; Image79: TImage; Image80: TImage; Image81: TImage; Image82: TImage; Image83: TImage; Image84: TImage; Image85: TImage; Image86: TImage; Image87: TImage; Image88: TImage; Image89: TImage; Image90: TImage; Image91: TImage; Image92: TImage; Image93: TImage; Image94: TImage; Image95: TImage; Image96: TImage; Image97: TImage; Image98: TImage; Image99: TImage; Image100: TImage; Image101: TImage; Image102: TImage; Image103: TImage; Image104: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; DataSource1: TDataSource; ADOConnection1: TADOConnection; ADOTable1: TADOTable; ADOTable1Choix2: TWideStringField; ADOTable1Photo: TBlobField; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; Label33: TLabel; Label34: TLabel; Label35: TLabel; Label36: TLabel; Label37: TLabel; Label38: TLabel; Label39: TLabel; Label40: TLabel; Label41: TLabel; Label42: TLabel; Label43: TLabel; Label44: TLabel; Label45: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label49: TLabel; Label50: TLabel; Label51: TLabel; Label52: TLabel; Label53: TLabel; Label54: TLabel; Label55: TLabel; Label56: TLabel; Label57: TLabel; Label58: TLabel; Label59: TLabel; Label60: TLabel; Label61: TLabel; Label62: TLabel; Label63: TLabel; Label64: TLabel; Label65: TLabel; Label66: TLabel; Label67: TLabel; Label68: TLabel; Label69: TLabel; Label70: TLabel; Label71: TLabel; Label72: TLabel; Label73: TLabel; Label74: TLabel; Label75: TLabel; Label76: TLabel; Label77: TLabel; Label78: TLabel; Label79: TLabel; Label80: TLabel; Label81: TLabel; Label82: TLabel; Label83: TLabel; Label84: TLabel; Label85: TLabel; Label86: TLabel; Label87: TLabel; Label88: TLabel; Label89: TLabel; Label90: TLabel; Label91: TLabel; Label92: TLabel; Label93: TLabel; Label94: TLabel; Label95: TLabel; Label96: TLabel; Label97: TLabel; Label98: TLabel; Label99: TLabel; Label100: TLabel; Label101: TLabel; Label102: TLabel; Label103: TLabel; Label104: TLabel; Button1: TButton; ADOTable1Commencepar: TWideStringField; ADOTable1Catégorie: TWideStringField; Button2: TButton; PrinterSetupDialog1: TPrinterSetupDialog; ADOTable1Clé: TAutoIncField; ADOTable1Numéro: TWideStringField; Button3: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; procedure vide(); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Image1DblClick(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form8: TForm8; Suite: Boolean; implementation {$R *.dfm} uses Fiche,Liste; procedure TForm8.vide(); var MonImage: TImage; MonLabel: TLabel; j: Integer; begin with Form8 do begin for j := 1 to 104 do begin MonLabel := TLabel(FindComponent(Format('Label%d', [j]))); MonLabel.Caption := ''; MonImage := TImage(FindComponent(Format('Image%d', [j]))); MonImage.picture := nil; end; end; end; procedure TForm8.Button1Click(Sender: TObject); begin Suite := True; end; procedure TForm8.Button2Click(Sender: TObject); begin PrinterSetupDialog1.Execute; with Printer do begin Orientation := poLandScape; PrintScale := poPrintToFit; Form8.Print; end; end; procedure TForm8.Button3Click(Sender: TObject); begin ADOTable1.Close; Form8.Close; end; procedure TForm8.FormActivate(Sender: TObject); var i, k, NumCp, NumPage : Integer; MyImage: TImage; MyLabel: TLabel; begin if ADOTable1.Active=False then ADOTable1.Active := True; vide; ADOTable1.First; end; NumPage := 1; i := 0; while not ADOTable1.Eof do { -------------------- Début de la boucle ------------------------------ } begin Suite := False; NumCp := NumCp + 1; if NumCp = 104 then i := 1; if (NumCp > 104) and (NumCp < 208) then i := 2; if NumCp = 208 then i := 3; if (NumCp > 208) and (NumCp < 312) then i := 4; if NumCp = 312 then i := 5; if (NumCp > 312) and (NumCp < 416) then i := 6; if NumCp = 416 then i := 7; if (NumCp > 416) and (NumCp < 520) then i := 8; if NumCp = 520 then i := 9; if (NumCp > 520) and (NumCp < 624) then i := 10; if NumCp = 624 then i := 11; { ====== A poursuivre en fonction du nombre de pages à afficher ====== } Form8.Caption := 'Page n° ' + inttostr(NumPage); if i = 0 then { -------------------- i = 0 --------------------------- } begin Button1.Visible := False; MyLabel := TLabel(FindComponent(Format('Label%d', [NumCp]))); MyImage := TImage(FindComponent(Format('Image%d', [NumCp]))); if MyLabel <> nil then MyLabel.Caption := ADOTable1.Fields[0].AsString + ' N° ' + ADOTable1.Fields[5].AsString; if MyImage <> nil then begin MyImage.Width := 105; MyImage.Height := 105; MyImage.picture.Assign(ADOTable1.Fields[1]); MyImage.Tag := ADOTable1.Fields[4].AsInteger; end; end; if (i <> 0) AND (i mod 2 = 0) then { ---------- i = 2,4,6,8 ---------- } begin Button1.Visible := False; MyLabel := TLabel(FindComponent(Format('Label%d', [NumCp - (NumPage - 1) * 104]))); MyImage := TImage(FindComponent(Format('Image%d', [NumCp - (NumPage - 1) * 104]))); if MyLabel <> nil then MyLabel.Caption := ADOTable1.Fields[0].AsString + ' N° ' + ADOTable1.Fields[5].AsString; if MyImage <> nil then begin MyImage.Width := 105; MyImage.Height := 105; MyImage.picture.Assign(ADOTable1.Fields[1]); MyImage.Tag := ADOTable1.Fields[4].AsInteger; end; end; if i mod 2 = 1 then { --------------- i = 1,3,5,7 --------------------- } begin Suite := False; MyLabel := TLabel(FindComponent(Format('Label%d', [NumCp - (NumPage - 1) * 104]))); MyImage := TImage(FindComponent(Format('Image%d', [NumCp - (NumPage - 1) * 104]))); if MyLabel <> nil then MyLabel.Caption := ADOTable1.Fields[0].AsString + ' N° ' + ADOTable1.Fields[5].AsString; if MyImage <> nil then begin MyImage.Width := 105; MyImage.Height := 105; MyImage.picture.Assign(ADOTable1.Fields[1]); MyImage.Tag := ADOTable1.Fields[4].AsInteger; end; Button1.Visible := True; Repeat Application.ProcessMessages; Until Suite; NumPage := NumPage + 1; end; ADOTable1.Next; end; end; procedure TForm8.FormCreate(Sender: TObject); var Chemin: string; begin Chemin := ExtractFilePath(Application.ExeName); ADOConnection1.Close; ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'User ID=Admin;' + 'Data Source=' + Chemin + 'Placo.mdb;' + 'Mode=ReadWrite;' + 'Jet OLEDB:System database="";' + 'Jet OLEDB:Registry Path="";' + 'Jet OLEDB:Database Password="";' + 'Jet OLEDB:Engine Type=5;' + 'Jet OLEDB:Database Locking Mode=1;' + 'Jet OLEDB:Global Partial Bulk Ops=2;' + 'Jet OLEDB:Global Bulk Transactions=1;' + 'Jet OLEDB:New Database Password="";' + 'Jet OLEDB:Create System Database=False;' + 'Jet OLEDB:Encrypt Database=False;' + 'Jet OLEDB:Don''t Copy Locale on Compact=False;' + 'Jet OLEDB:Compact Without Replica Repair=False;' + 'Jet OLEDB:SFP=False;'; ADOConnection1.Open(); ADOTable1.Active := True; end; procedure TForm8.Image1DblClick(Sender: TObject); var NumEnr : Integer; begin NumEnr:=TImage(Sender).Tag; Form9.Edit1.Text:=IntToStr(NumEnr); Form9.Edit2.Text:='Photos'; end; end.
unit Fiche; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.StdCtrls, Vcl.DBCtrls, Vcl.ExtCtrls, Vcl.Mask, Vcl.Grids, Vcl.DBGrids; type TForm9 = class(TForm) Panel1: TPanel; DBText2: TDBText; DBImage1: TDBImage; DBImage2: TDBImage; Label2: TLabel; Label5: TLabel; Panel2: TPanel; DBText8: TDBText; Label9: TLabel; DBText9: TDBText; Label10: TLabel; DBText10: TDBText; Label11: TLabel; Panel3: TPanel; Label12: TLabel; DBText11: TDBText; Label13: TLabel; Label14: TLabel; DBText12: TDBText; Label15: TLabel; Label16: TLabel; DBText13: TDBText; Panel4: TPanel; DBText14: TDBText; Label17: TLabel; DBText15: TDBText; Label18: TLabel; DBText16: TDBText; Label19: TLabel; Panel5: TPanel; Label1: TLabel; DBText1: TDBText; Label3: TLabel; DBText3: TDBText; DBText4: TDBText; Label4: TLabel; DBEdit1: TDBEdit; DBText5: TDBText; Edit1: TEdit; DataSource1: TDataSource; ADOConnection1: TADOConnection; ADOTable1: TADOTable; ADOTable1Clé: TIntegerField; ADOTable1Pays: TWideStringField; ADOTable1Région: TWideStringField; ADOTable1Commencepar: TWideStringField; ADOTable1Choix2: TWideStringField; ADOTable1Catégorie: TWideStringField; ADOTable1Numéro: TWideStringField; ADOTable1Référence: TWideStringField; ADOTable1Page: TIntegerField; ADOTable1Titre: TWideStringField; ADOTable1TexteDessus: TWideStringField; ADOTable1PrixAchat: TBCDField; ADOTable1Cote: TBCDField; ADOTable1Endouble: TWideStringField; ADOTable1Observation: TWideStringField; ADOTable1Photo: TBlobField; ADOTable1Photo2: TBlobField; Edit2: TEdit; procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Déclarations privées } public { Déclarations publiques } end; var Form9: TForm9; implementation {$R *.dfm} Uses Menu,Photos,Liste; procedure TForm9.FormClose(Sender: TObject; var Action: TCloseAction); begin Form8.Enabled := true; Form8.Show; end; procedure TForm9.FormCreate(Sender: TObject); var Chemin: string; begin Chemin := ExtractFilePath(Application.ExeName); ADOConnection1.Close; ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'User ID=Admin;' + 'Data Source=' + Chemin + 'Placo.mdb;' + 'Mode=ReadWrite;' + 'Jet OLEDB:System database="";' + 'Jet OLEDB:Registry Path="";' + 'Jet OLEDB:Database Password="";' + 'Jet OLEDB:Engine Type=5;' + 'Jet OLEDB:Database Locking Mode=1;' + 'Jet OLEDB:Global Partial Bulk Ops=2;' + 'Jet OLEDB:Global Bulk Transactions=1;' + 'Jet OLEDB:New Database Password="";' + 'Jet OLEDB:Create System Database=False;' + 'Jet OLEDB:Encrypt Database=False;' + 'Jet OLEDB:Don''t Copy Locale on Compact=False;' + 'Jet OLEDB:Compact Without Replica Repair=False;' + 'Jet OLEDB:SFP=False;'; ADOConnection1.Open(); ADOTable1.Active := True; end; procedure TForm9.FormShow(Sender: TObject); begin ADOTable1.Open; ADOTable1.Filtered := False; ADOTable1.Filter := 'Clé = ' + Edit1.Text; ADOTable1.Filtered := True; end; end.