Bonjour à tous,
Actuellement en stage en automatisme, j'utilise SCADA Basic avec PC vue 2009. Je rencontre quelques difficultés car je ne connais pas encore toutes les fonctions déjà éxistante et j'apprends peu à peu à coder (non sans quelques lacunes mais avec motivation).
Le but de la manoeuvre est de parcourir un fichier varex ligne apres ligne, d'identifier la où il y a le caractère A puis de stocker celui ci et ce qui vient avant le A dans la ligne dans un tableau. J'arrive à ouvrir le fichier, à parcourir les lignes puis à fermer le fichier. En revanche, je ne vois pas du tout comment faire pour sortir le caractère et ce qui vient avant. Et comment faire pour le stocker. Ce n'est pas de la mauvaise volonté, croyez moi mais je nage depuis ce matin sur cette quesion... En esperant que vous puissiez m'aider, je vous remercie par avance.

Voici le début de mon code:

SUB MAIN()

DIM intResult as integer;

DIM intEOF as integer;

DIM StrAccess as Str;

DIM StrFilename as Str;

DIM StrLine as Str;

DIM str1 as Str;

DIM nbr as integer;

DIM sortir as integer;

DIM Intval as integer;


@ESI.PRE.POCEDURE.CPT = @ESI.PRE.POCEDURE.CPT + 1 ;
print("On est bien dedans");

StrFilename = "C:\\STAGIAIRE_NICOLAS.txt"; 'nom du fichier a ouvrir
'For a full path put "\\" instead of "\" => "C:\\SV\\test.txt" '


StrAccess = "r"; 'ouvre en mode lecture

intResult = FOPEN(StrFilename , StrAccess); ' ouvre le fichier

IF (intResult ==1) THEN

PRINT("Opening of file ", StrFilename," succeeded");

END IF

'***************************************************************************************************************

' Il faut lire ligne apres ligne, en commencant par le bout de la ligne et remonter
' de virgule en virgule si jamais on est sur une ligne qui nous interresse

'***************************************************************************************************************

'StrVal = FGETS(Filename, Num); Lit une chaîne de caractères dans un fichier.

'IntVal = FEOF(Filename); Détermine si la fin de fichier a été atteinte.

'LongVal = FWRITE(Filename, Handle, Size, N); Ecrit un nombre n de données de même type dans un fichier à partir de données stockées
'dans un buffer précédemment alloué par ALLOC_BUFFER.

'IntVal = FSEEK(Filename, Offset, Origin); Déplace le pointeur d'un fichier vers une nouvelle position.
'Type de retour : INTEGER

'LongVal = ALLOC_BUFFER(N); Alloue une zone mémoire de n octets.


'**************************************************************************************************************

WHILE(FEOF(StrFilename ) == 0)

L = FGETS(StrFilename ,100);
PRINT(L);

WEND


'************************************************************************************************************

'intResult = FCLOSE(StrFilename); 'fermeture du fichier

IF (intResult ==1) THEN

PRINT("Closure of file ", StrFilename," succeeded");

END IF

END SUB