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 : Incrémenter un numéro de série [ Divers / Débutant(e) ] (76julien)

lundi 4 février 2008 à 17:21:07 | Incrémenter un numéro de série

76julien

   Salut tout le monde, j'ai fait du DELPHI dans mon jeune temps mais je ne sais pas comment peut-on incrémenter un numéro de série contenant des lettres et des chiffres. Je veux juste incrémenter les chiffres...les lettres ne changent pas..

Mon numéro de série est du type CD20080001
et je voudrais incrémenté du type
CD20080002
CD20080003
CD20080004
**********
**********
CD20080101

etc....

   En effet je veux juste incrémenter les quatres derniers chiffres en rouge...
Merci de me laisser un petit message ou cas ou vous avez une solution...
a+


lundi 4 février 2008 à 17:41:20 | Re : Incrémenter un numéro de série

BernieNoel68

En imaginant que nombre soit ta variable de comptage...

-------------------------------------------------------------------
var nombre : integer;

NumSerie := 'CD2008' + FormatFloat("0000", nombre) ;
nombre := nombre + 1 ;

-------------------------------------------------------------------

lundi 4 février 2008 à 19:31:04 | Re : Incrémenter un numéro de série

f0xi

Membre Club Administrateur CodeS-SourceS


type
  pSerialNum = ^TSerialNum;
  TSerialNum = record
    A : char;
    B : char;
    C : word;
    D : word;
  end;
  TSerialString = string[10];


function SerialMake(const cA, cB: char; const wC, wD: word): TSerialNum;
begin
  result.A := cA;
  result.B := cB;
  result.C := wC;
  result.D := wD;
end;

procedure SerialIncD(var Serial: TSerialNum; const i: word = 1);
begin
  inc(Serial.D, i);
end;

function SerialToStr(const Serial: TSerialNum): TSerialString;
begin
  with Serial do
    result := A + B + format('%.4d%4d',[C,D]);
end;

function StrToSerial(const SerialStr : TSerialString): TSerialNum;
begin
  result.A := SerialStr[1];
  result.B := SerialStr[2];
  result.C := word(IntToStr( SerialStr[3]+ SerialStr[4]+ SerialStr[5]+ SerialStr[6] )));
  result.D := word(IntToStr( SerialStr[7]+ SerialStr[8]+ SerialStr[9]+ SerialStr[10] )));
end;

function CheckSerial(const Serial: TSerialNum): boolean;
begin
  with Serial do
    result := (A = 'C') and
              (B = 'D') and
              (C = 2008) and
              ((D >= 1) and (D <= 9999));
end;



 




deefsign.gif

mardi 5 février 2008 à 08:32:29 | Re : Incrémenter un numéro de série

76julien

J'ai omis de préciser que mon dernier numéro de série était dans une base de données donc cela ressort de ma requete de la forme :

id := CD20080003

donc comment faire pour séparé "CD2008" de "0003" ?????

ensuite je ferai "0003+1".... et le tour est joué mais personne ne connais une fonction pour couper une chaine en deux la ou l'on veut????

mardi 5 février 2008 à 09:52:58 | Re : Incrémenter un numéro de série

dominique.stock

Réponse acceptée !
bonjour,
function Copy(S;Index,Count:Integer):string;


Dom

mardi 5 février 2008 à 09:57:30 | Re : Incrémenter un numéro de série

76julien

Réponse acceptée !
function StrSlice(const S: string; index: integer; count: integer) : string;
var
strlen : integer;
offset : integer;
begin
strlen := length(S) + 1;
{ start from right side }
  if 0 > index then
    offset := index + strlen
  else
    offset := index;
{ end from right side }
  if 1 > count then
    Result := Copy(S, offset, count + strlen - offset)
  else
    Result := Copy(S, offset, count)
end;

Exactement dominique, je viens à l'instant de trouver une solution qui se trouve ci-dessus :::: voila ou j'ai trouvé la source ::

www.delphifr.com/codes/STRINGTOOLS-FONCTIONS-MANIPULATION-CHAINES-CARACTERES_19697.aspx

A vous de jouer et merci pour votre aide qui m'a aiguillé !!
A+

mardi 5 février 2008 à 17:37:23 | Re : Incrémenter un numéro de série

cantador

Membre Club
Attention aux accès concurrentiels...

cantador

mercredi 6 février 2008 à 08:42:42 | Re : Incrémenter un numéro de série

76julien

pourquoi attention aux acces concurrentiels???
moi sa marche c'est quoi le souci???

mercredi 6 février 2008 à 15:03:08 | Re : Incrémenter un numéro de série
mercredi 6 février 2008 à 15:04:48 | Re : Incrémenter un numéro de série

cantador

Membre Club
Trois clients en réseaux déclenchent en même temps une insertion.
Examine les résultats..
cantador


1 2

Cette discussion est classé dans : chiffres, série, lettres, numéro, incrémenter


Répondre à ce message

Sujets en rapport avec ce message

Convertir Chiffres en lettres [ par slim59 ] Slut. à tous. Comment peut ont faire pour convertir des chiffres en lettres et les imprimer (J'utilise QuickReport). Merci+++ Chiffres en lettres dans quickreport [ par yaki_5200 ] Mes remerciments je souhaite une totale reussite pour l'ensemble des contribuables et de l'effort de la diversité de l'aide qu'il offrents particulier Diiférencier les chiffres des lettres dans une string? [ par kwentinn ] Salut tt le monde!J'aimerais savoir s'il est possible de différencier les chiffres des lettres dans une string. Si oui, comment faire? Y'a-t-il une fo numéro de série [ par dounga66 ] je cherche le numéro de série de dephi 6aidez moi  SVP numéro de série de USB flash mémoire [ par med1112 ] salut à tous,y a t il un moyen pour obtenir le numéro de série de USB flash mémoire, j'utilise Delphi7.merci numéro de série de CPU [ par adoula775 ] je cherche la fonction qui donne le numéro de serie de micro-processeur (CPU) ou un programme qui donne le numéro de serie de CPU comment ecrire des chiffres en lettres sou access [ par missnour26 ] Bonjour, Je vous prie de bien vouloir m'aider à résoudre un problème qui me tracasse depuis un certain temps. Comment pouvoir, dans Access, créer une Navigateur lien avec variables [ par nebucrath ] Bonjour,Je suis en train de développer un navigateur avec des variablesPar exemple, si un utilisateur a le numéro 1234, quand il rentre le numéro 1234 Commande random() [ par NivekR ] Bonsoir à tous et à toute,Voilà, je suis en 1ère année de DEUST Informatique à Orsay et je dois créer une application (celle que l'on veut) avec DELPH


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

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 : 15,272 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é.