• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Подменю Reopen в меню File

  • Автор темы Автор темы DoctorChe
  • Дата начала Дата начала
D

DoctorChe

Здравствуйте!
Не получается создать нормальную нумерацию в подменю.
Пока что получилось вот что
Код:
procedure TForm1.Open1Click(Sender: TObject);
Var i: Integer;
s: String;

begin
if not OpenDialog1.Execute then Exit;
Save1.Enabled := True;
SaveAs1.Enabled := True;
Close1.Enabled := True;
Reopen1.Enabled := True;
for i := 3 downto 1
do begin
if Reopen1.Items[i-1].Caption = '' then Continue;
Reopen1.Items[i].Caption := Reopen1.Items[i-1].Caption;
s := Reopen1.Items[i].Caption;
MessageDlg(IntToStr(i) + 's=' + s, mtInformation, [mbOK], 0);
Delete(s,1,1);
MessageDlg(IntToStr(i) + 's delete=' + s, mtInformation, [mbOK], 0);
Reopen1.Items[i].Caption := IntToStr(i) + s;
Reopen1.Items[i].Visible:= True;
end;

Reopen1.Items[0].Caption := '0 ' + OpenDialog1.FileName;
Reopen1.Items[0].Visible:= True;
Reopen1.Items[0].Checked:= True;

if OpenDialog1.FileName<>'' then Self.Caption := 'Form1' + ' ' +
ExtractFileName(OpenDialog1.FileName)
else Self.Caption := 'Form1';
end;
Получается вот что:
После открытия первого файла
link removed
переменная s принимает значение
link removed
! Ноль подчеркнут
после
Код:
Delete(s,1,1);
переменная s принимает значение
3.png

! Ноль НЕ подчеркнут
А в подменю записывается вот-так
4.png

Как создать нормальную нумерацию: 0, 1, 2, 3?
И что бы цифра была подчеркнута.
 
Для "подчеркивания" символа ставится перед ним знак & вроде бы, а про нумерацию чтоб что-то сказать, лень разбираться в коде
 
Код:
Reopen1.Items[0].Caption :=inttostr(Reopen1.Items.Count)+' '+ OpenDialog1.FileName;
говорит
'[' expected, but '.' found

Сделал так. Нумеруется теперь правильно. Но символ подчеркивания не отображается почему-то.
Код:
procedure TForm1.Open1Click(Sender: TObject);
Var i: Integer;
s: String;
begin
if not OpenDialog1.Execute then Exit;
Save1.Enabled := True;
SaveAs1.Enabled := True;
Close1.Enabled := True;
Reopen1.Enabled := True;
for i := 3 downto 1
do begin
if Reopen1.Items[i-1].Caption = '' then Continue;
Reopen1.Items[i].Caption := Reopen1.Items[i-1].Caption;
s := Reopen1.Items[i].Caption;
Delete(s,1,2);
Reopen1.Items[i].Caption := '&' + IntToStr(i) + s;
Reopen1.Items[i].Visible:= True;
end;
Reopen1.Items[0].Caption := '&0 ' + OpenDialog1.FileName;
Reopen1.Items[0].Visible:= True;
Reopen1.Items[0].Checked:= True;

if OpenDialog1.FileName<>'' then Self.Caption := 'Form1' + ' ' +
ExtractFileName(OpenDialog1.FileName)
else Self.Caption := 'Form1';
end;
Хотя в Message выводит с подчеркиванием.
Error.png
 
Поможите други. Одна проблема осталась в лабораторной.

Вид подменю. Подчеркивания нет...
Error3.png

AutoHotkeys = maManual

Не могу понять что не так.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD