Sign in Join
Wiki copytemporary

IDE Window: Codetools Defines Editor/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: IDE Window: Codetools Defines Editor/de

OldNewLine
1+## Wichtig
2+
3+Diese Werte werden nur von den Codetools verwendet, nicht vom Compiler. Um Suchpfade einzurichten verwenden sie die Umgebungseinstellungen, Compilereinstellungen, package editors und den Projektinspektor. Die IDE erzeugt automatisch Knoten für diese Werte.
4+
5+Dieser Dialog ist hauptsächlich für das Debugging, wenn die Codetools anders als der Compiler analysieren. Oder um Delphi Quellen in der Lazarus IDE einzurichten.
6+
7+## Einleitung
8+
9+Die Codetools bieten Funktionen, um Pascal Quelltexte zu analysieren - FreePascal, Delphi, Kylix. Um die Pascal Quelltexte zu finden, benötigen sie Suchpfade und um die IFDEFs zu finden, benötigen sie die Compiler flags. Diese Werte sind durch Regeln definiert - die **define templates**.
10+
11+Für jedes Verzeichnis verwalten die Codetools eine Reihe von Werten. Das bedeutet, dass jede Unit in einem Verzeichnis die selben Werte teilt (Pfade und flags). Deshalb sollten sie zwei Projekte/Packages **nur** dann in ein Verzeichnis packen, wenn sie die selben Einstellungen verwenden. Andererseits erlaubt dieses System, eine beliebige Anzahl von verschiedenen Quellen zu selben Zeit zu handhaben. Zum Beispiel können sie Delphi und FreePascal Quelltexte haben. Die Delphi Quelltexte verwenden die Delphi system.pas, während die FPC Quelltexte die FPC system.pp verwenden. Oder sie können zwei verschiedene FPC Versionen haben. Oder verschiedene FPC cross Quellen (zum Beispiel für Linux und Windows). Sie müssen die IDE nicht neu starten oder irgendetwas dafür neu kompilieren. Anmerkung: Der Compiler kann natürlich nur einen Quellentyp handhaben.
12+
13+Dieser Dialog erlaubt die define templates zu erforschen und zu bearbeiten.
14+
15+Alle Werte und Variablen können Makros enthalten. Eine Variable, der ein leerer Wert zugewiesen wurde, ist dennoch festgelegt. Das bedeutet, dass 'IFDEF variable' immer noch 'true' ergibt. Um eine Variable zu eliminieren, verwenden sie 'Zurücksetzen'.
16+
17+## Tree - predefined nodes
18+
19+### Free Pascal Compiler
20+
21+This node provides global definitions, provided by the currently used compiler set in the project's compiler options. They are updated if you change the compiler in the compiler options (e.g. IDE loads a project) or 'Rescan FPC source directory'. they are not automatically updated when you install another FPC while the IDE is running. They are auto generated and can not be changed.
22+
23+### Free Pascal Sources
24+
25+This node provides definitions for the Free Pascal source directory, defined in the environment options. The nodes are auto created by some fix wired heuristics in the codetools (components/codetools/definetemplates.pas function CreateFPCSrcTemplate) and can not be changed in the dialog. They are updated when the FPC source directory is changed (e.g. in options or on IDE start) or the Target CPU or OS changes or by 'Rescan FPC source directory'. They are not updated, when files are changed on disk while the IDE is running.
26+
27+### Lazarus Sources
28+
29+This node provides definitions for the Lazarus source directory, defined in the environment options. The nodes are auto created by some fix wired heuristics in the codetools (components/codetools/definetemplates.pas function CreateLazarusSrcTemplate) and can not be changed in the dialog. They are updated when the Lazarus source directory is changed (e.g. in options or on IDE start). They are not updated, when files are changed on disk while the IDE is running.
30+
31+### Packages
32+
33+The IDE creates on node for each package. At the moment the nodes of the packages LCL, IDEIntf, SynEdit and Codetools are special packages and defined by the 'Lazarus Sources'.
34+
35+## Node types
36+
37+The codetools parse the nodes from top to bottom. Some nodes like *Directory*, *IF*, *IFDEF*, ... control if their child nodes are parsed or not.
38+
39+The tree shows two icons for each node. The first is the node type (Block, IF, IFDEF, ...). The second icon shows a 'computer', if the node was auto created and can not be altered.
40+
41+### Block
42+
43+Dieser Knotentyp existiert nur bei Gruppenknoten.
44+
45+### Verzeichnis
46+
47+Um nur für ein spezifisches Verzeichnis gültige Knoten zu erzeugen, verwenden sie diesen Knotentyp. Die Kind Knoten werden nur für das in **Value** spezifizierte Verzeichnis analysiert. **Definition** und **Zurücksetzen** Knoten werden Variablen setzen/löschen nur für dieses Verzeichnis, nicht für die Unterverzeichnisse. Um Variablen für Unterverzeichnisse zu setzen/löschen, erzeugen sie einen Kind Knoten vom Typ **Verzeichnis** oder verwenden **Rekursion festlegen**, **Rekursion zurücknehmen**.
48+
49+### Definition
50+
51+Setzt einen flag/Wert für das aktuelle Verzeichnis. Beispiele:
52+
53+- Set Name to 'Def1'. Jetzt wird IFDEF Def1 *true* sein und in einer Quelle wird {\$IFDEF Def1} von den Codetools analysiert.
54+- Set Name to 'Def1' and Value to '123'. Dasselbe wie oben, aber zusätzlich ergibt IF Def1=123 *true*.
55+- Set Name to 'Def1' and Value to '\$(Def1);bogus'. Dies wird ';bogus' dem Wert von Def1 anfügen.
56+
57+### Rekursion festlegen
58+
59+Dasselbe wie **Definition**, aber für das aktuelle Verzeichnis und alle Unterverzeichnisse.
60+
61+### Zurücksetzen
62+
63+Eliminiert eine Variable aus der aktuellen Definitionsmenge.
64+
65+### Rekursion zurücknehmen
66+
67+Dasselbe wie **Zurücksetzen**, aber für das aktuelle Verzeichnis und alle Unterverzeichnisse.
68+
69+### Alles zurücksetzen
70+
71+Dasselbe wie **Rekursion zurücknehmen**, aber eliminiert alle Variablen. Hilfreich für Verzeichnisse, die ihre eigene Welt bilden, zum Beispiel die FPC Quelle.
72+
73+### IfDef
74+
75+Wenn die Variable definiert ist werden die Kind Knoten ausgeführt.
76+
77+### IfNDef
78+
79+Wenn die Variable **nicht** definiert ist werden die Kind Knoten ausgeführt.
80+
81+### If
82+
83+Führt den Ausdruck in Value aus und wenn das Ergebnis '1' ist dann werden die Kind Knoten ausgeführt. Die Syntax ist die selbe wie beim Compiler. Zum Beispiel 'defined(avariable)' gibt '1' zurück, wenn die Variable definiert ist, sonst '0'. Beispiele:
84+
85+- Set 'Value' to 'defined(linux) and defined(i386)'
86+- Um auf eine spezifische FPC Version zu prüfen: 'VER2_0 or VER2_2'. Die Variablen werden ersetzt durch ihre Werte. Leere oder nicht definierte Werte ergeben '0'.
87+- Um die Werte von zwei Variablen zu vergleichen verwenden sie: '\$(#TargetOS)'='\$(#SrcOS)'. WICHTIG: Wenn sie die Hochkommas vergessen, passiert das Folgende: Zuerst werden die Makros ersetzt, was linux=unix ergibt, welches vorher ersetzt wurde durch die Werte der Variablen: 1=1, was immer *true* ergibt.
88+
89+### ElseIf
90+
91+Wenn alle vorherigen If *false* ergeben, dann wird der ElseIf oder Else Knoten ausgeführt. Das ElseIf ist das selbe wie ein Else If.
92+
93+### Else
94+
95+Wenn alle vorherigen If oder ElseIf *false* ergeben, dann wird dieser Knoten ausgeführt.
96+
97+## Menü
98+
99+### Beenden
100+
101+#### Speichern und Ende
102+
103+Speichert die Änderungen und schließt den Dialog.
104+
105+#### Beenden ohne Speichern
106+
107+Verwirft die Änderungen und schließt den Dialog.
108+
109+### Editieren
110+
111+#### Knoten nach oben bewegen
112+
113+Bewegt den gewählten Knoten vor den nächsten upper sibling.
114+
115+#### Knoten nach unten bewegen
116+
117+Bewegt den gewählten Knoten unter den nächsten lower sibling.
118+
119+#### Knoten eine Ebene nach oben bewegen
120+
121+Bewegt den gewählten Knoten to parent node.
122+
123+#### Knoten eine Ebene nach unten bewegen
124+
125+Macht den gewählten Knoten zu einem child of the previous sibling.
126+
127+#### Knoten darunter einfügen
128+
129+Erzeugt einen neuen Knoten und fügt ihn unter dem gewählten Knoten ein.
130+
131+#### Knoten als Kind einfügen
132+
133+Erzeugt einen neuen Knoten und fügt ihn als child des gewählten Knotens ein.
134+
135+#### Knoten löschen
136+
137+Löscht den gewählten Knoten.
138+
139+#### Konvertiere Knoten
140+
141+Ändert den Typ des gewählten Knotens.
142+
143+### Werkzeuge
144+
145+#### Vorschau öffnen
146+
147+Öffnet das [[IDE Window: Codetools Directory Values/de|CodeTools-Verzeichniswerte]] Fenster.
148+
149+### Vorlage einfügen
150+
151+Erzeugt einen neuen Knoten aus den Vorlagen und fügt ihn unter dem gewählten Knoten ein.
152+
153+## Treeview
154+
155+Wählen sie einen Knoten und betrachten sie die Details unten.
156+
157+## Gewählter Knoten
158+
159+### Name
160+
161+### Beschreibung
162+
163+### Variable
164+
165+### Wert als Text
166+
167+Zeigt den Wert.
168+
169+### Wert als Dateipfade
170+
171+Splittet den Wert mit Semikolons und zeigt jeden Pfad auf einer separaten Zeile.
172+
173+---
174+*From the Free Pascal wiki, page "IDE Window: Codetools Defines Editor/de", as it stood on 2015-07-02 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history