Oui Maître !
Effectivement je me suis trompé... Et extraire un Char d'une propriété de type String est donc aussi possible. Sur les TMemo ou les TSql c'est aussi possible :
Memo1.Lines.Strings[0][1]; Memo1.Lines[0][1]; Memo1.Text[1]; Query1.SQL.Text[1];
|
---

Nono40@fr.st

---
Nouveau --->
Nono40.fr.st-------------------------------
Réponse au message :
-------------------------------
> Désolé, mais la propriété Text, dans le cas d'un TEdit est de type String.
> Edit1.Text[i-1]; est donc tout à fait valide (à condition, bien sûr, que i > 1).
>
>
Ne pas confondre avec certaines propriété Text (comme dans le cas de TQuery.Sql) qui sont de type TStrings, soit une liste de chaînes.
>
>
May Delphi be with you>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Edit1.Text[i-1]; N'est pas autorisé car Text est une propriété.
> >
> > Mais dans le cas présent il est plus simple d'écrire :
> > saisie:=edit1.Text;
> > caract:=Saisie[i];
> > Si Text n'est pas trop long, il vaut mieux utiliser Saisie de type ShortString, pour éviter les violation d'accès.
> >
> > ---

Nono40@fr.st

---
> > Nouveau --->
Nono40.fr.st> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Dans les extraits de code donné ci-dessous, j'espère pour toi que i est strictement supérieur à 1 !
> > >
> > >
May Delphi be with you> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Pourquoi utiliser la fonction copy ?
> > > >
> > > > Caract:=Edit1.Text[i-1];
> > > >
> > > > Kakochime
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Question de base qui aa du etre X fois posée: Je veux extraire un caractère d'une chaine à l'aide de la fction Copy et l'affecter à un char (pour le tester). Le transtypage String vers Char est refusé. J'ai contourné le Pb par l'affreuse bidouille suivante:
> > > > >
> > > > > saisie:=copy(edit1.Text,i-1,1);
> > > > > pCaract:=@(saisie);
> > > > > inc(pcaract);
> > > > > caract:=pCaract^;
> > > > >
> > > > > Bien sur ça ne marche que si saisie est une ShortString...avec une AnsiString c'est n'importe quoi.
> > > > >
> > > > > il doit surement y avoir plus élégant! merci de m'aider.
> > > > >
> > > > > Bonne prog et à +
> > > >
> > >
> >
>