Avatar billede tubber Juniormester
31. oktober 2002 - 08:59 Der er 25 kommentarer og
3 løsninger

Streng kan ikke genkendes ?

Jeg har en streng med tegn som denne:
myString = ÿØÿà

så chekker jeg min streng med en if sætning

if myString = "ÿØÿà" Then

men den gendkender den ikke ?

Hvad er der galt ?

/Tubber
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 09:12 #1
Hvis du har gjort som du skriver herover så er det fordi at den sætter myString = VARIABLEN ÿØÿà. Du skal lave myString = "ÿØÿà"

Men det er vel bare et eks. du har postet ??

//akj
Avatar billede tubber Juniormester
31. oktober 2002 - 09:17 #2
hvis jeg laver en MsgBox myString så giver den outputtet : ÿØÿà
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 09:25 #3
Det her eks giver en msgbox på min maskine:

Private Sub Command3_Click()
    mystring = "ÿØÿà"
    If mystring = "ÿØÿà" Then
        MsgBox mystring
    End If
End Sub
Avatar billede tubber Juniormester
31. oktober 2002 - 09:28 #4
det vil sige min myString ikke er en streng ?
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 09:29 #5
prøv at dimme den som en streng

Dim mystring As String

//akj
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 09:37 #6
Alternativt skal du løbe strengene igennem og se om der er forskel:

Private Sub Command4_Click()
    mystring = "ÿØÿw"
    mycompare = "ÿØÿà"
    If Len(mystring) <> Len(mycompare) Then
        MsgBox "Ikke ens"
        Exit Sub
    End If
    For i = 1 To Len(mystring)
        char1 = Asc(Mid(mystring, i, 1))
        char2 = Asc(Mid(mycompare, i, 1))
       
        If char1 <> char2 Then
            MsgBox "Er IKKE ens"
            Exit Sub
        End If
   
    Next
    MsgBox "Ens"
End Sub
Avatar billede tubber Juniormester
31. oktober 2002 - 09:38 #7
Ved sku ikke hvad der sker jeg havde sat en end ind i en else for at den ikke skulle loope uendeligt....

Den kørte den else......men det ser ikke ud til den gør noget nogen steder som den skal.....den går bare til den else.....
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 09:40 #8
Prøv lige at genstarte VB / Win
Avatar billede tubber Juniormester
31. oktober 2002 - 09:43 #9
den siger Er ikke ens

ok brb
Avatar billede tubber Juniormester
31. oktober 2002 - 09:58 #10
Har genstartet og det hele den vil bare ikke....

kan det have noget med at jeg henter det ind som binary ?
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 09:59 #11
Virker mit eks. fra før ??
Bemærk:
  mystring = "ÿØÿw"
  mycompare = "ÿØÿà"

De to strenge er ikke ens

//akj
Avatar billede tubber Juniormester
31. oktober 2002 - 10:04 #12
siger at de ikke er ens

ændre jeg myCompare til det som står i myString så siger den:
Ens

men de er jo sat manuelt, og ikke hentet ind som binary ?
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 10:14 #13
Det er nok fordi de er hentet ind som binary.

Hvad med at bruge ibstr funktionen, den kan sammenlige binary.

If Len(mystring) <> Len(mycompare) Then
    Exit Sub
Else
    If InStr(mystring, mycompare, vbBinaryCompare) > 0 Then
        MsgBox ens
    End If
End If

//akj
Avatar billede tubber Juniormester
31. oktober 2002 - 10:24 #14
siger også de ikke er ens....

prøver lige at kører en CStr på min streng
Avatar billede tubber Juniormester
31. oktober 2002 - 10:55 #15
Virker heller ikke

Nu når jeg henter noget ind som binary, kan jeg så beholde det som binary og arbejder med det på den måde - og hvordan får jeg et output der viser mig hvad den læser i binary ?
Avatar billede ocp Nybegynder
31. oktober 2002 - 11:04 #16
Prøv følgende:

strKonverteret = strconv(strSjovStreng,vbUnicode)

og sammenlign så.
Avatar billede tubber Juniormester
31. oktober 2002 - 11:07 #17
det giver bare : ÿ

:O/
Avatar billede ocp Nybegynder
31. oktober 2002 - 11:12 #18
Så prøv evt.:

strKonverteret = strconv(strSjovStreng,vbFromUnicode)

Prøv også at lave en Trim() omkring din parameter i de andre forslag.
Avatar billede tubber Juniormester
31. oktober 2002 - 11:34 #19
Nogen af jer der ved noget om en bytearray ?

måske det er løsningen ?
Avatar billede dk_akj Nybegynder
31. oktober 2002 - 11:38 #20
Kan du poste hvordan du åbner og læser fra filen ??
Avatar billede tubber Juniormester
31. oktober 2002 - 11:45 #21
<-----Åbne fil------>
Public Function OpenFile(Optional vntDefaultExt, Optional vntFlags, _
                                Optional vntFilter, Optional vntFilterIndex)
    Dim intScreenPointer As Integer
    On Error Resume Next
    intScreenPointer = Screen.MousePointer
    With dlg
        '.CancelError = True
        '.DefaultExt = IIf(IsMissing(vntDefaultExt), DEFAULT_EXT, vntDefaultExt)
        '.Flags = IIf(IsMissing(vntFlags), DEFAULT_FLAGS_OPEN, vntFlags)
        '.Filter = IIf(IsMissing(vntFilter), DEFAULT_FILTER, vntFilter)
        '.FilterIndex = IIf(IsMissing(vntFilterIndex), 1, vntFilterIndex)
        '.ShowOpen
        'Screen.MousePointer = vbHourglass
        .FileName = Form1.File1.Path & "\" & Form1.File1.FileName
        MsgBox .FileName
        If Not Err Then
            OpenFile = clsFile.OpenFile(.FileName, False)
        Else
            OpenFile = False
        End If
        Screen.MousePointer = intScreenPointer
    End With
End Function


<-----Læse fil------>
Public Function OpenFile(strFileName As String, _
                                        blnReadOnly As Boolean) As Boolean
    '---------------------------------------------------------------------
    ' If the file doesn't exist, then stop immediately.
    '---------------------------------------------------------------------
    If FileExists(strFileName) = False Then Exit Function
    '---------------------------------------------------------------------
    ' Set up an error handler that will exit the function immediately on
    ' any error.
    '---------------------------------------------------------------------
    On Error GoTo OpenFile_Err
    '---------------------------------------------------------------------
    ' Open the file the way the user requested.
    '
    ' NOTE
    '      Read-Only files will be shared, but Read/Write files will be
    '      Writelocked to prevent other users from opening the file and
    '      making changes which will be lost when this file is closed.
    '---------------------------------------------------------------------
    If blnReadOnly Then
        Open strFileName For Binary Access Read Shared As mintFileHandle
    Else
        Open strFileName For Binary Access Read Write Lock Write As mintFileHandle
    End If
    '---------------------------------------------------------------------
    ' Since the file was sucessfully opened, then update the class-level
    ' variables. Also notify the caller that OpenFile succeded.
    '---------------------------------------------------------------------
    mstrFileName = strFileName
    mblnReadOnly = blnReadOnly
    mblnFileOpen = True
    OpenFile = True
    Exit Function


det er det jeg bruger mener jeg......

det er 2 klasser jeg har hentet jeg bruger.....
Avatar billede nelz Nybegynder
31. oktober 2002 - 15:35 #22
Hvad med at sammenligne Hex-værdierne af de to strenge - det kan da ikke lyve:

if Hex(myString) = Hex("ÿØÿà") Then...

Det virker i hvertfald med binære strenge, der f.x. kan indeholde den tomme streng, der normalt ville afbryde eksekvering.
Avatar billede tubber Juniormester
31. oktober 2002 - 19:15 #23
den med hex giver type mismatch....
Avatar billede tubber Juniormester
31. oktober 2002 - 19:17 #24
Har selv lige fået en ide, men ved ikke hvordan man gør...jeg skal have de 4 først tegn fra en string ?
Avatar billede ocp Nybegynder
31. oktober 2002 - 19:45 #25
Left(str,4)
Avatar billede tubber Juniormester
31. oktober 2002 - 20:30 #26
Nå til point deling......

Ikke noget jeg normalt gør - jeg fandt jo selv en løsning.....meeeen hvornår havde jeg fundet den uden jer :O)

Der går 50 ponit til dk_akj
Der går 30 point til ocp
og sidst men ikke mindst 20 point til nelz

Jeg siger mange tak for hjælpen gutter :O)
Avatar billede tubber Juniormester
31. oktober 2002 - 20:31 #27
Fandt ud af min streng fra min fil var længere end mit visuelle output, men de 4 skulle være nok :O)
Avatar billede tubber Juniormester
01. november 2002 - 01:57 #28
Så blev jeg færdig :O)

Har lige lavet et kewl prog syntes jeg selv....

Det kan genkende filtyper ved at kigge i dem binært....så har man nogle chk filer kan den genkende dem og rename og flytte dem til rette bibloteker....

PT kan den kun lave jpg...skal til at teste filtyper nu :))

/Tubber
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester