cs_lusitano69
Messages postés21Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention26 février 2008
-
25 févr. 2008 à 22:38
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 2019
-
29 févr. 2008 à 21:20
Bonjour je voudrais savoir comment coder ce morceau de code VB en Delphi
Je n'est jamais fais de VB de ma vie
- le for,if okey je connais bien.
- le list1.listcount ??? ça corresponf a qel objet?? listbox en delphi?
- list(1).selected -> c'est quoi l'équivalent en delphi
for i = 0 to list1.listcount - 1
if instr(list1(i), text1.text) <> 0 then
list1(i).selected = true
end if
next
Apperement ce code que j'ai trouvé sur le forum section VB sert a chercher des mots clé dans un listbox genre si on entre "seb" dans le edit et qu'on a sébastien dans notre listbox il va le trouver.
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 29 févr. 2008 à 21:20
J'ai retrouvé mon exemple :)))
L'exemple suivant décrit comment compléter des chaînes partiellement saisies dans une boîte à options.Le code représente le gestionnaire d'événement OnKeyPress de la boîte àoptions qui effectue la plupart de la gestion par défaut des frappes de touches avant de trouver un élément de liste correspondant et d'actualiser le texte.
Remarque : Ce gestionnaire d'événement OnKeyPress ne gère pas l'appui de la touche Suppr.Elle peut être gérée dans le gestionnaire d'événement OnKeyDown.
var
Found:boolean;
i,SelSt:Integer;
TmpStr:string;
begin
{Tout d'abord,traiter l'appui de touche pour obtenir la chaîne en cours }
{Ce code nécessite que tous les éléments de la liste soient en majuscules}
ifKey in['a'..'z']thenDec(Key,32);{Convertit en majuscules !}
with(Sender asTComboBox)do
begin
SelSt :=SelStart;
if(Key =Chr(vk_Back))and(SelLength <>0)then
TmpStr :=Copy(Text,1,SelStart)+Copy(Text,SelLength+SelStart+1,255)
else ifKey =Chr(vk_Back)then{SelLength =0}
TmpStr :=Copy(Text,1,SelStart-1)+Copy(Text,SelStart+1,255)
else{Key in ['A'..'Z',etc]}
TmpStr :=Copy(Text,1,SelStart)+Key+Copy(Text,SelLength+SelStart+1,255);
ifTmpStr =''thenExit;
{actualise SelSt au point d'insertion en cours }
if(Key =Chr(vk_Back))and(SelSt >0)thenDec(SelSt)
else ifKey <>Chr(vk_Back)thenInc(SelSt);
Key :=#0;{indique que la touche a étégérée }
ifSelSt =0 then
begin
Text:='';
Exit;
end;
{TmpStr contient ici la chaîne saisie,il faut rechercher une correspondance }
Found :=False;
fori :=1 toItems.Count do
ifCopy(Items[i-1],1,Length(TmpStr))=TmpStr then
begin
Text :=Items[i-1];{actualiser avec la correspondance trouvée }
ItemIndex :=i-1;
Found :=True;
Break;
end;
ifFound then {sélectionner la fin de la chaîne qui n'a pas été saisie }
begin
SelStart :=SelSt;
SelLength :=Length(Text)-SelSt;
end
elseBeep;
end;
end;