1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
Procedure TForm1.SearchHost_OnShow(Sender: TObject);
var
Import : String;
FImport : TextFile;
FHost : TextFile;
StgImport : String;
StgHost : String;
//
posM,posL,i,j:integer;
trouve:boolean;
NumeroLigne:integer;
Yes : integer;
begin
Yes := 0;
posM:=0;
posL:=0;
i:=0;
j:=0;
//OS = JvComputerInfoEx1.ProductName + ' - ' + JvComputerInfoEx1.VersionCSDString:
JvLabel1.Caption := 'Votre version de Windows est ' + JvComputerInfoEx1.OS.ProductName + ' - ' + JvComputerInfoEx1.OS.VersionCSDString + ' ( Build : ' + IntToStr(JvComputerInfoEx1.OS.VersionBuild) + ' )';
//JvOSVersionInfo.
JvMemo1.Clear; //Efface le contenu de Memo1
JvLabel2.Caption := '';
//Lecture du fichier import
AssignFile(FImport,ExtractFilePath(Application.ExeName)+'import.txt');
{$I-} //La vérification d'E/S est désactivée
Reset(FImport);
{$I+} //La vérification d'E/S est activée
if IoResult=0 then //Renvoie l'état de la dernière opération d'E/S
begin
Readln(FImport,StgImport); //Lit une ligne du fichier texte jusqu'au prochain saut de ligne
JvLabel2.Caption := 'Lecture des données : ' + StgImport; //Affiche dans Memo1 le contenu de la variable Stg
JvLabel3.Caption := 'Texte à ajouter : ' + StgImport;
CloseFile(FImport);
//Regarde si la ligne à ajouter est présente dans le fichier host.
//Ouverture et lecture du fichier Host.
AssignFile(FHost,JvComputerInfoEx1.Folders.System +'\drivers\etc\hosts');
Reset(FHost);
repeat //Repeter...
Readln(FHost,StgHost); //Lit une ligne du fichier texte jusqu'au prochain saut de ligne
JvMemo1.Lines.Add(StgHost); //Affiche dans Memo1 le contenu de la variable Stg
//JvRichEdit1.Lines.Add(StgHost);
//AdvMemo1.Lines.Add(StgHost);
until EOF(FHost);// ...jusqu'à ce que la position en cours du pointeur se trouve en fin de fichier
CloseFile(Fhost);
NumeroLigne :=0;
RzGroupBox1.enabled := False;
RZGroupBox2.Enabled := True;
for i:=0 to JvMemo1.Lines.Count do
begin
posL:=pos(JvLabel2.Caption,JvMemo1.Lines[i]);
if posL <>0 then begin
posM:=0;
for j:=0 to i-1 do
posM:=posM+length(JvMemo1.Lines[j]);
posM:=posM+(i*2);
posM:=posM+posL-1;
JvMemo1.SetFocus;
JvMemo1.SelStart:=posM;
JvMemo1.SelLength:=length(JvLabel2.Caption);
trouve:=true;
///////////// ici on recherche le le numéro de ligne /////////
NumeroLigne := SendMessage(JvMemo1.Handle,EM_LINEFROMCHAR,-1,0);
JvLabel4.Caption:=(inttostr(NumeroLigne)); //Edit2: affiche le numéro de la ligne
/////////////////////
break;
If NumeroLigne <>0 then
begin
//JvLabel4.Caption:= 'Ce texte apparait à la ligne '+ (inttostr(NumeroLigne))+ '. Souhaitez-vous le supprimer ?'; //Edit2: affiche le numéro de la ligne
RzGroupBox1.Enabled := False;
RzGroupBox2.Enabled := True;
JvBitBtn5.Enabled := False;
end
else
begin
//JvLabel4.Caption:= 'Ce texte n''a pas été trouvé. Souhaitez-vous l''ajouter ?';
RzGroupBox1.Enabled := True;
JvBitBtn2.Enabled := False;
RZGroupBox2.Enabled := False;
end;
end
Else
begin
JvLabel2.Caption := 'Fichier texte non trouvé. Contactez moi par mail, SVP';
JvLabel3.Caption := '';
JvLabel4.Caption := '';
end;
end;
end;
end; |
Partager