Saisie semi-automatique

Soyez le premier à donner votre avis sur cette source.

Vue 9 686 fois - Téléchargée 692 fois

Description

Un simple code pour imiter le comportement de Netscape ou IE, par exemple vous taper une URL et il vous donne la suite (Si vous y êtes déjà aller).

ATTENTION : KeyUp seulement !

Source / Exemple :


procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
Var b, c : Integer; a,d : STRING;
begin
//Vérifier tout les éléments
If Key <> 8 Then Begin
        for c:= 0 to ListBox1.Count - 1 do begin;
                a := ListBox1.Items[c];
                d := Edit1.Text;
                b := Edit1.SelStart;
                If LowerCase(Copy(a,1, length(d))) = LowerCase(Copy(d,1, length(d))) Then Begin;
                        Edit1.Text := a;
                        Edit1.SelStart := b;
                        Edit1.SelLength := (Length(Edit1.Text) - b);
                End;
        end;
end;
//Fin
end;

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
28
J'ai deux suggestions à faire à ce code très utile :
1/- Au lieu d'utiliser "if Key <> 8", utiliser les Virtual Key codes à la place, c'est plus lisible : "if Key <> VK_BACK "

2/- Améliorer le test d'égalité des chaines pour ne pas être sensible à la casse, en mettant les deux chaines comparées en minuscule, ce qui permet de ne pas perdre les caractères accentués :
If LowerCase(Copy(a,1, length(d))) = LowerCase(Copy(d,1, length(d)))

Félicitations et merci pour ce petit bout de code qui nous rendra de fiers services, j'en suis sûr.

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.