Einzelnen Beitrag anzeigen

alphanumeric

Registriert seit: 9. Nov 2009
79 Beiträge
 
Delphi 2009 Enterprise
 
#1

ContainsStr/Stringvergleich

  Alt 12. Jan 2010, 10:44
Servus,

kurz zur vorgeschichte.

ich habe einen Email verteiler fest als XML definiert aus welcher die empfängeradresse je nach Kundenauftrags-Typ ausgelesen wird.
Im Kundenauftrag befinden sich Freigaben diverser Mitarbeiter. Wenn Freigegeben, sollen diese ebenfalls eine Kopie der Email erhalten. Problem ist: es kann vorkommen, dass nutzer doppelt sind.
Da die nutzer in ner DB eingetragen sind, vergleiche ich zuerst ob die Email adresse vorhanden ist, wenn nicht, trage ich in die Empfängerzeile den im Kundenauftrag hinterlegten Namen ein, was i.d.R. meißt der Fall ist. Nun folgendes Problem: die Email adressen aus dem XML Verteiler können auch Kundenaufträge freigeben, d.h. diese können durchaus doppelt erscheinen. Genau das will ich unterbinden und wollte hier einen ContainsStr aufsetzen. Das sieht folgendermaßen aus:

Delphi-Quellcode:
if ContainsStr(AnsiString(moduleConfiguration.GetValue(VERTEILER_KEY_RA, '')),TrimRight(_dataSet_AuftraegeFlg.FieldByName('cfrei_v').AsAnsiString)) then
                    begin
                        //keine aktion
                    end
                    else
                    begin[...]
Da ContainsStr nur mit AnsiStrings funktioniert, muss ich beide umwandeln. bei der Umwandlung des Variants in einen AnsiString, wirft er mir nun aber eine Zugriffsverletzung. Weiter oben benutz ich dabei ebenfalls GetValue, wandel das ganze nur in einen string um. ohne AnsiString umwandlung, lässt sich das gute stück garnicht compilen.

Sitz wie immer ratlos hier, würd mich über hilfe freuen.


gruß
alphanum
  Mit Zitat antworten Zitat