Einzelnen Beitrag anzeigen

Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#1

zu wenig Arbeitssp. oder AV bei Stringverarbeitung?

  Alt 8. Nov 2007, 20:14
Also...

Ich habe mir folgende Funktion geschrieben:

Delphi-Quellcode:
function betonen(vers:string):string;
var z:integer;
    buffer:string;
begin
buffer:=vers;
for z:=0 to length(vers)-1 do
  begin
  if vers[z] in ['a','e','i','o','u'] then
    begin
    buffer[z]:='*';
    end
  else
    begin
    buffer[z]:='_'; //wobei hier schon alles andere stand als n Unterstrich - Leerzeichen, n normaler Buchstabe....
    e;
  end;
result:=buffer;
end;
gibt mir Aber ne AV wieder... weiß leider nicht so ganz warum
naja, habe ich dann etwas umgeschrieben:

Delphi-Quellcode:
function betonen(vers:string):string;
var z,u:integer;
    buffer:string;

begin
buffer:=vers;
for z:=0 to length(vers)-1 do
  begin
  buffer[z]:='_';
  if vers[z] in ['a','e','i','o','u'] then
    begin
    buffer[z]:='*';
    end
  end;
result:=buffer;
end;
wieder ne AV
dann habe ich folgendes probiert:

Delphi-Quellcode:
function betonen(vers:string):string;
var z,u:integer;
    buffer:string;

begin
buffer:=vers;

for u:=0 to length(vers)-1 do
  begin
  buffer[u]:='_';
  end;

for z:=0 to length(vers)-1 do
  begin
  if vers[z] in ['a','e','i','o','u'] then
    begin
    buffer[z]:='*';
    end
  end;
result:=buffer;
end;
Sagte mir der Compiler aber: Zu wenig Arbeitsspeicher...
---
Das Problem muss irgednwo an dem Result liegen...
Hab auch shcon Probiert, dem Funktionsnamen das zuzuweisen (so zeigte es uns unser lehrer, finde ich aber nicht so schön...)
Ich denke, was ich vorhabe, ist eindeutig, warum es ist geht würde mich interessieren...

Bin Euch für sämtliche Tipps dankbar

P.S. Habe auch schon probiert buffer global zu deklarieren, ändert aber nichts...

<EDIT> Ich glaube die Lösung ist recht trivial, nur scheine ich grade in kleines Blackout zu haben </EDIT>
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat