Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Teil eines PChar in anderen PChar kopieren

  Alt 25. Jun 2006, 17:52
Nur, falls noch jemand mal ein ähnliches Problem hat:
Delphi-Quellcode:
{ ------------------------------------------------------------------------------
Procedure: FirstWord
Author:    Frank Reim
Date:      28-Mrz-2006
Description:
  Extrahiert das erste Wort einer Zeichenkette
Arguments:
  const AStr
Return Value:
  PChar
Deklaration in Firebird:
  DECLARE EXTERNAL FUNCTION FirstWord
  CSTRING(80)
  RETURNS CSTRING(80) FREE_IT
  ENTRY_POINT 'FIRSTWORD' MODULE_NAME 'rw_udfs';
------------------------------------------------------------------------------ }

function FirstWord(const AStr: PChar): PChar; cdecl;
var
  // aktuelle Position
  p: Integer;
  // StartPosition (ohne Blank)
  ps: Integer;
begin
  Result := nil;
  p := 0;
  // CHR_BALANK ist #32
  while AStr[p] = CHR_BLANK do
  begin
    inc(p);
  end;
  ps := p;
  while AStr[p] <> #0 do
  begin
    if (AStr[p] in [' ', ',']) then
      Break;
    inc(p);
  end;
  Result := ib_util_malloc(p -ps + 1);
  StrMove(Result, AStr + ps, p - ps);
  Result[p - ps] := #0;
end;
Also Dank an Alle, hab es doch so gelöst - es geht ja auch um den Lerneffekt...

Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat