Je pige pas bien coment fonctione array pour les table de var! [delphi] - Delphi/Pascal - Programmation
Marsh Posté le 10-05-2002 à 18:43:54
- je pige pas trop ce que tu veux faire
- l'identation c'est utile
Code :
|
c'est moins lisible que
Code :
|
- mot := LowerCase(Edit1.Text);
- tes variable "byte" c'est pas dangereux ? byte c'est 0 à 255 seulement...
Marsh Posté le 10-05-2002 à 19:14:55
procedure TForm1.Button1Click(Sender: TObject);
var
mot:string;
contelettre:byte;
taillemot:byte;
lettre:array[1..100] of char;
begin
contelettre:=1;
mot:=LowerCase(edit1.text);//on convertit le mot en minuscules
taillemot:=length(mot);//on prend la taille du mot
while contelettre<taillemot do //ça c'est censé decomposé toute les lettre du mot.
begin
lettre[contelettre]:=copy(mot, contelettre, 1); // la ca plante.. il me dit . incompatible type : string and char. POurtant je ne copie qu'une lettre de string donc ça devient un char non ? ( char c bien un seul caractère non ? )
contelettre:=contelettre+1;
end;
end;
Marsh Posté le 10-05-2002 à 19:22:13
Pilou2001 a écrit a écrit : [#0000aa] //ici je voudrai savoir(plus tard ou maitenant) comment faire pour que toute les lettre de edit1.text soit convertient en minuscule |
Tu prends le code ASCII de chaque caractère et tu y ajoutes 32
Le reste je sais pas, je connais pas Delphi
Marsh Posté le 10-05-2002 à 19:59:32
Pilou2001 a écrit a écrit : [#0000aa] //ici je voudrai savoir(plus tard ou maitenant) comment faire pour que toute les lettre de edit1.text soit convertient en minuscule |
edit1.text := LowerCase(edit1.text);
LowerCase (et plein d'autres trucs super utiles) se trouvent dans l'unité SysUtils.
edit: arf... j'ai repondu trop vite... j'avais pas vu la fin du msg d'antp !
[jfdsdjhfuetppo]--Message édité par JWhy le 10-05-2002 à 20:00:06--[/jfdsdjhfuetppo]
Marsh Posté le 10-05-2002 à 20:01:09
c pas ça ma derniere kestion ...
comment convertir un string de 1 lettre en un char ?
Marsh Posté le 10-05-2002 à 20:08:40
c'est normal copy te retourne un string et une chaine même de 1 caractère c'est toujours une chaine...
tu te compliques bien la vie, en faisant simplement
lettre[contelettre]:=mot[contelettre]
cela devrait fonctionner
Marsh Posté le 10-05-2002 à 20:11:23
mais fais gaffe car si mot fait plus de 100 caractères ça va planter...
en plus je ne vois pas l'utilité de faire une copie lettre à lettre dans un tableau de char alors que mot est est déjà un tableau de char...
Marsh Posté le 10-05-2002 à 21:34:19
Moi non plus je vois pas trop l'intérêt de copier caractère par caractère dans un tableau de char... Ça va servir à quoi ?
Marsh Posté le 10-05-2002 à 21:40:24
et bha en fait , je vient de decouvrir que pour recuperé une lettre d'un mot on pouvait faire :
mot[x]
avant je le savais pas
donc je fesais un truc pour le detourner ..
Marsh Posté le 10-05-2002 à 18:32:41
[#0000aa]
var
mot:string;
contelettre:byte;
taillemot:byte;
begin
contelettre:=1;
mot:=edit1.text;
taillemot:=length(mot);
//ici je voudrai savoir(plus tard ou maitenant) comment faire pour que toute les lettre de edit1.text soit convertient en minuscule
while contelettre<taillemot do
begin
array // la c le array que je pige pas commen il marche
lettre(contelettre):=copy(mot, contelettre, 1);
//la je c que je doit declaré lettre mais ça se fait dans le array non ? et c censé une variable de type caractère.
contelettre:=contelettre+1;
end;
end;
Merci d'avance