sphaxslayer
Messages postés216Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention17 septembre 2008
-
18 mai 2005 à 12:00
sphaxslayer
Messages postés216Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention17 septembre 2008
-
18 mai 2005 à 12:42
Salut la compagnie, voilà j'ai repris un code existant fait par mon prédécesseur qui devait être très fâché avec la touche / de son clavier...j'ai des instructions que je ne comprends pas, si quelqu'un pouvait m'expliquer svp...voilà le bout de code:
public void ScanHL7(string mess)
{
int numSegment = 1;
char c; string segment "", suite mess;//.Substring(4, mess.Length - 4);
while (!suite.Equals(""))
{
c = suite[0];
if (0<c && c<32)
{
numSegment++;
try
{
if (0<suite[1] && suite[1]<32)
{
suite = suite.Substring(2, suite.Length-2);
}
else
{
suite = suite.Substring(1, suite.Length-1);
}
this.treeView1.Nodes.Add(ScanSegmentHL7(segment, separateur));
segment = "";
}
catch (Exception) {
suite = "";
}
}
else
{
segment = segment+c;
suite = suite.Substring(1, suite.Length-1);
}
....
}
Je sais c'est un peu brut de demander ça...mais franchement j'comprends pas les tests de ses ifs, ni meme ses histoires de segment + séparateur...
pour l'info, les messages à aller chercher son au format HL7 ou HPRIM, cad commencant soit par "MSH" soit pas "M", chaque message étant composé de segments eux-meme séparés par des | ....voilà voilà merci de votre aide !
"Un seul Être vous manque, et tout est dépeuplé..."
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 18 mai 2005 à 12:10
Hola,
suite[x] retourne un caractère.
Donc if (0<suite[1] && suite[1]<32) compare en fait un caractère avec un entier.
Mais un caractère peut être transformer en entier (via son code ASCII).
Ca permet de s'assurer qu'un certain caractère de la chaine 'suite' soit comprise dans une certaine plage du code ASCII, en l'occurance que la valeur soit entre 0 et 32.
Pour la valeur des caractères, voire http://www.asciitable.com/
sphaxslayer
Messages postés216Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention17 septembre 2008 18 mai 2005 à 12:04
en fait j'comprends pas a partir du while....le test de séparateur ça va:
si les 3 premiers caracteres sont MSH alors le séparater est le 4eme, cad le |
sinon caveut dire que le premier caractere est H et donc le séparateur est le 2eme, cad le |
CORRECTION: je me suis trompé dans le poste précédent: le HPRIM commence par H| et non M|....pardon
"Un seul Être vous manque, et tout est dépeuplé..."
sphaxslayer
Messages postés216Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention17 septembre 2008 18 mai 2005 à 12:18
merci pour le lien
Donc là son test c'est de voir si le caractere est un truc spécial vu qu'apparement jusqu'à 32 c des trucs particuliers, sauf le 32 ki est l'espace, et si c'est le cas il coupe sa string en disant qu'elle commence au caractere suivant..?
"Un seul Être vous manque, et tout est dépeuplé..."