AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Speziellen Substring aus String kopieren

Ein Thema von 13Horst37 · begonnen am 24. Jun 2009 · letzter Beitrag vom 25. Jun 2009
Antwort Antwort
Seite 2 von 2     12
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#11

Re: Speziellen Substring aus String kopieren

  Alt 25. Jun 2009, 00:00
Zitat von 13Horst37:
Danke, das werd ich gleich mal ausprobieren. Das einzige was noch nicht stimmt:
Mit Edit1.Text meinte ich eigentlich auch einen String, hab ich leider falsch formuliert. Der ergibt sich eben aus dem Inhalt vom Textfeld Edit1.Text.
Achso ... naja, man kann die Funktion problemlos erweitern das der String nach dem anfänglich gesucht wird, ebenfalls übergeben wird. Siehe hier:
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

function ExtractSubStringFromString(StringToExtractFrom, DeleteFromHere : string) : string;
var
  StringStart, StringEnd : Integer;
begin
  StringStart := Pos(DeleteFromHere, StringToExtractFrom);
  if StringStart > 0 then
    begin
      Delete(StringToExtractFrom, 1, StringStart + Length(DeleteFromHere) - 1);
      StringEnd := Pos(' ', StringToExtractFrom);
      if StringEnd > 0 then
        begin
          Delete(StringToExtractFrom, StringEnd, Length(StringToExtractFrom));
          Result := StringToExtractFrom;
        end;
    end;
end;

const
  TestString = 'c599he9rc8r834n98cr2u4982543957340954309583409 0942358304298543098503495843098dfsaghdsfiouh';
  DeleteFromHere = '2u498';
begin
  writeln(ExtractSubStringFromString(TestString, DeleteFromHere));
  readln;
end.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
13Horst37

Registriert seit: 24. Jun 2009
5 Beiträge
 
#12

Re: Speziellen Substring aus String kopieren

  Alt 25. Jun 2009, 00:38
Ich nochmal.

Hab Delphi jetz wieder zum laufen gebracht, allerdings will das ganze immernoch nicht funktionieren
Vllt überseh ich inzwischen selbst schon i-welche Standartfehler... *Verwirrung*

Delphi-Quellcode:
..blabla code halt
Form1.ExtractSubStringFromString(alpha); // alpha = Der String in dem sich alles abspielt
showmessage(alpha);
Alpha wird von Showmessage unverändert geöffnet.
Was mach ich falsch?!
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#13

Re: Speziellen Substring aus String kopieren

  Alt 25. Jun 2009, 00:45
Zitat von 13Horst37:
Alpha wird von Showmessage unverändert geöffnet.
Was mach ich falsch?!
Du verwechselst Call By Value mit Call By Reference. Der Unterschied? Nun, wenn Du die Funktion so definiert hast, wie in meinem Beispiel, bekommt die Funktion den Wert des Strings übergeben (Call By Value) - nicht aber den String selbst. Das bedeutet, daß die Funktion mit einer Kopie arbeitet und das Original (alpha in Deinem Falle) niemals anrührt. Im Gegensatz dazu steht Call By Reference. Dabei wird eine Referenz auf die Variable übergeben. Alles was Du mit der Variable also in der Funktion anstellst, betrifft die Originalvariable. Es gibt keine Kopie.

Es gibt jetzt 2 Möglichkeiten:
Die Funktion gibt den String zurück. Entspechend könntest Du sagen "alpha := Form1.ExtractSubStringFromString(alpha);".
Oder Du änderst die Funktionsdefinition dahingehend, daß der String nicht by Value übergeben wird, sondern by Reference. Dazu musst Du in der Definition der Funktion ein "var" vor den Parameter Namen setzen. Also z.B. "function ExtractSubStringFromString(var StringToExtractFrom : string) : string;".
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Speziellen Substring aus String kopieren

  Alt 25. Jun 2009, 08:05
Hallo,

noch ein kleiner Hinweis:

Das Funktionsergebnis sollte in jedem Fall initialisiert werden, das sonst unter Umständen ein falsches Ergebnis ausgegeben wird.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz