Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : conversion en String un ensemble Set [ Divers / Débutant(e) ] (gabs77)

jeudi 26 avril 2007 à 09:59:56 | conversion en String un ensemble Set

gabs77

salut,
   j'ai un souci sur une parti de ma prog, j'ai effectué un test de caractère non autorisé (qui fonctionne très bien !) mais je n'arrive pas à faire apparaitre la liste dans un showmessage
voici mon extrait de code concerné :

Const
  TabInterdit =  [':','/','\','?','>','<','*','"','|'];
var
   j : Integer;
begin
   for j := 1 to Length(Edit1.Text) do
        if (Edit1.Text[j] in TabInterdit) then
        Showmessage('Le nom de l''image '+TabEdit[i].Text+
                    ' ne peut contenir les caractères spéciaux suivants :'+#13
                    //+ là je veux lister les caractères TabInterdit
                    );
end;


jeudi 26 avril 2007 à 11:49:12 | Re : conversion en String un ensemble Set

moldov

Salut,

Si le code est identique à ce que tu a posté c'est normal que ca marche pas car dans ton ShowMessage tu a mis TabEdit[i].Text alors que tu a beaucoup plus simple, vu que le caractère qui est interdit est celui testé dans l'Edit1 tu peux faire :

ShowMessage('Le nom de l''image ne peut contenir la caractère suivant : '+Edit1.Text[i])

Ensuite tu met ta fonction dans le Edit1KeyPress et voila le tour est joué.

Bonne Prog

jeudi 26 avril 2007 à 13:59:23 | Re : conversion en String un ensemble Set

Loda

Membre Club
salut,

pour afficher juste un message d'erreur pour le char tapé, fait comme moldov t'as dit. C'est super simple.
(detail: t'as un problem entre i vs j)

pour afficher TOUT le set, je ne connais aucun moyen simple. Si j'étais a ta place, je ferrais juste une const string (comme ça t'as les virgule et tout).

A+

Loda

Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.

jeudi 26 avril 2007 à 15:15:34 | Re : conversion en String un ensemble Set

cirec

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Voici un exemple simple pour afficher le contenu du Set
procedure TForm1.Button1Click(Sender: TObject);
Const
  TabInterdit  =  [':','/','\','?','>','<','*','"','|'];
var
   I      : Integer;
   StrSet : String;
begin
  For I := 0 to 255 do
   If Chr(I) in TabInterdit Then  StrSet := StrSet + Format('''%s'' ', [Chr(I)]);
        ShowMessage('Le nom de l''image ne peut contenir les caractères spéciaux suivants :' + StrSet);
end;

Voilà à toi de l'adapter a tes besoins
 
@+
Cirec


jeudi 26 avril 2007 à 18:43:38 | Re : conversion en String un ensemble Set

gabs77

salut lova, 
   merci pour ta remarque mais pour le KeyPress, cela neme donnait pas le résultat désiré et aurait été lourd à la longue, je pense car si à chaque fois que l'on frappe un touche interdite un message apparait voilà quoi !!

salut moldov,
   comme tu vois il y a un moyen simple proposé par cirec auquel on aurait pu éventuellement penser a cela mais il en est ainsi !
merci tout de même d'avoir répondu à mon message !!

salut cirec, 
   c'est super, je te  remercie
C'est exactement ça qui me fallait, tu me sauves !! merci encore !

vendredi 27 avril 2007 à 02:39:23 | Re : conversion en String un ensemble Set

f0xi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !


tite correction  :

procedure TForm1.Button1Click(Sender: TObject);
Const
  TabInterdit = [':','/','\','?','>','<','*','"','|'];
var
   I        : Integer;
   S,StrSet : String;
begin
  S      := Edit1.Text;
  StrSet := '';
  for I := 1 to Length(S) do
    If S[I] in TabInterdit Then
      StrSet := StrSet + S[I];
  if Length(StrSet) <> 0 then
    ShowMessage('Le nom de l''image ne peut contenir les caractères spéciaux suivants :' + StrSet);
end;



Croc (click me)

vendredi 27 avril 2007 à 09:31:24 | Re : conversion en String un ensemble Set

Loda

Membre Club
re,

je suis bien d'accord, les messagebox qui te coupe la saisie: c'est pénible....

pour gérer des erreurs de saisie, je recommande (à  mon humble avis):
1. une correction le plus automatique possible
2. une message d'erreur clair (pour comprendre la correction auto)
3. des message d'erreur non "interrompant".

le point trois peut se réaliser de plusieurs manières:

3.a une console d'erreur (ie: un memo à alBottom)
3.b l'affiche d'un label en rouge en dessous de la zone de saisie.
3.c une  fenêtre "stayOnTop" de petit taille qui se position près de la zone de saisie. tu la fait apparaître lors de l'erreur et disparaître lorsque la saisie est corrigée. Un genre de bull d'info. avec la transparence et une jolie image de fond, t'arrive à faire qqch de très jolie. En plus, tu peux ajouter de l'interactivité (bouton d'aide, liens vers site web, ...)

bon code,

Loda

Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.

vendredi 27 avril 2007 à 15:26:29 | Re : conversion en String un ensemble Set

Caribensila

Membre Club
Salut,

Moi, je ferais simplement:



procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 If Key in [':','/','\','?','>','<','*','"','|'] then Key := #0;
end;

Je pense qu'il est inutile de prévenir l'utilisateur de sa petite distraction... 

vendredi 27 avril 2007 à 15:41:20 | Re : conversion en String un ensemble Set

Caribensila

Membre Club
Quoique...

Si c'est un prog pour débutant de Papouasie, il vaut peut-être mieux lui indiquer l'erreur...
Ce sera plus didactique. 

vendredi 27 avril 2007 à 16:03:19 | Re : conversion en String un ensemble Set

Caribensila

Membre Club
...Enfin, j'ai rien contre les Papous.
Mais on n'en voit pas beaucoup traîner sur CS...

On se demande bien ce qu'ils peuvent bien foutre de leur journée...


1 2

Cette discussion est classé dans : text, string, conversion, ensemble, tabinterdit


Répondre à ce message

Sujets en rapport avec ce message

conversion d un integer en string??? [ par VashTheStampede ] Comment convertir une variable de type integer en string?Et s il s agit d une fonction, comment l integrer a une procedure de type "OnClick"?Merci d'a Conversion String->TdateTime [ par Brain ] J'ai une chaine de caractère du style '4 mai 2003 10:45AM'et je veux la convertir au format TDateTimemais je n'y arrive, avec la fonction StrtoDateTim Conversion String vers Type ordinal perso [ par Sylvainlefou ] BonjourJ'espere que ma question n'est pas trop idiote (quoi que)J'aimerai savoir si il existe un fonction qui peut convertir une string en Un type ord conversion real en string [ par frouxguillaume ] Bonjour, je voudrais savoir si il existe une fonction permettant la conversion d'un nombre de type real en chaine de caractere (string).Petite precisi conversion bit en string [ par biloue ] BonjourDans un programme je récupère une chaine de bit qui m'est envoyé par liaison UDP. Chaine composée de 0 et de 1.Je souhaiterai convertir cette c Probleme pour la creation d'un fichier ini [ par ewertheimer ] Bonjour, Je suis sur un projet ou je repertorie des donnees dans un fichiers ini. Voici mon code : procedure TForm1.Button1Click(Sender: TObject); Appel de procedure [ par Clercq ] Bonjour à vous,J'ai petit probleme en Delphi, en effet je suis legerement neophyte dans ce language :p.Mon probleme est le suivant, j'ai créé une proc conversion string ---> byte [ par elementalord ] Je voudrai savoir si sous delphi il est possible de faire une conversion d'une chaine de carctère(string) en byte?merci d'avance. Conversion Float -> string , string -> float [ par dederfred ] Bonjour ,J'ai   chercher comment convertir un float en string et inversement mais je ne trouve pas la fonction...J'ai trouver en C (grace a google) co Conversion string byte (keybd_event) [ par txo ] Bonjour,Je souhaite utiliser la fonction keybd_event qui demande en parametre le code de la touche a simuler. Ce paramètre est du type byte et le code


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.