| Autor | Správa |
Proksik
 Užívateľ
 Založený: 31.10.2007 Príspevky: 44
 | Zaslal: Pi 07.12.07 17:59 |   |
Ako spustím nejaké exe-čko pomocou delphi - mohli by ste mi poradiť aký ej to príkaz ...
To je jedno čím sa to spustí trebárs aj buttonom ...
Dakujem |
| |
    |
 |
audiotrack
 Zablokovaný užívateľ
 Založený: 18.11.2006 Príspevky: 680
 | Zaslal: Pi 07.12.07 20:26 |   |
| kód: | uses ShellApi;
...
ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL) ; |
|
| |
  |
 |
Proksik
 Užívateľ
 Založený: 31.10.2007 Príspevky: 44
 | Zaslal: Ne 09.12.07 13:01 |   |
Dakujem, ale mam este jednu otazku - ako zmazat textovy subor - nie rewrite - ale nacisto zmazat ... existuje vobec daco take |
| |
    |
 |
audiotrack
 Zablokovaný užívateľ
 Založený: 18.11.2006 Príspevky: 680
 | Zaslal: Ne 09.12.07 13:24 |   |
| Proksik napísal: | | Dakujem, ale mam este jednu otazku - ako zmazat textovy subor - nie rewrite - ale nacisto zmazat ... existuje vobec daco take | nie je zmazanie ako zmazanie. Má ho presunúť do koša, alebo úplne zmazať? Má sa dotazovať na odstránenie alebo user nemá o ničom vedieť? Má sa dať ten súbor potom cez tento istý program obnoviť? ...
úplný basic mazanie je takto:
| kód: | | function DeleteFile(const FileName: string): Boolean; |
dá sa to prerobiť až to chceš niečo viac (ako som písal) |
| |
  |
 |
Proksik
 Užívateľ
 Založený: 31.10.2007 Príspevky: 44
 | Zaslal: St 06.02.08 16:36 |   |
play:= edit1.text + '.exe';
ShellExecute(Handle, 'open', play , nil, nil, SW_SHOWNORMAL) ;
toto mi nejde spustit - je ta chyba resp. ja chcem aby mi spustilo to som mam v nar. edite .... |
| |
    |
 |
shiro
 Skúsený užívateľ
 Založený: 12.10.2006 Príspevky: 9660
 | Zaslal: St 06.02.08 17:58 |   |
Mas tu akciu urobenu na nejake tlacitko?
Musis tam pisat komplet celu cestu k tej aplikacii tusim. |
_________________ AMD Phenom II 955 BE 3.2GHz, 4GB RAM DDR3-1333 A-Data, MB Gigabyte MA-770T-UD3P, Kingston SSDNow V 64GB 2.Gen., WD 640GB + WD 1TB, Gigabyte GeForce GTX275 896MB, 2xDVD+-RW NEC 7173, LCD BenQ G2400Wa 24", MS Wireless optical mouse 2.0A, Keyboard Prestigio, Creative SBS 380 2.1 | |
  |
 |
Proksik
 Užívateľ
 Založený: 31.10.2007 Príspevky: 44
 | Zaslal: St 06.02.08 21:31 |   |
pokial je exev suobre kde je toto exe tak sa to spusti to co je naisane v edite cize ak je v edite program tak sa spusti program.exe - ale mne hadze chybu pri tom ze do premmmenj play nastavit to co je v edite
| kód: |
procedure TForm1.SpustiClick(Sender: TObject);
var play : PansiChar;
begin
{Spusti EXE}
play:= edit1.text + '.exe';
ShellExecute(Handle, 'open', play , nil, nil, SW_SHOWNORMAL) ;
NACITAJ;
end;
|
|
| |
    |
 |
shiro
 Skúsený užívateľ
 Založený: 12.10.2006 Príspevky: 9660
 | Zaslal: St 06.02.08 22:58 |   |
V subore? Myslis adresar, nie?
A na tom mieste kde davas premennu z editu je povolevy datovy typ "text" alebo "string"? Nechce to tam "char", alebo daky pointer? (teraz presne nepametam co tam ma byt...) |
_________________ AMD Phenom II 955 BE 3.2GHz, 4GB RAM DDR3-1333 A-Data, MB Gigabyte MA-770T-UD3P, Kingston SSDNow V 64GB 2.Gen., WD 640GB + WD 1TB, Gigabyte GeForce GTX275 896MB, 2xDVD+-RW NEC 7173, LCD BenQ G2400Wa 24", MS Wireless optical mouse 2.0A, Keyboard Prestigio, Creative SBS 380 2.1 | |
  |
 |
Proksik
 Užívateľ
 Založený: 31.10.2007 Príspevky: 44
 | Zaslal: St 06.02.08 23:16 |   |
No akoze ono to hadze chuby pri zapani do premennej play to co je v edit1 cize nie su kompatibilne premenne ... |
| |
    |
 |
shiro
 Skúsený užívateľ
 Založený: 12.10.2006 Príspevky: 9660
 |
No takze ta sranda je takato:
| kód: | Many times we need to execute another program from ours. To do this, we can use the ShellExecute function declared in the ShellAPI unit. The syntax is:
ShellExecute(Handle, Operation, FileName, Params, Folder, ShowCmd)
* Handle (HWND) is the window handle of the parent window, for instance the window handle of the main form of our application.
* Operation (PChar) is a pointer to a null terminated string that contains the name of the operation to perform, which can be 'edit' (launches an editor and opens the document for editing), 'explore' (explores the specified directory), 'find' (opens the find window starting from the specified directory), 'open' (executes or opens the file with the associated application), 'print' (printes the specified file) or 'properties' (displays the file or folder's properties). This parameter can also be nil and in this case 'open' will be assumed.
* FileName (PChar) is a pointer to a null terminated string that contains the path and the name of the application to execute, the document to open or print with its associated application, or the folder to open or explore.
* Params (PChar) is a pointer to a null terminated string that contains the parameters that will be passed to application specified in FileName. If FileName doesn't indicate an executable file but a document, then Params should be nil.
* Folder (PChar) is a pointer to a null terminated string that contains the path that will be taken as the application's folder by default. This parameter can be nil.
* ShowCmd (Integer) indicates the way the application specified in FileName will be shown. There are various possible values:
SW_HIDE
SW_RESTORE
SW_SHOW
SW_SHOWNA
SW_SHOWNORMAL
SW_SHOWDEFAULT
SW_MAXIMIZE
SW_MINIMIZE
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
SW_SHOWNOACTIVATE |
Cize ocakava to PCHar datovy typ, co je pointer.....a teraz nak sa ozve dakto mudrejsi, bo pri svojich pokusoch v Delphi som zakapal prave na pointeroch, ani zaboha som ich nevedel pochopit  |
_________________ AMD Phenom II 955 BE 3.2GHz, 4GB RAM DDR3-1333 A-Data, MB Gigabyte MA-770T-UD3P, Kingston SSDNow V 64GB 2.Gen., WD 640GB + WD 1TB, Gigabyte GeForce GTX275 896MB, 2xDVD+-RW NEC 7173, LCD BenQ G2400Wa 24", MS Wireless optical mouse 2.0A, Keyboard Prestigio, Creative SBS 380 2.1 | |
  |
 |
programator
 Užívateľ
 Založený: 02.09.2005 Príspevky: 156
 | Zaslal: Ne 10.02.08 14:31 |   |
| Proksik napísal: | pokial je exev suobre kde je toto exe tak sa to spusti to co je naisane v edite cize ak je v edite program tak sa spusti program.exe - ale mne hadze chybu pri tom ze do premmmenj play nastavit to co je v edite
| kód: |
procedure TForm1.SpustiClick(Sender: TObject);
var play : PansiChar;
begin
{Spusti EXE}
play:= edit1.text + '.exe';
ShellExecute(Handle, 'open', play , nil, nil, SW_SHOWNORMAL) ;
NACITAJ;
end;
|
| Niet cudo, ked mas ukazatel na Char, teda zapisujes do tebe-nealokovanej pamate...
spravne riesenie by malo byt nasledovne :
| kód: |
procedure TForm1.SpustiClick(Sender: TObject);
var play : string;
begin
{Spusti EXE}
play:= edit1.text + '.exe';
ShellExecute(Handle, 'open', PAnsiChar(play) , nil, nil, SW_SHOWNORMAL) ;
NACITAJ;
end;
|
|
_________________ Múdry nie je ten, čo veľa vie, ale ten, kto vie, čo je treba. (Thomas Alva Edison) | |
   |
 |
Proksik
 Užívateľ
 Založený: 31.10.2007 Príspevky: 44
 | Zaslal: Ne 10.02.08 14:37 |   |
|
    |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
|