Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
qt mkdir
Envoyé par: escobales

Bonsoir,

Je cherche comment créer un dossier depuis QT.
Je ne comprends pas ce que veut dire:

bool QDir::mkdir ( const QString & dirName, bool acceptAbsPath = TRUE ) const [virtual]

Creates a directory.

If acceptAbsPath is TRUE a path starting with a separator ('/') will create the absolute directory; if acceptAbsPath is FALSE any number of separators at the beginning of dirName will be removed.
Returns TRUE if successful; otherwise returns FALSE.

See also rmdir().

Merci pour votre explication

Poste le Thursday 11 January 2007 22:07:02
Répondre     Citer    
Re: qt mkdir
Envoyé par: tuxfanch

Salut,
cela signifie tout simplement :

Si acceptAbsPath est vrai (vaut TRUE) un dirName commençant par slash ('/') aura pour conséquence la création d'un répertoire défini par son chemin absolu (exemple : /home/fanch/test) tandis que s'il est faux (vaut FALSE) l'éventuel slash initial sera ôté (pour créer un répertoire à partir du répertoire d'exécution).
Donc en gros, si dirName vaut /home/fanch/test et que le prog est lancé depuis /home/fanch :
- si acceptAbsPath vaut TRUE : le répertoire /home/fanch/test aura été créé
- si acceptAbsPath vaut FALSE : le répertoire /home/fanch/home/fanch/test aura été créé

si la méthode réussit, elle retourne TRUE, sinon FALSE.


------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Thursday 11 January 2007 23:16:49
Répondre     Citer    
Re: qt mkdir
Envoyé par: escobales

Donc pour le programmer il faudrai que je fasse quelque chose du style:

bool a;
a= QDir::mkdir ( "/home/nicolas/test",a);

Ensuite je regarde ce que j'ai dans a ?

Poste le Friday 12 January 2007 16:35:57
Répondre     Citer    
Re: qt mkdir
Envoyé par: tuxfanch

ah, c'était beau les vacances ...

c'est toi qui fixe le deuxième paramètre de la méthode : tu lui dis si elle doit créer un répertoire en lisant un chemin absolu ou pas. Donc c'est plutôt du genre :


bool bErreur ;

// Je crée le répertoire en lui signifiant qu'il s'agit d'un chemin absolu
bErreur = QDir::mkdir("/home/fanch/test", True);


if (!bErreur)
{
// ça a raté, faire ce qui va bien (log, message, n'importe quoi ...)

}

------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Sunday 21 January 2007 20:37:08
Répondre     Citer    
Re: qt mkdir
Envoyé par: Garth

Bonsoir
Je ne suis pas sur d'avoir bien compris ou alors...
ton code tuxfanch il ne cré pas de rep mais vérifie juste qu'il existe nan?
car j'ai essayé il j'ai des errurs..
ce serai pas plutot

QDir lDir;
lDir.mkdir(dirName);

nan? merci d'avance!

Sylvain

Poste le Tuesday 20 November 2007 22:52:12
Répondre     Citer    
Re: qt mkdir
Envoyé par: Fanch

bouah ! tu me ressort ça pas loin d'un an après !! X-o ;-)

à l'époque (Qt 4.1.4) mkdir était une méthode statique de la classe QDir, donc mon appel était correct mais le tient aurait fonctionné tout aussi bien. Et puis le temps a passé et j'ai la doc de Qt 4.3.2 sous les yeux ; il s'avère que mkdir n'est plus une statique et ne prend plus qu'un paramètre (bon par contre, je comprends pas l'intérêt d'avoir changé ça ?-( , m'enfin bon c'pô grave)

le truc pas cool c'est que j'appelle ma variable de retour bErreur et c'est complètement idiot vu que son utilisation voudrait plutôt qu'elle s'appelle bSuccess (histoire d'être logique dans le raisonnement).



------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Poste le Monday 26 November 2007 20:35:29
Répondre     Citer    
Re: qt mkdir
Envoyé par: Garth

lol oui désolé pour le déterrage!
Donc ma fonction est bonne!
En tout cas merci d'avoir regarder!
a+
Sylvain

Poste le Tuesday 27 November 2007 22:59:57
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
qt mkdir
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons