Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Putanja gdje se nalazi .exe

[es] :: Pascal / Delphi / Kylix :: Putanja gdje se nalazi .exe

[ Pregleda: 2746 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Passwd

Član broj: 54624
Poruke: 640
200.58.164.*



Profil

icon Putanja gdje se nalazi .exe19.09.2005. u 13:04 - pre 226 meseci
najbolje prec na primjer odmah, znaci napravim neki program..i sad netko skine taj program i spremi ga na c:\ netko na c:\programi\ netko na d:\ ... i kako sad da program zna gdje se nalazi (putanju), da ne pretrazujem cijeli hard


poz
 
Odgovor na temu

ivanho
slobodni umetnik
Beograd

Član broj: 28465
Poruke: 73
217.26.75.*



Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 13:26 - pre 226 meseci

ExtractFilePath(Application.ExeName)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 13:27 - pre 226 meseci
Ako koristis program koji koristi Forms unit onda mozes ovako
Code:
Application.ExeName

ako pravis neki programcic koji ne koristi Forms (neki konzolni) onda koristi ovo
Code:
ParamStr(0)

Ovaj drugi primer radi u svim aplikacijama (cak i u TP).
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 13:42 - pre 226 meseci
Problem rijesen, sa formama je

hvala

poz..
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 15:38 - pre 226 meseci
Evo da ne otvaram novu temu....

Ne znam vise zasto me zeza..

Program bi trebao ovo raditi:
netko skine program i spremi ga recimo na c:\ disk..pokrene program i sada program treba sebe skopirati u c:\windows\prog.exe [to je u redu], zatim se pokrene taj program iz c:\windows\prog.exe te pobrise program koji je njega pokrenuo...nadam se da razumijete o cem pricam


znaci:
pokrenut c:\moj_program.exe
putanja "c:\moj_program.exe" je spremljena u c:\windows\ pod imenom prog_put.txt
program_moj.exe je skopiran u c:\windows\ pod imenom prog.exe
program c:\moj_program.exe pokrece c:\windows\prog.exe
c:\windows\prog.exe je pokrenut i uzima string iz c:\windows\prog_put.txt te brise taj program

problem je u tome sto se nakon kopiranja u c:\windows\.. znaci ako pokrenem taj program on opet sebe pokusava napraviti (iako po kodu nebi trebao), i ne obrise program ciju je putanju ucitao iz fajla..


evo koda:

Code:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    putanja:string;
    x:integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var S, T: TFileStream;
begin

edit1.Text:=application.ExeName;

if application.ExeName<>'C:\WINDOWS\prog.exe' then
begin
S := TFileStream.Create( application.ExeName, fmOpenRead );
try
T := TFileStream.Create( 'c:\WINDOWS\prog.exe',
fmOpenWrite or fmCreate );
try
T.CopyFrom(S, S.Size );
finally
T.Free;
end;
finally
S.Free;
end;
memo1.Lines.Clear;
memo1.Lines.Add(application.ExeName);
memo1.Lines.SaveToFile('c:\windows\prog_put.txt');
winexec('c:\windows\prog.exe',sw_show);
end;



if application.ExeName='C:\WINDOWS\prog.exe' then
begin
try
memo1.Lines.Clear;
memo1.Lines.LoadFromFile('c:\windows\prog_put.txt');
deletefile(memo1.Text);
except
showmessage('Fajl je vec obrisan!');
end;

end;



end;



end.
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.block.alestra.net.mx.



Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 18:52 - pre 226 meseci
Problem rijesen!
 
Odgovor na temu

Voodoo
Novi Beograd

Član broj: 3508
Poruke: 488
*.dial.b92.net.



+1 Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 20:48 - pre 226 meseci
Pretpostavka da se Windows nalazi u C:\Windows nije baš dobra programerska praksa...
Windowsov direktorijum možeš dobiti na sledeći način:

Code:
function DajMiWinDir: string;
var
  pwinpath: array[0..255] of char;
  winpath: string;
begin
  GetWindowsDirectory(pwinpath, sizeof(pwinpath));
  winpath := StrPas(pwinpath);
  if winpath[Length(winpath)] <> '\' then winpath := winpath + '\';
  result := winpath;
end;
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 20:57 - pre 226 meseci
Pazi ovaj nacin
Code:
function WinFolder: String;
begin
  SetLength(Result, MAX_PATH);
  SetLength(Result, GetWindowsDirectory(PChar(Result), MAX_PATH));
  Result := IncludeTrialingBackslash(Result);
end;

 
Odgovor na temu

Voodoo
Novi Beograd

Član broj: 3508
Poruke: 488
*.dial.b92.net.



+1 Profil

icon Re: Putanja gdje se nalazi .exe19.09.2005. u 22:34 - pre 226 meseci
u, advanced :)

koliko godina koristim delphi, a nisam znao za IncludeTrialingBackslash...
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Putanja gdje se nalazi .exe

[ Pregleda: 2746 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.