Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Извините за тупой вопрос но как открыть файл? [D7, XP]


Страницы:   1 2

цк3сл3к ©   (2006-07-24 11:47:00) 

1.Ну должно быть типа нажимаешь кнопку в моей проге тогда открывается другая пргорамма. Например нажимаю *начать* тогда окрывается
ехе файл который находится с прогой в одной папке.т есть нужно с условными путями а не абсолютными
2.И еще как подсчитать скоко раз нажималась кнопка Например когда 5 раз нажимают кнопку то выходит сообщение *вы проиграли*.  
З.Ы извините еще раз за тупые вопросы
З.Ы.Ы я токо неделю назад начался програмированием на делфи


PSPF2003   (2006-07-27 11:48:00) [1]

CTRL + F9


LexXL   (2006-07-27 11:43:00) [2]

открой проект сохрани "проект как "( save project as...) в другую папку и F9


цк3с3к   (2006-07-26 14:22:00) [3]

у меня тут новая проблема
Я однажды сидел в Делфи прогу писал
и тут свет отключили (в деревне)
через час запускаю комп и когда я пытаюсь запустит прогу (ну которую сделал) выходит ошибка (через делфи я там нажимаю F9)
такая вот
Application Error
Expection EMCIDevice Error in module имя моей проги.exe at 0005A118
Данный файл не найден . Провертье что путь и имя файла указаны верно
Помогите плиз..


antonn   (2006-07-25 11:26:00) [4]

Kolan ©   (24.07.06 20:50) [20]
С моим? (Блин и как догадался.... только этим и занимаюсь.. :)

Вот так в смысле:
Result := IncludeTrailingPathDelimiter( ExtractFilePath(Application.ExeName));

а зачем IncludeTrailingPathDelimiter?


Kolan   (2006-07-24 20:50:00) [5]


> Вот что игры с моском делають!!!

С моим? (Блин и как догадался.... только этим и занимаюсь.. :)

Вот так в смысле:
Result := IncludeTrailingPathDelimiter( ExtractFilePath(Application.ExeName));


KilkennyCat   (2006-07-24 20:25:00) [6]

Вот что игры с моском делають!!!


Kolan   (2006-07-24 20:22:00) [7]


> ExtractFilePath(ParamStr(0));

А я пользую:
ExtractFilePath(Application.ExeName);
И еще:
IncludeTrailingPathDelimiter


umbra   (2006-07-24 19:20:00) [8]


> umbra там у меня какая та асибка выходит
> Incompatible types: 'String' and 'PAnsiChar'
> возле слова mypath там где shellexecute
>

  ShellExecute(0, 'open', PChar(mypath), nil, nil, SW_SHOWNORMAL);


цк3с3к   (2006-07-24 19:15:00) [9]

а я все таки не понял
мне нужно так чтоб без каких та там диалогов открытия открылась(запустилась);
Я тута делаю лаунчер для игры чисто для себя
там есть три кнопки (начать игру) когда я нажимаю эту кнопку тогда начинается игра
(Прохождение) здеся запускается ехе файл с прохождением
и (редактор сейвов); здеся включяется редактор сейвоu
umbra там у меня какая та асибка выходит
Incompatible types: 'String' and 'PAnsiChar'
возле слова mypath там где shellexecute


umbra   (2006-07-24 13:05:00) [10]


> 1.Ну должно быть типа нажимаешь кнопку в моей проге тогда
> открывается другая пргорамма. Например нажимаю *начать*
> тогда окрывается
> ехе файл который находится с прогой в одной папке.т есть
> нужно с условными путями а не абсолютными


uses ................., ShellApi, ..............;

{...............................}

procedure ExecMyExe;
var
 mypath: string;

begin
 mypath := ExtractFilePath(Application.ExeName); // находим путь к папке  
                                                                   //главной проги
 mypath := mypath + 'другая_прога.exe'; // получаем путь другой проги
 ShellExecute(0, 'open', mypath, nil, nil, SW_SHOWNORMAL); //запускаем другую
                                                                                 //прогу
end;


В принципе, еще надо анализировать значение, возвращаемое ShellExecute


Шпиён   (2006-07-24 12:59:00) [11]


> Шпиён   (24.07.06 12:57) [13]

В принципе, "Form1" здесь совершенно лишнее -)

Caption := ExtractFilePath(ParamStr(0));


Шпиён   (2006-07-24 12:57:00) [12]


> Darkwing ©   (24.07.06 12:05) [4]

procedure TForm1.FormCreate(Sender: TObject);
begin
 form1.Caption := ExtractFilePath(ParamStr(0));
end;

тогда по любому.


Darkwing   (2006-07-24 12:52:00) [13]

с ярлыком согласен. облажался.


Мефисто   (2006-07-24 12:51:00) [14]


> Reindeer Moss Eater ©   (24.07.06 12:44) [9]


опять я опаздал...


Мефисто   (2006-07-24 12:49:00) [15]


> Семеныч ©   (24.07.06 12:38) [8]
>  Darkwing ©   (24.07.06 12:31) [7]


не обязательно [3]

Второй возможный косяк: Запуск через ярлык, а в ярлыке указана другая рабочая папка :)


Reindeer Moss Eater   (2006-07-24 12:44:00) [16]

Создай ярлык для любой своей программы. Рабочим каталогом укажи любую папку или ничего не указывай.
Или запусти программу из командной строки когда текущий каталог не тот, в котором лежит .exe
И после этого посмотри будет "по любому", или нет.


Семеныч   (2006-07-24 12:38:00) [17]


> Darkwing ©   (24.07.06 12:31) [7]


Запусти [3] и удивись.


Darkwing   (2006-07-24 12:31:00) [18]


> Reindeer Moss Eater ©

у меня во всех прогах, если это нужно, то GetCurrentDir стоит в начале Form1.create. Возможно все неправильно и можно проще, однако еще ни разу она не давала неверное значение директории с экзешником.


umbra   (2006-07-24 12:26:00) [19]


> 2.И еще как подсчитать скоко раз нажималась кнопка Например
> когда 5 раз нажимают кнопку то выходит сообщение *вы проиграли*.
>  

как вариант:

procedure TForm1.Button1Click(Sender: TObject);
begin
 with Button1 do
   begin
     if Tag = 6 then
      begin
       ShowMessage('Вы проиграли!');
       exit;
     end;
    Tag := Tag + 1;
  end;
{Делаем что-то}
end;


Reindeer Moss Eater   (2006-07-24 12:17:00) [20]

тогда по любому.

Ага. Щаз.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо