| |

Visual-Basic EinsteigerDatentyp Variant will nicht so, wie ich will | |  | Autor: Tauwasser | Datum: 05.09.05 15:10 |
| Also ja. Das ganze ist für nen LZW-Kompressor (fragt jetzt echt nicht, warum ich einen schreibe obwohl es wahrscheinlich schon Abermillionen da draußen gibt.)
Jedenfalls habe ich clever wie ich bin, gemerkt, dass Long schon mal gar nicht ausreicht um in einem Array die Wörterbuch-Einträge zu speichern. Also habe ich variant genommen. Schön und gut, ABER jetzt will das ab irgendeiner Länge auch nicht mehr, oder besser: Ab irgendeiner Länge ( ich nehme mal an es sind 8 Byte), wird es in e+x -Form angezeigt. Und zusammen mit nem AND &HFF (weil ich ja bloß jeweils 1 byte vergleichen will mit dem Eingabestrom), gibt das nen Überlauf.
Ich habe schon alles mögliche probiert, aber immer wieder Überlauf. Mit Strings ging der ganze Müll, aber da kam es dann zu richtigen Performance-Problemen
Hier der Code, der in meinem array woerterbuch() nach gleichen daten aus dem array gifarray() ab stelle gifindex sucht: Die Sache mit dem RIGHT hatte mir erst geholfen, weil der schon ab dem 8. Byte nicht mehr ANDen wollte. Das mit dem testvrnt ist nen bemitleidenswerter Versuch gewesen, das ganze irgendwie zu retten (warum sollte man auch 2 variants nicht miteinander ANDen können?)
Public Function wbsuch(gifindex As Long) As Long
Dim laenge2 As Long
Dim testvrnt As Variant
wbsuch = -1
laenge = 0
For x = 2 To wb_index
laenge2 = Fix(Len(woerterbuch(x)))
If laenge2 And 1 <> 1 Then laenge2 = laenge2 + 1
laenge2 = laenge2 / 2
If gifarray(gifindex) = Fix(woerterbuch(x) / (&H100 ^ (laenge2 - 1))) Then
For y = laenge2 - 1 To 0 Step -1
If (gifindex + y) > (112 * 112 - 1) Then Exit For
testvrnt = Fix(woerterbuch(x) / (&H100 ^ y))
If (h2d(Hex(Right("00000000" & testvrnt, 8))) And &HFF) <> _
gifarray(gifindex + laenge2 - 1 - y) Then Exit For
Next y
If y = -1 Then
If laenge2 > laenge Then wbsuch = x: laenge = laenge2
End If
End If
Next x
End Function Hoffe dringlichst auf Hilfe, da ich 1. Das verdammte Programm, das dies nutzt zuende bringen will und 2. mich das aufregt, wenn ich was im Kopf machen kann, was der Computer nicht kann :X
Bin für jede Antwort dankbar.
cYa,
Tauwasser |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|