Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  136

•  TDictionary Custom Sort  3 317

•  Fast Watermark Sources  3 065

•  3D Designer  4 825

•  Sik Screen Capture  3 320

•  Patch Maker  3 535

•  Айболит (remote control)  3 637

•  ListBox Drag & Drop  2 996

•  Доска для игры Реверси  81 564

•  Графические эффекты  3 927

•  Рисование по маске  3 231

•  Перетаскивание изображений  2 613

•  Canvas Drawing  2 735

•  Рисование Луны  2 561

•  Поворот изображения  2 166

•  Рисование стержней  2 161

•  Paint on Shape  1 564

•  Генератор кроссвордов  2 226

•  Головоломка Paletto  1 764

•  Теорема Монжа об окружностях  2 215

•  Пазл Numbrix  1 682

•  Заборы и коммивояжеры  2 052

•  Игра HIP  1 279

•  Игра Go (Го)  1 225

•  Симулятор лифта  1 471

•  Программа укладки плитки  1 214

•  Генератор лабиринта  1 542

•  Проверка числового ввода  1 352

•  HEX View  1 490

•  Физический маятник  1 355

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Wordbasic с параметрами из Delphi



Имевшая место дискуссия двух начинающих программистов-школьников. Повод - спор, кто больше операторов Бейсика назовет. Перебрали почти все им известные, долго думают. Первый (радостно): LINE!
Второй (спокойно): LINE INPUT!
Первый (с досадой): ГНИДА!
Второй (спокойно): ГНИДА INPUT!

Привожу некоторый Delphi код для работы с Word 95. Я протестировал его под Word 97 и, как оказалось, потребовалось внести некоторые исправления - он не захотел работать под ним, но что самое неприятное - после исправлений ошибок выяснилось, что Word 97 работает значительно медленнее, чем Word 95. SendKeys был применен от отчаяния.


function TAutoMerge.ProcessMerge(FSource, FData, FOutput: string):
  boolean;
var
  MSWord: Variant;
  i, NumDocs: integer;
  Found: boolean;
  s, LastOLECommand: string;
begin
  ProcessMerge := False;
  try
    LastOLECommand := 'Creating OLE Object.';
    MSWord := CreateOLEObject('Word.Basic');
    LastOLECommand := 'Show MS Word.';
    MSWord.AppShow;
    Application.ProcessMessages;

    LastOLECommand := 'Open document file >' + FSource + '<.';
    MSWord.FileOpen(Name := FSource, ConfirmConversions := 0,
      ReadOnly := 1, AddToMru := 0, PasswordDoc := '',
      PasswordDot := '', Revert := 0,
      WritePasswordDoc := '',
      WritePasswordDot := '');
    LastOLECommand := 'Screen updating = false.';
    MSWord.ToolsOptionsSpelling(AutomaticSpellChecking := 0);
    LastOLECommand := 'Set background printing to off.';
    MSWord.ToolsOptionsPrint(Background := 0);

    Application.ProcessMessages;
    LastOLECommand := 'Open Data file >' + FData + '<.';
    MSWord.MailMergeOpenDataSource(Name := FData, ConfirmConversions := 0,
      ReadOnly := 1, LinkToSource := 1,
      AddToMru := 0,
      PasswordDoc := '', PasswordDot := '',
      WritePasswordDoc := '', WritePasswordDot := '',
      Connection := '', SQLStatement := '',
      SQLStatement1 := '',
      Revert := 1);

    LastOLECommand := 'Start the Mail Merge.';
    MSWord.MailMerge(CheckErrors := 2, Destination := 1,
      MergeRecords := 0,
      From := '', to := '', Suppression := 0,
      MailSubject := '',
      MailAsAttachment := 0, MailAddress := '');

    LastOLECommand := 'Set up for SendKeys to select printer.';
    Application.ProcessMessages;
    MSWord.AppShow;
    s := '{home}%l{enter}{home}%n' + FOutput + '{tab}{enter}{home}{enter}';
    // sdd 1.1
    MSWord.SendKeys(s, -1);
    MSWord.MailMergeToPrinter;
    Application.ProcessMessages;

    ProcessMerge := True;
    LastOLECommand := 'All done with merge.';
  except
    on EOleException do
    begin
      inc(TotalOLEErrors);
      lblStatus.caption := LastOLECommand;
      if (TotalOLEErrors >= TOTALOLEERRORS_MAX) then
      begin
        s := 'Имеется по крайней мере одна ошибка OLE (' +
          IntToStr(TotalOLEErrors) +

        '), последней ошибкой было >' + LastOLECommand + '<.';
        ShowMessage(s);
      end;
    end
  end;
end;





Похожие по теме исходники

Delphi Magazine

Tetris DelphiX

Quake Delphi Sources

Delphi MMOG

 

Delphi Яндекс Директ

Delphi to HTML Converter

Проверка знаний Delphi

Is Delphi Dying Monitor

 

Autosave Delphi 7




Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте