Autor Beitrag
AceKiller73
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 13.01.06 12:10 
In meinem Projekt will ich die Eingabe in einer TStringGrid zählen.
Ich mache es mit dieser procedure.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm4.CountWoerter;
var woerter,null:string;
  begin
  Max_Vars:=0;
  repeat
    begin
    woerter:=StringGrid1.Cells[Max_Vars,0];
    Inc(Max_Vars);
    end;
  until woerter=null;
  Label8.Caption:=IntToStr(Max_Vars);
  Label9.Caption:=woerter;
  end;



Trotzdem Ziegt mir Label8.Caption immer den wert 3 an wieso?

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Danny87
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: Fr 13.01.06 12:12 
setz das bitte mal in delphi-tags, dann kann mans besser lesen :-)


Zuletzt bearbeitet von Danny87 am Fr 13.01.06 12:32, insgesamt 1-mal bearbeitet
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Fr 13.01.06 12:30 
Wieviele Spalten hast du denn in dem Grid?

_________________
Bravery calls my name in the sound of the wind in the night...
AceKiller73 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 13.01.06 12:42 
Hab 2 spalten. aber egal wie viel ich eingebe er zeigt immer 2 an.
Ich weiß so wie ich das gemacht habe zählt er nur eine Spalte.
aber selbst da zeigt er immer 3 an.
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Fr 13.01.06 12:49 
Wenn das Grid 2 Spalten hat, ist 3 ja auch richtig.

Deine Schleife beginnt bei [0,0]. Dann wird Max_Vars erhöht und steht auf 1.
Im nächsten Durchlauf prüfst du [1,0], also 2. Spalte, 1. Zeile. Max_Vars wird auf 2 erhöht.
Dann prüfst du [2,0], also 3. Spalte 1. Zeile. Max_Vars wird auf 3 erhöht.

Die Abbruchbedingung ist erfüllt, die Schleife wird verlassen, Max_Vars steht auf 3.

Also ist die Ausgabe doch richtig.

_________________
Bravery calls my name in the sound of the wind in the night...
AceKiller73 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 13.01.06 14:00 
Jaja ich hab den Fehler gefunden.
Ich hatte mich falsch ausgedrückt.
Ich wollte, das er die Zeilen ließt nicht die Spalten.
D.h. ich hatte die falschen koordinaten.
Aber many thx für die Hilfe.