Composant boite de saisie avec memorisation historique de saisie [Résolu]

Messages postés
94
Date d'inscription
samedi 31 décembre 2005
Dernière intervention
26 juin 2013
- - Dernière réponse : f0xi
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
2 janvier 2019
- 15 janv. 2007 à 20:03
bjr les
j'ai un ptt probleme , existe t-il un editeur comme edit ou dbedit qui garde l'historique comme
l'editeur ds le navigateur WEB
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
2 janvier 2019
34
3
Merci
Meme pas besoin de fichiers INI!

tu prend une ComboBox, si on entre du contenus on ajoute la ligne a la combobox et on sauve le tout dans un fichier texte simple.
La ComboBox fonctionne exactement comme une barre d'addresse et se positionne automatiquement sur une donnée qui est identique a la saisie.
La propriété ReadOnly doit etre a False et la propriété AutoComplete doit etre a True.

Ouverture de l'appli :

procedure TForm1.FormCreate(Sender: TObject);
begin
   CbxHistoryFile := ExtractFilePath(ParamStr(0))+'Temp\UrlHistory.hst');
   if FileExists(CbxHistoryFile) then begin
     ComboBox.Items.LoadFromFile(CbxHistoryFile);
     ComboBox.ItemIndex := -1;
   end;
   ComboBox.Text := '';
end;

Fermeture de l'appli :

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   ComboBox.Items.SaveToFile(CbxHistoryFile);

end;

Saisie d'une nouvelle entrée puis "Entrer" ou "GoButton" :

procedure TForm1.AddHistory;
var Idx : integer;

begin
    idx : = ComboBox1.Items.IndexOf(ComboBox.Text);
    if (Idx  = -1) and (ComboBox1.Text <> EmptyStr) then
      ComboBox1.ItemIndex := ComboBox1.Items.Add(ComboBox1.Text);

end;

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);

begin

   if Key = #13 then AddHistory;

end;


procedure TForm1.GoButtonClick(Sender: TObject);

begin

   AddHistory;

end;

Suppression de l'historique :

procedure TForm1.ClearHistory;
begin
    ComboBox1.Items.Clear;
    ComboBox.Items.SaveToFile(CbxHistoryFile);

end;

<hr size ="2" width="100%" />Croc (click me)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi
Messages postés
94
Date d'inscription
samedi 31 décembre 2005
Dernière intervention
26 juin 2013
3
Merci
merci beaucoup

ta solution marche a merveille

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Commenter la réponse de benalioua1975
0
Merci
Salut,

La meilleure solution est de créer un fichier Ini qui contient les URL que tu as visité. Au démarrage de l'appli si le fichier en question existe, tu le charges dans une listbox. Tu en as pou 10 lignes de codes

Un tuto sur les fichiers ini : ICI
Commenter la réponse de Utilisateur anonyme
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
2 janvier 2019
34
0
Merci
de rien, en fait, j'avais deja fait un petit navigateur web qui utilisé ce principe d'historique, on peu bien sur carrement ameliorer le truc en ajoutant un parametre de temps de l'historique avec effacement des url trop vieille.

<hr size="2" width="100%" />Croc (click me)
Commenter la réponse de f0xi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.