AGB  ·  Datenschutz  ·  Impressum  







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

Memo String suche und Löschen

Ein Thema von Natcree · begonnen am 19. Dez 2017 · letzter Beitrag vom 19. Dez 2017
Antwort Antwort
Seite 1 von 2  1 2      
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#1

Memo String suche und Löschen

  Alt 19. Dez 2017, 22:57
Hallo ich möchte in einem Memo in einer Zeile nach einem '%' suchen und mchte wenn es das 7. letzte Zeichen ist alles dannach löschen. nach einem STring suchen mache ich so
Delphi-Quellcode:
for i := Memo1.Lines.Count - 1 downto 0 do
  if Pos('#', Memo1.Lines[i]) <> 0 then
jedoch habe ich mehrere % zeichen in meinem Memo die auch drin bleiben sollen. es geht nur um die % welche sich an 8 letzter position der Memozeile befinden.

Kann mir jemand helfen oder einen guten Ansatz geben?!?
Danke
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:02
Versuch mal System.SysUtils.LastDelimiter
Delphi-Quellcode:
for i := Memo1.Lines.Count - 1 downto 0 do
 begin
  sLine := Memo1.Lines[i];
  iPos := System.SysUtils.LastDelimiter('%', sLine);

  if iPos > 7 then
   .....
 end;
Den Rest mit 7tes oder 8tes Zeichen habe ich ehrlich gesagt nicht kapiert.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:07
habe in eingen zeilen so etwas zu stehen

125 1 Haustier 5,00 4,67 5,00 0,2% 4,67 5,00 0,2% 20 0 -1

Ich will in solchen Zeilen alles hinter dem letzten % zeichen löschen
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:12
Dann so

Delphi-Quellcode:
for i := Memo1.Lines.Count - 1 downto 0 do
 begin
  iPos := System.SysUtils.LastDelimiter('%', Memo1.Lines[i]);

  if iPos > 0 then // weil du eben von irgendwas mit 7, 8 und was weiß ich geschrieben hast, stand hier vorher > 7
   begin
    Memo1.Lines[i] := Copy(Memo1.Lines[i], 1, iPos);
   end;
 end;

Geändert von LTE5 (19. Dez 2017 um 23:27 Uhr)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:20
muss ich noch irgend eine unit einbinden der erkennt sline und ipos nicht?
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:21
Am besten lokal, da wo die Schleife aufgerufen wird
Delphi-Quellcode:
var
 iPos: Integer;
sLine brauchst du nicht. Siehe oben.
Habe oben auch einen Tippfehler korrigiert.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:24
er erkennt SysUtils nicht
[Error] Unit1.pas(74): Undeclared identifier: 'SysUtils'
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:25
Mach aus

System.SysUtils.LastDelimiter

das hier

LastDelimiter
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:26
sline ist dann ein String?

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
iPos: Integer;
sline:string;
begin
for i := Memo1.Lines.Count - 1 downto 0 do
 begin
  iPos := SysUtils.LastDelimiter('%', Memo1.Lines[i]);

  if iPos > 0 then // weil du eben von irgendwas mit 7, 8 und was weiß ich geschrieben hast, stand hier vorher > 7
   begin
    Memo1.Lines[i] := Copy(sLine, iPos);
   end;
 end;
end;
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

AW: Memo String suche und Löschen

  Alt 19. Dez 2017, 23:27
Habe mein Beispiel oben geändert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:54 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