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.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | Macros verwenden das folgende Format. Dabei wird *macro-name* durch eines der unten aufgelisteten Macros ersetzt. | |
| 2 | 2 | ||
| 3 | - | ||
| 3 | + | ```text | |
| 4 | + | $(macro-name) | |
| 5 | + | ``` | |
| 4 | 6 | ||
| 5 | 7 | Beispiel: Dieses Format gibt das Ausgabeverzeichnis für Units an. Es wird häufig für Lazarus Packages benutzt: | |
| 6 | 8 | ||
| 7 | - | ||
| 9 | + | ```text | |
| 10 | + | lib/$(TargetCPU)-$(TargetOS) | |
| 11 | + | ``` | |
| 8 | 12 | ||
| 9 | 13 | unter einem x86 Linux 32-bit System würde daraus: **lib/i386-linux**\ | |
| 10 | 14 | unter einem x86 Linux 64-bit System würde daraus: **lib/x86_64-linux** | |
| 11 | 15 | ||
| 12 | 16 | Es gibt auch einige **Macrofunktionen** die folgendes Format verwenden: | |
| 13 | 17 | ||
| 14 | - | ||
| 18 | + | ```text | |
| 19 | + | $macro_name(parameters) | |
| 20 | + | ``` | |
| 15 | 21 | ||
| 16 | 22 | Beispiel: | |
| 17 | 23 | ||
| 18 | - | ||
| 24 | + | ```text | |
| 25 | + | $Ext(unit1.pas) | |
| 26 | + | ``` | |
| 19 | 27 | ||
| 20 | 28 | liefert die Dateierweiterung *.pas*. | |
| 21 | 29 | ||
| 22 | 30 | ## Allgemeine Verwendung | |
| 23 | 31 | ||
| 24 | 32 | - **Col** - aktuelle Spalte im Quelltexteditor | |
| 25 | 33 | - **Row** - aktuelle Zeile im Quelltexteditor (Bildschirm, kann von der Byte-Position abweichen aufgrund von Tabulatoren und UTF-8) | |
| 26 | 34 | - **CurToken** - aktuelles Element unter dem Kursor im Quelltexteditor | |
| 27 | 35 | - **EdFile** - aktueller Dateiname im Quelltexteditor | |
| 28 | 36 | - **Params** - Startparameter des aktuellen Projekts | |
| 29 | 37 | - **Prompt** - fragt den Benutzer nach einem Wert. Dies ist ein interaktives Makro. | |
| 30 | 38 | - **RunCmdLine** - der Befehl zum Starten des Projekts | |
| 31 | 39 | - **Save** - speichert die aktuelle Datei im Quelltexteditor | |
| 32 | 40 | - **SaveAll** - Alles speichern | |
| 33 | 41 | - **TargetCmdLine** - das Projekt-executable plus Startparameter | |
| 34 | 42 | ||
| 35 | 43 | ## Dateinamen und Teile davon | |
| 36 | 44 | ||
| 37 | 45 | - **Ext(filename)** - Makrofunktion für ExtractFileExt | |
| 38 | 46 | - **MakeDir(filename)** - Makrofunktion für AppendPathDelim | |
| 39 | 47 | - **MakeFile(filename)** - Makrofunktion für ChompPathDelim | |
| 40 | 48 | - **MakeExe(filename)** - ändert die Dateierweiterung nach .exe unter Windows, nichts unter Linux, BSD, OS X | |
| 41 | 49 | - **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) | |
| 42 | 50 | - **Name(filename)** - Makrofunktion für ExtractFileName | |
| 43 | 51 | - **NameOnly(filename)** - Makrofunktion für ExtractFileNameOnly | |
| 44 | 52 | - **Path(filename)** - Makrofunktion für ExtractFilePath | |
| 45 | 53 | ||
| 46 | 54 | ## Pfade und Teile davon | |
| 47 | 55 | ||
| 48 | 56 | - **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) | |
| 49 | 57 | - **CompPath** - Compilerpfad gesetzt in den Umgebungseinstellungen. Kann nicht das Makro FPCVer benutzen, aber Sie können die Makros LazarusDir und Env benutzen. | |
| 50 | 58 | - **ConfDir** - Verzeichnis in dem die IDE ihre Konfigurationsdateien speichert | |
| 51 | 59 | - **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(). | |
| 52 | 60 | - **FPCSrcDir** - FPC Quellverzeichnis gesetzt in den Umgebungseinstellungen | |
| 53 | 61 | - **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. | |
| 54 | 62 | - **LanguageID** - IDE Sprache, zum Beispiel en für Englisch, de für Deutsch | |
| 55 | 63 | - **LanguageName** - IDE Sprachname, der übersetzte Name der aktuellen Sprache. Zum Beispiel: Deutsch für german. | |
| 56 | 64 | - **LazarusDir** - Lazarus Quellverzeichnis gesetzt in den Umgebungseinstellungen. Keine Makros erlaubt. | |
| 57 | 65 | - **LCLWidgetType** - LCL widgetset des aktuellen Projekts | |
| 58 | 66 | - **ProjFile** - der vollständige Dateiname der Hauptquelldatei des aktuellen Projekts (.lpr) | |
| 59 | 67 | - **ProjPath** - das Projektverzeichnis (das Verzeichnis der .lpi Datei) | |
| 60 | 68 | - **TargetFile** - die Ausgabedatei des aktuellen Projekts (z.B. das executable oder die Bibliothek) | |
| 61 | 69 | - **TestDir** - Testverzeichnis gesetzt in den Umgebungseinstellungen | |
| 62 | 70 | - **SrcOS** - 'unix' für Linux, Darwin, BSD. 'win' für win32, win64, wince | |
| 63 | 71 | - **TargetCPU** - Ziel CPU des aktuellen Projekts. Im Makefile: %(CPU_TARGET) | |
| 64 | 72 | - **TargetOS** - Ziel OS des aktuellen Projekts. Im Makefile: %(OS_TARGET) | |
| 65 | 73 | - **LCLWidgetType** - LCL Widgettyp des aktuellen Projekts. Im Makefile: %(LCL_PLATFORM) | |
| 66 | 74 | - **Make** - Pfad zum 'make' Programm (gmake unter BSD) (seit Version 0.9.29) | |
| 67 | 75 | - **ProjIncPath** - Includepfad des Projektverzeichnisses | |
| 68 | 76 | - **ProjOutDir** - Pfad des Projekt-Ausgabeverzeichnisses (z.B. wo die .ppu Dateien erzeugt werden) (seit 0.9.27) | |
| 69 | 77 | - **ProjPublishDir** - Verzeichnis für Veröffentlichung des aktuellen Projekts | |
| 70 | 78 | - **ProjSrcPath** - Quellpfad des Projektverzeichnisses | |
| 71 | 79 | - **ProjUnitPath** - Unitpfad des Projektverzeichnisses | |
| 72 | 80 | - **Project(param)** - Makrofunktion für verschiedene Werte: | |
| 73 | 81 | - **Project(UnitPath)** - Unitpfad des Projektverzeichnisses | |
| 74 | 82 | - **Project(SrcPath)** - Quellpfad des Projektverzeichnisses | |
| 75 | 83 | - **Project(IncPath)** - Includepfad des Projektverzeichnisses | |
| 76 | 84 | - **Project(InfoFile)** - Dateiname der .lpi Datei (seit Revision 15287, 0.9.25) | |
| 77 | 85 | - **Project(OutputDir)** - Verzeichnis, in dem die Projekt ppu Dateien angelegt werden (seit 0.9.27) | |
| 78 | 86 | - **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. | |
| 79 | 87 | - **PkgDir()** - Makrofunktion für das Verzeichnis (Ort der .lpk Datei) einer als Parameter übergebenen Package ID | |
| 80 | 88 | - **PkgIncPath(id)** - Makrofunktion für den Includepfad einer als Parameter übergebenen Package ID | |
| 81 | 89 | - **PkgOutDir(id)** - Makrofunktion für das Ausgabeverzeichnis eines Packages (d.h. wo die .ppu Dateien erzeugt werden) | |
| 82 | 90 | - **PkgSrcPath(id)** - Makrofunktion für den Quellpfad einer als Parameter übergebenen Package ID | |
| 83 | 91 | - **PkgUnitPath(id)** - Makrofunktion für den Unitpfad einer als Parameter übergebenen Package ID | |
| 84 | 92 | - **IDEBuildOptions** - die Extra-Options des 'Configure Build Lazarus' Dialogs (seit Version 0.9.29). Im Makefile leer. | |
| 85 | 93 | - **PrimaryConfigPath** - das Verzeichnis der IDE Konfigurationsdateien (seit Version 0.9.31) | |
| 86 | 94 | - **SecondaryConfigPath** - das Verzeichnis der IDE Konfigurations-Vorlagen (seit Version 0.9.31) | |
| 87 | 95 | - **FallbackOutputRoot** - das Verzeichnis wo die IDE die .ppu Dateien ablegt, wenn das Ausgabeverzeichnis schreibgeschützt ist. Vorgabe: \$(PrimaryConfigPath)/lib. Seit Version 0.9.31. | |
| 88 | 96 | ||
| 89 | 97 | --- | |
| 90 | 98 | *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).* | |
| 91 | 99 | Category: Deutsch | |
| 92 | 100 | Category: IDE Macros/de | |
| 93 | 101 | Category: Lazarus/de |
