Re: [prog] test d'égalité
Bonsoir, Bernard Siaud alias Troumad a écrit : > Laurent Godard a écrit : >> Bonjour Bernard >> >>> Florent Manens a écrit : >> Florent t'a probablement donné la reponse >> il nous faudrait le code de la fonction maj() > Function maj(l1 as String) as String > if l1="" then rem si l est vide, il faut le traiter > avant sous peine d'erreur > maj="" > else > if Asc(l1)>Asc("Z") then rem si le code ascii de l est > suppérieur à celui de Z comme les minuscules > l1=Chr$(Asc(l1)-Asc("a")+Asc("A")) rem conversion minuscule -> MAJUSCULE On peut convertir simplement par : chr(asc(l1)-32) > endif > if Asc(l1)>Asc("Z") then rem si la consersion a ratée ou si le > code ASCII de l était déjà plus petit que A > maj="0" > elseif Asc(l1) maj="0" rem on met le code d'erreur dans maj > pour le retour > else > maj=l1 rem l étant une majuscule, on le > met dans maj pour le retour > endif > endif > end Function > > J'ai mis et là, je perds la variable l dans *if l2<>maj(l) then* ! > > Function maj(l as String) as String > dim l1 as string > l=l1 > if l1="" then rem si l est vide, il faut le traiter > avant sous peine d'erreur > maj="" > else > if Asc(l1)>Asc("Z") then rem si le code ascii de l est > suppérieur à celui de Z comme les minuscules > l1=Chr$(Asc(l1)-Asc("a")+Asc("A")) rem conversion minuscule -> MAJUSCULE > endif > if Asc(l1)>Asc("Z") then rem si la consersion a ratée ou si le > code ASCII de l était déjà plus petit que A > maj="0" > elseif Asc(l1) maj="0" rem on met le code d'erreur dans maj > pour le retour > else > maj=l1 rem l étant une majuscule, on le > met dans maj pour le retour > endif > endif > end Function >> si tu modifies c dans cette fonction, alors ton probleme est là >> deux solutions >> >> - Function maj(byval c) - bofbof beurk >> - ne pas utiliser c comme variable de travail dans maj >> >> Laurent >> > > Francois Gatto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Laurent Godard a écrit : Bonjour Bernard Florent Manens a écrit : Florent t'a probablement donné la reponse il nous faudrait le code de la fonction maj() Function maj(l1 as String) as String if l1="" then rem si l est vide, il faut le traiter avant sous peine d'erreur maj="" else if Asc(l1)>Asc("Z") then rem si le code ascii de l est suppérieur à celui de Z comme les minuscules l1=Chr$(Asc(l1)-Asc("a")+Asc("A")) rem conversion minuscule -> MAJUSCULE endif if Asc(l1)>Asc("Z") then rem si la consersion a ratée ou si le code ASCII de l était déjà plus petit que A maj="0" elseif Asc(l1) maj="0" rem on met le code d'erreur dans maj pour le retour else maj=l1 rem l étant une majuscule, on le met dans maj pour le retour endif endif end Function J'ai mis et là, je perds la variable l dans *if l2<>maj(l) then* ! Function maj(l as String) as String dim l1 as string l=l1 if l1="" then rem si l est vide, il faut le traiter avant sous peine d'erreur maj="" else if Asc(l1)>Asc("Z") then rem si le code ascii de l est suppérieur à celui de Z comme les minuscules l1=Chr$(Asc(l1)-Asc("a")+Asc("A")) rem conversion minuscule -> MAJUSCULE endif if Asc(l1)>Asc("Z") then rem si la consersion a ratée ou si le code ASCII de l était déjà plus petit que A maj="0" elseif Asc(l1) maj="0" rem on met le code d'erreur dans maj pour le retour else maj=l1 rem l étant une majuscule, on le met dans maj pour le retour endif endif end Function si tu modifies c dans cette fonction, alors ton probleme est là deux solutions - Function maj(byval c) - bofbof beurk - ne pas utiliser c comme variable de travail dans maj Laurent -- Amicalement vOOotre, Troumad Alias Bernard SIAUD, http://troumad.org N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org Adresse electronique speciale liste - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Florent Manens a écrit : par défaut en Basic, les variables sont passées par référence. Assures-toi que le parametre "c" n'est pas modifié dans la fonction "maj". J'avais le même problème avec un if l=maj(l) then Pour passer en majuscule, il existe UCase. Ça simplifierait le problème, mais je ne suis pas sûr du message de sortie si la lettre d'entrée n'est ni une minuscule simple, ni une majuscule simple. Cas que je repère en mettant un "0" en sortie. -- Amicalement vOOotre, Troumad Alias Bernard SIAUD, http://troumad.org N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org Adresse electronique speciale liste - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Bonjour Bernard Florent Manens a écrit : Florent t'a probablement donné la reponse il nous faudrait le code de la fonction maj() si tu modifies c dans cette fonction, alors ton probleme est là deux solutions - Function maj(byval c) - bofbof beurk - ne pas utiliser c comme variable de travail dans maj Laurent -- Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org - http://www.indesko.com Nuxeo Enterprise Content Management >> http://www.nuxeo.com - http://www.nuxeo.org Livre "Programmation OpenOffice.org", Eyrolles 2004-2006 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Florent Manens a écrit : Bonjour, - "Bernard Siaud alias Troumad" <[EMAIL PROTECTED]> a écrit: Serge LE LOUARNE a écrit : Bernard Siaud alias Troumad a écrit : Bonjour J'ai un problème avec le test d'égalité if (c=maj(c)) m'affecte maj(c) dans c ! Est-ce normal ? Bonjour, En quel langage ? Basic par défaut en Basic, les variables sont passées par référence. Assures-toi que le parametre "c" n'est pas modifié dans la fonction "maj". Pour passer en majuscule, il existe UCase. Cordialement, Partie du code incriminée (c'est même plus grave que mes souvenirs...) sub diminue_lettre(c as string) rem décrémente le compteur de lettres restantes dim Grille as object dim c1 as string Grille=ThisComponent.Sheets.getByName("Grille") c1=c if maj(c)=c then Grille.getCellByPosition(20,ASC(c)-ASC("A")+1).value=Grille.getCellByPosition(20,ASC(c)-ASC("A")+1).value-1 else Grille.getCellByPosition(20,27).value=Grille.getCellByPosition(20,27).value-1 endif end sub Dans mon fichier http://troumad.info/Linux/scrabble.zip nb : pour que ça marche, j'ai changer le * if maj(c)=c then* car il remplaçait le c par la sortie de maj(c) :( J'ai mis *if maj(c)=c1 then* => seul intérêt de ce c1 ! -- Amicalement vOOotre, Troumad Alias Bernard SIAUD, http://troumad.org N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org Adresse electronique speciale liste - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Bonjour, - "Bernard Siaud alias Troumad" <[EMAIL PROTECTED]> a écrit: > Serge LE LOUARNE a écrit : > > Bernard Siaud alias Troumad a écrit : > >> Bonjour > >> > >> J'ai un problème avec le test d'égalité > >> if (c=maj(c)) m'affecte maj(c) dans c ! Est-ce normal ? > > Bonjour, > > > > En quel langage ? > Basic par défaut en Basic, les variables sont passées par référence. Assures-toi que le parametre "c" n'est pas modifié dans la fonction "maj". Pour passer en majuscule, il existe UCase. Cordialement, -- Florent Manens [EMAIL PROTECTED] http://www.starxpert.fr - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Bernard Siaud alias Troumad a écrit : Serge LE LOUARNE a écrit : Bernard Siaud alias Troumad a écrit : Bonjour J'ai un problème avec le test d'égalité if (c=maj(c)) m'affecte maj(c) dans c ! Est-ce normal ? Peut être l'absence de then derrière if (c=maj(c)) produis le résultat dont tu parles . Mais est-il nécessaire que tu mettes le c=maj(c) entre parenthèse? Ce qui me semble un peu étrange c'est que le if du début de la ligne semble ignoré si l'affectation dont tu parles a eu lieu Bonjour, En quel langage ? A+ Basic - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Bonjour Bernard J'ai un problème avec le test d'égalité if (c=maj(c)) m'affecte maj(c) dans c ! Est-ce normal ? Non Basic encore moins Copie nous le bout de code qui fait ceci s'il te plait Laurent -- Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org - http://www.indesko.com Nuxeo Enterprise Content Management >> http://www.nuxeo.com - http://www.nuxeo.org Livre "Programmation OpenOffice.org", Eyrolles 2004-2006 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Serge LE LOUARNE a écrit : Bernard Siaud alias Troumad a écrit : Bonjour J'ai un problème avec le test d'égalité if (c=maj(c)) m'affecte maj(c) dans c ! Est-ce normal ? Bonjour, En quel langage ? A+ Basic -- Amicalement vOOotre, Troumad Alias Bernard SIAUD, http://troumad.org N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org Adresse electronique speciale liste - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] test d'égalité
Bernard Siaud alias Troumad a écrit : Bonjour J'ai un problème avec le test d'égalité if (c=maj(c)) m'affecte maj(c) dans c ! Est-ce normal ? Bonjour, En quel langage ? A+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] test d'égalité
Bonjour J'ai un problème avec le test d'égalité if (c=maj(c)) m'affecte maj(c) dans c ! Est-ce normal ? -- Amicalement vOOotre, Troumad Alias Bernard SIAUD, http://troumad.org N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org Adresse electronique speciale liste - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]