Gambas France BETA


Pas de compte ? Incription

comment gérer les erreurs d'une bloucle FOR EACH

1
AuteurMessages
defcom#1 Posté le 23/8/2010 à 20:57:00
bonsoir,


j'ai une boucle qui ce présente de la manière suivante:


1
FOR EACH FichierRepertoire IN Dir(nomrepertoire, "*.txt") PRINT FichierRepertoire NomfichierOuvrir.Add(FichierRepertoire)NEXT


comment gérer les erreurs quand le fichier ou le répertoire n'existe pas.

je voudrais afficher une message comme quoi les données n'existe pas.
j'ai trouver la fonction message mais comment l'insérer dans la boucle.

1
Message.Info("Pas de donnée disponible" "OK")


GarulfoUnix#2 Posté le 24/8/2010 à 11:16:00
By the way
1
' Gambas module filePublic Sub Main() Dim fichierRepertoire As String Dim fichiers As String[] = Dir(User.Home, "*.txt") If fichiers.Count = 0 Then Print "Pas de fichiers .txt dans ce répertoire" Else For Each fichierRepertoire In fichiers Print fichierRepertoire Next EndifEnd
manu#3 Posté le 30/8/2010 à 11:58:00
Avec Gambas ca roule !Ou la methode Exist

1
' Gambas module filePublic Sub Main() Dim fichierRepertoire As String Dim fichiers As String[] = Dir(User.Home, "*.txt") If Exist(User.Home & "*.txt") = False Then Print "Pas de fichiers .txt dans ce répertoire" Else For Each fichierRepertoire In fichiers Print fichierRepertoire Next EndifEnd

:)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Prokopy#4 Posté le 30/8/2010 à 12:36:00
Kinder PinguiDésolé de te contredire manu, mais la méthode Exist() est beaucoup moins optimisée (un accès disque en plus) alors que tu as la propriété Count qui est bien plus pratique et plus rapide. ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
manu#5 Posté le 30/8/2010 à 12:39:00
Avec Gambas ca roule !si tu le dit .... :lol: mais c'est parfois plus simple que de creer une variable avec un dir et de la tester....
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
GarulfoUnix#6 Posté le 30/8/2010 à 13:20:00
By the way
si tu le dit .... :lol: mais c'est parfois plus simple que de creer une variable avec un dir et de la tester....


Tu possèdes déjà un tableau qui contient la valeur de retour de Dir() .
Donc autant se servir directement de sa propriété qui joue le même role :) .
manu#7 Posté le 30/8/2010 à 17:24:00
Avec Gambas ca roule !oK ok, n'en j'ter plus je me rends. ;)...

C'étais aussi pour montrer que la méthode Exist permettais de tester l'existence d'un fichier ou un dossier. Je trouve aussi c'ette méthode plus explicite que de compter le nombre de valeurs d'un tableau, mais ca c'esti une question de gout.

Mais tu a raison la variable existe et autant l'utiliser.
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
GarulfoUnix#8 Posté le 30/8/2010 à 20:56:00
By the wayJe n'ai pas dit que ta méthode était mauvaise, il y a juste une surcouche "inutile" :) .
1