Table des matières:

Programmation en VB6 : Trucs et astuces : 3 étapes
Programmation en VB6 : Trucs et astuces : 3 étapes

Vidéo: Programmation en VB6 : Trucs et astuces : 3 étapes

Vidéo: Programmation en VB6 : Trucs et astuces : 3 étapes
Vidéo: Tuto Visual Basic débutant | Bien démarrer avec VB & WinForms 2024, Juillet
Anonim
Programmation en VB6: Trucs et astuces
Programmation en VB6: Trucs et astuces

Je programme pendant mon temps libre et je suis un programmeur assez compétent en utilisant VB6. C'est facile et je n'ai pas encore trouvé quoi que ce soit dont j'ai besoin pour accomplir ce qu'il ne peut pas, bien que parfois il puisse être difficile d'accomplir votre tâche. En cours de route, j'ai trouvé tellement de choses ennuyeuses, principalement la façon dont il compte certaines choses. Voici donc une compilation de certaines choses que j'ai apprises en cours de route. Je vous exhorte si vous avez des problèmes à commenter et j'essaierai de vous aider avec plus d'étapes.

Étape 1: Cordes

Cordes
Cordes

La façon dont VB traite les chaînes est parfois déroutante.texta = "abcdefg" mettre " les symboles des deux côtés du texte que vous voulez être compté comme une chaîneMid(String, Start, Length) sélectionne une section de texte à partir d'une chaîne dans les chaînes il n'y a pas les chaînes de début zéro commencent à 1textb = mid(texta, 2, 2)cela fait la variable textb = "bc"textb = mid(texta, 4, 4)cela fait la variable textb = "defg"textb = mid(texta, 4, 5) cela rend la variable textb = "defg" C'est vrai si le texte que vous essayez de sélectionner est plus long que le texte disponible, il se termine au dernier caractère, selon votre programme, vous devrez placer des pièges pour éviter les erreurs. est un tel piège:textb = mid(texta, 4, 5)if len(textb) < 5 then 'Len() renvoie la longueur d'une chaîne le < signifie moins thenmsgbox "le texte est trop court" 'Affiche une boîte de message avec la chaîneexit sub 'Ceci quitte le sub dans lequel vous vous trouvez. terminant le code. si vous êtes dans une fonction alors vous mettriez exit functionend if find the place of a character in a stringwe use instr(Start, Stri ng1, String2)texta = "abcdefg"textb = instr(1, texta, "c") 'cela trouve la lettre c dans la chaîne textatextb est maintenant égal à 3NOTE:Instr renvoie 0 (zéro) s'il ne trouve pas le caractèreREORGANIZING:c'est un ennuyeux disons que vous voulez que "abcdefg" soit "defgabc"texta = "abcdefg"textb = mid(texta, 4, 4) & mid(texta, 1, 3) Ce n'était pas trop mal mais maintenant ajoutons dans l'instr () Fonctions, vous voulez réorganiser une chaîne à un caractère rideau mais ce n'est pas le même endroit à chaque foistexta = "abcdefg"textb = "gfabdec"textc = mid(texta, instr(1, texta, "c"), len(texta) - instr(1, texta, "c") + 1) & mid(texta, 1, instr(1, texta, "c") - 1)notez la partie len(texta) - instr(1, texta, " c") + 1 car instr compte le caractère que vous recherchez donc vous reculez d'un caractère donc le mid() prend le caractère que vous recherchez comme premier dans la chaînetextc est maintenant égal à "cdefgab"textd = mid(textb, instr(1, textb, "c"), len(textb) - instr(1, textb, "c") + 1) & mid(textb, 1, instr(1, textb, "c") - 1) textd maintenant equa ls "cgfabde" permet d'essayer de trouver un caractère qui n'est pas dans la chaînetexta = "abcdefg"textc = mid(texta, instr(1, texta, "h"), len(texta) - instr(1, texta, "h") + 1) & mid(texta, 1, instr(1, texta, "h") - 1)vous obtenez une erreur car la partie de début de Mid() ne peut pas = 0 puisque les chaînes commencent à 1 donc vous devez éviter le runtime Erreur. c'est une façon de le fairetexta = "abcdefg"if instr(1, texta, "h") 0 thentextc = mid(texta, instr(1, texta, "h"), len(texta) - instr(1, texta, "h") + 1) & mid(texta, 1, instr(1, texta, "h") - 1)else 'une seule instruction else par if situationmsgbox "Impossible de trouver le caractère dans la chaîne" 'affiche une boîte de message avec le stringend ifThis résume à peu près tout ce que vous devez savoir sur les chaînes

Étape 2: Conversion de caractères

Conversion de caractères
Conversion de caractères

HEX: celui que j'ai trouvé plus tôt cette semaine concerne la fonction Hex (nombre), la longueur du nombre n'a pas d'importance. = "a"hex(asc(texta)) renvoie "61"texta = "k"hex(asc(texta)) renvoie "6B"la chaîne sera de 2 caractères pour LA PLUPART des caractères ASCI, à moins qu'ils ne soient inférieurs à 16 alors il ne renvoie qu'un caractère si vous voulez qu'ils soient tous de 2 caractères, vous feriez comme suit: textb = hex(asc(texta))if len(textb) = 1 thentextb = "0" et textb 'c'est un zéro pas un majuscule si

Étape 3: Édition de fichier

Édition de fichiers
Édition de fichiers

pour ouvrir un fichier, vous avez besoin d'un fichier gratuit et d'un nom de fichiergfile = FreeFile 'gfile est maintenant le prochain freefilec = "c:\test.txt" alors il y a les 4 manières d'ouvrir un fichierInput - Vous ne pouvez que lire. Sortie - Vous ne pouvez qu'écrire et cela effacera le fichier s'il existe. retour chariot et saut de ligne derniers caractèresAjouter - Vous ne pouvez qu'écrire. il s'ajoutera au fichier existant. retour chariot et saut de ligne derniers caractèresBinary - Lecture et écriture. tres précis. le seul que j'utilise maintenant. pour la création de fichiers journaux et l'ajout de cette utilisation, il ajoutera la nouvelle entrée à la fin du fichier. pour les fichiers journaux plus complexes, chargez l'intégralité du fichier dans une variable et ajoutez la nouvelle entrée au début de le fichier.dim stro en tant que chaîne 'cela est nécessaire ou il y aura une erreurgfile = FreeFilec = "c:\test.txt"open c pour le binaire comme #gfile 'souvenez-vous que gfile est un nombretro = space$(lof(gfile)) 'lors de l'ouverture de binaire, vous devez indiquer la longueur du texte que vous souhaitez prendre lof (gfile) renverra la longueur de gfile et space$ () renvoie une chaîne d'espaces de la longueur du nombre que vous entrezget #gfile, 1, stéréo 'obtenir à partir du numéro de fichier, octet de départ, variable dans laquelle l'enregistrer. et ne charge que la longueur de la variableclose #gfilestro est maintenant égale au fichier test.txt.vous pouvez mettre des informations dans un fichier byffile = FreeFilestro = "New line" & VbCrLf & stro ' ajoute "New line" et carraige return et linefeed suivi du texte originalopen c pour le binaire comme #ffilekill cput #ffile, 1, stro 'put écrase les informations précédentes si le fichier devient plus petit, vous devez d'abord tuer le fichier qui le supprimeclose #ffilele fichier a maintenant "Nouvelle ligne" dans une chose J'ai trouvé avec la fonction put s'il y a des erreurs si vous essayez de mettre un caractère likeput #ffile, 133, chr(1) ' cela remplace le caractère à l'octet 133 par le caractère 1 ou hex 0x01 J'ai trouvé quand je l'ai fait avec un programme que j'ai l'a fait en fait ajouté l'hex 0x08000100000001 qui est bizarre. J'ai résolu ce problème en chargeant le fichier dans une variable et en faisant la chaîne modsi = 133stro = mid(stro, 1, i - 1) & chr(1) & mid(stro, i + 1, len(stro) - i) puis mettez #ffile, 1, strothis a parfaitement fonctionné

Conseillé: