Entwickler-Ecke

Sonstiges (Delphi) - Inhalt eines memoFeldes in einen Dynamischen array füllen


Luncustaf - Fr 03.01.03 15:06
Titel: Inhalt eines memoFeldes in einen Dynamischen array füllen

Quelltext
1:
2:
3:
4:
5:
6:
  for i := 0 to Length(Cancel[Page.ActivePageIndex]) do  //länge vom Array ermitteln
  begin
     CancelCount := i +1; //Zähler für den Array um eines hochsetzen
  end;
      SetLength(Cancel[Page.ActivePageIndex], CancelCount);   //die neue Länge des Array's festlegen
      Cancel[Page.ActivePageIndex][CancelCount] := TMemo(Page.ActivePage.FindChildControl('Fenster'+IntToStr(Page.ActivePageIndex))).Lines.GetText; //inhalt in den Array speichern


ich versuche das ganze so - nun ich glaueb das das getText falsch sit - aber was für eine eigenschaft muss ich da nehmen? ich will alles was in dem Memo steht in den Array kopieren - das ganze soll eine rückgängig funktion werden.


gr€€tz


Leathl - Fr 03.01.03 17:31

---


Christian S. - Fr 03.01.03 18:06

1. Der Sinn der ersten Schleife ist mir nicht ganz klar. Wenn Du sowieso schon das maximale i kennst, warum setzt Du CancelCount dann nicht direkt?

Es wäre nicht schlecht, wenn Du etwas mehr über den Aufbau des Programmes (wo sind die Memofelder, wie sind die Namen vergeben, ...) und des Arrays (welchen Datentyp haben die Elemente?) sagen könnetst.

Aber probier mal, statt "GetText" nur "Text" zu verwenden.

MfG,
Peter


Luncustaf - Di 07.01.03 09:35

hi,

sorry das ich mich jetzt ers wida melde - war net arbeiten :)


so ich verwende das TMemo....usw weil ich die memofelder dynamisch erzeuge.

@Peter Lustig

ich benötige die erste schleife um jeweils die länge des array's für die einzelnen memofelder die zur laufzeit erzeugt wurden bestimmen zu können. das wird benötigt, damit ich mit den einzelnen array's nicht durch einander komme.
Das programm ist ein Texteditor - die memos werden wie gesagt zur laufzeit erstellt. der array is ein dynamischer array mit zwei ebenen vom datentyp string.


gr€€tz


Christian S. - Di 07.01.03 16:35

Das mit der Schleife ist unnötig. Du kannst CancelCount doch direkt die Obergrenze der Schleife+1 zuweisen, oder?

Array: okay, dann sollte es eigentlich mit der Eigenschaft 'Text' der Memos funktionieren. Hast Du das mal ausprobiert?

MfG,
Peter


Luncustaf - Mi 08.01.03 01:39

hi,

hab das problem nun gelöst - mein fehler war das ich den array also das setlength immer auf 0 gesetzt habe und dann auch auf 0 zugreifen wollte das ging nicht hab es nun aber richtig gemacht.

trotzdem danke für eure hilfe :)

gr€€tz