Autor Beitrag
n@no
Hält's aus hier
Beiträge: 14



BeitragVerfasst: So 16.03.03 02:59 
hi,
mit welchem befehl kann ich einzelne buchstaben aus einem string zählen.
also z.b. ich habe eine .txt datei, oder einen string, wo ich jetzt alle "a" oder "e" und so weiter zählen will. wie soll das gehen??
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 16.03.03 04:46 
Hatten wir schon mal. Ist sogar ein ganzes Statistik Programm bei rausgekommen. Wühl mal etwas im Forum.
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: So 16.03.03 14:31 
Wie du schon gelesen hast gibts da was großes. Wenn du aber auch mit etwas kleinem zufrieden bist, dann geht das so:


ausblenden Quelltext
1:
2:
x := 0;
for i := 1 to Length(s) do if s[i] = 'e' then Inc(s);


Das wars schon. S ist der String, kann aber auch eine Textdatei sein, da man eine Textdatei als String laden kann, z.B. über Memo:

ausblenden Quelltext
1:
2:
Memo1.Lines.LoadFromFile('c:\text.txt');
s := Memo1.Lines.Text;


über StringList:

ausblenden Quelltext
1:
2:
Sl.LoadFromFile('c:\text.txt');
s := Sl.Text;

_________________
Popov
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 16.03.03 18:05 
:arrow: Inc(x) soll es wohl im ersten Code-Schnipsel heißen.
n@no Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 17.03.03 02:28 
ja merci noch, aber wie kann man das noch vereinfachen wenn ich das für jeden buchstaben machen will??
bis jetzt ist mir nur die idee mit ner case anweisung gekommen. aber da muss ich ja für jeden buchstaben ne extra anweisung machen. das muss doch irgendwie mit weniger code gehen??
und ich find auch net das statistik programm wo hier angesprochen wurde?? ich nehm mal an das wird so ähnlich sein, wie das was ich machen will, also wenn ihr noch den direkten link wisst postet ihn bitte mal hier.
JanHH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.03.03 07:18 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var count: Array[0..255] of Integer
.
.
for i := 0 to 255 do
count[i] := 0;
.
.
for i := 1 to Length(s) do
inc(count[ORD[s[i]]]);
.
.

so in etwa.

also einfach den ascii-code des zeichens als index für ein array, welches die zählvariablen für jeden buchstaben (und auch sonst alles, was vorkommen kann in einem string) enthält.

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
JanHH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.03.03 07:19 
ähem natürlich ORD() und nicht ORD[] ;).
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.03.03 10:21 
n@no hat folgendes geschrieben:
und ich find auch net das statistik programm wo hier angesprochen wurde?? ich nehm mal an das wird so ähnlich sein, wie das was ich machen will, also wenn ihr noch den direkten link wisst postet ihn bitte mal hier.

www.delphi-forum.de/viewtopic.php?p=16514