Obtenir un type a partir d'un string [Résolu]

Messages postés
20
Date d'inscription
lundi 28 février 2005
Dernière intervention
10 mai 2006
- - Dernière réponse : WhiteHippo
Messages postés
1270
Date d'inscription
samedi 14 août 2004
Dernière intervention
5 avril 2012
- 26 avril 2005 à 08:14
Bonjour à toutes et à tous,



Je dois faire un module d'importation de fichier ASCII ( ou csv).

Je dois verifier chacun de mes champs importé. Pour cela on m'oblige à
comparer le type du champ une fois importé et le type du champ encore
dnas le fichier csv.



Probléme: Comment obtenir facilement le type d'un champ d'un fichier
csv, (car il s'agit pour tout type de champ de String)? Je ne veu pas
avoir afaire des découpage pour voir si c une date, un entier ext ....



Existe t'il des methodes du genre IsInteger, IsBoolean, Isdate et qui retourne un boolean (ou autre) ?



En ésperant avoir été claire



Kalagool
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1270
Date d'inscription
samedi 14 août 2004
Dernière intervention
5 avril 2012
3
3
Merci
Tu peux utiliser les fonctions TryStrTo...

TryStrToInt, TryStrToInt64, TryStrToBool, TryStrToFloat, TryStrToCurr, TryStrToDate, TryStrToTime, TryStrToDateTime

Deux exemples d'utilisation :

function EstUnBooleen ( s : string; out BooleenSiOk : boolean ) : boolean ;
begin
Result := TryStrToBool( s, BooleenSiOk ) ;
end ;


function EstUneDate ( s : string; out DateSiOk : tdatetime) : boolean ;
begin
Result := TryStrToDate( s, DateSiOk ) ;
end ;

etc...

Appel :

var
UnBooleen : Boolean ;
UneDate : TDateTime ;
ChaineCSV : string ;

ChaineCSV := '10/10/2000' ;

if ( EstUnBooleen( ChaineCSV , UnBooleen ) ) then
begin
// UnBooleen contient la valeur du Booléen lu
// ...
end else if ( EstUneDate( ChaineCSV , UneDate ) ) then
begin
// UneDate contient la valeur de la date lue
// ...
end ;

Cordialement.

Dire « Merci » 3

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

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

Commenter la réponse de WhiteHippo
Messages postés
44
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
28 février 2006
0
Merci
Tu peux toujours ecrire une fonction qui permette de determiner si ta variable est du type recherché... pour les nombres ca se fait assez bien (case ... of ... otherwise ...)


Dreuteu
Commenter la réponse de Dreuteu

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.