Help me please

Messages postés
121
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
8 août 2008
-
Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004
-
salut tout le monde

je cherche a realiser deux choses et j'ai beau chercher, je ne trouve pas
tout d'abord j'aimerai que mon programme s'arrete mais sans fermer la fenetre d'execution
et puis je voudrai pouvoir identifier dans une zone de texte une chaine de caractere variable :
par exemple

if text1.text = valeur variable then
instruction

merci

6 réponses

Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004

Je n'ai pas compris "s'arrete mais sans fermer la fenetre d'execution", c koi la fenêtre d'éxecution ?
valeur variable, c'est une liste de valeurs ?
Dans ce cas, tu as plusieurs choix (select case;switch;for next avec un tableau) ou alors c'est un modèle de chaine dans ce cas, c'est Like qu'il faut utiliser.

Note : j'ai pas VB6 ms VB3

@+ et bonne prog

Mehdi
Messages postés
75
Date d'inscription
mercredi 23 octobre 2002
Statut
Membre
Dernière intervention
13 juillet 2004

si je comprends ta question, c'est plus un pb de debogage que de prog. Pour arreter un prog a un endroit precis, tu dois mettre un point d'arret a cote du code, un point marron devrait apparaitre, tu executes et le prog devrait s'arreter tout seul a cet endroit. ensuite, tu peux derouler ton prog avec F8.
A+
slr
Messages postés
121
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
8 août 2008

non en fait ce n'est pas un point d'arret (instruction stop) car quand j'execute mon programme, je voudrais qu'il s'arrete mais sans fermer la fenetre comme avec "end"
Messages postés
121
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
8 août 2008

la fenetre d'execution, c'est l'endroit ou il y a tous les boutons de commandes, les label, les zone de texte, et en fait je veut pouvoir arreter le programme sans "stop" (car pendant l'execution il dit : instruction stop rencontree) et ni "end" (car il ferme la fenetre)

sinon comment marche la fonction "like" et est-ce tu sais sèil existe une instruction pour proteger un fichier en ecriture

merci beaucoup
a+
Messages postés
75
Date d'inscription
mercredi 23 octobre 2002
Statut
Membre
Dernière intervention
13 juillet 2004

bon, je crois que je comprends ce que tu veux, mais encore une fois, je ne fais que supposer :

tu peux par exemple placer un controle Timer sur ton Form principale, a ce moment là, tu ne pourras quitter ton appli qu'en dechargeant la feuille ou en appliquant l'instruction End, dans tout autre cas, la main est passée a la sub Timer_Timer qui tourne en boucle jusqu'a ce que tu lances autre chose.

j'espère que c'est bon cette fois.
A+ damd
slr
Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004

Pour protéger un fichier, il doit sûrement exister une fonction API de Kernel. Mais je ne la connais pas. Sinon, tu peux ouvrir ce fichier en mode input ou binary (afin de ne pas l'effacer) et de mettre un verrou (extrait de l'aide de VB3) :

Open fichier [For mode] [Access accès] [verrou] As [#]numéro-de-fichier [Len = longueur]

verrou Mot réservé qui spécifie les opérations que d'autres processus peuvent exécuter sur le fichier ouvert : Shared, Lock Read, Lock Write, Lock Read Write.

L'argument accès peut être l'un des mots clés suivants :

Type d'accès Description

Read Ouvre le fichier uniquement en lecture.
Write Ouvre le fichier uniquement en écriture.
Read Write Ouvre le fichier à la fois en lecture et en écriture. Ce mode n'est valide que pour les fichiers en mode Random et Binary ainsi que pour les fichiers ouverts en mode Append.

La clause verrou est utilisée en environnement multiutilisateur ou multitraitement pour restreindre l'accès à un fichier ouvert à d'autres processus ou d'autres utilisateurs. L'argument peut être l'un des mots clés suivants.

Type de verrou Description

Shared N'importe quel processus de n'importe quelle machine peut lire ou écrire dans ce fichier.
Lock Read Aucun autre processus n'est autorisé à lire ce fichier. Ce verrou ne s'applique que si aucun autre processus n'a précédemment reçu, pour ce fichier, l'accès en lecture.
Lock Write Aucun autre processus n'est autorisé à écrire dans ce fichier. Ce verrou ne s'applique que si aucun autre processus n'a précédemment reçu, pour ce fichier, l'accès en écriture.
Lock Read Write Aucun autre processus n'est autorisé à lire ou à écrire dans ce fichier. Cet accès n'est permis que si l'accès en écriture ou en lecture n'a pas déjà été accordé à un autre processus, ou si aucun verrou Lock Read ou Lock Write ne se trouve déjà en place.

Si vous ne spécifiez aucun type de verrou, le fichier peut être ouvert en lecture et en écriture un nombre de fois indéterminé par instruction. Toutefois, aussi longtemps que le fichier est ouvert, son accès est refusé à d'autres opérations.

Pour la fonction Like, voici ce que donne l'aide de VB3 :

Permet de comparer deux expressions de chaîne.

Syntaxe

résultat = expression Like modèle

Remarques

Si expression correspond à modèle, résultat est True. En l'absence de correspondance, résultat est False. Si expression ou modèle est de type Null, résultat est aussi de type Null. Le respect des majuscules et des minuscules ainsi que l'ordre de tri des caractères de l'opérateur Like dépendent du paramétrage de l'instruction Option Compare. Cependant, si le module ne contient pas d'instruction Option Compare, la méthode de comparaison de chaînes par défaut est de type Binary, qui utilise une différenciation des majuscules et des minuscules lors de la comparaison de chaînes.

La comparaison de chaînes peut être polyvalente grâce aux modèles incorporés. Vous pouvez ainsi utiliser des caractères génériques semblables à ceux reconnus par le système d'exploitation pour vérifier la correspondance entre des chaînes. Le tableau ci-dessous reprend les caractères génériques qui sont à votre disposition, ainsi que le nombre de chiffres ou de chaînes de caractères auxquels ils correspondent.

Caractère(s) Correspondances

dans modèle dans expression

? N'importe quel caractère unique
* Zéro caractère ou davantage
# N'importe quel chiffre unique (0 - 9)
[listecaractères] N'importe quel caractère appartenant à listecaractères
[!listecaractères] N'importe quel caractère n'appartenant pas à listecaractères

Un groupe d'un ou de plusieurs caractères (listecaractères) entourés de crochets ([ ]) peut être utilisé pour correspondre à n'importe quel caractère unique de expression et peut inclure pratiquement n'importe quel caractère du jeu de caractères ANSI, y compris des chiffres. En fait, les caractères spéciaux tels que le crochet ouvrant ([ ), le point d'interrogation (?), le dièse (#) et l'astérisque (*) ne peuvent être utilisés pour correspondre directement à eux-mêmes que s'ils sont entourés de crochets. Le crochet fermant ( ]) ne peut pas être utilisé au sein d'un groupe pour correspondre à lui-même. Toutefois, il peut être utilisé à l'extérieur d'un groupe en tant que caractère isolé.
Outre une simple liste de caractères entourés de crochets, listecaractères peut spécifier une plage de caractères dont les limites supérieure et inférieure sont séparées par un trait d'union (-). Par exemple, [A-Z] dans modèle engendre une correspondance si la position du caractère dans expression contient une lettre majuscule comprise dans la plage allant de A à Z. Plusieurs plages peuvent être comprises entre crochets sans être délimitées entre elles. Par exemple, [a-zA-Z0-9] correspond à tout caractère alphanumérique.

Les autres règles importantes qui régissent la correspondance de modèles comprennent :

Un point d'exclamation (!) au début de listecaractères, qui signifie qu'il y a correspondance si expression ne contient aucun des caractères de listecaractères. Utilisé hors des crochets, le point d'exclamation correspond à lui-même.
Le trait d'union (-), qui peut apparaître au début (à la suite du point d'exclamation éventuel) ou à la fin de listecaractères pour correspondre à lui-même. Ailleurs, le trait d'union est employé pour désigner une plage de caractères ANSI.
Lorsqu'une plage de caractères est spécifiée, les caractères doivent apparaître dans l'ordre de tri croissant (du plus bas vers le plus élevé). [A-Z] est un modèle valable, mais pas [Z-A].

La suite de caractères [ ] est ignorée et est considérée comme étant une chaîne de longueur nulle.

Il existe, dans l'alphabet de certaines langues, des caractères spéciaux qui représentent en effet deux caractères distincts. Par exemple, plusieurs langues comprennent le caractère "æ" pour représenter les caractères "a" et "e" lorsqu'ils apparaissent ensemble. L'opérateur Like reconnaît l'équivalence du caractère spécial et des deux caractères individuels.
Lorsqu'une langue comprenant l'un de ces caractères spéciaux est spécifié dans la section (sLanguage) du fichier WIN.INI et que ce caractère spécial figure dans soit modèle soit expression, une correspondance est trouvée dans l'autre chaîne qui comprenne la séquence équivalente de deux caractères. De même, un caractère spécial unique figurant dans modèle, entouré de crochets (tout seul, dans une liste ou dans une plage) correspond à la séquence équivalente de deux caractères figurant dans expression.

Mehdi