Imprimer RebZone
Win32 Linux Mac
Rebol
(c) 2025 RebolZone - http://rebolzone.free.fr
[ Général ]
Accueil
FTP
[ Rebol ]
Présentation
Installation
Rebol/View
Rebsites
[ Coding ]
Coding Tutorial Start
Outils MySql VID FAQ
Syntaxe Download
[ Divers ]
Documentation
Liens Recherche
Ecrivez-nous
Visiteurs
Visteurs
Lundi 26 mai 2025

Tutorial

Valid XHTML 1.0!
Les dates et heures
Le système de fichiers
Précédent ...
Suivant ...

Les dates et heures

Les dates en Rebol peuvent être représentées par plusieurs formats Année Mois Jour ou Jour Mois Année.
Le séparateur peut être le - ou le /.
	dateOperation: 01/12/2002
	print type? dateOperation ;renvoi date
	print dateOperation ; renvoi 1-Dec-2002
	;Le mois peut-être abrégé :
	dateOperation: 01-dec-2002
	print dateOperation ; renvoi 1-Dec-2002
	
Les date peuvent également inclure une heure et un fuseau horaire. Dans ce cas, il faut séparer la date de l'heure par un / (slach), le décalage du fuseau horaire (facultatif) est précédé du signe + ou du signe -
	dateEvenement1: 01-12-2002/22:17 ; le 1er décembre à 22h17
	dateEvenement2: 03-12-2002/08:55+2:00 ; le 3 décembre 2002 à 8h55, avec un fuseau de + 2
	
Différentes options permettent d'extraire le jour, le mois ...
	print dateEvenement2/day ; renvoi le jour soit 3
	print dateEvenement2/month ; renvoi le mois soit 12
	print dateEvenement2/yeay ; renvoi l'année soit 2002
	print dateEvenement2/weekday ; renvoi le jour de la semaine soit 2 pour le mardi
	print dateEvenement2/time ; renvoi l'heure complète, soit 8:55
	print dateEvenement2/time/hour ; renvoi l'heure, soit 8
	print dateEvenement2/time/minute ; renvoi les minutes, soit 55
	print dateEvenement2/zone ; renvoi le décalage, soit 2:00
	
La fonction date? permet de tester si une variable est de type DATE!
	varTmp: 01-03-2003
	print date? varTmp ; renvoi True
	
La fonction to-date permet de convertir une variable en variable de type DATE!
	varTmp: "01/05/2002"
	print type? varTmp ; renvoi string
	varTmp2: to-date varTmp
	print type? varTmp2 ;renvoi date
	
On peut ajouter ou soustraire des jours à des dates :
	dateE: 01-01-2003
	dateZ: dateE + 50
	print dateZ ; renvoi 20-Feb-2003
	
Le système de fichiers

En Rebol, quelque soit la plateforme (Windows, Unix, Linux ...), le nommage des chemins d'accès des fichiers et répertoires est standard. Chaque chemin d'accès est précédé du signe % et le séparateur étant le / (slash). Si l'on met des anti-slash, Rebol les convertit en /.
On peut également utiliser les double-quotes ("") pour encadrer un chemin d'accès contenant des espaces.
	fichierLog: %/D/report/fv/lad.log
	fichierLog2: %/home/report/fv/lad.log
	fichierLog3: %"/c/program Files/report/fv/lad.log"
	print type? fichierLog3 ;renvoi File, la variable est de type FILE!
	
Sous Windows, les disques C: D: E: sont notés : /C /D /E
	dirTemp: %/c/temp ; C:\temp sous Windows
	
On peut également utiliser le point (.) et le double point (..) :
	dirParent: %..
	fichierConf: %../conf/appli.conf
	
La fonction exists? permet de tester l'existance d'un fichier ou d'un dossier :
	fichierSys: %/c/autoexec.bat
	print exists? fichierSys ; renvoi True, le fichier C:\autoexec.bat existe
	
La fonction size? renvoie la taille du fichier en octets :
	fichier: %/c/appli/conf/pm.conf
    print size? fichier ; renvoi 2589 la taille de ce fichier
	
La fonction modified? renvoie la dernière date de modification d'un fichier :
	fichier: %/c/appli/conf/pm.conf
	print modified? fichier ; renvoi 16-Dec-2002/16:25:14+1:00, dernière date de modification
	
La fonction to-file permet de convertir une chaine de caractères en variable de type File! :
	fichier: "/c/temp/appli.data"
	fichier2: to-file fichier
	print type? fichier2 ;renvoi file
	print fichier2 ; renvoi /c/temp/appli.data
	
La fonction split-path permet d'obtenir le chemin et le nom d'un fichier :
	
	fichier: %/c/compta/log/cpt200212.log
	fic: split-path fichier
	print type? fic ; fic est de type Block!
	print fic/1 ; renvoi /c/compta/log
	print fic/2 ; renvoi cpt200212.log
	print type? fic/1 ; renvoi file
	print type? fic/2 ; renvoi file
	
Lecture d'un fichier : read
	donnee: read %/c/az/fic.dat
	print donnee ; la variable donnee contient le contenu du fichier
	print type? donnee ; donnee est du type String!
	
Lecture d'un fichier par lignes : read/lines
	lignes: read/lines %/c/az/fic.dat
	foreach ligne lignes [print ligne] ;parcourt du block pour affichage de chaque ligne
	print type? lignes ; lignes est de type block!
	
Lecture d'un fichier binaire : read/binary
	image: %/c/img.jpg
	data: read/binary image
	print type? data ; renvoi binary
	
Ecriture dans un fichier : write
	fichierLog: %/c/resultats/appli.log ;le dossier /c/resultats doit exister
	write fichierLog "Erreur dans le calcul ...."
	
Ecriture dans un fichier existant en Ajout : write/append
	fichierLog: %/c/resultats/appli.log
	write/append fichierLog "Transfert Ok...." ; ajout au fichier existant, 
	;s'il n'existe pas, le fichier est créé.
	
Ecriture d'un fichier binaire : write/binary
	fichier: %/c/invaders.dat
	texte: {Les envahisseurs. Ces êtres étranges venus d'une autre 
	planète. Leur destination: la Terre. Leur but: en faire leur univers. 
	David Vincent les a vus. Pour lui, tout a commencé par une nuit sombre, 
	le long d'une route solitaire de campagne, alors qu'il cherchait un raccourci 
	qu'il ne trouva jamais. Cela a commencé par une auberge abandonnée, 
	et par un homme que le manque de sommeil avait rendu trop las pour continuer 
	sa route. Cela a commencé par l'atterrissage d'un vaisseau venu d'une 
	autre galaxie. Maintenant, David Vincent sait que les Envahisseurs sont là, 
	qu'ils ont pris forme humaine, et qu'il lui faut convaincre un monde incrédule 
	que le cauchemar à déjà commencé.}

	data: compress texte ; compression du texte
	write/binary fichier data ; écriture du texte compressé dans le fichier
	
Suppression de fichiers : delete
	delete %/c/temp/resultats.txt
	delete/any %/c/temp/*.tmp ; suppression de tous les fichiers .tmp
	
Lecture du contenu d'un répertoire : read
	dir: read %. ; lit le dossier courant (.) et envoi le contenu dans la variable dir de type block
   foreach entree dir [print entree] ; affiche le contenu du dossier : fichiers + sous-dossiers
	
Création d'un dossier : make-dir
	make-dir %/c/temp/recup
	
Renommage de dossier : rename
	rename %/c/temp/recup %/c/temp/docs
	
Suppression d'un dossier : delete
	delete %/c/temp/docs/ ; ne pas oublier le / final pour indiquer un dossier
	delete %../appli/jgh/
	
Dossier courant : what-dir
	print what-dir
	
Changement de dossier : change-dir
	change-dir %/c/appli/log/
	
Retour début de page