Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 333 sur 334 PremièrePremière ... 233283323325326327328329330331332333334 DernièreDernière
Affichage des résultats 9 961 à 9 990 sur 10008
  1. #9961
    Là c'est un exemple extrême, mais ça reflète pas mal le code. En même temps lorsque je me demande comment j'aurais fait en Java (pas ce bout de code, de manière générale), je pense que j'aurais introduit par habitude des framework et aussi des couches de complexité parfois inutile à force d'utiliser des structures de données et de découpage en couche. D'un côté du C simpliste (voir stupide) très linéaire de l'autre du Java avec une multitude de petits sous-systèmes et du code ventilé dans des méthodes de 5 lignes de code cachées par des interfaces...

    C'est un peu le grand écart, je vais devenir schizophrène à force

  2. #9962
    M'enfin indépendamment du langage, un programmeur doit savoir comment convertir un entier en chaîne formatée.
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  3. #9963
    Citation Envoyé par Tramb Voir le message
    M'enfin indépendamment du langage, un programmeur doit savoir comment convertir un entier en chaîne formatée.
    Surtout pour une liste d'entiers continue et finie.

  4. #9964
    Citation Envoyé par William Vaurien Voir le message
    A force de lire du code C de mon projet de vétérans des 90' (cf mes post d'il y a quelques mois ici), j'en arrive à trouver que des fois on se complique drôlement la vie en Java et que le (meta)code donne parfois la nausée, et que les préoccupations techniques viennent bien souvent empiéter sur les fonctionnalités.

    Heureusement apès je tombe sur des bouts de code qui me rappel que de toujours faire au plus simple n'est pas non plus toujours une bonne idée:
    Code:
    for (imois = 1; imois <= 12; imois++) 
    {
                    if (imois == 1)  strcpy (moisC, "01");
    		if (imois == 2)  strcpy (moisC, "02");
    		if (imois == 3)  strcpy (moisC, "03");
    		if (imois == 4)  strcpy (moisC, "04");
    		if (imois == 5)  strcpy (moisC, "05");
    		if (imois == 6)  strcpy (moisC, "06");
    		if (imois == 7)  strcpy (moisC, "07");
    		if (imois == 8)  strcpy (moisC, "08");
    		if (imois == 9)  strcpy (moisC, "09");
    		if (imois == 10) strcpy (moisC, "10");
    		if (imois == 11) strcpy (moisC, "11");
    		if (imois == 12) strcpy (moisC, "12");
    ...
    Heureusement qu'il n'y a que douze mois!

    Rien de bien méchant, mais ça reflète un code ultra KISS mais pas DRY... et qui en devient pénible à maintenir car chaque ligne 'business' est entouré par 10 lignes techniques...
    Pour moi, le code métier doit être isolé fortement par rapport au reste, ça évite des couplages forts qui sur le moyen/long terme deviennent ULTRA chiants, à maintenir.
    "Nobody exists on purpose. Nobody belongs anywhere. We're all going to die. Come watch TV." - Morty Smith

  5. #9965
    Surement old mais jerry
    Citation Envoyé par Colargol Voir le message
    Mais globalement l'ingenieur en France il bosse un peu a l'africaine: ca marche mais ca fait pas serieux

  6. #9966
    J'ai une petite question VBA sous Excel mais je ne suis pas sur d'être au bon endroit ...

    J'essai d'envoyer un mail en automatique mais il me refuse la balise .From .
    Est-ce que cela pourrait provenir de la références Outlook 15.0 ? Il me donne une erreur 438 Propriété ou méthode non gérée par cet objet.

  7. #9967
    Tu tentes d’utiliser de la programmation objet alors que ce n’est pas le lieu ?
    On dirait une erreur de syntaxe.
    une balle, un imp (Newstuff #491, Edge, Duke it out in Doom, John Romero, DoomeD again)
    Canard zizique : q 4, c, d, c, g, n , t-s, l, d, s, r, t, d, s, c, jv, c, g, b, p, b, m, c, 8 b, a, a-g, b, BOF, BOJV, c, c, c, c, e, e 80, e b, é, e, f, f, f, h r, i, J, j, m-u, m, m s, n, o, p, p-r, p, r, r r, r, r p, s, s d, t, t
    Canard lecture

  8. #9968
    Ben en fait je fais cela :

    Sub Mail_Tous()

    Dim Ol As Object, ObjItem As Object


    Set Ol = CreateObject("outlook.application")
    Set ObjItem = Ol.CreateItem(0)

    With ObjItem
    .to = "adresse@mail.fr"
    .From = "adresse@mail.com"
    .Subject = "Tableaux de bord hebdomadaire de l’activité globale du Centre De Services – Semaine " & Semc
    .Body = "Bonjour,"

    .Display
    End With

    Set Ol = Nothing

    End Sub


    Et je n'ai que le From qui bloque ...

  9. #9969
    C’est peut-être .from ?
    une balle, un imp (Newstuff #491, Edge, Duke it out in Doom, John Romero, DoomeD again)
    Canard zizique : q 4, c, d, c, g, n , t-s, l, d, s, r, t, d, s, c, jv, c, g, b, p, b, m, c, 8 b, a, a-g, b, BOF, BOJV, c, c, c, c, e, e 80, e b, é, e, f, f, f, h r, i, J, j, m-u, m, m s, n, o, p, p-r, p, r, r r, r, r p, s, s d, t, t
    Canard lecture

  10. #9970

  11. #9971
    Pour échapper à la folie avec mon code base en C tout moisi, j'ai fait un peu de Kotlin pour voir.
    C'est juste maintenant je vais encore être plus dégoutté de revenir au C de 1992 !

  12. #9972
    Coucou les copins,

    J'ai deux questions pour vous:

    1) Auriez-vous connaissance d'un "bon" parser CSV en C++? Ca en fait plusieurs que j'essaie dans les paquets debian standard ou bien dégottés sur sourceforge, et c'est un peu la zermi.

    2) Je vais réellement, cette fois-ci, me payer un bouquin de C++. J'hésite entre le dernier Soustrup pour caler un meuble et une éventuelle autre référence peut-être plus lightweight/pédagogique. Comme priorité me concernant, je mettrais l'accent sur les fonctionnalités relativement récentes de boost/c++11/14.

    Merci de vos réponses

  13. #9973
    Pour le bouquin : Effective Modern C++ de Scott Meyers.

    Sinon, fait toi les présentations CppCon sur youtube. Du contenu vraiment chouette (en anglais of course). Et si tu trouves ça trop simple, BoostCon un poil plus prise de tête.

  14. #9974
    1) Il doit y en avoir des tonnes sur github, mais pourquoi tu les trouves nazes ?
    2) Je dirais Effective Modern C++ de Scott Meyers, mais sinon tu as une liste extensive ici

  15. #9975
    Citation Envoyé par Silick Voir le message
    Ben en fait je fais cela :

    Sub Mail_Tous()

    Dim Ol As Object, ObjItem As Object


    Set Ol = CreateObject("outlook.application")
    Set ObjItem = Ol.CreateItem(0)

    With ObjItem
    .to = "adresse@mail.fr"
    .From = "adresse@mail.com"
    .Subject = "Tableaux de bord hebdomadaire de l’activité globale du Centre De Services – Semaine " & Semc
    .Body = "Bonjour,"

    .Display
    End With

    Set Ol = Nothing

    End Sub


    Et je n'ai que le From qui bloque ...
    Et avec SenderEmailAddress à la place de From ?
    https://msdn.microsoft.com/en-us/lib...m_members.aspx

  16. #9976
    Merci pour le lien, avec la doc c'est mieux.

    SenderEmailAddress est une propriété en lecture seule, mais tu peux changer le Sender, qui est un objet qui correspond à une identité d'un compte Outlook (serveur SMTP, paramètres d'authentification, etc.). Par défaut ça doit être Application.Session.CurrentUser.AddressEntry. Mais si tu as plusieurs comptes, tu dois pouvoir choisir celui que tu veux : https://msdn.microsoft.com/en-us/lib.../ff184599.aspx

  17. #9977
    Citation Envoyé par Sahnvour Voir le message
    1) Il doit y en avoir des tonnes sur github, mais pourquoi tu les trouves nazes ?
    2) Je dirais Effective Modern C++ de Scott Meyers, mais sinon tu as une liste extensive ici
    Ah, ben j'en ai trouvé d'autres en fait.
    C'est le troisième que j'utilise et qui est fait avec ses pieds, genre projet étudiant mal pensé qui finit dans les paquets debian, pépère.

    Merci pour la liste, mais effectivement je pense que je vais opter pour l'ami Meyers

  18. #9978
    L'ami Meyers c'est le meilleur !

  19. #9979
    Citation Envoyé par Tilt Voir le message
    L'ami Meyers c'est le meilleur !


    Je vais me laisser tenter également. En plus il est dispo en français !

  20. #9980
    Aloha à tous.

    Dites j'ai un petit soucis de programmation en C++ avec boost et les regex (je découvre en même temps), j'explique mon soucis :

    - Dans un premier temps je dois faire un programme qui se comporte comme une commande en ligne, c'est à dire executable plus les options qui suivent, et pour cela j'utilise :

    Code:
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[]) {
    
         return 0;
    }
    Je sais comment fonctionne argc et argv, sur ce point pas de soucis.

    Dans un second temps, je dois récuperer toutes les options dans un std::string, ce que je fait :

    Code:
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[]) {
         std::string buffer = "";
         for (int i = 1; i <argc; i++) {
              buffer.append(argv[i]);
              buffer.append(" ");
         }
         buffer.shrink_to_fit();
         return 0;
    }
    Avec ce code, il me met bien tout les options dans buffer, séparer par un espace.

    Maintenant viens le plus compliqué : Prenons un exemple, je veut taper par exemple hello.exe --world --poire --pomme et tester avec un regex si --poire est dans la liste. Pour ce faire j'ai tester :

    Code:
    #include <iostream>
    #include <boost/regex.hpp>
    
    using namespace std;
    
    int main(int argc, char *argv[]) {
         std::string buffer = "";
         boost::regex expr;
         for (int i = 1; i <argc; i++) {
              buffer.append(argv[i]);
              buffer.append(" ");
         }
         buffer.shrink_to_fit();
         expr.assign("--poire"); // Ici je met la regex, pas très compliqué vu que je cherche une chaine bien précise
         cout << boost::regex_match(buffer, expr) << endl; // la j'affiche 0 si pas trouvé et 1 si trouvé
         return 0;
    }
    Dans notre cas, le resultat est toujours 0 quelques soit les options données. La je coince un peu, j'ai repris l'exemple de la docs officiels qui elle marche. Je soupçonne ma regex mais sans etre sur.

    https://theboostcpplibraries.com/boost.regex

    Quelqu'un aurait une petite idée comment faire ?

    Merci d'avance.

  21. #9981
    Je pense que c'est dommage de folder la liste de const char* en une seule chaîne, tu perds de la sémantique et tu te compliques la vie.
    Ton OS et ton shell se sont fait chier pour te tokeniser ta ligne de commande.
    Itère sur les différents arguments et regarde ceux qui matchent ou pas.
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  22. #9982
    Citation Envoyé par Tramb Voir le message
    Je pense que c'est dommage de folder la liste de const char* en une seule chaîne, tu perds de la sémantique et tu te compliques la vie.
    Ton OS et ton shell se sont fait chier pour te tokeniser ta ligne de commande.
    Itère sur les différents arguments et regarde ceux qui matchent ou pas.
    Oui ca peut etre la solution. Vais tester. Mais va quand même falloir que je passe par un regex car mon prog devrait prendre un format de ce type :

    --out:chemin_de_la_sortie_variable
    Auquel cas il faudra que je recupère tout ce qui a après --out:. Mais bon je vais déjà tester ta solution.

  23. #9983
    En supposant que les regex boost sont les mêmes que les regex C++11. regex_match retourne vrai si la chaine entière correspond à l'expression régulière. Ce que tu veux c'est regex_search.

    Mais comme dit Tramb, ça ne semble pas être la bonne solution à ton problème. Itérer sur le tableau et comparer les chaines sera plus simple et plus juste (regex_search retournera vrai si un argument est "nimportequoi--poirenimportequoi").

    PS: Sinon, getopt_long est ton ami, si tu y as accès.
    Dernière modification par Cwningen ; 19/08/2017 à 13h41.

  24. #9984
    Quitte à utiliser Boost, tu peux carrément utiliser program_options
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  25. #9985
    J'allais poser la question: "Y'a pas carrément une lib, ou une lib boost pour parser proprement les arguments?"

    Donc, oui probable et oui, visiblement

  26. #9986
    Je prend note de tout cela et vais sans doute encore passer mon week a etudier tout cela Merci à tous.

  27. #9987
    Hello ,bon pour la 2ème fois je ne trouve plus le passe de mon HDD samsung D3 pour ceux qui connaissent "Portable SecretZone" j' ai repéré avec Ollydbg les fonctions Mount ,invalid key, no key, etc sans comprendre les multiples MOV et PUSH , connaissez vous un site de tutos gratuits ou mieux.

  28. #9988
    Je ne connais pas "Portable SecretZone" mais si c'est bien fait niveau cryptographique (assez probable si c'est Samsung), c'est pas reverser l'algorithme qui va te permettre de retrouver ta clé.
    Tu peux donc dire au revoir à tes données
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  29. #9989
    Si jamais je peux y croiser un canard, je serais à dotGo : https://dotgo.eu
    "Nobody exists on purpose. Nobody belongs anywhere. We're all going to die. Come watch TV." - Morty Smith

  30. #9990
    Ok merci pour la réponse et je me réponds aussi par le site "zenk security" qui est assez bien (les pdf) et developpez.com qui est austère

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •