Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Text vor einem bestimmten Zeichen NICHT löschen (https://www.delphipraxis.net/203638-text-vor-einem-bestimmten-zeichen-nicht-loeschen.html)

Fallenzer 6. Mär 2020 18:26

Text vor einem bestimmten Zeichen NICHT löschen
 
Hallo und guten Tag,

ich würde von euch eine Möglichkeit erfahren, wie man den Text vor dem Zeichen '>' mit BACKSPACE nicht löscht.

Ich persönlich habe keine, deswegen kann ich auch keinen Code senden...

Sehr freuen würde ich mich auf schnelle Rückmeldungen.
Vielen Dank

Fallenzer 6. Mär 2020 21:18

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Am Anfang steht 'shell>' und alle Zeichen nach > , inklusive > , müssen unversehrt bleiben...

DieDolly 6. Mär 2020 21:19

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Wie oft kommt dieses shell> vor?
Wenn es nur einmalig vorkommt, such die Position mit Pos().

p80286 6. Mär 2020 21:32

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
wie wäre es mit so etwas:
Delphi-Quellcode:
suchstr:='shell>';


p:=pos(suchstr,text);
if p>0 then delete(text,p,length(suchstr)-1);
Gruß
K-H

DieDolly 6. Mär 2020 21:34

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Zitat:

delete(text,p,length(suchstr)-1);
In dem Fall würde shell> mitgelöscht.

Fallenzer 6. Mär 2020 21:46

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Will ich aber nicht...

DieDolly 6. Mär 2020 21:57

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Dann würde ich sagen: arbeite etwas mit und ändere den Code, den du freundlicherweise zur Verfügung gestellt bekommen hast.

Fallenzer 6. Mär 2020 22:06

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Temporär habe ich folgendes versucht:

Delphi-Quellcode:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#08 then
  begin
    if length(Memo1.Lines[0])=6 then key:=#0;
  end;
end;
key #08 ist BACKSPACE laut ASCII, die Länge des Stringes 'shell>' ist 6, und wenn diese Zahl erreicht wird, dann wird die BACKSPACE-Taste blockiert, sodass sich das dadurch nicht löschen lässt...

Für die Erste Zeile des Memos wäre es geschafft...

IceBube 6. Mär 2020 22:37

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Zitat:

Zitat von Fallenzer (Beitrag 1459105)
Temporär habe ich folgendes versucht:

Delphi-Quellcode:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#08 then
  begin
    if length(Memo1.Lines[0])=6 then key:=#0;
  end;
end;
key #08 ist BACKSPACE laut ASCII, die Länge des Stringes 'shell>' ist 6, und wenn diese Zahl erreicht wird, dann wird die BACKSPACE-Taste blockiert, sodass sich das dadurch nicht löschen lässt...

Für die Erste Zeile des Memos wäre es geschafft...

Und Zeile 2 ist/sollte ..Lines[1] sein? :)

p80286 6. Mär 2020 22:43

AW: Text vor einem bestimmten Zeichen NICHT löschen
 
Zitat:

Zitat von DieDolly (Beitrag 1459101)
Zitat:

delete(text,p,length(suchstr)-1);
In dem Fall würde shell> mitgelöscht.

Ich werd es nie lernen:oops: ohne Debugger vergallopiere ich mich da immer.

@Fallenzer
warum willst Du unbedingt Backspace nutzen?

Gruß
K-H


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:20 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf