IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Retour au début


Sujet :

WinDev

  1. #21
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Citation Envoyé par Nathalie35000 Voir le message
    Mais ce qu'avec votre idée il est possible d'avoir.

    1 er enregistrement, enregistre sous 1.wav
    2 eme enregistrement, enregistre sous 2.wav
    3 eme enregistrement, enregistre sous 3.wav
    4 eme enregistrement, enregistre sous 4.wav
    5 eme enregistrement, enregistre sous 5.wav
    6 eme enregistrement, enregistre sous 6.wav
    boucle

    Mais la je vois pas trop comment concevoir ça
    Au hasard, vu que c'est une boucle, avec un simple compteur ?

  2. #22
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    un simple compteur c'est plus simple
    maintenant si 6 compteurs ne causent pas de soucis....

  3. #23
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    S'il faut lancer 6 threads en parallèle et assurer l'unicité du nom du fichier, je vois deux solutions pour le compteur:
    1. Une variable globale, et l'incrémentation est dans une section critique
    2. Une classe, et une instance globale au projet. La propriété qui renvoie la valeur du compteur doit aussi inclure une section critique

    Je préfère la deuxième solution, car la gestion du compteur est entièrement dévolue à la classe. D'ailleurs on peut directement lui confier la génération du nom du fichier.
    Et si on veux vraiment tout assurer, il faut utiliser un singleton (constructeur privé, instanciation via une méthode globale, toussa...)

    Tatayo.

  4. #24
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    oula sa devient compliqué tout ça

    si je comprends bien, dans la partie projet (là ou je vois toutes mes fenêtres et FI) je créé

    une class
    une procédure globale ? (un comteur de 0 à 60 sec et codes pour les enregistrements ?)

  5. #25
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Il doit me manquer une info, car je ne comprends pas la question.

    Tatayo.

  6. #26
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    pour faire la solution 2 , celle que vous pensez être la mieux

  7. #27
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    En fait ce n'est pas bien compliqué.
    On commence par déclarer une classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Compteur est une Classe
    PRIVÉ
    	m_nValeur est un entier
    GLOBAL PRIVÉ
    	mg_nDerniereValeur est un entier
    FIN
    Ensuite il faut une méthode globale privée pour incrémenter le compteur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PROCEDURE PRIVÉE GLOBALE Incremente()
    ::mg_nDerniereValeur++
    RENVOYER ::mg_nDerniereValeur
    Ensuite une propriété publique pour récupérer la valeur du compteur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    PROCEDURE p_nValeur()
    SectionCritiqueDébut()
    :m_nValeur = ::Incremente()
    SectionCritiqueFin()
     
    RENVOYER :m_nValeur
    Ensuite l'utilisation est simple: il suffit d'instancier autant de compteur que nécessaire (un dans l'init du projet, ou un dans chaque procédure qui en a besoin), puis de récupérer la valeur ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    clMonCompteur est un compteur
    nMaValeur est un entier
     
    nMaValeur = clMonCompteur:p_nValeur
    A chaque interrogation de p_nValeur, la valeur sera incrémentée de 1. Comme le compteur interne est global, il est partagé par toutes les instances de la classe Compteur, et "survie" même si toutes les instances sont libérées. De plus, comme l'incrémentation de cette valeur est dans une section critique, deux instances distinctes ne peuvent pas récupérer la même valeur.
    La propriété étant en lecture seule et les deux membres privés, la valeur ne peut pas être modifiée en dehors de la classe.

    Tatayo.

  8. #28
    Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    Projet EXPRESS_S Classe1

    Déclaration de Classe1
    Compteur est une Classe
    PRIVÉ
    m_nValeur est un entier
    GLOBAL PRIVÉ
    mg_nDerniereValeur est un entier
    FIN

    Récupération de la propriété p_nValeur
    PROCEDURE p_nValeur()
    SectionCritiqueDébut()
    :m_nValeur = ::Incremente()
    SectionCritiqueFin()
    RENVOYER :m_nValeur

    Constructeur
    PROCEDURE Constructeur()

    Destructeur
    PROCEDURE Destructeur()

    Méthode Incremente
    PROCEDURE PRIVÉE GLOBALE Incremente()
    ::mg_nDerniereValeur++
    RENVOYER ::mg_nDerniereValeur
    mais du coup ce compteur, il est infini non et cela suppose que je dois interroger la valeur du compteur toutes les sec ?

    et pour les temps de 10 sec, vous aviez vu ça sous forme de conditions ?
    ex:

    si nMaValeur = 1 Alors

    //Enregistrement

    si nValeur = 10 ALORS

    Stop enregistrement et Fermer

    FIN

    C'est comme ça que vous l'aviez imaginé ?

  9. #29
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Il ne faut pas tout mélanger !
    La classe que j'ai indiquée répond à la question: "comment avoir des noms de fichiers différents". Il faut l'interroger quand on veut une valeur unique.
    Pour compter les secondes dans une boucle et faire avancer une jauge, une simple variable suffit.

    Tatayo.

Discussions similaires

  1. Retour en début de page non souhaité
    Par lucazzo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/01/2013, 18h07
  2. [Débutant] Non retour en début de page
    Par lucazzo dans le forum ASP.NET
    Réponses: 5
    Dernier message: 10/01/2013, 09h40
  3. Encodage et retour en début de ligne
    Par amoiraud dans le forum Eclipse PHP
    Réponses: 1
    Dernier message: 11/12/2009, 16h53
  4. Retour au début du texte
    Par la vouivre dans le forum VBA Word
    Réponses: 4
    Dernier message: 09/07/2008, 14h45
  5. Retour en début de fichier
    Par soda_o_rat dans le forum C++
    Réponses: 9
    Dernier message: 05/08/2005, 01h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo