ibra25
Messages postés1Date d'inscriptionsamedi 4 décembre 2010StatutMembreDernière intervention22 décembre 2010 22 déc. 2010 à 14:27
salut esque je veu te voir des mcd et le mod de cette programme stp je besion dille mon msn et alfie@live.fr
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 10 févr. 2009 à 10:15
Salut Simon,
Oui, pourquoi pas ^^
De toute façon, chacun est libre de transformer cet exemple car d toute façon il n' y a pas de standard sur l' utilisation des sous-chaines :)
A+
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 10 févr. 2009 à 08:53
Salut Mauricio et bravo pour cette source. Une petite remarque, si je peux me permettre : Placer les séparateur en dernier paramètre des fonctions et procédures pour leur donner une valeur par défaut. On s'économise ainsi la saisie du ";" à chaque appel, tout en gardant la possibilité d'utiliser un autre séparateur ponctuellement...
Sinon c'est très pratique, merci encore.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 31 janv. 2009 à 15:32
Salut Cirec,
tes commentraires sont toujours pertinents.
Vu que c' est objectif je vois pas le problème.
StringList & delimitedChar permettent en effet d' utiliser les sous-chaines j' y avais pas pensé.
De toute façon, on passe souvent du temps à réinventer la roue ^^
Cependant:
"la différence est là:
Exemple: Str = '' pas d'élément
et le reste est strictement pareil:
Exemple: Str = 'xxx' 1 élément rempli ...
Exemple: Str = ';' 2 éléments (vides) ..."
Bem justement, comment différencier un élément vide de 0 élément?
"Str = '' pas d'élément".
Comment distinguer d' un élément vide (un élément de valeur = "") ?
J' ai fait le test suivant :
procedure TFrmPrin.SpeedButton1Click(Sender: TObject);
begin
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := '';
SpeedButton1.Caption := IntToStr(ListBox1.Items.Count);
end;
SpeedButton1.Caption est 0
Si on fait :
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := 'xx';
SpeedButton1.Caption est 1
Si on fait :
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := ';';
SpeedButton1.Caption est de 2
Impossible d' avoir une chaine vide de 1 élément!
C' est vrai que mes fonctions se basent sur le fait qu' il y ait au moins un élément lorsque la chaine est vide!
Il y a autre chose qui me chagrine qui possède un bon et un mauvais côté:
Si je fais cela:
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := 'aaa';
ListBox1.Items.Add('xxx;yyy');
ListBox1.Items.Add('zzz');
Le résultat est que j' ai 3 éléments:
- aaa
- xxx;yyy
- zzz
Mais je le savais déjà ;)
quand le père noël m'a emmener le miens il m'a dit qu'il devait encore passer chez toi pour t'en déposer un :D
sinon coté code ... je vais encore passer pour le relou de service mais on peut faire la même chose avec les StringList & delimitedChar + DelimitedText !!!!
pareil on peut choisir le délimiteur que l'on veut.
pareil il ne différencie pas une chaine vide d'un enregistrement vide.
la différence est là:
Exemple: Str = '' pas d'élément
et le reste est strictement pareil:
Exemple: Str = 'xxx' 1 élément rempli ...
Exemple: Str = ';' 2 éléments (vides) ...
Exemple: Str = 'xxx;' 2 éléments (dont 1 vide) ...
Exemple: Str = ';xxx' 2 éléments (dont 1 vide) ...
Exemple: Str = 'xxx;yyy' 2 éléments ...
et l'index commence à 0 "Zéro" et pas à 1
avec tout les avantages de la classe TStrings en plus ;)
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 30 janv. 2009 à 12:26
J' ai aussi des fonctions pour les TStrings et pour les TreeNode, faut voir si ça interesse ...
A+
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 30 janv. 2009 à 12:25
@Cari:
Tu es donc d' accord avec moi pour dire que:
Str '' > 1 élément vide
au lieu de :
Str '' > 0 élément
Str ';' > 1 élément vide
Je trouve que c' est bien plus simple à gérer mais c' est à chacun de voir ...
@Cantador: une démo c' est bien, mais comme Cari le montre, tout dépend de l' imagination de chacun! Si je fais une démo utilisant le FileStream, ça va limiter à cette application alors que les sous-chaines c' est comme les chaines: on les utilise pour tout! C' est comme vouloir faire une démo sur les Integer, ça pas trop de sens ...
A+
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 30 janv. 2009 à 12:19
Oui, ce serait pour connaître la structure du FileStream. Il commencerait toujours par un Integer indiquant la longueur de ta chaîne, puis la chaîne elle-même (signature incluse) indiquant la structure du FileStream... à voir en pratique.
Mais moi, j'aime bien ton idée :
Str '' > 1 élément vide
Str 'xxx'> 1 élément rempli, etc...
Ca n'a l'air de rien, comme ça, une fois expliqué. Mais c'est ce qui fait toute la différence, je trouve.
Bravo!
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 30 janv. 2009 à 11:43
Bonjour,
Un ressemblance certaine avec une bonne vieille gestion de tables..
cela mériterait une démo afin d'apprécier l'utilité et les performances.
En tout cas, bravo pour cette approche Mauricio.
Très intéressant..
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 30 janv. 2009 à 11:15
J' ai déjà étudié les particularités de D2009 car j' ai Delphi 2009 chez moi.
J' attends de le recevoir au boulot pour passer le tout vers Delphi 2009.
J' ai déjà passé mon pack de compos pour toutes les versions de Delphi, D2009 inclu!
"Je vais faire le saut vers Delphi 2009 dans peu de temps!!!"
fait le de suite sinon tu risques de devoir reprendre une partie de tes modifications rien que pour Delphi2009 !!!
il vaut mieux le faire de suite afin de comprendre les nouvelles subtilités de Delphi2009 ... surtout dans le travail avec chaine et sous-chaine.
ps: t'avais même pas vu que je t'ai changé le lien qui pointe vers ta source d'exemple ^^
testez vos liens avant de les mettre en ligne ;)
ps2: comment ça; t'as pas encore testé Delphi2009 !!!! lol
cs_L_art_ment
Messages postés19Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention30 janvier 2009 30 janv. 2009 à 08:20
Merci Mauricio, moi qui travail souvent avec les sous-chaines, ca m'évitera des manipulations fastidieuses des sous-chaines...
a+ !
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 30 janv. 2009 à 00:03
Après avoir parcouru l'historique...
Y'a pas à dire. T'as de la suite dans les idées, depuis 2004!
J'espère que t'es pas devenu accro au Chouchen de Kenavo. lolll
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 29 janv. 2009 à 19:18
... Et un 'tit zip? Histoire de pouvoir garder ça sous la main... ;)
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 29 janv. 2009 à 19:17
Content de te revoir Mauricio. :)
Tout ça m'a l'air bien intéressant !
Dis-moi si je me trompe, mais je verrais bien une telle structure en tête d'un TFileStream pour en facilité l'utilisation.
Qu'en penses-tu?
22 déc. 2010 à 14:27
10 févr. 2009 à 10:15
Oui, pourquoi pas ^^
De toute façon, chacun est libre de transformer cet exemple car d toute façon il n' y a pas de standard sur l' utilisation des sous-chaines :)
A+
10 févr. 2009 à 08:53
Sinon c'est très pratique, merci encore.
31 janv. 2009 à 15:32
tes commentraires sont toujours pertinents.
Vu que c' est objectif je vois pas le problème.
StringList & delimitedChar permettent en effet d' utiliser les sous-chaines j' y avais pas pensé.
De toute façon, on passe souvent du temps à réinventer la roue ^^
Cependant:
"la différence est là:
Exemple: Str = '' pas d'élément
et le reste est strictement pareil:
Exemple: Str = 'xxx' 1 élément rempli ...
Exemple: Str = ';' 2 éléments (vides) ..."
Bem justement, comment différencier un élément vide de 0 élément?
"Str = '' pas d'élément".
Comment distinguer d' un élément vide (un élément de valeur = "") ?
J' ai fait le test suivant :
procedure TFrmPrin.SpeedButton1Click(Sender: TObject);
begin
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := '';
SpeedButton1.Caption := IntToStr(ListBox1.Items.Count);
end;
SpeedButton1.Caption est 0
Si on fait :
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := 'xx';
SpeedButton1.Caption est 1
Si on fait :
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := ';';
SpeedButton1.Caption est de 2
Impossible d' avoir une chaine vide de 1 élément!
C' est vrai que mes fonctions se basent sur le fait qu' il y ait au moins un élément lorsque la chaine est vide!
Il y a autre chose qui me chagrine qui possède un bon et un mauvais côté:
Si je fais cela:
ListBox1.Items.Delimiter := ';';
ListBox1.Items.DelimitedText := 'aaa';
ListBox1.Items.Add('xxx;yyy');
ListBox1.Items.Add('zzz');
Le résultat est que j' ai 3 éléments:
- aaa
- xxx;yyy
- zzz
xxx;yyy est considéré un élément à part entière!
A+
30 janv. 2009 à 19:38
Mais je le savais déjà ;)
quand le père noël m'a emmener le miens il m'a dit qu'il devait encore passer chez toi pour t'en déposer un :D
sinon coté code ... je vais encore passer pour le relou de service mais on peut faire la même chose avec les StringList & delimitedChar + DelimitedText !!!!
pareil on peut choisir le délimiteur que l'on veut.
pareil il ne différencie pas une chaine vide d'un enregistrement vide.
la différence est là:
Exemple: Str = '' pas d'élément
et le reste est strictement pareil:
Exemple: Str = 'xxx' 1 élément rempli ...
Exemple: Str = ';' 2 éléments (vides) ...
Exemple: Str = 'xxx;' 2 éléments (dont 1 vide) ...
Exemple: Str = ';xxx' 2 éléments (dont 1 vide) ...
Exemple: Str = 'xxx;yyy' 2 éléments ...
et l'index commence à 0 "Zéro" et pas à 1
avec tout les avantages de la classe TStrings en plus ;)
30 janv. 2009 à 12:26
A+
30 janv. 2009 à 12:25
Tu es donc d' accord avec moi pour dire que:
Str '' > 1 élément vide
au lieu de :
Str '' > 0 élément
Str ';' > 1 élément vide
Je trouve que c' est bien plus simple à gérer mais c' est à chacun de voir ...
@Cantador: une démo c' est bien, mais comme Cari le montre, tout dépend de l' imagination de chacun! Si je fais une démo utilisant le FileStream, ça va limiter à cette application alors que les sous-chaines c' est comme les chaines: on les utilise pour tout! C' est comme vouloir faire une démo sur les Integer, ça pas trop de sens ...
A+
30 janv. 2009 à 12:19
Mais moi, j'aime bien ton idée :
Str '' > 1 élément vide
Str 'xxx'> 1 élément rempli, etc...
Ca n'a l'air de rien, comme ça, une fois expliqué. Mais c'est ce qui fait toute la différence, je trouve.
Bravo!
30 janv. 2009 à 11:43
Un ressemblance certaine avec une bonne vieille gestion de tables..
cela mériterait une démo afin d'apprécier l'utilité et les performances.
En tout cas, bravo pour cette approche Mauricio.
Très intéressant..
30 janv. 2009 à 11:15
J' attends de le recevoir au boulot pour passer le tout vers Delphi 2009.
J' ai déjà passé mon pack de compos pour toutes les versions de Delphi, D2009 inclu!
Désolé pour le lien ^^
A+
30 janv. 2009 à 11:09
fait le de suite sinon tu risques de devoir reprendre une partie de tes modifications rien que pour Delphi2009 !!!
il vaut mieux le faire de suite afin de comprendre les nouvelles subtilités de Delphi2009 ... surtout dans le travail avec chaine et sous-chaine.
ps: t'avais même pas vu que je t'ai changé le lien qui pointe vers ta source d'exemple ^^
testez vos liens avant de les mettre en ligne ;)
ps2: comment ça; t'as pas encore testé Delphi2009 !!!! lol
30 janv. 2009 à 08:20
a+ !
30 janv. 2009 à 00:03
Y'a pas à dire. T'as de la suite dans les idées, depuis 2004!
J'espère que t'es pas devenu accro au Chouchen de Kenavo. lolll
29 janv. 2009 à 19:18
29 janv. 2009 à 19:17
Tout ça m'a l'air bien intéressant !
Dis-moi si je me trompe, mais je verrais bien une telle structure en tête d'un TFileStream pour en facilité l'utilisation.
Qu'en penses-tu?