unit UnitSimule; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, UnitPrinc; type TFormSimulation = class(TForm) ButtonCharge: TButton; OpenDialog: TOpenDialog; EditIntervalle: TEdit; Label1: TLabel; CheckBoxRapide: TCheckBox; procedure ButtonChargeClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure EditIntervalleKeyPress(Sender: TObject; var Key: Char); private { Déclarations privées } public { Déclarations publiques } end; var FormSimulation: TFormSimulation; Intervalle : integer; implementation {$R *.dfm} procedure TFormSimulation.ButtonChargeClick(Sender: TObject); var s : string; fte : textFile; i,k,erreur : integer; sortie : boolean; begin s:=GetCurrentDir; s:='C:\Program Files (x86)\Borland\Delphi7\Projects\Signaux_complexes_GL'; OpenDialog.InitialDir:=s; OpenDialog.DefaultExt:='txt'; OpenDialog.Filter:='Fichiers texte (*.txt)|*.txt|Tous fichiers (*.*)|*.*'; if openDialog.Execute then begin s:=openDialog.FileName; assignFile(fte,s); reset(fte); index_simule:=1; repeat readln(fte,s); i:=pos('Tick=',s); if i<>0 then begin Delete(s,1,i+4); val(s,k,erreur); if intervalle<>0 then k:=Index_Simule*Intervalle*10+tick+80 else // démarre dans 8s k:=Index_Simule+tick+80 ; Tablo_simule[index_simule].tick:=k; i:=pos('Det=',s); if i<>0 then begin Delete(s,1,i+3); val(s,k,erreur); Tablo_simule[index_simule].detecteur:=k; i:=pos('=',s); if i<>0 then begin Delete(s,1,i); val(s,k,erreur); Tablo_simule[index_simule].etat:=k; s:='Tick='+intToSTR(Tablo_simule[index_simule].tick)+ ' Detecteur='+intToSTR(Tablo_simule[index_simule].detecteur)+ '='+intToSTR(Tablo_simule[index_simule].etat); Affiche(s,ClLime); inc(index_simule); end; end; end; sortie:=eof(fte) or (index_simule>199); until sortie ; Affiche('Intervalle='+intToSTR(intervalle),clyellow); dec(index_simule); closeFile(fte); FormSimulation.Close; end; end; procedure TFormSimulation.FormCreate(Sender: TObject); begin Intervalle:=1; EditIntervalle.Text:=IntToSTR(Intervalle); end; procedure TFormSimulation.EditIntervalleKeyPress(Sender: TObject;var Key: Char); var erreur : integer; begin Val(EditIntervalle.Text,intervalle,erreur); if (intervalle<0) then Intervalle:=1; end; end.