zwei TStringList* vergleichen



  • Hi Leute,

    ich hab mal ne Frage wie kann ich zwei StringList* miteinander sinnvoll vergleichen, ob die den gleichen Inhalt haben?

    das Programm soll nämlich, wenn sich der TStringList* Error vergrößert oder gegenüber TStringList* ErrorOld verkleinert an mich ne E-Mail senden.

    Jetzt hab ich nur das Problem, dass wenn ich so vergleiche:

    if(Error==ErrorOld)
      return true;
    else
     return false;
    

    er immer true zurückgibt, da die beiden nie den gleichen Inhalt habe, obwohl sich nix geändert hat, die beiden haben eben nur nen anderen Speicherplatz auf den sie zeigen.

    Kann mir jemand helfen?

    mfg
    Tom



  • Error und ErrorOld sind Zeiger. Die kannst du so nicht vergleichen.

    Wenn es darauf ankommt nur unterschiedliche Größen festzustellen, kannst du ja jeweils die Eigenschaft Count vergleichen.

    Du bekommst einen zeichenmässigen Vergleich hin, in dem du dann die Eigenschaft Text jeweils vergleichst



  • oder du nutzt die Memberfunktion Equals

    if(Error->Equals(ErrorOld))
      return true;
    else
     return false;
    

    Das oben ist recht umständlich
    Dann besser das

    return Error->Equals(ErrorOld);
    


  • Gut, man lenrt immer wieder neue Methoden



  • Thx an euch zwei, habs jetzt hingebracht, super!

    mfg
    Tom


Anmelden zum Antworten