begin process at 2008 08 08 23:31:07
1 223 648 membres
406 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Chercher des lignes de type string et les convertir au type int dans dbgrid [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (sosososo)

Chercher des lignes de type string et les convertir au type int dans dbgrid le 24/11/2004 21:23:14

sosososo
Bonjour,

J'ai un problème de convertir une variable string to int. En fait, J'ai ma dbgrid qui contient 2 colonnes : 'Code' et 'libellé' . Dans le Code par exemple les valeurs sont : AB1,AB2,SS1, 1,2,3,4,5,6,7,8,9 10,11..ect. Le but est de trier ce dbgrid par code et libellé. Si je trie par code, alors, il affiche : 1,10,11,12..,2,20,21,22,23..,3,30,31,32,...,4,40,41,...,AB1,AB2,.... (Toutes les lignes dans les 2 colonnes sont de type string).

Moi, je veux qu'il affiche : 1,2,3,4.. 10,11,12...,20,21,22,...AB1,AB2..ect..

J'aimerai bien savoir si on peut d'abord chercher dans ce DBgrid (dans le colonne 'Code') s'il ya des lignes qu'on peut convertir de string en int . Sinon, on les laisse en type string.

Merci bcp!!

Re : Chercher des lignes de type string et les convertir au type int dans dbgrid le 24/11/2004 22:33:09

lelahel08
tu fait ton tri en SQL ?

car le SQL fait de la sorte :

premier caractère = du plus peti au plus grand
d'autre caractère ? alors le second caractère du plus petit au plus grand

dou ce 1,10,11 etc...

il faut chercher du cote SQL ...

de quelle base de donné tu dispose ?

Re : Chercher des lignes de type string et les convertir au type int dans dbgrid le 25/11/2004 10:59:41

sosososo
Rebonjour,

J'utilise la base sql. Je sais bien que lorqu'on trie , il affiche le code le plus petit au plus grand.

Mais dans mon cas, le code contient le numéro (mais du type alhanumerique) et l'alphanumerique. Ex: NB1,NB2, SS3, FR4, 1,2,3,..., 10, 11, 12.. Mais quand on fait le trie, il me sort : 1,10,11,12,13,..,2,20,21,..., FR4,NB1,NB2,SS3.

Est-ce qu'il ya le moyen pour savoir / chercher si dans les lignes (Code), il y a des lignes qu'on pourra convertir un numérique si c possible de les convertir, sinon, on les laisse en type alphanumerique.

Merci.

Re : Chercher des lignes de type string et les convertir au type int dans dbgrid le 26/11/2004 16:31:11

Wriggles
Salut à toi,

Ce que tu souhaites va être chaud, un champ ne peut être que d'un type (ou alors en passant par les varaints). Si ton pb ne se situe qu'au niveau du tri, tu pourrais formater les valeurs. Par exemple, si ton code est sur 3 positions au lieu d'afficher "1" affiche plutôt "001". De cette manière tu pourras résoudre ce souci.

Pour ce genre de formatage, tu peux passer par l'évennement OnGetText de ton champ code. Clea peut donner un programme de ce type :



function formatage(valeur : string;taille : integer) : string;
begin
Result := Trim(valeur );
while length(Result) < taille do
Result := '0' + Result;
end;

// Formate le champ souhaitée sur n positons en affichage
MonChampGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
// Text renvoie ce qui sera affiché dans tes composants
Text := Formatage(MonChamp.asstring,3);
end;

// Renvoie dans lecache le champ formaté
MonChampSetText(Sender: TField;
const Text: String);
begin
MonChamp.AsString:= Text;
end;


En espérant que cela résolve ton pb.

A+


Classé sous : code, string, type, lignes, dbgrid

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS