Forum: Object-Pascal / Delphi-Language
Delphi
by yankee,
4. Mär 2007
mhh... ist doch alles nicht ganz einfach....
Der Buffer soll sich ja auch noch vergössern, sobald er voll ist. Was halted ihr hiervon:
var buffer: string;
bufcur,bufend: PChar;
begin
setlength(buffer, 31);
bufcur :=@buffer;
bufend :=@buffer;
while someCondition do
begin
Forum: Object-Pascal / Delphi-Language
Delphi
by yankee,
4. Mär 2007
Das heisst aber, dass, wenn ich die Länge des stringes sprenge der string weiter verlängert wird oder wird ab dann wieder abgeschnitten? Und wenn nein, wie stelle ich fest, dass ich die länge ausgereizt habe und wieder setlength aufrufen muss? Soll ich mitzählen, wieviele chars ich da reingeschoben habe?
Forum: Object-Pascal / Delphi-Language
Delphi
by yankee,
4. Mär 2007
mhh... das heisst ja, ich könnte bei jedem durchlauf der schleife mit length() prüfen, ob der String die maximale Länge ausgereizt hat. Wenn das der Fall ist, kopiere ich den string in einen anderen string mit dynamischer länge und fange wieder von vorne an den string aufzufüllen.
Oder ich nehme immer wieder setlength um den string zu verlängern, wenn die Länge ausgereizt ist. Das hiesse...
Forum: Object-Pascal / Delphi-Language
Delphi
by yankee,
4. Mär 2007
Hi @ll,
wenn ich einen string sehr langsam verändere/verlängere, zum Beispiel so:
var mystring: string;
begin
mystring :='';
while someCondition() do mystring :=mystring + 'A';
end;
Problem: Ich weiss nicht, wie lang der String werden wird. Ich kann aber sagen, dass der String höchstwahrscheinlich nicht länger als 30 Zeichen wird.