AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Text vor einem bestimmten Zeichen NICHT löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Text vor einem bestimmten Zeichen NICHT löschen

Ein Thema von Fallenzer · begonnen am 6. Mär 2020 · letzter Beitrag vom 10. Mär 2020
Antwort Antwort
Seite 1 von 2  1 2      
Fallenzer

Registriert seit: 3. Aug 2019
Ort: Wernigerode, Sachsen-Anhalt, DE
29 Beiträge
 
Delphi 10.3 Rio
 
#1

Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 17:26
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
Danilo Bleul (existiert seit 2005)
  Mit Zitat antworten Zitat
Alt 6. Mär 2020, 17:53     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Fallenzer

Registriert seit: 3. Aug 2019
Ort: Wernigerode, Sachsen-Anhalt, DE
29 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 20:18
Am Anfang steht 'shell>' und alle Zeichen nach > , inklusive > , müssen unversehrt bleiben...
Danilo Bleul (existiert seit 2005)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 20:19
Wie oft kommt dieses shell> vor?
Wenn es nur einmalig vorkommt, such die Position mit Pos().
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 20:32
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 20:34
Zitat:
delete(text,p,length(suchstr)-1);
In dem Fall würde shell> mitgelöscht.
  Mit Zitat antworten Zitat
Fallenzer

Registriert seit: 3. Aug 2019
Ort: Wernigerode, Sachsen-Anhalt, DE
29 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 20:46
Will ich aber nicht...
Danilo Bleul (existiert seit 2005)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 20:57
Dann würde ich sagen: arbeite etwas mit und ändere den Code, den du freundlicherweise zur Verfügung gestellt bekommen hast.
  Mit Zitat antworten Zitat
Fallenzer

Registriert seit: 3. Aug 2019
Ort: Wernigerode, Sachsen-Anhalt, DE
29 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 21:06
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...
Danilo Bleul (existiert seit 2005)
  Mit Zitat antworten Zitat
IceBube

Registriert seit: 9. Jul 2008
177 Beiträge
 
#9

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 21:37
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?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Text vor einem bestimmten Zeichen NICHT löschen

  Alt 6. Mär 2020, 21:43
Zitat:
delete(text,p,length(suchstr)-1);
In dem Fall würde shell> mitgelöscht.
Ich werd es nie lernen ohne Debugger vergallopiere ich mich da immer.

@Fallenzer
warum willst Du unbedingt Backspace nutzen?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Alt 6. Mär 2020, 23:14     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
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 10:47 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