Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Извините за тупой вопрос но как открыть файл?   Найти похожие ветки 

 
цк3сл3к   (2006-07-24 11:47) [0]

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


 
Jeer ©   (2006-07-24 11:48) [1]

начни с книжек.


 
Darkwing ©   (2006-07-24 11:50) [2]

узнать папку в которой твой экзешник ExeFileName := GetCurrentDir


 
easy ©   (2006-07-24 12:01) [3]


> Darkwing ©   (24.07.06 11:50) [2]

правда?

procedure TForm1.Button1Click(Sender: TObject);
begin
 if OpenDialog1.Execute then caption:=OpenDialog1.FileName;
 edit1.Text:=GetCurrentDir;
end;


 
Darkwing ©   (2006-07-24 12:05) [4]

правда. надо использовать при создании формы.

procedure TForm1.FormCreate(Sender: TObject);
begin
 form1.Caption := GetCurrentDir;
end;


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


 
Reindeer Moss Eater ©   (2006-07-24 12:17) [5]

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

Ага. Щаз.


 
umbra ©   (2006-07-24 12:26) [6]


> 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;


 
Darkwing ©   (2006-07-24 12:31) [7]


> Reindeer Moss Eater ©

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


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


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


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


 
Reindeer Moss Eater ©   (2006-07-24 12:44) [9]

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


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


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


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

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


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


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


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


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

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


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


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

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

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


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


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

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

Caption := ExtractFilePath(ParamStr(0));


 
umbra ©   (2006-07-24 13:05) [15]


> 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


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

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


 
umbra ©   (2006-07-24 19:20) [17]


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

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


 
Kolan ©   (2006-07-24 20:22) [18]


> ExtractFilePath(ParamStr(0));

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


 
KilkennyCat ©   (2006-07-24 20:25) [19]

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


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


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

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

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


 
antonn ©   (2006-07-25 11:26) [21]

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

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

а зачем IncludeTrailingPathDelimiter?


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

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


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

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


 
PSPF2003 ©   (2006-07-27 11:48) [24]

CTRL + F9



Страницы: 1 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.1 c
15-1153159217
tesseract
2006-07-17 22:00
2006.08.13
в этот день


15-1153110266
Карелин Артем
2006-07-17 08:24
2006.08.13
Посоветуйте небольшой смартфон.


8-1139843648
jakata
2006-02-13 18:14
2006.08.13
Освобождение интерфейса


4-1145281643
dskin
2006-04-17 17:47
2006.08.13
чтение из "занятого" файла


2-1153673281
Каг Дила?
2006-07-23 20:48
2006.08.13
У меня какие-то пробелемы компонентом