Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2011, 10:22   #1
JoLan
Delphi XE7
Пользователь
 
Аватар для JoLan
 
Регистрация: 26.07.2010
Сообщений: 74
По умолчанию Список последних открытых файлов

Составляю список из 10 последних открытых файлов в подменю одного из пунктов MainMenu. Потом добавил проверку на существование уже открытого экземпляра файла. В итоге вышло следующее:
Код:
var ws: String;
    LastOpened: Array of TMenuItem;
    b: Boolean;
...
  b := False;
  for i := 0 to High(LastOpened) do begin
    ws := LastOpened[i].Caption;
    if Pos(OpenDialog1.FileName,ws) <> 0 then begin
      b := True;
      Break;
    end;
  end;
  if not b then begin
    if Length(LastOpened) < 10 then begin
      SetLength(LastOpened,Length(LastOpened)+1);
      if Length(LastOpened) > 1 then Move(LastOpened[0],LastOpened[1],SizeOf(TMenuItem)*High(LastOpened));
    end;
    LastOpened[0] := TMenuItem.Create(N8);
    LastOpened[0].Caption := OpenDialog1.Filename;
    N8.Enabled := True;
    while N8.Count <> 0 do N8.Delete(0); //Чтоб последний открытый был наверху
    for i := 0 to High(LastOpened) do N8.Add(LastOpened[i]);
  end;
Но в ws каким-то странным образом появляется символ "&", что и сводит всю проверку к ничему. В чем может быть проблема?
JoLan вне форума Ответить с цитированием
Старый 21.03.2011, 10:38   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,533
По умолчанию

TMenuItem Caption F1
Цитата:
Specifies the text of the menu item.

Delphi syntax:

property Caption: string;

C++ syntax:

__property AnsiString Caption = {read=FCaption, write=SetCaption};

Description

Set Caption to the string the user sees for this item in the menu. To underline a character in a string, include an ampersand (&) before the character. This type of character is called an accelerator character. If Caption includes an accelerator character, the user can select the menu item by pressing Alt while typing the underlined character.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 15.06.2024, 16:42   #3
Gin 1
Новичок
Джуниор
 
Регистрация: 10.10.2014
Сообщений: 2
По умолчанию

В MainMenu свойство AutoHotkeys переключите на maManual.
Или
Код:
MainMenu.AutoHotkeys := maManual;

Последний раз редактировалось Gin 1; 15.06.2024 в 16:46.
Gin 1 вне форума Ответить с цитированием
Старый 16.06.2024, 13:37   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,659
По умолчанию

Для этого на машине времени следует перенестись на 13 лет назад
Эх, новички...
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить список хендлов открытых файлов в системе assch Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 29.05.2011 20:18
Как получить список открытых по сети файлов на удаленном компьютере? DmitryZ Win Api 1 05.03.2009 13:14
список всех открытых файлов и папок. Teleport Общие вопросы Delphi 4 22.06.2008 11:29
Список открытых портов Баламут Работа с сетью в Delphi 3 21.05.2008 10:17
Список открытых файлов ExcArt Microsoft Office Excel 3 30.03.2008 11:06