AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PChar: Zeichen rechts abschneiden?

Ein Thema von Pseudemys Nelsoni · begonnen am 18. Aug 2005 · letzter Beitrag vom 19. Aug 2005
 
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#25

Re: PChar: Zeichen rechts abschneiden?

  Alt 18. Aug 2005, 21:46
@bigg: Guck ich mir an, danke
@Dax: Danke für die Info.

@marabu: auf irgendeinzeichen davor Ich denke ja das wir nichtmehr im string sind wenn wir unter dem ersten zeichen sind oder?

So sah meine Funktion aus, die alle Zeichen links gelöscht hat:

Delphi-Quellcode:
function StripCharsLeft(const S: string; CharSet: TCharSet): string;
var
  PResIdx: PChar;
  PSIdx: PChar;
  Idx: Integer;
  SLen: Integer;
begin
  SetLength(Result, Length(S));
  if S <> 'then
  begin
    PResIdx := @Result[1];
    PSIdx := @S[1];
    Idx := 0;
    SLen := Length(S);
    while (PSIdx^ <> #0) and (PSIdx^ in CharSet) do
    begin
      Inc(PSIdx);
      Inc(Idx);
    end;
    if PSIdx^ <> #0 then
    begin
      CopyMemory(@Result[1], PSIdx, SLen-Idx);
      SetLength(Result, SLen-Idx);
    end;
  end;
end;
Die wollte ich nun nochmal (selbst) so schreiben, das rechts gelöscht wird statt links, aber da wir ja am Anfang des Strings kein #0 Zeichen haben, bin ich daran bis jetzt gescheitert :\

Zitat:
Dein Code darf beim Arbeiten mit Zeigern weder unbeabsichtigt (Fehlerfall), noch bewusst (Erfolg durch Nebenwirkung) auf "solche" Speicherbereiche zugreifen.
Jo, ich dachte nur man darfs, wegen:

Zitat von marabu:
Klar doch
Oder war das Ironie?

Danke auch Dir
Mario
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz