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

benalioua1975 94 Messages postés samedi 31 décembre 2005Date d'inscription 26 juin 2013 Dernière intervention - 14 janv. 2007 à 14:22 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 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
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 14 janv. 2007 à 20:20
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)

Merci f0xi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de f0xi
Meilleure réponse
benalioua1975 94 Messages postés samedi 31 décembre 2005Date d'inscription 26 juin 2013 Dernière intervention - 15 janv. 2007 à 09:41
3
Merci
merci beaucoup

ta solution marche a merveille

Merci benalioua1975 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de benalioua1975
Utilisateur anonyme - 14 janv. 2007 à 15:25
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
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 15 janv. 2007 à 20:03
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.