AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Memos zur laufzeit erzeugen und in *.ini abspeichern
Thema durchsuchen
Ansicht
Themen-Optionen

Memos zur laufzeit erzeugen und in *.ini abspeichern

Ein Thema von DannyK.II · begonnen am 23. Jun 2005 · letzter Beitrag vom 24. Jun 2005
Antwort Antwort
DannyK.II

Registriert seit: 29. Nov 2004
35 Beiträge
 
Delphi 6 Personal
 
#1

Memos zur laufzeit erzeugen und in *.ini abspeichern

  Alt 23. Jun 2005, 16:53
Tag,

in meinem Programm soll amn in der Lage sein, Tabs (während der Laufzeit) zu erzeugen / löschen. In diesen Tabs befinden sich Memo - Felder, die mit ihnen erzeugt / gelöscht werden.

Das ist alles kein Problem, funktioniert einwandfrei.

Ich möchte den Text der Memo - Felder bei onChange und onCloseQuery in einer ini Datei speicher. Dazu bräuchte ich den Namen des Memos (musst ja memoX.lines.text speichern).
Die Namen sollten aus Tabname (gibt der Benutzer selbst) + _memo bestehen.

Wenn ich das über:

Code:
NewTabSheet.name := tabname+'_memo';
mache, gibts an der Stelle einen DICKEN Fehler. (Kann auch sein, dass ich zu doof bin).
Wie gebe ich also dem Memo den entsprechenden Namen? Den brauch ich ja, um das ganze in der ini zu speichern...

Wäre schön, wenn ihr mir helfen könntet
Wer gegen ein Minimum an Aluminium imun ist, hat eine Aluminiumminimumimmunität.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Memos zur laufzeit erzeugen und in *.ini abspeichern

  Alt 23. Jun 2005, 17:07
Nimm TabSheet.Caption für deine Namensspiele.

Zitat von Borland:
Ändern Sie den Wert der Eigenschaft Name auf keinen Fall zur Laufzeit. Daraus könnten sich Laufzeitfehler ergeben.
Grüße vom marabu
  Mit Zitat antworten Zitat
DannyK.II

Registriert seit: 29. Nov 2004
35 Beiträge
 
Delphi 6 Personal
 
#3

Re: Memos zur laufzeit erzeugen und in *.ini abspeichern

  Alt 24. Jun 2005, 14:44
Und wie sprech ich dann die Memofelder an?? welchen namen haben die denn dann?
Ich muss den ja ahben um z.B. memoXYZ.lines.text aufzurufen.
Wer gegen ein Minimum an Aluminium imun ist, hat eine Aluminiumminimumimmunität.
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#4

Re: Memos zur laufzeit erzeugen und in *.ini abspeichern

  Alt 24. Jun 2005, 14:54
Hallo,

ich würde dir empfehlen einen dynamischen Array zu verwenden, den du mit den daten aller tabsheets füllst. du könntest beispielsweise den Array Index mit TTabsheet.Tag verlinken.

über TPageControl.GetActivePage oder TPageControl.GetActivePageIndex (Integer) kriegst du dann die aktuelle Seite. diese musst du dann nur noch mit deinem array abgleichen (also ob akt. ausgewählte seite in array, wenn ja dann gelinktes TMemo speichern).
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Memos zur laufzeit erzeugen und in *.ini abspeichern

  Alt 24. Jun 2005, 16:31
Zitat von DannyK.II:
Und wie sprech ich dann die Memofelder an??
Ist doch die einzige Komponente auf dem TabSheet, also kannst du sie so ansprechen:

Delphi-Quellcode:
var
  ts: TTabSheet;
  memo: TMemo;
begin
  with PageControl do begin
    // PageControl.OnChanging()
    ts := Pages[TabIndex];
    memo := ts.Controls[0] as TMemo;

    // PageControl.OnChange()
    memo := ActivePage.Controls[0] as TMemo;
  end;
Solltest du mehrere Komponenten auf einer Page haben, dann kannst du durch das Controls-Array iterieren und auf Controls[i] is TMemo testen. Für die Methode PageControl.ActivePage.FindChildControl() bräuchtest du allerdings dann den Namen deines aktuellen Memos.

Ich würde an deiner Stelle nur ein einziges Memo instanziieren und im Ereignis PageControl.OnChange() dieses Memo dann auf der richtigen Page einblenden.

Memo.Parent := PageControl.ActivePage; Grüße vom marabu
  Mit Zitat antworten Zitat
DannyK.II

Registriert seit: 29. Nov 2004
35 Beiträge
 
Delphi 6 Personal
 
#6

Re: Memos zur laufzeit erzeugen und in *.ini abspeichern

  Alt 24. Jun 2005, 17:19
das letze wäre natürlich am allereinfachsten. dann lad ich den text aus der ini zusammen mit dem onchange vielen danke allen
Wer gegen ein Minimum an Aluminium imun ist, hat eine Aluminiumminimumimmunität.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz