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

VB.NET Discussion :

résultat d'une procédure appelée


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut résultat d'une procédure appelée
    'appel procédure calcul
    Call calcul(resultatcalculrow, frmEmballage.txtLong.Text, frmEmballage.txtLarg.Text, frmEmballage.txtEp.Text, cartonRow, intercalaireRow)

    'appel procédure calcul avec longueur et largeur séparateur inversée
    Call calcul(resultatcalculrow2, frmEmballage.txtLarg.Text, frmEmballage.txtLong.Text, frmEmballage.txtEp.Text, cartonRow, intercalaireRow)

    'recherche de la valeur la moins chère afin de l'insérer dans coutTotalMetre de la table ResultatCalcul
    if
    'je dois pouvoir récupérer les valeur des 2 lignes de procédures séparément afin de pouvoir les comparer ... et là ... je nage ...
    end if

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    C'est quoi ? Du VB ? du VB.NET ? du C# ? du VBA ?

  3. #3
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut
    vb net

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut
    Peux-tu exprimer ton probleme de facon plus claire ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Par défaut
    les procedures ne renvoient rien. si tu veux un resultat, utilise une fonction avec un type de retour

  6. #6
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut
    les valeurs résultant des appels de la procédure doivent pouvoir être récupérées afin d'être en mesure de les comparer

  7. #7
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut
    l'appel est effectué ds une fonction

  8. #8
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    utiliser byref pour des types non objet


    public sub test(byref a as string)
    a = "val2"
    end sub


    appel :

    dim a as string = "val1"
    test(a)
    'a est normalement egal à "val2" maintenant
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par cpattin
    'appel procédure calcul
    Call calcul(resultatcalculrow, frmEmballage.txtLong.Text, frmEmballage.txtLarg.Text, frmEmballage.txtEp.Text, cartonRow, intercalaireRow)

    'appel procédure calcul avec longueur et largeur séparateur inversée
    Call calcul(resultatcalculrow2, frmEmballage.txtLarg.Text, frmEmballage.txtLong.Text, frmEmballage.txtEp.Text, cartonRow, intercalaireRow)

    'recherche de la valeur la moins chère afin de l'insérer dans coutTotalMetre de la table ResultatCalcul
    if
    'je dois pouvoir récupérer les valeur des 2 lignes de procédures séparément afin de pouvoir les comparer ... et là ... je nage ...
    end if
    C'est pas très clair mais créés des fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    'exemple bidon de fonction
    Private Function Test(ByVal Arguments as String) As Integer 
       'cette fonction va te retourner un integer
       Dim Nombre as integer = Cint(Arguments)
       Return Nombre
    End Function
    Pour l'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Var as Integer = Test("12") 'donc Var va contenir la valeur 12 en integer
    Cdl
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  10. #10
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut
    jpeux difficilement être plus claire


    Public Class calculClass

    Public Function résultatCalculs(ByVal longueurSep As System.Double, ByVal largeurSep As System.Double, ByVal epaisseurSep As System.Double) As Emballage_DS.ResultatCalculDataTable

    Dim dt As New Emballage_DS.ResultatCalculDataTable
    Dim dsParam As New Emballage_DS
    résultatCalculs(frmEmballage.txtLong.Text, frmEmballage.txtLarg.Text, frmEmballage.txtEp.Text)
    dsParam.ReadXml("F:\dotnet\paramDatas.xml")

    For Each cartonRow As Emballage_DS.CartonsRow In dsParam.Cartons.Rows

    For Each intercalaireRow As Emballage_DS.IntercalairesRow In dsParam.Intercalaires.Rows

    Dim resultatcalculrow As Emballage_DS.ResultatCalculRow = dt.NewResultatCalculRow
    Dim resultatcalculrow2 As Emballage_DS.ResultatCalculRow = dt.NewResultatCalculRow

    dt.AddResultatCalculRow(resultatcalculrow)
    dt.AddResultatCalculRow(resultatcalculrow2)

    'appel procédure calcul
    Call calcul(resultatcalculrow, frmEmballage.txtLong.Text, frmEmballage.txtLarg.Text, frmEmballage.txtEp.Text, cartonRow, intercalaireRow)

    'appel procédure calcul avec longueur et largeur séparateur inversée
    Call calcul(resultatcalculrow2, frmEmballage.txtLarg.Text, frmEmballage.txtLong.Text, frmEmballage.txtEp.Text, cartonRow, intercalaireRow)

    'recherche de la valeur la moins chère afin de l'insérer dans coutTotalMetre de la table ResultatCalcul
    If
    '
    '
    '
    End If
    Next
    Next
    Return
    dt

    End Function





    Public Sub calcul(ByRef resultatcalculrow As Emballage_DS.ResultatCalculRow, ByVal longueurSep As System.Double, ByVal largeurSep As System.Double, ByVal epaisseurSep As System.Double, ByVal Cartons As Emballage_DS.CartonsRow, ByVal Intercalaires As Emballage_DS.IntercalairesRow)

    longueurSep = frmEmballage.txtLong.Text
    largeurSep = frmEmballage.txtLarg.Text
    epaisseurSep = frmEmballage.txtEp.Text

    Dim cartonRow As Emballage_DS.CartonsRow
    Dim intercalaireRow As Emballage_DS.IntercalairesRow
    Dim loLibre, laLibre, nbIntHor, nbIntVer, nbIntLibreLo, nbIntLibreLa, nbIntTotal As System.Double
    Dim sensIntercalaire As System.Double
    Dim demiInt As System.Boolean

    'nb de séparateurs en longueur
    Dim nbSepLo As System.Double = Decimal.Truncate((cartonRow.longueur - My.Settings.paramJeu) / longueurSep)

    'nb de séparateurs en largeur
    Dim nbSepLa As System.Double = Decimal.Truncate((cartonRow.largeur - My.Settings.paramJeu) / largeurSep)

    'nb de séparateurs en hauteur
    Dim nbSepHaut As System.Double = Decimal.Truncate((cartonRow.epaisseur - My.Settings.paramJeu) / epaisseurSep)

    Do

    'espace libre en longueur
    loLibre = (cartonRow.longueur - My.Settings.paramJeu) - (nbSepLo * longueurSep) - ((nbSepLo - 1) - intercalaireRow.epaisseur)

    'espace libre en largeur
    laLibre = (cartonRow.largeur - My.Settings.paramJeu) - (nbSepLa * largeurSep) - ((nbSepLa - 1) - intercalaireRow.epaisseur)

    If loLibre < 0 Then
    nbSepLo -= 1
    End If

    If laLibre < 0 Then
    nbSepLa -= 1
    End If

    Loop While loLibre < 0 And laLibre < 0

    'sens de disposition de l'intercalaire
    If intercalaireRow.longueur > cartonRow.epaisseur Then
    sensIntercalaire = intercalaireRow.longueur

    'nb d'intercalaires horizontaux à mettre selon le sens de disposition
    nbIntHor = Decimal.Truncate(cartonRow.longueur - My.Settings.paramJeu) / sensIntercalaire

    Else

    sensIntercalaire = intercalaireRow.largeur
    'nb d'intercalaires verticaux à mettre
    nbIntVer = Decimal.Truncate(cartonRow.largeur - My.Settings.paramJeu) / sensIntercalaire

    End If

    'demi intercalaire pour séparer le séparateur en longueur ou non
    If sensIntercalaire > largeurSep Then
    demiInt = True
    Else
    demiInt = False
    End If

    'nb d'intercalaires à mettre ds l'espace libre en longueur
    nbIntLibreLo = Decimal.Truncate(loLibre / intercalaireRow.epaisseur)

    'nb d'intercalaires à mettre ds l'espace libre en largeur
    nbIntLibreLa = Decimal.Truncate(laLibre / intercalaireRow.epaisseur)
    'nb d'intercalaires totaux
    nbIntTotal = (nbIntLibreLo + nbSepLo - 1) * nbIntVer + (nbIntLibreLa + nbSepLa - 1) * nbIntHor

    End Sub

    End Class

  11. #11
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Salut,

    Utilise la balise code ([Code]....[\CODE]) please car je n'y vois rien !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  12. #12
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    tu ne t'y prends pas comme y faut
    efface tout et recommence en réfléchissant differrement
    des subs pour récupérer des données en passant des textbox.text c'est du nimp
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    En gros, y'a deux types majeurs de procédures :

    - Les Sub : qui ne retourne aucune valeur
    - Les Function : qui retourne une valeur de ton choix (Integer, String, Date...)

    Utilise cela et tu y arriveras sans doute
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le résultat d'une procédure stockée
    Par DanZzz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/11/2006, 22h08
  2. Problème de récup de résultats d'une procédure stockée
    Par an_merle dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 12/01/2006, 10h08
  3. Réponses: 5
    Dernier message: 30/06/2005, 10h28
  4. [SQL Server]Recupération du résultat d'une procédure stockée
    Par navis84 dans le forum Bases de données
    Réponses: 8
    Dernier message: 04/04/2005, 20h53
  5. [C#] Récupérer le résultat d'une procédure stockée
    Par fabrice1596 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/10/2004, 13h45

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