Problème exercice...

Résolu
dbzpunkrocker Messages postés 6 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 26 février 2009 - 12 févr. 2009 à 10:43
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 12 févr. 2009 à 14:30
Bonjour,

Je suis étudiant en première année de DUT Informatique, et je trouve le langage delphi super interéssant, donc je m'entraîne, je prends de l'avance sur mes camarades dans les exercices que le professeur nous donne! Le problème, c'est que je n'ai que 2h de Delphi une semaine sur deux et je n'ai pas le mail du professeur en cas de problème...

L'exercice sur lequel je bloque est énoncé de la manière suivante :

"Ce programme est composé de 2 Edits.
Dans le premier, l'utilisateur peut taper des lettres qui sont transformées en majuscules et affichées au fur et à mesure dans le deuxième Edit.

La fonction UPCASE retourne la majuscule correspondant à un caractère de l'alphabet.
Pour les lettres accentuées, il faut analyser tous les cas et utiliser pour cela un case of.
Pour le traitement du BackSpace(#8), utiliser la procédure DELETE et la fonction LENGTH concernant les chaînes de caractères."

Là où je bloque, c'est pour afficher au fur et à mesure, puis pour faire le case of, et enfin je ne comprends pas ce que je dois faire avec le BackSpace ni pourquoi ni comment utiliser DELETE et LENGTH...

Je voudrais bien que vous m'expliquiez la méthode à faire, sans me donner la solution.
Vous pouvez me donner la solution mais si vous pouviez mettre des commentaires pour que je comprenne comment marche les éléments sur lesquels je bloque ce serais sympathique. Je ne viens pas pour qu'on me donne juste la solution, je voudrais surtout comprendre ce que je fais.

Merci bien!
A bientôt

6 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 févr. 2009 à 11:26
Bonjour,

La piste à suivre est de mettre ton traitement sur l'évènement OnChange du premier Edit
et aussi utiliser les évènement OnKeyPress (ou OnKeyDown) pour le delete et BackSpace

Pour le reste tu trouveras tout ce dont tu as besoin sur le site...

bon courage

cantador
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 févr. 2009 à 14:30
On va faire un compromis..

Voilà une fonction qui ne règle pas tout :

FUNCTION SupprAccents(S: STRING): STRING;
VAR i: Integer;
BEGIN
  FOR i := 1 TO Length(S) DO
    CASE Ord(S[i]) OF
      192..197: S[i] : = 'A';
      200..203: S[i] := 'E';
      204..207: S[i] := 'I';
      210..214: S[i] := 'O';
      217..220: S[i] := 'U';
      224..228: S[i] := 'a';
      232..235: S[i] := 'e';
      236..239: S[i] := 'i';
      242..246: S[i] := 'o';
      249..252: S[i] := 'u';
      253: S[i] := 'y';
      255: S[i] := 'y';
    END;
  Result := S;
END;

A toi de chercher pour la suite...

cantador
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 févr. 2009 à 11:23
cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 févr. 2009 à 11:35
Inutile de dépenser trop d'énergie dans cet exercice...

Je te propose ceci :

PROCEDURE TForm1.Edit1Change(Sender: TObject);
BEGIN
  Edit2.text := AnsiUpperCase(Edit1.Text);
END;

cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dbzpunkrocker Messages postés 6 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 26 février 2009
12 févr. 2009 à 12:15
Merci, je connaissais cette procédure mais ce n'est pas ce qui est demandé alors je l'ai pas fait lol
Mais je crois que je n'ai pas le choix parce que je n'arrive toujours pas à faire avec ce que tu m'as indiqué lol, si tu pouvais mettre le code source avec la méthode que tu m'as indiquée, ce serait sympathique! Merci
0
Utilisateur anonyme
12 févr. 2009 à 14:07
Non ca va pas être possible : On demande pas des codes tout cuit (voir le règlement). Puis c'est pas en faisant ton boulot que tu apprendras : Donc a toi de te creuser les neuronnes.
0
Rejoignez-nous