Code: Alles auswählen
procedure Tfrm_Main.bnShowKeyBoardSettingsClick(Sender: TObject);
var
sl: TstringList;
M, fn: String;
L, I: Integer;
tmTitle, tm: TMenuItem;
begin
sl := TSTringList.create;
try
sl.Add('Lfd. Nr - MENÜ' + #9 + 'BEFEHL' + #9 + 'SHORTCUT');
for L := 0 to menu1.Items.Count-1 do begin
tmTitle := menu1.Items[L];
for i := 0 to tmTitle.Count-1 do begin
tm := tmTitle[i];
M := UTF8ToSys (tm.caption);
if ShortCutToText(tm.ShortCut) <> '' then begin
sl.Add(Format ('%d3', [L]) + ' ' + ReplaceStr (tmtitle.Caption, '&', '') + #9 + ReplaceStr (M, '&', '') + #9 + ShortCutToText(tm.ShortCut));
end;
end;
end;
fn := chkPath (GetTempDir (true)) + 'PCAdress-Shortcuts.txt';
{$IFDEF MSWindows}
SpeichereTextDatei (fn, sl.text, EncodingUTF8);
{$ELSE}
sl.SaveToFile(fn);
{$ENDIF}
finally
sl.Free;
end;
OpenDocument (fn);
end;
Was kann ich hier ändern, damit es auf allen Plattformen funktioniert?
Ausgabe unter Windows ist dann z.B. (Auszug):
Lfd. Nr - MENÜ BEFEHL SHORTCUT
03 Datei Öffnen aus Dateifavoriten... Ctrl+Alt+F
03 Datei Drucken... Ctrl+P
03 Datei Drucke aktuelle Adresse Ctrl+Alt+P
03 Datei Speichern Ctrl+S
13 Adresse Neu... F4
13 Adresse Bearbeiten... F2
13 Adresse Duplizieren Shift+Ctrl+D
13 Adresse In Winword einfügen... Ctrl+W
23 Bearbeiten Suchen oder ersetzen... Ctrl+F
33 Markierung Markiere aktuelle Adresse F5
33 Markierung Demarkiere aktuelle Adresse F6
Auf dem Mac fehlen die deutschen Umlaute.