Results 1 to 5 of 5

Thread: Strings vergelijken

  1. #1

    Strings vergelijken

    Hallo allemaal,

    Is er een methode om de twee volgende variabelen te testen op gelijkheid?

    Code:
    begin
       A :=  'SysUtils;';
       B :=  'SysUtils,';
       If Pos(A,B) <> 0 then ... // dit werkt niet
    end;
    Met een hartelijke groet, Frans

  2. #2
    Die twee zijn niet gelijk, dus wat wil je precies bereiken?
    CompareText en CompareStr geven dacht ik de index terug waarop de eerste afwijking van A t.o.v. B is (hier dus de komma versus de puntkomma).

    Bart

  3. #3
    Opgelost

    Verwijder van SysUtils; het laatste karakter met A := StringReplace(A,';','',[]);

    H.G. Frans

  4. #4


    en dan?

    Code:
    begin
       A :=  'SysUtils,';
       B :=  'SysUtils;';
       A := StringReplace(A,';','',[]);
       If Pos(A,B) <> 0 then ... // dit werkt niet
    end;
    wees dan consequent en doe zoiets als
    Code:
    begin
       A := StringReplace(A,';','',[]);
       A := StringReplace(A,',','',[]);
       B := StringReplace(B,';','',[]);
       B := StringReplace(B,',','',[]);
    end,;
    en het lijkt erop dat dit een stukje code is om aanwezige units te vergelijken en dan gaat het alsnog fout als het bijvoorbeeld "sysutils ;" of "sysutils ," is.

  5. #5
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Delphi Code:
    1. const interpunctie = [',',';','','!','.'];
    2.  
    3. if comparetext(trimset(a,interpunctie),trimset(b,interpunctie)) then
    4. ...

    Maar dit is meer voor en na string, niet tussen woorden in de string.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •