AGB  ·  Datenschutz  ·  Impressum  







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

Zeichen aus String entfernen

Ein Thema von malo · begonnen am 6. Apr 2005 · letzter Beitrag vom 6. Apr 2005
Antwort Antwort
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#1

Zeichen aus String entfernen

  Alt 6. Apr 2005, 15:58
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?
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:00
Du musst dir eine Zwischen-Variable definieren. Du kannst auf die Eigenschaft Text deiner TextBox so nicht zugreifen.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#3

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:04
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:
s[i] := ''; bringt den Fehler "inkompatible Typen: Char und String". Was kann man da machen?
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:10
Hi,
geraten:
Delphi-Quellcode:
''.ToChar;
// oder
''[1]
Könnte funktionieren...

Chris
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:11
Zitat von malo:
Ein Problem noch:
s[i] := ''; bringt den Fehler "inkompatible Typen: Char und String". Was kann man da machen?
Na z.B.
s[i] := #0; wäre eine Lösung.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#6

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:12
Zitat von Chakotay1308:
Hi,
geraten:
Delphi-Quellcode:
''.ToChar;
// oder
''[1]
Könnte funktionieren...

Chris


.ToChar gibts leider nicht, und " ''[1]" bringt mir eine Exception
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#7

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:13
Zitat von Binärbaum:
Zitat von malo:
Ein Problem noch:
s[i] := ''; bringt den Fehler "inkompatible Typen: Char und String". Was kann man da machen?
Na z.B.
s[i] := #0; wäre eine Lösung.

MfG
Binärbaum
Danke
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:18
Hi,
zu meinem Vorschlag von oben:
''.ToCharArray[0]; {oder} ''.ToCharArray[1] sollte dennoch funktionieren

Chris
  Mit Zitat antworten Zitat
Benutzerbild von Kurt56
Kurt56

Registriert seit: 6. Apr 2005
Ort: Wedemark
47 Beiträge
 
Delphi XE8 Professional
 
#9

Re: Zeichen aus String entfernen

  Alt 6. Apr 2005, 16:23
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
Kurt
  Mit Zitat antworten Zitat
Antwort Antwort


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