AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PageControl - Problem

Ein Thema von Tommy1988 · begonnen am 19. Mai 2008 · letzter Beitrag vom 19. Mai 2008
Antwort Antwort
Seite 2 von 2     12   
Tommy1988
(Gast)

n/a Beiträge
 
#11

Re: PageControl - Problem

  Alt 19. Mai 2008, 17:39
Ok,
meinen Code habe ich jetzt komplett angepasst, jedoch erhalte ich beim "STRG+S"-Drücken eine Exception, Zugriffsverletzung an dieser Stelle:
"if (FActiveMemo.FileName <> '') then"
Ich kann keinen Fehler erkennen?
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#12

Re: PageControl - Problem

  Alt 19. Mai 2008, 18:21
Okay,
das dürfte etwas länger werden... eigentlich aber sehr einfach zu verstehen...

Zuerst brauchen wir eine Globale Variale vom Typ "TList".

MemoList : TList; Dann müssen wir beim Programmstart (OnFormCreate) etwas speicher dafür anfordern.

MemoList := TList.Create; Damit wir wirklich sauber Programmieren geben wir den Speicher am Programmende (OnFormDestroy) wieder frei.

MemoList.Free; Okay, jetzt baut man sich eine Prozedur, womit man Tabs hinzufügt.

Delphi-Quellcode:
PROCEDURE NewWindow(WindowName:String);
VAR NewTabSheet:TTabSheet; NewMemo:TMemo;
BEGIN
  NewTabSheet := TTabSheet.Create(MainForm); // speicher auf dem Formular "MainForm" anfordern

  WITH NewTabSheet DO BEGIN
    PageControl := MainForm.PageControl; // das Tab dem PageControl zuweisen
    ShowClose := TRUE;
    Caption := WindowName; // als kleines Extra kann man hier noch den Namen seperat bestimmen
  END;
  
  NewTabSheet.OnClose := WindowOnClose; // die OnClose Funktion muss rein für das Freigeben des Speichers

  NewMemo := TMemo.Create(MainForm); // speicher auf dem Formular "MainForm" anfordern für das neue Memo

  MemoList.Add(NewMemo); // der virtuellen Liste das neue MemoFeld hinzufügen

  WITH NewMemo DO BEGIN
    Parent := NewTabSheet; // so wird das Memo auf dem neuen TabSheet plaziert.
    // Platz für weitere Eigenschaften, wie Größe etc.
  END;
END;
Okay, nun hat man ein neues Tab erstellt, nun noch eine Speicher Prozedur:

Delphi-Quellcode:
PROCEDURE Save;
VAR Memo : TMemo;
BEGIN
Memo := MemoList.Items[PageControl.ActivePageIndex]; // nun wird die Variable Memo mit dem Inhalt des Memos gefüllt was gerade aktiv ist

  IF SaveDialog.Execute
    THEN Memo.Lines.SaveToFile(SaveDialog.FileName); // einfache Speichermöglichkeit
END;
Okay, das wars, du bräuchtest noch ein OnClose, damit du den Speicher nicht zuknallst,
aber mach dich erstmal hier rann ;-) Wenn Fragen sind ich antworte gerne :-)
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#13

Re: PageControl - Problem

  Alt 19. Mai 2008, 20:10
Okay,
ich habe dir jetzt noch ein Beispiel geschrieben...
Angehängte Dateien
Dateityp: zip dynamische_memos_140.zip (252,1 KB, 3x aufgerufen)
Sebastian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:36 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