Aller au contenu

Leaderboard

Popular Content

Showing content with the highest reputation on 17/04/2014 in all areas

  1. Coucou à tous SnapDesk était un logiciel pour utiliser Snapchat sur PC créé par moi même Tout rapport avec se logiciel se révélant des liens mort, je vais le recoder a zero. Cela va prendre du temps, merci de patienter. Cette nouvelle version se voudra plus clean, moins lourde et plus belle... J'espère, je ne suis pas fort en design J'accepte les beta-testeurs
    3 points
  2. Bonjour Dans ce tutoriel nous allons voir comment : -Ne pas perdre de Ratio sur t411 -Augmenter son Ratio sur t411 Ne pas perdre de Ratio L'astuce est simple : Vous téléchargez un tracker et vous le lancez pour démarrer votre téléchargement comme à votre habitude puis sur votre logiciel de téléchargement (bitorrent par exemple) vous faites un clic droit sur celui ci une fois qu'il a bien démarré/propriété et vous supprimez l'url du tracker /!\ Si vous fermez votre logiciel de téléchargement il vous faudra relancer votre tracker et refaire la manipulation précédente (pour relancer un tracker il faut le chercher dans votre dossier de téléchargement et double cliquer dessus) Augmenter son Ratio Il existe plusieurs logiciels qui permettent d'augmenter son ratio, je vais vous parler de celui que j'utilise : RatioMaster (R&M pour les intimes) Téléchargement : ici ( version pré configurée) Voici comment se présente le logiciel : Pour l'utiliser il faut : télécharger un fichier sur t411 avec suffisamment de leechers ( je vous laisse imaginer le type de fichier qui en a le plus ) Sélectionnez le fichier en cliquant sur "Parcourir " , les réglages par défaut sont bien (pensez à ne jamais dépasser les 260 ko/s pour éviter le ban. Vous pouvez à présent Démarrer et attendre un peu que votre ratio augmente. L'option "ne jamais arrêter" permet de laisser tourner le logiciel indéfiniment ou de programmer un arrêt. /!\ A savoir pour éviter le ban : - Ne pas dépasser les 260 ko/s - Ne pas trop monter son ratio, 2 c'est suffisant -Ne pas utiliser RatioMaster en même temps que vous téléchargez un fichier sur t411 Voila, j'espère que ça vous servira Bonus : Pour essayer la première astuce
    2 points
  3. Bonjour à tous, je vais vous faire cette fois un topic sur les tables en elle même. Commençons par la création (le début des temps lulz), connaître ces scripts devient presque obsolète vu les programmes et api disponiblent maintenant mais bon ça peut toujours servir: #syntaxe: CREATE TABLE [NOM] ([VARIABLES+TYPE+PARAMÈTRES])[PARAMÈTRES SUPPLEMENTAIRES]; CREATE TABLE `ma_table` ( `texte` text NOT NULL, `chiffre` int(10) unsigned NOT NULL, ); Donc: >doc- [NOM] = `ma_table` : C'est simplement le nom que vous voulez donner à votre table - [VARIABLES] : Vous devez donner le nom de la variable/colonne, sont type (chiffre, texte, date, ..) la longueur qu'il doit faire, etc. - [PARAMÈTRES SUPP] : paramètre de la table j'en montrerais dans les exemples suivants au niveau des type de variables vous avez: >doc - tinyint : chiffre entier (de -128 à 127) - smallint : chiffre entier (de -32768 à 32767) - mediumint : chiffre entier (de -8388608 à 8388607) - int : chiffre entier (de -2147483648 à 2147483647) - bigint : chiffre entier (de -9223372036854775808 à 9223372036854775807) - float, decimal, double: pour faire simple on va dire chiffre à virgule - bit: chiffre en binaire (ex: 10110010110100100100...) - binary et varbinary : un peut comme bit sauf que la limite attribuée maximale est de 255 bits - date : Attention c'est la date dans le format mysql uniquement (AAAA-MM-JJ), c'est la norme rfc-machin, ex: 1996-06-21 - time : une heure dans le format standard (HH:MM:SS), ex: 20:32:51 - datetime : le format de "date" et "time" séparé par un espace, ex: 199-06-21 20:32:51 - year : l'année en 4 chiffres, ex: 1996 ou 0666 - char : chaîne de caractères de maximum de 255 caractères (ex: "blsdkngki jsngkj rn1121 dgd") - varchar : similaire à "char" sauf dans le fait que "char" considère les cratères vides comme un espaces jusqu'au comment où il arrive à la limite et oui char peut être avantageux au niveau d'utilisation de fonction par exemple - text (tinytext, text, mediumtext et longtext) : simplement de text, je pense que la limite est dynamique malgré ses autres types qui peut changer la consommation de mémoire à mon avis, je regarderais quand j'aurais le temps. - enum : liste de possibilité définie à la place de la limite. - set : similaire à "enum" sauf que plusieurs possibilités peuvent être attribuées à la varible. normalement toute on utilise pour toutes ses variables un limite de caractère (sauf text), on définie celle-ci entre parenthèses à la suite du type, exemple un "int" a une limite par défaut de 10: `chiffre` int(10) ... les types à virgules (float, decimal, ..) peuvent avoir un second paramètre qui est la limite après la virgule exemple avec une limite de 3 avant et 2 après la virgule: `chiffre2` float(3, 2) ... et la dernières exception je pense est "enum", sa limite sont les choix possibles, exemple la variable fruit peut être 3 fruits différents: `fruit` enum("fraise", "pomme", "cranberrys") ... vous vous demandez peut-être pourquoi ne pas utiliser toujours "text" pour du texte par exemple, c'est simple ça évite de bouffer de la mémoire pour rien bien que maintenant les machines sont si puissantes que la perte se compte en nano-secondes (ns) mais bon dans certaines entreprises grattent jusqu'à la plus infime nano-seconde surtout dans les infrastructure réseau... maintenant on va ajouter des paramètres à nos variables avec une valeur par défaut, une auto-incrémentation (A_I), ou déclarer comme ... en cours de rédaction, c'est long et chiant ...
    2 points
  4. Bien le bonjour à vous tous ! Aujourd’hui je vous présente le tutoriel pour la réalisation de l’effet RVB, c’est l'effet donné de regarder un film 3D sans lunette 3D. Commençons vite ! Tout d’abord, il vous faudra Photoshop, je vous conseille du CS5 / CS6 / CC. Ouvrez l’image que vous désirez ! Je prends la bannière Melinyel personnellement ! Maintenant, dupliqué votre calque. Pour sa : allez sur la barre de calque : Puis sélectionnait le calque comme sur l’image et faite dessus clique droit, dupliquez le calque. Puis sélectionner la copie de votre image, faite clique droit et option de fusion. Vous arrivez sur l’accueil de l’option de fusion. Décoché le V et le B, puis faite OK. Maintenant faite contrôle T ( Windows) et commande T ( Mac) pour pouvoir déplacer le calque ! Je vous conseille un coup en haut, puis un à droite ou d’autre côtés à vous de voir ! Vous voilà avec votre effet RVB fait ! Résultat : J’espère que ce tutoriel vous aura plu ! Cordialement, Egzylium.
    1 point
  5. Bonjour à tous, Nous passons encore à un autre niveau aujourd'hui, et nous allons voir ensemble la Récursivité, et la notion de Stack. I- La récursivité, c'est quoi? La récursivité, c'est un autre moyen de provoquer une "boucle" dans une fonction. C'est totalement différent de ce que je vous ai expliqué avant. Nous avions vu la partie "itérative" du C, qui corresponds à exécuter un programme, ligne par ligne. Ici, nous allons apprendre un peux plus les fonctions de la récursivité, et comment elle réagit sur la stack. C'est une façon de faire, pour qu'une fonction se rappelle elle-même. Prenons l'exemple suivant: int test(int a) { a++; if (a < 12) test(a); return (a); } int main(void) { my_putnbr(test(1));// my_putnbr est une fonction permettant d'afficher une valeur numérique. Vous devez la re-créer ou utiliser printf (ce qui est interdit par la norme! Re-créez la, ça vous apprendra pas mal de choses!) } La fonction "test" est ici récursive. Ce code nous affichera: 12 Vous l'aurez compris, la récursivité peut être utile dans plusieurs cas (pour annecdote, my_putnbr peut être codé en 3 lignes avec de la récursivité). Les fonctions récursives peuvent êtres comparées à des poupées russes s'emboitant. Ne vous perdez pas! Et ne vous inquiétez pas! Je vais mieux vous l'expliquer en vous expliquant le fonctionnement de la stack. II- La stack? DAFUQ? Je vais pouvoir vous expliquer une notion qui est assez floue dans le cerveau de beaucoup de développeurs: la stack. La stack est une mémoire assignée à votre programme pour la prise en charge de tout ce qui est "static" dans votre programme (d'où le nom "stack"). Lors du lancement de votre programme, la stack est vide. Si vous appelez la fonction "test" celle-ci va se rajouter dans la stack. Si, de la fonction "test", vous appelez la fonction "my_putstr" celle-ci va se rajouter dans la stack, de même pour la fonction "my_putchar" contenue dans la fonction "my_putstr" qui fera elle-même appel à la fonction "write" qui se rajoutera à son tour à la stack. La stack a donc constitué une liste d'exécution. On peut re-définir l'ordre d'exécution précédent comme ceci: Il ne faut pas oublier que la stack est une mémoire, et qu'elle va stocker tout ce qui est statique dans notre programme. Donc, si nous la sur-utilisons (une boucle infinie de fonctions par exemple: surempiler les poupées russes), nous risquons de faire segfault (segmentation fault) notre programme (C'est souvent une explication pour les programme qui segfault sans raisons). Lorsqu'une fonction finit son exécution, elle est supprimée de la stack. Pour vous faire un schéma, imaginez un tas de vaisselle: à chaque fois, vous rajoutez une assiette sale sur le tat, et lorsque vous faites la vaiselle, vous enlevez vos assiettes dans l'ordre contraire de celui de l'empilation. Reprenons la théorie: Une fonction récursive est une fonction qui se rappelle elle-même. Elle se rajoute donc sur la stack, puis se rappelle. Elle se rajoute donc encore une fois sur la stack, puis se rappelle...etc... Et là, deux choses peuvent avoir lieu: Soit on atteint la taille maximum de la stack (définie par le système), et on provoque un segfault, sinon, et c'est ce que vous devrez faire la plupart du temps en utilisant les récursifs, vous devez prévoir une condition d'arrêt du rappel de cette fonction, donc à un moment de votre récursivité, vous dites STOP, cette fois je ne me rappelle pas, car mon rôle est terminé. A ce moment là, vous allez libérer la stack de toutes les fonctions que vous avez au préalable ajouté. Le mieux, reste encore de vous montrer un exemple de ce qu'il ne faut pas faire: Créons un programme qui va afficher "hello" indéfiniment: void my_putchar(char c) { write(1, &c, 1); } void fg() { my_putchar('h'); my_putchar('e'); my_putchar('l'); my_putchar('l'); my_putchar('o'); my_putchar('\n'); fg(); } int main(void) { fg(); } Effectivement, on voit "hello" s'afficher plusieurs fois, mais si on laisse tourner notre programme jusqu'à ce que la stack soit remplie, on remarque de notre programme crash, et qu'un segfault est apparu. C'est l'exemple typique de ce que l'on peut attendre au niveau des problèmes liés à la récursivité. Un autre exemple, c'est notre légendaire my_putnbr: void my_put_nbr(int nb) { if (nb <= 9 && nb >= 0) my_putchar(nb + '0'); else { my_put_nbr(nb / 10); my_put_nbr(nb % 10); } } c'est typiquement la bonne utilisation de la récursivité. Voilà, j'espère vous avoir encore aidé au niveau de votre apprentissage avancé du C. Rendez-vous au prochain cours! Cours écrit par AlexMog. Contact: alexmog [at] live [point] fr
    1 point
  6. Exercice 1 Réaliser un algorithme qui permet d'afficher une structure qui contient l'âge, le nom, le prénom, et la ville. Exercice 2: Il sera un peu plus poussé Nous allons améliorer le précédent programme. Eux lieu de donner des valeurs prédéfinie pour le prénom, nom age, ville, nous allons laisser l'utilisateur l'ai saisir Une image devrait vous éclaircir la chose ps: Vous pouvez résoudre cette exercice en passant par un autres chemin, mais le but et de s'exercer au maniement des structures Vous pouvez poster vos codes sources et des images, pour que l'on puisse en discuter et peux être apprendre de nouvelles choses Mettez tout ça dans une balise spoil
    1 point
  7. Bonjour à tous, Je vais vous fournir une fonction "explode" qui vous permettra de découper une chaine de caractères grâce à un délimiteur. I - Manuel de "explode": NOM: explode - découpage de chaine de caractères. SYNOPSYS: char **explode(char *chaine, char *delimiteur); DESCRIPTION: La fonction explode vous permettera de découper la chaine "chaine" grâce au délimiteur "delimiteur". Plusieurs délimiteurs peuvent être utilisés en les mettant l'un à côté de l'autre (ex: " \t.,") ou un mot complet (ex: "coucou"). Attention: la chaine "chaine" sera modifiée après l'utilisation de explode. Si vous souhaitez la garder, pensez à la stocker! (ex: strdump). VALEUR RENVOYÉE: La fonction explode renverra un tableau de chaines de caractères contenant, dans chacune des cases, une des itérations trouvées. Si aucune itérations n'a été trouvée, explode renverra une version dumpée de la chaine chaine. Si une erreur survient, explode renverra NULL. VOIR AUSSI: strtok(3) COPYRIGHT: La fonction explode a été crée par AlexMog ainsi que cette page de manuel. II - Le code: /* ** Code created by AlexMog ** Created the 10/04/2014 at 05:42pm. ** Last update by AlexMog the 10/04/2014 at 05:56pm. ** Please, leave the copyright. */ #include <string.h> char **explode(char *chaine, char *delimiter) { char **ret; char *word; int size; ret = NULL; word = strtok(chaine, delimiter); size = 0; while (word != NULL) { ret = realloc(ret, (size + 2) * sizeof(char*)); if (ret == NULL) return (NULL); strcpy(ret[size], word); word = strtok(NULL, delimiter); ++size; } if (ret != NULL) ret[size] = NULL; return (ret); } J'espère que vous ferrez bon usage de ce code . N'hésitez pas à me faire vos retours en cas de bugs. Enjoy programming Cordialement, AlexMog.
    1 point
  8. Ma petite version: #include <unistd.h> #include <stdio.h> typedef struct s_user { char *name; char *last_name; unsigned int *age; char *city; } t_user; int read_data(t_user *user) { unsigned int readed; char buffer[100]; char *questions[] = {"Your name?", "Your last name?", "Your age?", "Your city?"}; int types[] = {0, 0, 1, 0}; int i; void *first_addr; first_addr = &user->name; i = 0; readed = 0; while (i < 4) { printf("%s\n", questions[i]); if ((readed = read(0, buffer, 15)) < 0) return (1); buffer[readed] = 0; printf("%c", '\n'); if (!types[i]) { if (((char*)(*first_addr) = malloc(strlen(buffer) * sizeof(char))) == NULL) return (1); memcpy((char*)(*fist_addr), buffer, strlen(buffer) * sizeof(char)); first_addr += sizeof(void*); } else { (unsigned int)(*first_addr) = atoi(buffer); first_addr += sizeof(int); } ++i; } return (0); } // Pointeur constant car non modifié void show_data(const t_user *user) { printf("First Name: %s\nName: %s\nAge: %d\nCity: %s\n", user->name, user->last_name, user->age, user->city); } int main(void) { t_user userdata; if (read_data(userdata)) { fprintf(stderr, "Error on reading."); return (1); } // J'envois un pointeur car je ne vais pas copier toute une structure dans la stack... Pouah! show_data(&userdata); return (0); }
    1 point
  9. Normalement, ça ne devrais pas compiler Voici la correction: (par contre, c'est pas du tout sécu ton truc, y'a un risque de segfault énorme! ne faites JAMAIS confiance en ce qu'entre vos utilisateurs ) #include <stdio.h> #include <conio.h> struct Info { char Prenom[10]; char Nom[15]; int Age; char Ville[15]; }; // Le typpage "Info" n'existe pas. Le véritable typpage est "struct Info", puisque tu n'as absolument pas utilisé de typedef . On peut régler le problème en rajoutant un typedef, comme ici: // typedef s_ma_structure type_name; // Ici, tu utilise "struct Info &P", donc tu demande une référence de P, les références existent uniquement en C++ . Il faut donc envoyer un pointeur. Et ne surtout pas oublier de changer les "." par des "->" (car pointeurs) void DemandeInfo(struct Info *P) { printf("-----Saisi des donnees-----\n\n\n"); // ATTENTION! printf("Entrer votre prenom:"); scanf("%s",P->Prenom); printf("Entrer votre nom:"); scanf("%s",P->Nom); printf("Entrer votre age:"); scanf("%i",&P->Age); printf("Entrer votre ville actuelle:"); scanf("%s",P->Ville); } void AfficherInfo(struct Info *P) { printf("\n\n\n-----Affichage des donnees-----\n\n\n"); printf("Prenom: %s\n",P->Prenom); printf("Nom: %s\n",P->Nom); printf("Age: %i\n",P->Age); printf("Ville: %s\n",P->Ville); } int main() { struct Info Personne; // Ici, tu demande l'adresse de "Personne" et non pas le contenu DemandeInfo(&Personne); AfficherInfo(&Personne); getch(); return 0; } Ensuite, la norme UNI de C stipule ne pas utiliser les majuscules, SAUF au niveau des macros . C'est en C++ qu'on définit des majuscules UNIQUEMENT au début des objets (et non pas des attributs) et au niveau des nom des methodes (for exemple: getGetter())
    1 point
  10. 1 point
  11. l'autre droite c'est ça?
    1 point
  12. 1 point
  13. Effectivement, avant de pouvoir interagir avec les civils il faut les menottés, avec Shift+R comme la dit Mrkika, puis une fois menotté, tu peu faire la touche Windows pour tout ce qui est amende, prison etc ...
    1 point
  14. Normalement c'est la touche Windows pour les véhicules et shift + r pour les joueurs. Regarde dans tes paramètres si ce n'est pas changé.
    1 point
  15. Le PHP est un langage de programmation web permettant d'insérer du contenu dynamique dans vos pages. Ce langage offre de nombreuses possibilités telles que la gestion de news ou encore l'envoie d'eamil et combiné à une base de données, ses performances sont considérables. Dès lors que vous utiliserez le langage PHP dans un de vos codes de votre site web, le fichier le contenant doit être impérativement en .php. Vous pourrez à partir de ce fichier écrire du HTML normalement à la différence que vous pourrez rajouter la balise <?php ?> et écrire du code PHP entre celle-ci. VARIABLES ET TEXTE : Contrairement à d'autres langages, déclarer des variables et les afficher grâce à l’instruction echo est une tâche très simple en PHP. Quelques exemples vont vous aider à comprendre : <!-- (Commentaire HTML)Ceci est un commentaire réservé exclusivement au langage HTML --> <?php // Ceci est un commentaire sur une ligne (Commentaire PHP) /* Ceci est un commentaire sur plusieurs lignes (Commentaire PHP) */ /* Variables */ $ma_variable; // Ceci est une variable $ma_variable = 1; // Ceci est une variable valant 1 /* Afficher du texte */ echo 'Du texte'; // Ceci va afficher "Du texte" echo $ma_variable; // Ceci affiche le contenu de "$ma_variable" ?> CONDITIONS ET BOUCLES : Une condition vous permet d’exécuter des scripts différents en fonction de certains critères. Vous trouverez notamment deux types de conditions : la condition if...else et la condition switch. Elles s'utilisent de cette manière : <?php // Avec if...else if ($autorisation_entrer == 1) // SI on a l'autorisation d'entrer { // instructions à exécuter quand on est autorisé à entrer } else if ($autorisation_entrer == 0) // SINON SI on n'a pas l'autorisation d'entrer { // instructions à exécuter quand on n'est pas autorisé à entrer } else // SINON (la variable ne contient ni Oui ni Non, on ne peut pas agir) { echo "Euh, je ne connais pas ton âge, tu peux me le rappeler s'il te plaît ?"; } // Avec switch switch ($autorisation_entrer) { case 0: // instructions à exécuter quand on n'est pas autorisé à entrer break; case 1: // instructions à exécuter quand on est autorisé à entrer break; default: echo "Euh, je ne connais pas ton âge, tu peux me le rappeler s'il te plaît ?"; break; } ?> Dans mon exemple, j'utilise des symboles comparateur que vous devez absolument connaître : == Est égal à === Est équivalent à > Est strictement supérieur à < Est inférieur supérieur à >= Est supérieur ou égal à <= Est inférieur ou égal à != Est différent de On peut donner plusieurs conditions à la fois et ce grâce à ces petits symboles : || OR Ou && AND Et FONCTIONS ET INCLUSION DE PAGES : Quand vous serez un expert en PHP, vos codes pourront atteindre des centaines de lignes. Il est clairement difficile de s'y retrouver même avec des commentaires bien rédigés. Je vous propose deux solutions : les fonctions et l'inclusion de pages. Lorsque vous écrivez votre code PHP il se peut que vous ayez à écrire plusieurs fois le même chose mais il existe les fonctions qui vous permettront de rentrer votre code à l'intérieur de la fonction et en appelant celle-ci à l'endroit voulu le code de la fonction sera exécuté. Une fonction peut aussi prendre des arguments et retourner une valeur. Je m'explique, quand vous appelez votre fonction, vous pouvez lui attribuer des valeurs dans les parenthèses que vous pouvez ensuite récupérer dans votre fonction et après quelques lignes de calculs, vous pouvez renvoyer une valeur que vous pourrez utiliser à l'endroit où votre fonction a été appelé. Bien que pratique, les fonctions prennent elles aussi beaucoup de place dans un fichier c'est pour quoi je vous propose de diviser votre page en plusieurs ainsi chaque page de votre aura une fonction bien définie et pourra être appelée dans une autre grâce aux fonctions suivantes : include() : Inclut une page dans une autre. include_once() : Inclut une seule fois une page dans une autre. require() : Inclut une page dans une autre et renvoie un message d'erreur en cas d’échec. require_once() : Inclut une seule fois une page dans une autre et renvoie un message d'erreur en cas d’échec. <?php // Ceci est une fonction function maFonction($argument1, $argument2) { return $argument1; } $une_variable_inutile = 2; $variable_contenant_la_valeur_retourne_par_la_fonction = maFonction('blabla', $une_variable_inutile); // Le contenu de "variable_contenant_la_valeur_retourne_par_la_fonction" serra "blabla" ?> TABLEAUX : Un tableau est variable à laquelle on peut donner plusieurs valeurs associées chacune à une clé. Exemples : <?php $membre = array('nom' => 'Truc', 'prenom' => 'Machin'); // Vous pouvez aussi faire comme cela $membre['nom'] = 'Truc'; $membre['prenom'] = 'Machin'; ?> Pour parcourir un tableau on pourrait utiliser la boucle for() mais celle-ci n'est pas très pratique donc je vous propose d'utiliser cette boucle : foreach() qui s'utilise comme ci-dessous : <?php foreach($member as $cle => $information) { echo $cle.' : '.$information; } /* Dans ce cas, j'ai récupéré la clé et son contenu. Vous pouvez très bien ne pas récupérer la clé en faisant comme ceci : foreach($member as $information) */ ?> Pour effectuer des testes sur votre tableau, vous avez trois fonctions très pratiques : array_key_exists : pour vérifier si une clé existe dans l'array ;in_array : pour vérifier si une valeur existe dans l'array ; array_search : pour récupérer la clé d'une valeur dans l'array. Emmenez ce cours partout avec vous : /applications/core/interface/file/attachment.php?id=20">Commençons à partir de 0.pdf Commençons à partir de 0.pdf
    1 point
×
×
  • Créer...