Sign in Join
Wiki copytemporary

IDE Macros in paths and filenames/de: what changed

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

OldNewLine
11Macros verwenden das folgende Format. Dabei wird *macro-name* durch eines der unten aufgelisteten Macros ersetzt.
22
3-`$(macro-name)`
3+```text
4+$(macro-name)
5+```
46
57Beispiel: Dieses Format gibt das Ausgabeverzeichnis für Units an. Es wird häufig für Lazarus Packages benutzt:
68
7-`lib/$(TargetCPU)-$(TargetOS)`
9+```text
10+lib/$(TargetCPU)-$(TargetOS)
11+```
812
913unter einem x86 Linux 32-bit System würde daraus: **lib/i386-linux**\
1014unter einem x86 Linux 64-bit System würde daraus: **lib/x86_64-linux**
1115
1216Es gibt auch einige **Macrofunktionen** die folgendes Format verwenden:
1317
14-`$macro_name(parameters)`
18+```text
19+$macro_name(parameters)
20+```
1521
1622Beispiel:
1723
18-`$Ext(unit1.pas)`
24+```text
25+$Ext(unit1.pas)
26+```
1927
2028liefert die Dateierweiterung *.pas*.
2129
2230## Allgemeine Verwendung
2331
2432- **Col** - aktuelle Spalte im Quelltexteditor
2533- **Row** - aktuelle Zeile im Quelltexteditor (Bildschirm, kann von der Byte-Position abweichen aufgrund von Tabulatoren und UTF-8)
2634- **CurToken** - aktuelles Element unter dem Kursor im Quelltexteditor
2735- **EdFile** - aktueller Dateiname im Quelltexteditor
2836- **Params** - Startparameter des aktuellen Projekts
2937- **Prompt** - fragt den Benutzer nach einem Wert. Dies ist ein interaktives Makro.
3038- **RunCmdLine** - der Befehl zum Starten des Projekts
3139- **Save** - speichert die aktuelle Datei im Quelltexteditor
3240- **SaveAll** - Alles speichern
3341- **TargetCmdLine** - das Projekt-executable plus Startparameter
3442
3543## Dateinamen und Teile davon
3644
3745- **Ext(filename)** - Makrofunktion für ExtractFileExt
3846- **MakeDir(filename)** - Makrofunktion für AppendPathDelim
3947- **MakeFile(filename)** - Makrofunktion für ChompPathDelim
4048- **MakeExe(filename)** - ändert die Dateierweiterung nach .exe unter Windows, nichts unter Linux, BSD, OS X
4149- **MakeLib(filename)** - ändert die Dateierweiterung nach .dll unter Windows, unter Linux/BSD nach libname.so (kleingeschrieben), unter OS X nach libname.so (seit Version 0.9.29)
4250- **Name(filename)** - Makrofunktion für ExtractFileName
4351- **NameOnly(filename)** - Makrofunktion für ExtractFileNameOnly
4452- **Path(filename)** - Makrofunktion für ExtractFilePath
4553
4654## Pfade und Teile davon
4755
4856- **Env(name)** - Makrofunktion für an die IDE übergebene Umgebungsvariablen (nicht an Projekt oder Debugger) (siehe [GetEnvironmentVariableUTF8](http://lazarus-ccr.sourceforge.net/docs/lcl/fileutil/getenvironmentvariableutf8.html)) (seit Version 0.9.27)
4957- **CompPath** - Compilerpfad gesetzt in den Umgebungseinstellungen. Kann nicht das Makro FPCVer benutzen, aber Sie können die Makros LazarusDir und Env benutzen.
5058- **ConfDir** - Verzeichnis in dem die IDE ihre Konfigurationsdateien speichert
5159- **ExeExt** - ausführbare Dateierweiterung für das Betriebssytem, unabhängig vom Ziel-OS des Projektes. Für die Erweiterung für das Ziel-OS des aktuellen Projekts verwenden Sie \$MakeExe().
5260- **FPCSrcDir** - FPC Quellverzeichnis gesetzt in den Umgebungseinstellungen
5361- **FPCVer** - FPC Version (seit 0.9.25). Zum Beispiel '2.4.2'. Diese Version stammt von dem Compiler \$(CompPath), dessen Pfad in den Umgebungseinstellungen gesetzt ist.
5462- **LanguageID** - IDE Sprache, zum Beispiel en für Englisch, de für Deutsch
5563- **LanguageName** - IDE Sprachname, der übersetzte Name der aktuellen Sprache. Zum Beispiel: Deutsch für german.
5664- **LazarusDir** - Lazarus Quellverzeichnis gesetzt in den Umgebungseinstellungen. Keine Makros erlaubt.
5765- **LCLWidgetType** - LCL widgetset des aktuellen Projekts
5866- **ProjFile** - der vollständige Dateiname der Hauptquelldatei des aktuellen Projekts (.lpr)
5967- **ProjPath** - das Projektverzeichnis (das Verzeichnis der .lpi Datei)
6068- **TargetFile** - die Ausgabedatei des aktuellen Projekts (z.B. das executable oder die Bibliothek)
6169- **TestDir** - Testverzeichnis gesetzt in den Umgebungseinstellungen
6270- **SrcOS** - 'unix' für Linux, Darwin, BSD. 'win' für win32, win64, wince
6371- **TargetCPU** - Ziel CPU des aktuellen Projekts. Im Makefile: %(CPU_TARGET)
6472- **TargetOS** - Ziel OS des aktuellen Projekts. Im Makefile: %(OS_TARGET)
6573- **LCLWidgetType** - LCL Widgettyp des aktuellen Projekts. Im Makefile: %(LCL_PLATFORM)
6674- **Make** - Pfad zum 'make' Programm (gmake unter BSD) (seit Version 0.9.29)
6775- **ProjIncPath** - Includepfad des Projektverzeichnisses
6876- **ProjOutDir** - Pfad des Projekt-Ausgabeverzeichnisses (z.B. wo die .ppu Dateien erzeugt werden) (seit 0.9.27)
6977- **ProjPublishDir** - Verzeichnis für Veröffentlichung des aktuellen Projekts
7078- **ProjSrcPath** - Quellpfad des Projektverzeichnisses
7179- **ProjUnitPath** - Unitpfad des Projektverzeichnisses
7280- **Project(param)** - Makrofunktion für verschiedene Werte:
7381 - **Project(UnitPath)** - Unitpfad des Projektverzeichnisses
7482 - **Project(SrcPath)** - Quellpfad des Projektverzeichnisses
7583 - **Project(IncPath)** - Includepfad des Projektverzeichnisses
7684 - **Project(InfoFile)** - Dateiname der .lpi Datei (seit Revision 15287, 0.9.25)
7785 - **Project(OutputDir)** - Verzeichnis, in dem die Projekt ppu Dateien angelegt werden (seit 0.9.27)
7886- **Package macros** - diese können in den Feldern eines Packages stehen. Zum Beispiel in den Suchpfaden von einem Package. Um sie woanders einzusetzen übergeben Sie einen Packagenamen als Parameter.
7987 - **PkgDir()** - Makrofunktion für das Verzeichnis (Ort der .lpk Datei) einer als Parameter übergebenen Package ID
8088 - **PkgIncPath(id)** - Makrofunktion für den Includepfad einer als Parameter übergebenen Package ID
8189 - **PkgOutDir(id)** - Makrofunktion für das Ausgabeverzeichnis eines Packages (d.h. wo die .ppu Dateien erzeugt werden)
8290 - **PkgSrcPath(id)** - Makrofunktion für den Quellpfad einer als Parameter übergebenen Package ID
8391 - **PkgUnitPath(id)** - Makrofunktion für den Unitpfad einer als Parameter übergebenen Package ID
8492- **IDEBuildOptions** - die Extra-Options des 'Configure Build Lazarus' Dialogs (seit Version 0.9.29). Im Makefile leer.
8593- **PrimaryConfigPath** - das Verzeichnis der IDE Konfigurationsdateien (seit Version 0.9.31)
8694- **SecondaryConfigPath** - das Verzeichnis der IDE Konfigurations-Vorlagen (seit Version 0.9.31)
8795- **FallbackOutputRoot** - das Verzeichnis wo die IDE die .ppu Dateien ablegt, wenn das Ausgabeverzeichnis schreibgeschützt ist. Vorgabe: \$(PrimaryConfigPath)/lib. Seit Version 0.9.31.
8896
8997---
9098*From the Free Pascal wiki, page "IDE Macros in paths and filenames/de", as it stood on 2015-06-07 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).*
9199Category: Deutsch
92100Category: IDE Macros/de
93101Category: Lazarus/de

Back to history