Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BBC BASIC

OPENUP()

DESCRIPTION.


La fonction OPENUP() ouvre un fichier de données en lecture/écriture et retourne le numéro du canal de communication qui lui sera associé.


La fonction OPENUP() peut aussi être utilisée pour ouvrir un canal de communication avec un port série.


 


SYNTAXE.


kfichier& = OPENUP( fichier )




REMARQUES.


fichier doit être une chaine de caractères, ou une variable de type $, et correspondant au nom d'un fichier valide. fichier peut être exprimé de façon : 

- absolue, indiquant le support, le chemin d'accès, le nom et l'extension du fichier ;

- relative, indiquant son nom et son extension, il est supposé se trouver dans un dossier par défaut.


Note. Il est important de fermer proprement un fichier, avec l'instruction CLOSE #, dès que son utilisation n'est plus requise par le programme. De même, l'instruction END finalisera l'enregistrement des données sur le support non-volatil.


Pour lire les enregistrements présents dans un fichier de données, éventuellement les modifier et/ou en ajouter de nouveaux. il faudra d'abord l'ouvrir en mode lecture/écriture avec la fonction OPENUP(), afin d'obtenir son numéro de canal, et de le mémoriser dans une variable.


La fonction OPENUP() retourne le numéro du canal de communication associé au fichier. il est indispensable de mémoriser cette valeur pour pouvoir la transmettre aux instructions de lecture/écriture au fichier de données. 


La fonction OPENUP() ne peut être associée à un fichier qui serait déjà ouvert en écriture avec une fonction OPENUP() ou une fonction OPENOUT().


Notez que le numéro de canal attribué au fichier à sa création et ceux qui lui seront associés lors de ses utilisations suivantes peuvent être différents.


Note : sous Windows de Microsoft, la syntaxe OPENUP( "" ), ou si fichier contient un ? ou un *, une boite de dialogue pour sélectionner le fichier à ouvrir sera affichée.


Voir l'instruction OPENIN() qui ouvre un fichier en lecture et retourne le numéro de canal du fichier.

Voir l'instruction OPENOUT() qui créer un fichier, l'ouvre en écriture et retourne le numéro de canal du fichier.

Voir la fonction OPENUP() pour ouvrir un canal de communication avec un port série.

Voir le module filedlg.bbc qui propose des fonctions pour sélectionner un fichiers dans un explorateur de fichiers.




RUBRIQUE.


Les fichiers de données pour plus de détails sur la création et l'utilisation des fichiers de données.




EXEMPLES.


1. Lecture simple des données.

REM --- Initialisation ---

kfichier$ = @dir$ + "Tester.txt"


REM --- Création du fichier et enregistrement ---

kfichier& = OPENOUT( kfichier$ )

PRINT #kfichier&, "BBC BASIC SDL 2.0"

PRINT #kfichier&, "Mon BBC BASIC pas a pas"

PRINT #kfichier&, "Origine NERD"

CLOSE #kfichier&


REM --- Ouverture du fichier avec OPENUP ---

kfichier& = OPENUP( kfichier$ )

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

CLOSE #kfichier&


REM --- Fin de l'exemple ---

END


retourne :

BBC BASIC SDL

Mon BBC BASIC pas a pas

Origine NERD



2. Ajouter des données et lecture de toutes les données.

REM --- Initialisation ---

kfichier$ = @dir$ + "Tester.txt"


REM --- Création du fichier et enregistrement ---

kfichier& = OPENOUT( kfichier$ )

PRINT #kfichier&, "BBC BASIC SDL 2.0"

PRINT #kfichier&, "Mon BBC BASIC pas a pas"

CLOSE #kfichier&


REM --- Ouverture du fichier avec OPENUP ---

kfichier& = OPENUP( kfichier$ )

PTR #kfichier& = EXT #kfichier&

PRINT #kfichier&, "Origine NERD"

PTR #kfichier& = 0

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

CLOSE #kfichier&


REM --- Fin de l'exemple ---

END


retourne :

BBC BASIC SDL

Mon BBC BASIC pas a pas

Origine NERD



2. Ajouter des données et lecture de toutes les données.

REM --- Initialisation ---

kfichier$ = @dir$ + "Tester.txt"


REM --- Création du fichier et enregistrement ---

kfichier& = OPENOUT( kfichier$ )

PRINT #kfichier&, "BBC BASIC SDL 2.0"

PRINT #kfichier&, "Mon BBC BASIC pas a pas"

PRINT #kfichier&, "Origine NERD"

CLOSE #kfichier&


REM --- Ouverture du fichier avec OPENUP ---

kfichier& = OPENUP( kfichier$ )

PTR #kfichier& = EXT #kfichier&

PRINT #kfichier&, "Origine NERD"

PTR #kfichier& = 0

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

CLOSE #kfichier&


REM --- Fin de l'exemple ---

END


retourne :

BBC BASIC SDL

Mon BBC BASIC pas a pas

Origine NERD



3. Modifier des données et lecture de toutes les données.

REM --- Initialisation ---

kfichier$ = @dir$ + "Tester.txt"


REM --- Création du fichier et enregistrement ---

kfichier& = OPENOUT( kfichier$ )

PRINT #kfichier&, "BBC BASIC SDL 2.0"

PRINT #kfichier&, "Mon BBC BASIC pas a pas"

PRINT #kfichier&, "Origine NERD"

CLOSE #kfichier&


REM --- Ouverture du fichier avec OPENUP ---

kfichier& = OPENUP( kfichier$ )

INPUT #kfichier&, kdonnee$ : REM - Lecture du premier enregistrement

kdebut = PTR #kfichier& : REM - Mémorisation du début de l'enregistrement

INPUT #kfichier&, kdonnee$ : REM - Lecture de l'enregistrement à modifier

klongueur = LEN ( kdonnee$ ) : REM - longueur de l'enregistrement

ktempo$ = STRING$( klongueur ,"x" ) : REM - Création d'une chaine de x (ou d'espace en general)

kvaleur$ = "Modification" : REM - Nouvelle valeur de l'enregistrement

kdonnees = LEFT$( ( kvaleur$ + ktempo$ ) , klongueur ) : REM - Formatage enregistrement

PTR #kfichier& = kdebut : REM - Déplacement du pointeur au debut de l'enregistrement

PRINT #kfichier&, kdonneest : REM - Ecriture du nouvel enregistrement

PTR #kfichier& = 0 : REM - Déplacement du pointeur au debut du fichier

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

INPUT #kfichier&, kdonnee$ : PRINT kdonnee$

CLOSE #kfichier&


REM --- Fin de l'exemple ---

END


retourne :

BBC BASIC SDL

Modificationxxxxxxxxxxx

Origine NERD




Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse