Difference between revisions of "TMemo/de"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{TMemo}} Diese Seite erklärt, wie man die TMemo Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtsklick ...")
 
(added "Verwendung")
Line 10: Line 10:
  
 
==Verwendung==
 
==Verwendung==
 +
 +
Um ein [[doc:docs/lcl/stdctrls/tmemo.html|TMemo]] auf einem [[TForm/de|Formular]] zu nutzen kann man es einfach auf der Komponentenpalette ''Standard'' auswählen und mit einem Klick auf das Formular platzieren. In diesem Textfeld können Sie nun zur Laufzeit einen mehrzeiligen Text bearbeiten.<br>
 +
<br>
 +
Haben Sie zum Beispiel zu Ihrem Formular ''Form1'' ein TMemo ''Memo1'' hinzugefügt, können Sie mit  '''<code>Memo1.Text:='Das ist ein einzeiliger Text';</code>''' dem Textfeld einen [[String/de|String]] zuweisen.<br>
 +
Ebenso können Sie überall im Quelltext auf den hinterlegten Text mit '''<code>myString:=Memo1.Text;</code>''' zugreifen.
 +
<br>
 +
Möglich ist es auch, einen mehrzeiligen Text ''Memo1'' zuzuweisen mit '''<code>Memo1.Text:='Das'#13'ist'#13'ein'#13'mehrzeiliger'#13'Text';</code>''', wobei ''#13'' als Zeilenumbruch dient.<br>
 +
 +
===Zuweisung eines TStrings oder TStringList===
 +
 +
Üblich, um einem TMemo einen Text zuzuweisen, ist die Verwendung einer [[TStringList-TStrings Tutorial/de|TStringList]] oder ihres Vorfahrens [[TStringList-TStrings Tutorial/de|TStrings]]. Folgendes kleines Beispiel zeigt dies (im Eventhandler eines in ''Form1'' eingefügten TButtons ''Button1''):
 +
<syntaxhighlight>
 +
procedure TForm1.Button1Click(Sender: TObject);
 +
var
 +
  myStringList: TStringList;
 +
begin
 +
  myStringList:=TStringList.Create;              //Meine StringList erstellen
 +
  myStringList.Add('Das ist die erste Zeile.');  //dieser eine Zeile zufügen
 +
  myStringList.Add('Das ist die zweite Zeile.');
 +
  myStringList.Add('Das ist die dritte Zeile.');
 +
  myStringList.Add('usw.');
 +
  Memo1.Lines.Assign(myStringList);              //dem Memo1 den Textinhalt meine StringList zuweisen
 +
  myStringList.Free;                              //Meine StringList im Speicher wieder freigeben
 +
end;
 +
</syntaxhighlight>
 +
 +
===Zeilen direkt einfügen===
 +
 +
Man kann auch dem Memo den Inhalt direkt zufügen z.B.:
 +
<syntaxhighlight>
 +
procedure TForm1.Button1Click(Sender: TObject);
 +
begin
 +
  Memo1.Lines.Clear;                              //alle Zeilen von Memo1 löschen
 +
  Memo1.Lines.Add('Das ist die erste Zeile.');    //Zeile hinzufügen
 +
  Memo1.Lines.Add('Das ist die zweite Zeile.');
 +
  Memo1.Lines.Add('Das ist die dritte Zeile.');
 +
  Memo1.Lines.Add('usw.');
 +
end;
 +
</syntaxhighlight>
 +
 +
===Eine Zeile auslesen===
 +
 +
Will man wissen, was in einer bestimmten Zeile steht, kann man diese direkt auslesen mit '''<code>myString:=Memo1.Lines[Index];</code>'''. Achtung: der Index von ''TMemo.Lines'' ist nullbasiert, d.h. die erste Zeile wäre: '''<code>myString:=Memo1.Lines[0];</code>'''
 +
 +
Fügen Sie dem vorhergehenden Beispiel noch einen TButton ''Button2'' hinzu, können Sie sich die dritte Zeile wie folgt ausgeben lassen:
 +
<syntaxhighlight>
 +
procedure TForm1.Button2Click(Sender: TObject);
 +
begin
 +
  ShowMessage(Memo1.Lines[2]);
 +
end;
 +
</syntaxhighlight>
 +
  
 
'''in Bearbeitung --[[User:Michl|Michl]] 13:13, 18 May 2014 (CEST)'''
 
'''in Bearbeitung --[[User:Michl|Michl]] 13:13, 18 May 2014 (CEST)'''
 +
- Text im Memo markieren + ausgeben lassen
 +
- Text in Memo suchen + weitersuchen (Markierung setzen)
 +
- Weiterführende Infos
  
  

Revision as of 13:17, 18 May 2014

Deutsch (de) English (en) suomi (fi) français (fr) 日本語 (ja) русский (ru)

Diese Seite erklärt, wie man die TMemo Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtsklick wird explizit erwähnt.

Beschreibung

Ein Steuerelement um mehrzeilige Texte zu editieren.

Comp Standard TMemo.png

Verwendung

Um ein TMemo auf einem Formular zu nutzen kann man es einfach auf der Komponentenpalette Standard auswählen und mit einem Klick auf das Formular platzieren. In diesem Textfeld können Sie nun zur Laufzeit einen mehrzeiligen Text bearbeiten.

Haben Sie zum Beispiel zu Ihrem Formular Form1 ein TMemo Memo1 hinzugefügt, können Sie mit Memo1.Text:='Das ist ein einzeiliger Text'; dem Textfeld einen String zuweisen.
Ebenso können Sie überall im Quelltext auf den hinterlegten Text mit myString:=Memo1.Text; zugreifen.
Möglich ist es auch, einen mehrzeiligen Text Memo1 zuzuweisen mit Memo1.Text:='Das'#13'ist'#13'ein'#13'mehrzeiliger'#13'Text';, wobei #13 als Zeilenumbruch dient.

Zuweisung eines TStrings oder TStringList

Üblich, um einem TMemo einen Text zuzuweisen, ist die Verwendung einer TStringList oder ihres Vorfahrens TStrings. Folgendes kleines Beispiel zeigt dies (im Eventhandler eines in Form1 eingefügten TButtons Button1):

procedure TForm1.Button1Click(Sender: TObject);
var
  myStringList: TStringList;
begin
  myStringList:=TStringList.Create;               //Meine StringList erstellen
  myStringList.Add('Das ist die erste Zeile.');   //dieser eine Zeile zufügen
  myStringList.Add('Das ist die zweite Zeile.');
  myStringList.Add('Das ist die dritte Zeile.');
  myStringList.Add('usw.');
  Memo1.Lines.Assign(myStringList);               //dem Memo1 den Textinhalt meine StringList zuweisen
  myStringList.Free;                              //Meine StringList im Speicher wieder freigeben
end;

Zeilen direkt einfügen

Man kann auch dem Memo den Inhalt direkt zufügen z.B.:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Clear;                              //alle Zeilen von Memo1 löschen
  Memo1.Lines.Add('Das ist die erste Zeile.');    //Zeile hinzufügen
  Memo1.Lines.Add('Das ist die zweite Zeile.');
  Memo1.Lines.Add('Das ist die dritte Zeile.');
  Memo1.Lines.Add('usw.');
end;

Eine Zeile auslesen

Will man wissen, was in einer bestimmten Zeile steht, kann man diese direkt auslesen mit myString:=Memo1.Lines[Index];. Achtung: der Index von TMemo.Lines ist nullbasiert, d.h. die erste Zeile wäre: myString:=Memo1.Lines[0];

Fügen Sie dem vorhergehenden Beispiel noch einen TButton Button2 hinzu, können Sie sich die dritte Zeile wie folgt ausgeben lassen:

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage(Memo1.Lines[2]);
end;


in Bearbeitung --Michl 13:13, 18 May 2014 (CEST) - Text im Memo markieren + ausgeben lassen - Text in Memo suchen + weitersuchen (Markierung setzen) - Weiterführende Infos



Gehe zurück zu: LCL Components  — Komponente zuvor: TEdit/de Nächste Komponente: TToggleBox/de
LCL Komponenten
Komponenten Tab Komponenten
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedBtn • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TXMLConfig • TEventLog • TServiceManager
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TCalcEdit • TFileListBox • TFilterComboBox • TXMLPropStorage • TINIPropStorage • TBarChart • TButtonPanel • TShellTreeView • TShellListView • TIDEDialogLayoutStorage
Data Access TDatasource • TBufDataset • TMemDataset • TSdfDataset • TFixedFormatDataSet • TDbf
SynEdit TSynEdit • TSynMemo • TSynCompletion • TSynAutoComplete • TSynMacroRecorder • TSynExporterHTML • TsynPluginSyncroEdit • TSynPasSyn • TSynFreePascalSyn • TSynCppSyn • TSynJavaSyn • TSynPerlSyn • TSynHTMLSyn • TSynXMLSyn • TSynLFMSyn • TSynDiffSyn • TSynUNIXShellScriptSyn • TSynCssSyn • TSynPHPSyn • TSynTeXSyn • TSynSQLSyn • TSynPythonSyn • TSynVBSyn • TSynAnySyn • TSynMultiSyn • TSynBatSyn • TSynIniSyn • TSynPoSyn
LazControls TDividerBevel • TExtendedNotebook • TListFilterEdit • TTreeFilterEdit
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
IPro TIpFileDataProvider • TIpHtmlPanel
Chart TChart • TListChartSource TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection •TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader