Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.sys.mac.programmation > #2741

de plus il me semble Re: Gestion des Crédits 1.8.0 (Finale)

From Prime <prime@meta-science.fr>
Newsgroups fr.comp.sys.mac.programmation
Subject de plus il me semble Re: Gestion des Crédits 1.8.0 (Finale)
Date 2025-01-26 20:50 +0000
Organization www.meta-science.fr
Message-ID <5353128b7dc3bf41bff35634eb592fc0cf763552@i2pn2.org> (permalink)
References (1 earlier) <92683406cfd09d93b3ffba301bad013218eac1d9@i2pn2.org> <vn2qnb$2qu38$5@dont-email.me> <6796583c$0$16846$426a74cc@news.free.fr> <9f641bb4a515a61de9a9097ff6d178a5e5c1fafe@i2pn2.org> <vn666t$3itm$2@dont-email.me>

Show all headers | View raw


Le dimanche 26 janvier 2025 à 21:33 , Laika, S'est exprimé : 

> Le 26/01/25 à 16:56, Prime a écrit :
>
> ok j'ai vérifié ton programme c'est pas mal, mais le contrôle des 
> entrées est faible comme par exemple pour les dates, et quelques 
> fonctions redondantes pourraient ralentir l'ensemble en cas de gros 
> volume, alors voici mon corrigé:
>
>
> Points d'optimisation appliqués :
> Réduction des appels redondants : Les appels à des fonctions comme 
> Window1.AutoProchaineOpération sont effectués une seule fois et stockés 
> dans des variables.
> Réduction des manipulations inutiles de texte : Les conversions de texte 
> et valeurs numériques sont effectuées une fois et réutilisées.
> Réduction des boucles inutiles : La mise à jour des alignements des 
> cellules est effectuée une seule fois après les modifications dans ListBox1.
> Réduction des opérations sur l'interface utilisateur : Les mises à jour 
> de l'interface sont centralisées et les champs sont réinitialisés en une 
> seule fonction EnableInputs.

Merci c'est gentille mais inutile, on ne remplace pas un code qui
fonctionne que on as écrit nous même par un autre code le notre modifié
que on ne sais pas si il c'est glissé des erreurs que on n'a pas écrit,
de plus tu parle de redondances peut être que ça me permet de bien
comprendre mon code vu que tu as remarqué je ne commente quasi jamais le
code, je le relis a chaque fois comme si je lisait un bouquin, ça plus de
temps mais ça entraine a codé pour la suite.

de plus il me semble que tu n'as pas compris la complexité de ce code, il
dépend d'une interface qui fait elle même des vérifications des données,
ce n'est pas un programme en un seul code comme le basic, mais un
programme en objets, ce code que j'ai dévoilé est une partie du code pas
tous le code, donc ce serait risqué pour moi de remplacer mon code qui
fonctionne par ton code qui peux ne pas prendre en compte tout les
paramètres de la fenêtre ou est logé le code de ce bouton, c'est le code
de un bouton, je te montre la fenêtre ou ce trouvez le bouton de ce code :

<https://www.dropbox.com/scl/fi/a1kbza9vun46v664ld0gu/Capture-d-cran-2025-01-26-21.47.42.jpg?rlkey=nlkwltw7kiimairqvneopz9og&dl=0>

Tu vois le petit texte en vert "valide" si ce n'est pas valide donc en
rouge "non valide" alors le bouton n'est pas actif on ne peux pas cliquer
dessus ? la date et heure sont vérifié en amont alors pourquoi je le
ferais dans le bouton dont j'ai dévoilé le code ?

tu ne peux pas intervenir sur ce code tu n'as pas les autre partie de
l'application.

mais merci quand même pour la peine inutile que tu tes donnée./

>
>
> // On commence par réécrire la section où nous ajoutons un automatisme
> If me.Caption = "Ajouter Cette Automatisme" Then
>    // Initialiser les variables
>    Dim dateetheurecell As Date
>    dateetheurecell = New Date
>
>    // Charger les valeurs des TextFields
>    Dim year As Integer = Val(TextField3.Text)
>    Dim month As Integer = Val(TextField2.Text)
>    Dim day As Integer = Val(TextField1.Text)
>    Dim hour As Integer = Val(TextField4.Text)
>    Dim minute As Integer = Val(TextField5.Text)
>    Dim second As Integer = Val(TextField6.Text)
>
>    // Définir la date et l'heure
>    dateetheurecell.Year = year
>    dateetheurecell.Month = month
>    dateetheurecell.Day = day
>    dateetheurecell.Hour = hour
>    dateetheurecell.Minute = minute
>    dateetheurecell.Second = second
>
>    // Ajouter une ligne dans la ListBox
>    ListBox1.AddRow
>    Dim dateStr As String = Str(dateetheurecell.TotalSeconds, 
> "00000000000000000000000")
>    ListBox1.Cell(ListBox1.LastRowIndex, 0) = dateStr
>
>    // Mettre à jour la cellule de la date/heure abrégée
>    Dim dateAbbr As String = NomJourAbrégé(dateetheurecell) + " " + 
> dateetheurecell.AbbreviatedDate + " - " + dateetheurecell.LongTime
>    ListBox1.Cell(ListBox1.LastRowIndex, 1) = dateAbbr
>
>    // Afficher la fenêtre de génération
>    GénérerUnePremiereOpérationDateDeDebut.Visible = True
>    GénérerUnePremiereOpérationDateDeDebut.ShowModal
>
>    If ValeurGénérerUnePremiereOpérationDateDeDebut = "OUI" Then
>      ListBox1.Cell(ListBox1.LastRowIndex, 2) = Str(dateetheurecell, 
> "00000000000000000000000")
>      ListBox1.Cell(ListBox1.LastRowIndex, 3) = dateAbbr
>    Else
>      Dim nextOp As Date = 
> Window1.AutoProchaineOpération(dateetheurecell, Val(TextField8.Text), 
> PopupMenu1.SelectedRowIndex)
>      ListBox1.Cell(ListBox1.LastRowIndex, 2) = Str(nextOp.TotalSeconds, 
> "00000000000000000000000")
>      ListBox1.Cell(ListBox1.LastRowIndex, 3) = NomJourAbrégé(nextOp) + " 
> " + nextOp.AbbreviatedDate + " - " + nextOp.LongTime
>    End If
>
>    ' Mise à jour du champ TextField7 avec une conversion de format
>    TextField7.Text = Str(Val(TextField7.Text.Replace(",", ".")), "-#0.00")
>    ListBox1.Cell(ListBox1.LastRowIndex, 4) = Str(Val(TextField7.Text), 
> "-#0.00")
>
>    ' Mise à jour du statut de la case à cocher et du bouton radio
>    ListBox1.Cell(ListBox1.LastRowIndex, 5) = If(RadioButton1.Value, "X", "")
>    ListBox1.Cell(ListBox1.LastRowIndex, 6) = Str(Val(TextField8.Text), "0")
>    ListBox1.Cell(ListBox1.LastRowIndex, 7) = 
> Str(PopupMenu1.SelectedRowIndex)
>
>    If CheckBox1.Value Then
>      ListBox1.Cell(ListBox1.LastRowIndex, 8) = "Suspendre"
>      ListBox1.Cell(ListBox1.LastRowIndex, 3) = "Suspendu"
>    Else
>      ListBox1.Cell(ListBox1.LastRowIndex, 8) = ""
>    End If
>
>    // Appel à la fonction TousLes
>    ListBox1.Cell(ListBox1.LastRowIndex, 9) = 
> TousLes(Val(ListBox1.Cell(ListBox1.LastRowIndex, 6)), 
> Val(ListBox1.Cell(ListBox1.LastRowIndex, 7)))
>
>    // Réinitialisation des champs de saisie
>    TextField3.Text = ""
>    TextField2.Text = ""
>    TextField1.Text = ""
>    TextField4.Text = ""
>    TextField5.Text = ""
>    TextField6.Text = ""
>
>    // Réinitialisation de l'interface
>    EnableInputs(True)
>
>    ' Mise à jour de l'alignement des cellules
>    For i As Integer = 0 To ListBox1.RowCount - 1
>      ListBox1.CellAlignmentAt(i, 1) = ListBox.Alignments.Center
>      ListBox1.CellAlignmentAt(i, 3) = ListBox.Alignments.Center
>      ListBox1.CellAlignmentAt(i, 4) = ListBox.Alignments.Right
>    Next
> End If
>
>
> // Réécriture pour la modification d'un automatisme
> If me.Caption = "Modifier Cette Automatisme" Then
>    Dim dateetheurecell As Date
>    dateetheurecell = New Date
>
>    // Récupération des valeurs de la date et de l'heure
>    dateetheurecell.Year = Val(TextField3.Text)
>    dateetheurecell.Month = Val(TextField2.Text)
>    dateetheurecell.Day = Val(TextField1.Text)
>    dateetheurecell.Hour = Val(TextField4.Text)
>    dateetheurecell.Minute = Val(TextField5.Text)
>    dateetheurecell.Second = Val(TextField6.Text)
>
>    Dim SautePeriode As Boolean = False
>
>    // Vérification de l'état de la case à cocher
>    If CheckBox1.Value = False And 
> ListBox1.Cell(ListBox1.SelectedRowIndex, 8) = "Suspendre" Then
>      SautePeriode = True
>      SautePeriodeAuto.Visible = True
>      SautePeriodeAuto.ShowModal
>      Dim DateCourente As Date = New Date
>      Dim DateAVérifier As Date
>      DateAVérifier.TotalSeconds = 
> Val(ListBox1.Cell(ListBox1.SelectedRowIndex, 2))
>
>      If SauteChangementPeriodeAuto = "Prochain Crénaux" Then
>        Dim compteur As Integer
>        For compteur = 0 To 2000
>          If DateAVérifier.TotalSeconds < DateCourente.TotalSeconds Then
>            Dim nextOp As Date = 
> Window1.AutoProchaineOpération(DateAVérifier, Val(TextField8.Text), 
> PopupMenu1.SelectedRowIndex)
>            ListBox1.Cell(ListBox1.SelectedRowIndex, 2) = 
> Str(nextOp.TotalSeconds, "00000000000000000000000")
>            DateAVérifier.TotalSeconds = nextOp.TotalSeconds
>          Else
>            ListBox1.Cell(ListBox1.SelectedRowIndex, 2) = 
> Str(DateAVérifier.TotalSeconds, "00000000000000000000000")
>            ListBox1.Cell(ListBox1.SelectedRowIndex, 3) = 
> NomJourAbrégé(DateAVérifier) + " " + DateAVérifier.AbbreviatedDate + " - 
> " + DateAVérifier.LongTime
>            Exit
>          End If
>        Next
>      Else
>        ListBox1.Cell(ListBox1.SelectedRowIndex, 2) = 
> Str(DateAVérifier.TotalSeconds, "00000000000000000000000")
>        ListBox1.Cell(ListBox1.SelectedRowIndex, 3) = 
> NomJourAbrégé(DateAVérifier) + " " + DateAVérifier.AbbreviatedDate + " - 
> " + DateAVérifier.LongTime
>      End If
>    End If
>
>    ' Modification des périodes automatiques
>    If SautePeriode = False And CheckBox1.Value = False Then
>      If ListBox1.Cell(ListBox1.SelectedRowIndex, 6) <> 
> Str(Val(TextField8.Text), "0") Or 
> ListBox1.Cell(ListBox1.SelectedRowIndex, 7) <> 
> Str(PopupMenu1.SelectedRowIndex) Then
>        ChangementPeriodeAuto.Visible = True
>        ChangementPeriodeAuto.ShowModal
>        If ValeurChangementPeriodeAuto = "Maintenant" Then
>          Dim datemaintenant As Date = New Date
>          Dim nextOp As Date = 
> Window1.AutoProchaineOpération(datemaintenant, Val(TextField8.Text), 
> PopupMenu1.SelectedRowIndex)
>          ListBox1.Cell(ListBox1.SelectedRowIndex, 2) = 
> Str(nextOp.TotalSeconds, "00000000000000000000000")
>          ListBox1.Cell(ListBox1.SelectedRowIndex, 3) = 
> NomJourAbrégé(nextOp) + " " + nextOp.AbbreviatedDate + " - " + 
> nextOp.LongTime
>        End If
>      End If
>    End If
>
>    ' Réinitialisation des champs TextField
>    ListBox1.Cell(ListBox1.SelectedRowIndex, 6) = 
> Str(Val(TextField8.Text), "0")
>    ListBox1.Cell(ListBox1.SelectedRowIndex, 7) = 
> Str(PopupMenu1.SelectedRowIndex)
>
>    ' Mise à jour du TextField7 et ListBox1
>    TextField7.Text = Str(Val(TextField7.Text.Replace(",", ".")), "-#0.00")
>    ListBox1.Cell(ListBox1.SelectedRowIndex, 4) = 
> Str(Val(TextField7.Text), "-#0.00")
>
>    ' Mise à jour de la case à cocher
>    If CheckBox1.Value Then
>      ListBox1.Cell(ListBox1.SelectedRowIndex, 8) = "Suspendre"
>      ListBox1.Cell(ListBox1.SelectedRowIndex, 3) = "Suspendu"
>    Else
>      ListBox1.Cell(ListBox1.SelectedRowIndex, 8) = ""
>    End If
>
>    // Mise à jour du bouton radio
>    ListBox1.Cell(ListBox1.SelectedRowIndex, 5) = If(RadioButton1.Value, 
> "X", "")
>
>    // Appel à la fonction TousLes
>    ListBox1.Cell(ListBox1.SelectedRowIndex, 9) = 
> TousLes(Val(ListBox1.Cell(ListBox1.SelectedRowIndex, 6)), 
> Val(ListBox1.Cell(ListBox1.SelectedRowIndex, 7)))
>
>    // Mise à jour de l'alignement des cellules
>    For i As Integer = 0 To ListBox1.RowCount - 1
>      ListBox1.CellAlignmentAt(i, 1) = ListBox.Alignments.Center
>      ListBox1.CellAlignmentAt(i, 3) = ListBox.Alignments.Center
>      ListBox1.CellAlignmentAt(i, 4) = ListBox.Alignments.Right
>    Next
> End If
>
> // Réinitialisation pour "Nouvel Automatisme"
> If me.Caption = "Nouvel Automatisme" Then
>    TextField3.Text = ""
>    TextField2.Text = ""
>    TextField1.Text = ""
>    TextField4.Text = ""
>    TextField5.Text = ""
>    TextField6.Text = ""
>
>    EnableInputs(True)
>
>    TextField7.Text = ""
>    RadioButton1.Value = False
>    TextField8.Text = "1"
>    PopupMenu1.SelectedRowIndex = 0
>    CheckBox1.Value = False
>    ListBox1.SelectedRowIndex = -1
> End If
>
>
> // Fonction pour réactiver les champs de saisie
> Sub EnableInputs(enabled As Boolean)
>    TextField3.Enabled = enabled
>    TextField2.Enabled = enabled
>    TextField1.Enabled = enabled
>    TextField4.Enabled = enabled
>    TextField5.Enabled = enabled
>    TextField6.Enabled = enabled
>    Button1.Enabled = enabled
> End Sub

-- 
  \ /    Croire c'est le contraire de savoir,
-- o --  si j'y crois, je ne sais pas,
  / \    si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout...

"Les grands esprits discutent des idées ; les esprits moyens discutent
des événements ; les petits esprits discutent des gens." (Eleanor Roosevelt)

Ma Fiche Mon Site Voyance (MSV) : <https://miniurl.be/r-5lsx>

Dossier DropBox pour voir des documents : <https://urlz.fr/rK5L>

Le Troll(19) : <https://miniurl.be/r-5rzl>

Comme le forgerons qui bat le fer pour obtenir une Épée, j'obtient
toujours un résultat final, même si ça met des années, je sais que ce que
je fait ce n'est pas pour rien./ (C)

Loi 636 :

Il est mal que le mal fasse du mal au bien.
Il est bien que le mal fasse du mal au mal.
Il est bien que le bien fasse du bien au bien.
Il est bien que le mal fasse du bien au bien.
Il est mal que le mal fasse du bien au mal.
Il est mal que le bien fasse du bien au mal.

Il est bien que le mal s’entre-tue.

Back to fr.comp.sys.mac.programmation | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Gestion des Crédits 1.8.0 (En développement) Prime <prime@meta-science.fr> - 2025-01-24 09:52 +0000
  Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-24 14:51 +0000
    Re: Gestion des Crédits 1.8.0 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-25 14:59 +0100
      Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-25 20:41 +0000
      Re: Gestion des Crédits 1.8.0 (Finale) kurtz le pirate <kurtzlepirate@free.fr> - 2025-01-26 16:43 +0100
        Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 15:56 +0000
          Re: Gestion des Crédits 1.8.0 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-26 17:10 +0100
            Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 16:16 +0000
            Re: Gestion des Crédits 1.8.0 (Finale) kurtz le pirate <kurtzlepirate@free.fr> - 2025-01-26 19:21 +0100
              Re: Gestion des Crédits 1.8.0 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-26 21:06 +0100
                Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 20:38 +0000
          Re: Gestion des Crédits 1.8.0 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-26 21:33 +0100
            de plus il me semble Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 20:50 +0000
              Re: de plus il me semble Re: Gestion des Crédits 1.8.0 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-27 00:31 +0100
            Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 21:32 +0000
              Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 22:06 +0000
                Re: Gestion des Crédits 1.8.0 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-27 01:49 +0100
              Re: Gestion des Crédits 1.8.0 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-27 01:48 +0100
        Re: Gestion des Crédits 1.8.0 (Finale) DV <dv@reply-to.not.invalid> - 2025-01-26 16:06 +0000
    Re: Gestion des Crédits 1.8.1 (Finale) Prime <prime@meta-science.fr> - 2025-01-25 16:58 +0000
      Le Nom est Trompeur (Re: Gestion des Crédits 1.8.1 (Finale) Prime <prime@meta-science.fr> - 2025-01-25 22:29 +0000
      Re: Gestion des Crédits 1.8.1 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 12:07 +0000
        Re: Gestion des Crédits 1.8.1 (Finale) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-26 17:06 +0100
          Re: Gestion des Crédits 1.8.1 (Finale) Benoît L. <benoit@leraillez.com.invalid> - 2025-01-26 17:33 +0000
            Re: Gestion des Crédits 1.8.1 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 18:59 +0000
              Re: Gestion des voyelles Laika <nestorlambda@not-for-mail.invalid> - 2025-01-26 21:00 +0100
                Re: Gestion des voyelles Prime <prime@meta-science.fr> - 2025-01-26 20:36 +0000
              Re: Gestion des Crédits 1.8.2 (Finale) Prime <prime@meta-science.fr> - 2025-01-27 12:23 +0000
                Re: Gestion des Crédits 1.8.2 (Finale) Prime <prime@meta-science.fr> - 2025-01-27 16:37 +0000
                Gestion des Crédits 1.8.3 (Finale) Prime <prime@meta-science.fr> - 2025-01-29 14:44 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Prime <prime@meta-science.fr> - 2025-01-29 14:49 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) DuboisP <patrickr.dubois.don't.spam@free.fr.invalid> - 2025-01-29 17:10 +0100
                Re: Gestion des Crédits 1.8.3 (Finale) Prime <prime@meta-science.fr> - 2025-01-29 16:20 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Prime <prime@meta-science.fr> - 2025-01-29 20:44 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) "Benoît L." <benoit@leraillez.com.invalid> - 2025-01-29 21:07 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Ray_Net <Ray_Net@picarre.be.invalid> - 2025-01-29 22:06 +0100
                Re: Gestion des Crédits 1.8.3 (Finale) "Benoît L." <benoit@leraillez.com.invalid> - 2025-01-29 21:13 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Prime <prime@meta-science.fr> - 2025-01-29 21:25 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Duzz' <jsuis@jreste.invalid> - 2025-01-29 23:34 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Duzz' <jsuis@jreste.invalid> - 2025-01-29 23:40 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) "M.V." <mv@gmail.com.invalid> - 2025-01-30 10:52 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Duzz' <jsuis@jreste.invalid> - 2025-01-30 10:55 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Prime <prime@meta-science.fr> - 2025-01-31 13:42 +0000
                Niveaux de citations ridicules (was: Gestion des Crédits 1.8.3 (Finale)) "M.V." <mv@gmail.com.invalid> - 2025-01-31 15:28 +0000
                Re: Gestion des Crédits 1.8.3 (Finale) Prime <prime@meta-science.fr> - 2025-01-31 15:29 +0000
    Re: Gestion des Crédits 1.8.0 (Finale) JACQUOUILLE14 <yojj.jean@free.fr> - 2025-01-26 09:17 +0100
      Re: Gestion des Crédits 1.8.0 (Finale) Prime <prime@meta-science.fr> - 2025-01-26 12:10 +0000
  Re: Gestion des Crédits 1.8.0 (En développement) Laika <nestorlambda@not-for-mail.invalid> - 2025-01-25 15:01 +0100
    Re: Gestion des Crédits 1.8.0 (En développement) Prime <prime@meta-science.fr> - 2025-01-25 20:47 +0000

csiph-web