map <C-J> ddp
map <C-K> ddkP
Strg-J bewegt nun die aktuelle Zeile eins nach unten, Strg-K eins nach oben. Nett.
map <C-J> ddp
map <C-K> ddkP
PROGRAM RegistryView;
USES Registry;
VAR
buffer: ARRAY [0 .. 15] OF Byte;
count : Integer;
i : Integer;
r : TRegistry;
BEGIN
r := TRegistry.Create;
r.RootKey := HKEY_CURRENT_USER;
r.OpenKeyReadOnly('Software\Microsoft\Screensavers\Text3D\Screen 1');
count := r.ReadBinaryData('Adapter ID', buffer, Length(buffer));
r.Free;
FOR i := 0 TO count - 1 DO BEGIN
Write(HexStr(buffer[i], 2), ' ');
IF (i + 1) MOD 16 = 0 THEN
WriteLn;
END;
END.
PROGRAM Test;Die Unit, die Datum und Uhrzeit zur Anzeige bringt:
USES TestUnit;
VAR
BuildString: String = '[' + {$I %DATE%} + ' ' + {$I %TIME%} + ']';
CVAR; EXPORT;
BEGIN
TestOut;
END.
UNIT TestUnit;Hier wird der Einfachheit halber nur eine Variable deklariert, die beides aufnimmt. Entscheidend ist, dass wir im Hauptprogramm die Variable zur Verwendung in anderen Units freigeben. Hier wird das durch CVAR; EXPORT; erreicht. In der Unit, die die Variable dann verwendet, wird die Variable als CVAR; EXTERNAL; deklariert, um anzuzeigen, dass auf eine Definition der Variable in einer anderen Übersetzungseinheit zugegriffen wird.
INTERFACE
PROCEDURE TestOut;
IMPLEMENTATION
VAR
BuildString: String; CVAR; EXTERNAL;
PROCEDURE TestOut;
BEGIN
WriteLn('BuildString: ', BuildString);
END;
END.