Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > Basic
Basic Forum d'entraide sur la programmation en langage Basic
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/04/2011, 13h38   #1
Hurricane71
Invité de passage
 
Inscription : avril 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
Par défaut [SCADA Basic] PCVUE

Bonjour, j'utilise le logiciel PCVUE pour créer une page de visualisation d'objets de dessins génériques. Je dois lire un fichier de configuration afin de faire apparaître ou non les objets de mon installation. J'ai créé un fichier test pour essayer de le lire, il est de ce type: 0,0,0,%M001 où %M001 est une variable.

Mon programme utilisé pour lire le fichier de configuration ressemble pour l'instant à ça :

Ce programme utilise le fichier "test.txt" qui se trouve dans TP du projet
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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;
 
StrFilename = "test.txt"; 'nom du fichier a ouvrir
 
 
 
'For a full path put "\\" instead of "\" => "C:\\SV\\test.txt" ' 
 
StrAccess = "r"; 'ouvre en mode lecture
 
 
' ouvre le fichier
 
intResult = FOPEN(StrFilename , StrAccess);
 
IF (intResult ==1) THEN
 
    PRINT("Opening of file ", StrFilename," succeeded");
 
END IF
 
'boucle permettant de lire les caractères 1 à 1
 
WHILE(sortir!=1)
	str1 = FGETC ("test.txt");
 
	IF(1 == IntVal = CMPSTRING(str1, ",")) THEN
		sortir=1;
	ELSE
		nbr=nbr+1;
		PRINT(Str1);
	END IF
 
WEND
 
 
'fermeture du fichier
 
intResult = FCLOSE(StrFilename);
 
IF (intResult ==1) THEN
 
    PRINT("Closure of file ", StrFilename," succeeded");
 
END IF
 
END SUB
Hurricane71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 12h43   #2
belsion
Futur Membre du Club
 
Inscription : avril 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 13
Points : 19
Points : 19
Bonjour,

Quelques remarques à la volée.

Le SCADA Basic est un language très simple, il ne supporte pas les affectations dans les comparaisons. Du coup cette ligne ne pourra pas fonctionner:
Citation:
IF(1 == IntVal = CMPSTRING(str1, ",")) THEN
Après le CMPSTRING renvoie 0 en cas d'égalité, 1, ou -1 en cas de différence.

Pour l'analyse de fichier, il est préférable de passer par les buffer, mais là ce n'est qu'une préférence personnelle (instructions FILETOBUF, SEQ_BUFFER, ...)

Et comme il s'agit d'un language propriétaire, les mieux placé pour répondre ça reste leur support technique que je vous conseille vivement de contacter: services_at_arcinfo.com ou 01.41.14.36.25.

Bonne journée
belsion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2011, 11h06   #3
Hurricane71
Invité de passage
 
Inscription : avril 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
D'accord merci, je vais déjà essayer avec ça, et attendre peut être d'autres réponses avant d'appeler...
Hurricane71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h19.


 
 
 
 
Partenaires

Hébergement Web