comment convertit ton un string en variable Tmemo ? - Delphi/Pascal - Programmation
Marsh Posté le 02-09-2003 à 19:41:39
- les chaînes commencent à 1 et pas à 0 (ton copy est déjà foireux donc)
- tu veux faire quoi exactement ? Elle sert à quoi ta fonction "reperer" ? Y a quoi dedans ?
Marsh Posté le 02-09-2003 à 20:08:03
ma reperer est boolean et elle verifie dans le tmemo indique si le string( la ligne dans le tmemo) s'y trouve ..
elle marche parceque je lutilise en plein d'autre endroit du prog
Marsh Posté le 02-09-2003 à 20:12:27
pourquoi tu passes pas le memo plutôt que de faire ce drôle de bricolage sur son nom ?
Marsh Posté le 02-09-2003 à 20:18:05
je t'explique ,
imagine des memo : lundi1 , lundi2 , lundi3 , mardi1 , mardi2 et ... jusque samedi
mon but et de faire en qq ligne de code que quand une entree se trouve dans lundi2 (par ex) , elle n'y soit pas ni dans lundi1 ni dans lundi 3 , compris ?
alors au lieu de me taper des millions de procedures ...
mon but et de recuperer le tmemo , ds lexemple lundi2 , viré le 2 et le remplacé par un 1 ou un 3 , et reconvertir en tmemo ...
et lancer ma procedure reperer ensuite
Marsh Posté le 02-09-2003 à 20:22:36
là t'as choisi la méthode crado
T'aurais plutôt intérêt à faire des array de memo :
Memos: array[1..7] of array[1..3] of TMemo
Memos[1][1] := Lundi1;
Memos[1][2] := Lundi2;
etc.
Memos[5][3] := Vendredi3;
lundi1 sera array[1][1]
mercredi2 sera array[3][2]
c'est peut-être plus pratique, non ?
parce que rechercher un composant sur base de son nom, t'as FindComponent, mais
- c'est pas propre parce que tu finis vite par ne plus t'y retrouver en te basant sur des chaînes de texte pour aller retrouver tes objets
- une perte de temps à l'exécution
En plus avec les tableaux tu peux facilement faire des boucles pour parcourir tous tes memos.
Marsh Posté le 02-09-2003 à 20:32:32
merci beaucoup mais c ds un endroit ou jai beaucoup de memoire libre et la procedure nest pas longue donc je v opter pour le findcomponent mais ca merde :
form1.reperer(findcomponent(nommemo+'2'),a)
re help
Marsh Posté le 02-09-2003 à 20:40:32
jai essaye ca aussi :
with Tmemo(FindComponent(nommemo+'2')) do
form1.reperer(self,a)
mais ca marche pas mieux
Marsh Posté le 02-09-2003 à 21:32:48
C'est pas une question de quantité de mémoire, mais une question de faire les choses proprement.
piloud a écrit : mais ca merde : |
càd ?
piloud a écrit : |
Self = l'objet auquel appartient la procédure en cours, donc je vois mal ce que ce self vient faire là
Marsh Posté le 03-09-2003 à 13:25:16
Citation : Mais ca merde : |
Tmemo et tcomponent incompatible
Citation : Self = l'objet auquel appartient la procédure en cours, donc je vois mal ce que ce self vient faire là |
le but de mon self ( je lai fait un peu hazard ) cetait de prendre le with Tmemo(FindComponent(nommemo+'2')) do
Citation : C'est pas une question de quantité de mémoire, mais une question de faire les choses proprement. |
je veux bien faire comme ca mais je voit pas comment m'y prendre ...
quand jaurai fais les memos[1][1] et etc .... , via koi comme ligne de code je serais par ex si jarrive a recuperer juste le nom du tmemo , comment je pourrai savoir c lequel de mes memos[?][?]
et ensuite comment lui dire par exemple de recuperer juste le le 2 eme [?] et le remplacer par un autre chiffre ?
c en fait pour ca que je voulais utiliser le findcomponent que jai toujour pas compris !
help !
Marsh Posté le 03-09-2003 à 13:28:33
Citation : le but de mon self ( je lai fait un peu hazard ) cetait de prendre le with Tmemo(FindComponent(nommemo+'2')) do |
bhen pourquoi tu passes pas en param Tmemo(FindComponent(nommemo+'2')) alors ?
ça marchera
Sinon pour le tableau, bhen t'as plus besoin des noms des memos, je vois pas trop où est le problème...
Marsh Posté le 03-09-2003 à 15:03:27
Voila c bon , ca marche parfaitement ! merci !
pour l'histoire des memos[?][?] , c'etait trop complique dans cette exemple mais merci , c bon a savoir pour plus tard
merci
Marsh Posté le 02-09-2003 à 18:52:04
voila jai ca :
nommemo:=copy(lememo.Name,0,length(lememo.Name)-1);
form1.reperer(nommemo+'2',a) , il me dit string et tmemo incompatibles , ca reperer est declarée (Tmemo,string)
mais nommemo+'2' , c le nom d'un tmemo
so HELP !