Inhaltsverzeichnis:

Programmierung in VB6: Tipps und Tricks: 3 Schritte
Programmierung in VB6: Tipps und Tricks: 3 Schritte

Video: Programmierung in VB6: Tipps und Tricks: 3 Schritte

Video: Programmierung in VB6: Tipps und Tricks: 3 Schritte
Video: VBA-Basics: Schnellstart für Anfänger 2024, Juli
Anonim
Programmieren in VB6: Tipps und Tricks
Programmieren in VB6: Tipps und Tricks

Ich programmiere in meiner Freizeit und bin ein ziemlich kompetenter Programmierer mit VB6. Es ist einfach und ich habe noch nichts gefunden, wofür ich es brauche, was es nicht kann, obwohl es manchmal schwierig sein kann, Ihre Aufgabe zu erfüllen. Unterwegs habe ich so viele nervige Dinge gefunden, vor allem die Art, wie es bestimmte Dinge zählt. Hier ist also eine Zusammenstellung einiger Dinge, die ich auf dem Weg gelernt habe. Ich fordere Sie auf, wenn Sie irgendwelche Probleme haben, kommentieren Sie und ich werde versuchen, mit weiteren Schritten zu helfen.

Schritt 1: Saiten

Saiten
Saiten

Die Art und Weise, wie VB mit Strings umgeht, ist manchmal verwirrend.texta = "abcdefg"setze " Symbole auf beiden Seiten des Textes, der als String gezählt werden sollMid(String, Start, Length) wählt einen Textabschnitt aus einem Stringin Strings gibt es keine null Startstrings beginnen bei 1textb = mid(texta, 2, 2)das macht die Variable textb = "bc"textb = mid(texta, 4, 4)das macht die Variable textb = "defg"textb = mid(texta, 4, 5)dadurch wird die Variable textb = "defg"Das ist richtig, wenn der Text, den Sie auswählen möchten, länger ist als der verfügbare Text, der beim letzten Zeichen endet, abhängig von Ihrem Programm müssen Sie Traps platzieren, um Fehler zu vermeiden ist so eine trap:textb = mid(texta, 4, 5)if len(textb) < 5 then 'Len() gibt die Länge eines Strings zurück das < bedeutet weniger thenmsgbox "text is too short" 'Zeigt eine Messagebox mit the stringexit sub 'Dies beendet das Sub, in dem Sie sich befinden. Beenden des Codes. Wenn Sie sich in einer Funktion befinden, würden Sie exit functionend setzen Wenn Sie die Stelle eines Zeichens in einem String finden, verwenden wir instr(Start, Stri ng1, String2)texta = "abcdefg"textb = instr(1, texta, "c") 'das findet den Buchstaben c in der Zeichenfolge textatextb ist jetzt gleich 3HINWEIS:Instr gibt 0 (Null) zurück, wenn es das Zeichen nicht findetREORGANIZING:das ist ein nerviger Onesay, dass "abcdefg" "defgabc"texta = "abcdefg"textb = mid(texta, 4, 4) & mid(texta, 1, 3) sein soll () Funktion sagen Sie, Sie möchten eine Zeichenfolge an einem Vorhangzeichen reorganisieren, aber es ist nicht immer dieselbe Stelletexta = "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)notieren Sie den Teil len(texta) - instr(1, texta, " c") + 1, weil instr das gesuchte Zeichen zählt, also gehen Sie ein Zeichen zurück, damit mid() das gesuchte Zeichen als erstes im String nimmt Textc entspricht jetzt "cdefgab"textd = mid(textb, instr(1, textb, "c"), len(textb) - instr(1, textb, "c") + 1) & mid(textb, 1, instr(1, textb, "c") - 1)textd jetzt gleich ls "cgfabde"versuchen Sie, ein Zeichen zu finden, das nicht im Stringtexta = "abcdefg"textc = mid(texta, instr(1, texta, "h"), len(texta) - instr(1, texta, "h" enthalten ist)) + 1) & mid(texta, 1, instr(1, texta, "h") - 1)Sie erhalten einen Fehler, weil der Startteil von Mid() nicht = 0 sein kann, da Strings bei 1 beginnen, also müssen Sie die Laufzeit vermeiden Error. dies ist eine Möglichkeit, es zu tuntexta = "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 'nur eine else-Anweisung pro if situationmsgbox "Kann Zeichen in String nicht finden" 'zeigt eine Meldungsbox mit the stringend ifDas fasst so ziemlich alles zusammen, was Sie über Saiten wissen müssen

Schritt 2: Zeichen konvertieren

Konvertieren von Zeichen
Konvertieren von Zeichen

HEX: Eines, das ich Anfang dieser Woche gefunden habe, hat mit der Hex(Zahl)-Funktion zu tun, die Länge der Zahl spielt keine Rolle. Es gibt eine Zeichenfolge in hexhex (11111111) zurück, gibt "A98AC7" zurück, wenn Sie ein ASCII-Zeichen in Hex umwandeln würden Sie dotexta = "a"hex(asc(texta)) ergibt "61"texta = "k"hex(asc(texta)) gibt "6B" zurück Die Zeichenfolge besteht aus 2 Zeichen für die MEISTEN der ASCI-Zeichen, es sei denn, sie liegen unter einem Wert von 16 dann gibt es nur 1 Zeichen zurückWenn Sie möchten, dass alle 2 Zeichen sind, würden Sie wie folgt vorgehen:textb = hex(asc(texta))if len(textb) = 1 thentextb = "0" und textb 'das ist eine Null, nicht a Kapital oend wenn

Schritt 3: Dateibearbeitung

Dateibearbeitung
Dateibearbeitung

um eine datei zu öffnen braucht man ein freefile und einen filenamegfile = FreeFile 'gfile ist jetzt das nächste verfügbare freefilec = "c:\test.txt"dann gibt es 4 möglichkeiten eine file zu öffnenInput - man kann nur lesen. Ausgabe - Sie können nur schreiben und die Datei wird gelöscht, wenn sie vorhanden ist. Wagenrücklauf und Zeilenvorschub letzte ZeichenAppend - Sie können nur schreiben. es wird der vorhandenen Datei hinzugefügt. Wagenrücklauf und Zeilenvorschub letzte ZeichenBinär - Lesen und schreiben. sehr präzise. die einzige, die ich jetzt verwende. Für das Erstellen von Protokolldateien und das Anhängen einer solchen Verwendung wird der neue Eintrag am Ende der Datei hinzugefügt. Für komplexere Protokolldateien wird die gesamte Datei in eine Variable geladen und der neue Eintrag am Anfang von hinzugefügt the file.dim stro als string 'dies ist notwendig oder es wird ein errorgfile = FreeFilec = "c:\test.txt"open c for binary as #gfile 'denken Sie daran, dass gfile eine Zahl isttro = space$(lof(gfile)) 'beim Öffnen für Binär müssen Sie angeben, wie groß die Länge des Textes ist, den Sie verwenden möchten. lof(gfile) gibt die Länge von gfile zurück und space$ () gibt eine Zeichenfolge von Leerzeichen zurück, die die Länge der eingegebenen Zahl hat #gfile, 1, stro 'von Dateinummer, Startbyte, Variable zum Speichern abrufen. und lädt nur die Länge der Variablenclose #gfilestro ist jetzt gleich der Datei test.txt. Sie können Informationen in eine Datei einfügen byffile = FreeFilestro = "New line" & VbCrLf & stro ' fügt "New line" und carraige Return und Linefeed hinzu gefolgt von dem ursprünglichen textopen c für binär als #ffilekill cput #ffile, 1, stro 'put überschreibt vorherige Informationen Wenn die Datei kleiner wird, sollten Sie die Datei zuerst beenden, die sie löschtclose #ffileDie Datei hat jetzt "Neue Zeile" in einer Sache Ich habe bei der put-Funktion festgestellt, dass es Fehler gibt, wenn Sie versuchen, ein Zeichen wie put #ffile, 133, chr(1) ' einzugeben hat es tatsächlich hex 0x08000100000001 hinzugefügt, was verdammt seltsam ist. Ich habe dies gelöst, indem ich die Datei in eine Variable geladen und String modsi = 133stro = mid(stro, 1, i - 1) & chr(1) & mid(stro, i + 1, len(stro) - i) dann put #ffile, 1, srothis hat perfekt funktioniert

Empfohlen: