begin process at 2012 05 27 14:33:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > CLASSE STRING PERSONALISÉE POUR LES VB-ADDICTED :)

CLASSE STRING PERSONALISÉE POUR LES VB-ADDICTED :)


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caractères Classé sous :string Niveau :Débutant Date de création :28/04/2006 Date de mise à jour :29/04/2006 17:32:23 Vu / téléchargé :4 276 / 119

Auteur : magus54

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

La classe reprend les fonctions de vb, les opérateurs + ==, la fonction Mid,left,right, val, str$; je les remet toutes ici.

Source

  • // Exemple d'emplois
  • StrIZI MaChaine1="[---ABC[";
  • StrIZI MaChaine2="]ZYX---]";
  • StrIZI Fusion;
  • StrIZI Sel;
  • StrIZI Debu;
  • StrIZI Fin;
  • StrIZI VarA="AbCD";
  • StrIZI VarB="AbCD";
  • StrIZI Chifr="1230";
  • StrIZI Chifr2="FF";
  • if(VarA==VarB)printf("A et B sont identiques !\n");
  • Fusion=MaChaine1+MaChaine2;
  • Sel=Fusion.Mid(5,4);
  • Debu=Fusion.Left(5);
  • Fin=Fusion.Right(5);
  • cout<<VarA.Len()<<"\n";
  • printf(Fusion.Str());
  • cout<<Chifr.Val();
  • cout<<Chifr2.Val(16);
  • StrIZI Chifreee;
  • Chifreee=StrN(562);
  • // ..
// Exemple d'emplois
  StrIZI MaChaine1="[---ABC[";
  StrIZI MaChaine2="]ZYX---]";
  StrIZI Fusion;
  StrIZI Sel;
  StrIZI Debu;
  StrIZI Fin;
  StrIZI VarA="AbCD";
  StrIZI VarB="AbCD";
  StrIZI Chifr="1230";
  StrIZI Chifr2="FF";
  if(VarA==VarB)printf("A et B sont identiques !\n");
  Fusion=MaChaine1+MaChaine2;
  Sel=Fusion.Mid(5,4);
  Debu=Fusion.Left(5);
  Fin=Fusion.Right(5);
  cout<<VarA.Len()<<"\n";
  printf(Fusion.Str());
  cout<<Chifr.Val();
  cout<<Chifr2.Val(16);
  StrIZI Chifreee; 
  Chifreee=StrN(562);
// ..

 Conclusion

Truc à faire: faire un Mid  en mode écriture comme en vb pour remplacer le milieux d'une chaine.
Je fais ça dans la prochaine version. Fonction
Ucase(StrIZI a, départ=0, fin=Longueur), Lcase véront le jour.

J'inclurais moultes fonctions issues du php notamment
Addcslashes, explode,implode...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

29 avril 2006 17:11:36 :
Ajout de inStr, explode implode. une nouvelle classe voit le jour: StrIZItab qui est en fait un tableau de StrIZI. il y a cependant un "hic": le nombre d'éléments du tableau est limité a 65535.
29 avril 2006 17:32:23 :
Restructuration avec un fichier .cpp

 Sources de la même categorie

CALCUL DE CLEF RIB par Renfield
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper
Source avec Zip LIBRAIRIE LANGUAGES par astro53

 Sources en rapport avec celle ci

Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip [C] WD_STRING V1.9 par cyberripper
GESTION DE CHAINE DE CARACTÉRE EN C++ AVEC NSTRING par xmustapha
Source avec Zip GSTRING - GESTION DES CHAINES DE CARACTÈRES par Neokript
Source avec Zip VOTRE AVIS, CALCUL DE TFIDF C++ par elprogramor

Commentaires et avis

Commentaire de nightlord666 le 28/04/2006 10:41:01

Très mauvais d'implémenter tes fonctions dans ton .h : par convention, on fait ça dans un fichier .cpp à part (StrIZI.cpp par exemple) qui inclue le header. Ca permet de mieux contrôler la compilation de ton code.

Autre chose, tu a oublié dans ton header les directives :

#ifndef __STRIZI_H__
#define __STRIZI_H__

//Le code

#endif

Ces directives sont TRES importantes : elles protègent des erreurs (ou warning selon les compilateurs) de "multiple symbol redefinition", et des fatal error d'inclusions infinies, comme par exemple :

//StrIZI.h
#include "fff.h"

//fff.h
#include "StrIZI.h"

On se retrouve dans une boucle infinie pour le compilateur --> Erreur de compilation.

Dans ta fonction Val, pourquoi n'utilise tu pas la fonction atoi si le système est égal à 10 ?

A la fin :
if (Result==StrNull)Result="0";
return Result;

Pourquoi créer une chaine rien que pour une comparaison ? Je te conseillerai de le remplacer par ça :

if(!strcmp(Result.Chaine, "")) Result = "0"
return Result;

Bon sinon, la classe m'a l'air simple d'utilisation, mais il aurait fallu rajouter une fonction du genre sprintf pour mettre des nombres et tout ça. Bon, ca vaut bien un 7 on va dire.

Commentaire de BruNews le 28/04/2006 11:07:16 administrateur CS

if(!strcmp(Result.Chaine, "")) => if(!Result.Chaine[0])

Commentaire de nightlord666 le 28/04/2006 11:09:20

Ou aurait aussi pu mettre if(!(*(Result.Chaine))) => Encore plus rapide je pense.

Commentaire de BruNews le 28/04/2006 11:23:02 administrateur CS

idem, c'est toujours en interne:
cmp byte ptr[Result.Chaine], 0

Commentaire de luhtor le 28/04/2006 19:12:35

J'ai ptet pas bien compris, mais c'est quoi l'intéret pas rapport au string du C++ ?

Commentaire de nightlord666 le 28/04/2006 19:43:09

Je suppose que c'est pour faciliter le passage du VB au C++.

Commentaire de magus54 le 29/04/2006 17:33:30

Vui :)

Commentaire de henrimaselati le 21/12/2006 04:29:07

bravo, tres bien, je viens de VB et c est fonction me manqué beaucoup

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

petit pb de type string [ par bidules ] D'apres ce que g pu apprendre lorsque l'on veut declarer une variable de type string il faut faire :#include &lt;string&gt;string variable;c bien ca? Appel d'une Dll en C avec ASP [ par carlos ] Salut,j'ai une dll en C de +/- 15.000 lignes donc trop long à réecrire. Je voudrais pouvoir l'appeler à partir d'une Asp...en plus, pour etre portable C++ Standard ? [ par mmuller57 ] Voila, je viens d'aller sur le site de Bjarne Stroustrup et j'y ai pris un exemple de code source en C++ standard :#include&lt;iostream&gt;#include&lt Conversion Float to String [ par PierreP ] Bonjour à tous !je suis en train de me prendre la tête pour créer une fonction de conversion d'un réel en une chaine de caractère (problème du débutan Renommer un fichier [ par mindark ] Bonjour, j'essaie tout betement de renommer un fichier a l'aide des api, mais ca ne marche pas !Je veux renommer "kk.txt" en "qq.txt"String ancien="C: Pb Chaîne de caractères [ par mmuller57 ] Bonjour,J'ai créé un petit programme qui convertit les caractères d'une chaîne de caractères par leurs codes ASCII :#include &lt;iostream&gt;#include Impression String [ par teamours ] Je voudrais savoir komen on fé pour imprimer le contenue d'une varible CStringUn echaine de caractere koi....Merciiiiiiiii AnsiString et Char [ par JCLK ] J'ai un leger probleme :je recupere une String et j'ai ensuite besoin de la transformer en char *Est-ce possible ?La String contient un path ("C:\...\ longeur d'une string [ par angelique ] Bonjour, je n'arrive pas à retourner la longueur d'une srting :string result_s;result_s = vertex_label(boost::target(*ei, g), g); int longueur = strl longeur d'une string [ par angelique ] Bonjour, je n'arrive pas à retourner la longueur d'une srting :string result_s;result_s = vertex_label(boost::target(*ei, g), g); int longueur = strl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales