Autor Beitrag
Massa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25



BeitragVerfasst: Mi 09.01.08 17:04 
Hallo zusammen.

Ich hab ein kleines Problem.
Aus einem Memofeld sollen alle Buchstaben von einem manuell eingegebenen Wort gezählt werden und auf einem Label soll dann die Anzahl erscheinen. Das zählen und aufschreiben soll durch ButtonClick ausgelöst werden.
Mein Ansatz war dieser:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  Memo1.text:=S1;
  Zaehler:=0;
  for i:= 1 to length(S1) do
  begin
    Zaehler:=Zaehler+1;
  end;
  Panel1.caption:=inttostr(Zaehler);


So weit so gut.
Starte ich das Programm nun öffne und ein beliebiges Wort in das Memofeld schreibe und danach den Button drücke, wir das Wort im Memofeld gelöscht und im Label die Zahl 0 geschrieben.

Meine Frage nun: Was mache ich falsch?

Ich bitte um schnellstmögliche Antwort.
Und danke im vorraus.

Gruß Massa
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mi 09.01.08 17:10 
S1:=Memo1.text;

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mi 09.01.08 17:18 
user profile iconMassa hat folgendes geschrieben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  Memo1.text:=S1;
  Zaehler:=0;
  for i:= 1 to length(S1) do
  begin
    Zaehler:=Zaehler+1;
  end;
  Panel1.caption:=inttostr(Zaehler);


Warum so umständlich? Es geht auch viel einfacher:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  Memo1.text:=S1;
  Zaehler:=Length(s1);
  Panel1.caption:=inttostr(Zaehler);
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Mi 09.01.08 17:20 
user profile iconMassa hat folgendes geschrieben:
Hallo zusammen.

Ich hab ein kleines Problem....
Gruß Massa


Hallo, die Schleife
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  for i:= 1 to length(S1) do  
  begin  
    Zaehler:=Zaehler+1;  
  end;


ist ausserdem komplett überflüssig, weil immer length(S1) rauskommt - und das weiss man ja schon.

Gruss Reinhard
Massa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25



BeitragVerfasst: Mi 09.01.08 17:29 
Danke erstmal für die schnellen Antworten. Ich habe es so geschrieben wie ihr es angegeben habt Blackheart666 und Regan.
Dadurch wird mir auch schonmal eine Zahl angegeben, doch leider nicht die richtige.
Bei dem Wort Memo gibt das Programm die Zahl 6 aus.

Es steckt also noch ein Fehler drin.

Gruß Massa
Tarry
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Mi 09.01.08 17:47 
Dann hast du vielleicht zwei Leerzeichen dran gehangen?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IntToStr(length(Edit1.Text));
end;


Nun wird im Label1 die Anzahl der Stellen des Worts aus Edit1 Angegeben, hoffe das hat dir geholfen.

Gruß
Tarry

_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
Massa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25



BeitragVerfasst: Mi 09.01.08 18:02 
Hey vielen dank.
Ich hatte keine Lehrzeichen dazwischen aber es funktioniert jetzt!

Vielen vielen dank an alle die geholfen haben.


Gruß Massa