Conversion de type de variables

Résolu
RV57000 Messages postés 10 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 27 janvier 2006 - 15 janv. 2006 à 22:34
RV57000 Messages postés 10 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 27 janvier 2006 - 16 janv. 2006 à 22:38
Bonjour, mon problême est que je cherche à définir la lettre d'un lecteur dans un DriveListBox.
La variable contenant cette lettre est récupérer dans en fichier .ini, donc la variable qui est rempli est de type string, Le souci est que lorsque je veut appliqué ma variable à DriveListBox.Drive, Delphi me renvoi un message d'incompatibilité de type entre le type string et le type char.
Si quelqu'un à une idée pour convertir d'un type variant vers un type char,je l'en remercie.

4 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
15 janv. 2006 à 22:43
Si ta variable est du type string à l'origine, alors chacun des caractères de cette chaine est du type Char :
DriveListBox.Drive := TaVarString[1];
Le premier caractère (attention : indice = 1) contient la première lettre de la chaine.
Attention de ne pas affecter à partir d'une chaine vide.
<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
15 janv. 2006 à 22:45
Salut,
Par Exemple :
Var aStr : String; // Une chaine de Caractères
aChr : Char; // un seul Caractère

aStr := 'C:\';


aChr :aStr; ErreuraChr :aStr[1]; Ok;
aStr[1] renvoie 'C'

@+
Cirec
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
16 janv. 2006 à 04:42
une petite fonction de control de validitée :

function ValidDrive(const DL : char) : boolean;
begin
case Ord(DL) of
65..90, 97..122 : result := true;
else result := false;
end;
end;

et une chtite fonction pour convertir directement :

function STCLetter(const DL : string) : char;
begin
result := DL[1];
end;

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
3
RV57000 Messages postés 10 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 27 janvier 2006
16 janv. 2006 à 22:38
Merci pour vos réponse dés que j'ai 5 mn je teste.
0
Rejoignez-nous