Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism Zeichen aus String entfernen (https://www.delphipraxis.net/43623-zeichen-aus-string-entfernen.html)

malo 6. Apr 2005 15:58


Zeichen aus String entfernen
 
Delphi-Quellcode:
procedure TWinForm.TextBox2_KeyPress(sender: System.Object; e: System.Windows.Forms.KeyPressEventArgs);
var i, j: integer;
begin
  for i := 0 to Length(TextBox2.Text) - 1 do
    for j := 0 to 9 do
    begin
      if TextBox2.Text[i] = Zahl[j].ToString then
        TextBox2.Text[i] := '';
    end;
end;
Dieser Code verursacht einen Fehler beim compilieren "Der linken Seite kann nichts zugewiesen werden". Warum das? oder, wie kann ich anders das Zeichen Textbox2[i] entfernen?

Jasocul 6. Apr 2005 16:00

Re: Zeichen aus String entfernen
 
Du musst dir eine Zwischen-Variable definieren. Du kannst auf die Eigenschaft Text deiner TextBox so nicht zugreifen.

malo 6. Apr 2005 16:04

Re: Zeichen aus String entfernen
 
Zitat:

Zitat von Jasocul
Du musst dir eine Zwischen-Variable definieren. Du kannst auf die Eigenschaft Text deiner TextBox so nicht zugreifen.

Ah, danke :)

Ein Problem noch:
Delphi-Quellcode:
s[i] := '';
bringt den Fehler "inkompatible Typen: Char und String". Was kann man da machen? :?

CalganX 6. Apr 2005 16:10

Re: Zeichen aus String entfernen
 
Hi,
geraten:
Delphi-Quellcode:
''.ToChar;
// oder
''[1]
Könnte funktionieren... :mrgreen:

Chris

Binärbaum 6. Apr 2005 16:11

Re: Zeichen aus String entfernen
 
Zitat:

Zitat von malo
Ein Problem noch:
Delphi-Quellcode:
s[i] := '';
bringt den Fehler "inkompatible Typen: Char und String". Was kann man da machen? :?

Na z.B.
Delphi-Quellcode:
s[i] := #0;
wäre eine Lösung.

MfG
Binärbaum

malo 6. Apr 2005 16:12

Re: Zeichen aus String entfernen
 
Zitat:

Zitat von Chakotay1308
Hi,
geraten:
Delphi-Quellcode:
''.ToChar;
// oder
''[1]
Könnte funktionieren... :mrgreen:

Chris

:mrgreen:

.ToChar gibts leider nicht, und " ''[1]" bringt mir eine Exception :?

malo 6. Apr 2005 16:13

Re: Zeichen aus String entfernen
 
Zitat:

Zitat von Binärbaum
Zitat:

Zitat von malo
Ein Problem noch:
Delphi-Quellcode:
s[i] := '';
bringt den Fehler "inkompatible Typen: Char und String". Was kann man da machen? :?

Na z.B.
Delphi-Quellcode:
s[i] := #0;
wäre eine Lösung.

MfG
Binärbaum

Danke :firejump:

CalganX 6. Apr 2005 16:18

Re: Zeichen aus String entfernen
 
Hi,
zu meinem Vorschlag von oben:
Delphi-Quellcode:
''.ToCharArray[0]; {oder} ''.ToCharArray[1]
sollte dennoch funktionieren ;)

Chris

Kurt56 6. Apr 2005 16:23

Re: Zeichen aus String entfernen
 
Delphi-Quellcode:
var i, j: integer;
    s: string;  // zwischenfeld
begin
s:='';  //zwischenfeld löschen
  for i := 0 to Length(TextBox2.Text) - 1 do
    for j := 0 to 9 do
    begin
      if TextBox2.Text[i] <> Zahl[j].ToString then  //bei gleichheit, zahl weglassen
                                                     // also ungleiche zeichen kopieren in s
        s:=s+ TextBox2.Text[i];
    end;
TextBox2.Text:=s; //ergebnis übertragen
end;
Eine Zuweisung auf ein Byte einer Stringvariable unbekannter Länge geht nicht.
Aber Zeichen in diese Stringvariable anfügen (append) geht. Dann das Ergebnis in die Textbox rückübertragen.

Gruß
Kurt


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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