Einzelnen Beitrag anzeigen

Krampus

Registriert seit: 19. Mär 2007
9 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: string concatentation mit NULLs

  Alt 4. Jul 2008, 12:49
Zitat von HeinzJ:
Ich denke mal, das der Operator + (für Stringverkettung) da mal schlicht keinen NULL Wert zuläßt.
Versuchs mal mit VariantFeld.AsString.
AsString kenn ich schon...

wie eingangs schon erwähnt lässt er´s auf 2 von 3 rechnern schon zu.
auf dem dritten läuft vista (was der einzig erkennbare unterschied ist) -
vielleicht ist die lösung aber auch ein delphi-compliler-switch (oder was halt immer - DAS ist die frage)

so ists halt urpraktisch, ein schöner einzeiler und vermeidet dutzende if-s bzw. doppelte leerzeichen.
so wird das leerzeichen nur verwendet, wenn das feld auch einen wert hat:
Code:
sName := Nz(rs.FieldValues[FLD_TITEL] + ' ', '') + Nz(rs.FieldValues[FLD_NAME2] + ' ', '') +
    Nz(rs.FieldValues[FLD_NAME1], '') + Nz(' ' + rs.FieldValues[FLD_NAME3], '');
--------------------------------------------------
function Nz(val, replace: variant): Variant;
begin
   if (val <> NULL) then
      result := val
    else
      result := replace;
end;
nachdem ich das seit 10 jahren so mache hab ich einfach keine lust
100e codezeile aufzublasen nur weil ich mal am samstag nachmittag
in der gartenhütte mit dem sch*** vista-notebook ein paar code-zeilen schreibe...
...wenn die möglichkeit besteht die URSACHE der anomalie zu finden
und das auf dem vista-ding auch zum laufen zu kriegen.
  Mit Zitat antworten Zitat