Conversion de type de variables [Résolu]

Messages postés
10
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2006
- - Dernière réponse : 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.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Delphiprog
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
3
Merci
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>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi
Messages postés
10
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2006
0
Merci
Merci pour vos réponse dés que j'ai 5 mn je teste.
Commenter la réponse de RV57000