Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - string zeichen für zeichen auslesen


kuhlthomas - Do 22.05.03 21:15
Titel: string zeichen für zeichen auslesen
hallo

ich habe 2 fragen zu strings

1. wie kann man einen string zeichen für zeichen auslesen
2. wie lang kann ein string maximal sein

danke


Andreas Pfau - Do 22.05.03 21:28

1)

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  S: String;
  I: Integer;
begin
  S := 'Hello world';
  For I := 1 To Length(S) Do begin
    If (S[I] = 'o') Then
      ShowMessage('Found This damn "O"!');
  end;
end;

2) Da String mit Integer adressiert werden, maximal 2GB, aber auch maximal die Größe deines RAM. Rechne mal mit ~25MB, das müsste man aus jedem aktiellen System rausschinden können.


Christian S. - Do 22.05.03 21:31

Hallo, wenn Du einen String namens "my_string" hast, kannst Du auf die einzelnen Zeichen mit my_string[i] zugreifen, wobei das erste Zeichen den Index 1 hat.


Quelltext
1:
2:
3:
ShortString  255 characters  
AnsiString  ~2^31 characters
WideString  ~2^30 characters


Per default ist String ein AnsiString. Also genug Platz drin.


MfG,
Peter


TomT - Do 22.05.03 21:34

zu 1: Wie ein Array mit 1 als erstem Index:

Delphi-Quelltext
1:
2:
for i := 1 to length(zeichenkette1) do
   zeichenkette2 := zeichenkette2 + zeichenkette1[i];


zu 2: Wird durch den Arbeitsspeicher begrenzt, jedoch maximal 2 Gigabyte (also ~2000000000 Zeichen)


kuhlthomas - Do 22.05.03 22:02

danke!!!