Как открыть программу в delphi 7

Работает без ошибок. А у вас ветвление неверно построено — даже если OpenDialog не запущен, вы пытаетесь читать файл ( while Not EOF(F) do. )

Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Novel user
Регистрация: 16.04.2010
Сообщений: 568

Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1149

Такой всё равно не компилируется.
[Error] Unit1.pas(31): Undeclared identifier: ‘OpenDialog’
[Error] Unit1.pas(31): Missing operator or semicolon
[Error] Unit1.pas(32): Missing operator or semicolon
[Error] Unit1.pas(33): Incompatible types
[Fatal Error] Project1.dpr(5): Could not compile used unit ‘Unit1.pas’
Вот выдаваемые ошибки.

Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140

Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362

Ну во-первых, у вас компонент называется OpenDialog, а у меня OpenDialog1. Вы этот код куда записали? Выложите весь код со страницы.

Создание таблицы и формы ввода данных — Базы данных в Delphi 7

Novel user
Регистрация: 16.04.2010
Сообщений: 568
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1149

Вот код всеёй страницы. ено мне необходимее чтоб открывались не только текстовые файлы но и другие

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
< Private declarations >
public
< Public declarations >
end;

var
Form1: TForm1;

procedure TForm1.Button1Click(Sender: TObject);
var F: TextFile;
S: string;
begin
if OpenDlg.Execute
then AssignFiie(F, OpenDlg.FileName)
else Exit; Reset(F);
while Not EOF(F) do
begin
Readln(F, S) ;
Memo.Lines.Add(S);

Для того чтобы открывались и другие файлы бдостаточно писать

var UntypedFile: file;

Novel user
Регистрация: 16.04.2010
Сообщений: 568
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1149
Первоначально я хотел сделать загрузчик для диска. Нажал кнопку установить и пошла установка.
Регистрация: 10.01.2010
Сообщений: 1,749

Читайте также:
Как вырезать из программы рекламу

Записей в дневнике: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3868

собственно вот:
Запуск файлов

function ExecuteFile(const FileName, Params, DefaultDir: string; ShowCmd: Integer): THandle;
var
zFileName, zParams, zDir: array[0..79] of Char;
begin
Result := ShellExecute(Application.MainForm.Handle, nil,
StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
StrPCopy(zDir, DefaultDir), ShowCmd);
end;
У этой функции есть 4 параметра:
• ConstFileName – полный путь к -exe файлу.

Установка Borland Delphi 7 на Windows 10


• Params – параметр с которым надо запускать -exe файл.
• DefaultDir — Директория по умолчанию, с которой должна работать программа. Если директория не указана, то будет использоваться та, в которой находится запускаемый файл.
• ShowCmd — Способ отображения запущенного файла. К примеру ShowWindow.

Пример использования функции:

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
ExecuteFile(‘C:Program FilesArtIcons ProARTICONS.exe’,»,’C:Program FilesArtIcons Pro’,SW_SHOW);
end;
Для работы этой функции надо в раздел USES — добавить ShellAPI.

Источник: www.tehnari.ru

Уроки Delphi

WinExec, оставлена для совместимости с ранними версиями Windows, но я рекомендую для обычного запуска программы с командной строкой использовать эту. У нее мало параметров запуска.

Используемый модуль – Windows.

Описание: WinExec (FileName: PChar; CmdShow: Cardinal) : Cardinal;

где: FileName – путь, имя запускаемого приложения, параметры командной строки. Все указывается в одной строке;

CmdShow – стиль окна. Показывает, в каком состоянии будет отображаться окно при запуске.

Параметры отображения окна CmdShow:

SW_HIDE Запускаемое приложение делается невидимым
SW_MAXIMIZE Расширяет окно на весь экран
SW_MINIMIZE Запускаемое приложение минимизируется. После запуска активизируется окно высшего уровня, т.е. окно, откуда было запущено это приложение
SW_RESTORE Делает окно таким, каким оно было запущено в последний раз
SW_SHOW Отображает окно в своем текущем размере и позиции
Читайте также:
Как пользоваться программой компас 3d v13

Для не-Windows приложений определяет состояние окна файл PIF, если таковой имеется в наличии. Если необходимо закрывать окно после завершения работы такого приложения необходимо создать PIF ярлык к нему в том же каталоге с таким же названием и поставить галочку «Закрывать окно по завершению сеанса работы». Все дополнительные параметры запуска устанавливаются там же.

Возвращаемые значения функции WinExec:

31 нормальный запуск
системе не хватает памяти или ресурсов
ERROR_BAD_FORMAT EXE файл поврежден или имеет неверный формат (Windows на такой файл говорит, что он не является приложением Win32)
ERROR_FILE_NOT_FOUND файл не найден
ERROR_PATH_NOT_FOUND путь к файлу задан неверно

Если имя выполняемого файла в параметре FileName не содержит пути директории, Windows производит поиск выполняемого файла в такой последовательности:

1. Каталог из которого приложение было запущено. Это рабочий каталог

2. Системный каталог Windows (обычно C:WINDOWSSYSTEM).

3. Каталог Windows.

4. Директории, указанные в переменной операционной среды в среде PATH. Узнать о каталогах этой переменной можно, введя PATH в командной строке сеанса MS-DOS.

Пример использования функции WinExec в программе:

WinExec (‘command.com’, SW_SHOW); // запускает сеанс MS-DOS

Функция ShellExecute

Функция ShellExecute не только запускает программы, а открывает, редактирует или печатает файл, с учетом зарегестрированного типа, а также открывает указанную папку проводником. Возвращает Handle ссылку на открытое окно.

Используемый модуль ShellAPI. Его нужно не забыть указать в разделе Uses.

Описание: ShellExecute (hWnd: HWND; Operation: PChar; FileName: PChar; Parametrs: PChar; Directory: PChar; CmdShow: Integer): HINST;

где: hWnd – Handle родительского окна, в который будут передаваться сообщения запускаемого приложения. Можно указывать Handle-ссылку окна вашего приложения.

Operation – производимая операция. Open – открыть, print – напечатать, explore – открыть папку. По умолчанию open, если указать nil.

FileName – имя файла или документа, интернет ссылка, e-mail адрес.

Parametrs – параметры, передаваемые приложению в командной строке.

Directory – каталог по умолчанию.

CmdShow – стиль окна. Показывает, в каком состоянии будет отображаться окно при запуске. Подробно рассказано выше.

Вместо параметров Operation, Parametrs и Directory можно ставить nil. Они являются не обязательными параметрами для запуска.

Читайте также:
Как заработать на Озон по партнерской программе

В случае успешного запуска возвращает Handle окна, в случае неудачи возвращает код ошибки меньше или равное 32. Список возможных ошибок можно прочитать в справке по этой команде.

Пример использования команды ShellExecute в программе:

ShellExecute (Form1.Handle, nil, ‘http://programming.dax.ru’, nil, nil, SW_RESTORE); //запуск нашей странички

ShellExecute (Form1.Handle, nil, PChar (Application.ExeName), nil, nil, SW_RESTORE); //запуск второй копии этой программы

ShellExecute (Form1.Handle, nil, ‘iexplore’, ‘http://programming.dax.ru’, nil, SW_RESTORE); //запуск в отдельном окне

Источник: delphilessons.blogspot.com

Как открыть внешний файл в Delphi

В программу должна была быть встроена кнопка ведущая на внешний ехе-шник. Есть строковая переменная Path, которой я в начале присвоил текущий путь:

Path:=extractfilepath(paramstr(0));
С помощью этой переменной у меня браузер переключался между страницами.
if Node.StateIndex = 8 then WebBrowser1.Navigate(Path+’kekl5.htm’);

Но когда я делаю то же самое с тем внешним ехе-шником, то это уже не работает. Вот я открываю внешний файл по нажатию кнопки:

procedure TForm1.BitBtn1Click(Sender: TObject); begin ShellExecute(handle,’open’,’C:UsersПользователь1Desktopkekektest.exe’,nil,nil,SW_SHOW); end;

Это работает только если я пишу полный путь, что естественно никуда не годится. Если я делаю вот так:

ShellExecute(handle,’open’,Path+’test.exe’,nil,nil,SW_SHOW);

То появляется ошибка [Error] Unit1.pas(292): Incompatible types: ‘String’ and ‘PAnsiChar’. Подскажите пожалуйста либо как починить этот код, либо какой-то другой способ открыть внешний файл.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru