AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Anfang und Ende eines String teils ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Anfang und Ende eines String teils ermitteln

Ein Thema von jacky213 · begonnen am 3. Mär 2013 · letzter Beitrag vom 4. Mär 2013
 
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#7

AW: Anfang und Ende eines String teils ermitteln

  Alt 4. Mär 2013, 08:29
Der Übersicht halber hier nun das Endergebnis:

Die Komplette Unit mit Aufruf:
Delphi-Quellcode:
unit StringChecker;

interface
  function StringPartEnd (const Str : string; const Start : Integer) : Integer;
  function StringPartStart (const Str : string; const Start : Integer) : Integer;
  function CopyWord(Text: String; Position: integer) : String;

implementation

uses unit1, SysUtils;

function CheckStartInRange (const Str : string; const Start : Integer) : Integer;
begin
  if (Start < 1) or (Length (Str) < Start) then
    Result := 0
  else
    Result := Start
end;

function IsWhitespace (const Str : string; const Start : Integer) : Boolean;
begin
  Result := CharInSet (Str [Start], [#9, #10, #13, #32])
end;

function StringPartStart (const Str : string; const Start : Integer) : Integer;
begin
  Result := CheckStartInRange (Str, Start);
  if Result = 0 then
    Exit;

  if IsWhitespace (Str, Result) then
    Exit;

  while (Result > 1) and (Str [Result - 1] <> ' ') do
    Dec (Result)
end;

function StringPartEnd (const Str : string; const Start : Integer) : Integer;
var
  l : Integer;
begin
  Result := CheckStartInRange (Str, Start);
  if Result = 0 then
    Exit;

  if IsWhitespace (Str, Result) then
    Exit;

  l := Length (Str);
  while (Result < l) and (Str [Result + 1] <> ' ') do
    Inc (Result)
end;

function CopyWord(Text: String; Position: integer) : String;
var
i, j: integer;
begin
i := StringPartStart (Text, Position);
j := StringPartEnd (Text, Position);
Result := Copy (Text, i, j - i + 1);
end;

end.
Und hier nun der Aufruf:
Delphi-Quellcode:
procedure TForm1.Button15Click(Sender: TObject);
var
s: string;
begin
S:= 'Das ist der String den ich testen möchte';
showmessage(CopyWord(S, 15));
end;
Die Ausgabe ist in diesem Fall dann:
String

Danke nochmal an Volker Z. und KWolf

Geändert von jacky213 ( 4. Mär 2013 um 08:35 Uhr)
  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 02:28 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