webForumDet fria alternativet

Programs sökväg ?

9 svar · 511 visningar · startad av Mygghyttan

MygghyttanMedlem sedan dec. 20003 inlägg
#1

Jag funderar över hur jag kan ta reda på vartifrån ett programm har startats ex: om prog test.exe startas från e:\test\test.exe .Hur kan programmet själv veta vartifrån det startat. Vad jag är ute efter är att jag vill ha relativ sökväg till en speciell fil i samma eller underkatalog till den startade exe filen gjord i delphi3.

------------------
Mygghyttan

MuzzafarathMedlem sedan apr. 20001 474 inlägg
#2

Vad jag är ute efter är att jag vill ha relativ sökväg till en speciell fil i samma eller underkatalog till den startade exe filen gjord i delphi3.

Jaa, det är väl bara att öppna t.ex filer\bilder\minbild.bmp och så sköter Windows resten? Har aldrig använt Delphi men i alla andra språk jag testat så är det så :)

[Redigerat av Muzzafarath den 31 dec 2000]

MygghyttanMedlem sedan dec. 20003 inlägg
#3

Tack för svaret men det var inte det jag tånkt mig . Jag har fortsatt och leta och hitta den kod som jag letat efter i fall någon annan är lika dålig på programmering som jag är så kanske det kan var till hjälp.
StartDir := ExtractFilePath(ParamStr(0));

------------------
Mygghyttan

WiNNeMedlem sedan maj 2000195 inlägg
#4

I delphi finns ett annat sätt än
StartDir := ExtractFilePath(ParamStr(0));

StartDir := ExtractFilePath(Application.ExeName);

som är lite snyggare... :)

[jt hade redan svarat det på ett liknande inlägg tidigare.]

------------------
winne.net

[Redigerat av WiNNe den 31 dec 2000]

MygghyttanMedlem sedan dec. 20003 inlägg
#5

Tackar !!
Jag som trodde att jag tittat överallt.
Det är väll desperationen som börjar ta över.
Gott nytt år !!

------------------
Mygghyttan

Alpha IIMedlem sedan maj 20002 579 inlägg
#6

Vad betyder de olika ParamStr()?
Finns det fler än:

0: aktiva katalogen
1: filen som programmet "öppnas med".

------------------
KLICKA ABSOLUT INTE!!!

WiNNeMedlem sedan maj 2000195 inlägg
#7

Jodå, det kan finns fler...
2 och framåt ställer du själv in när du kör programmet.
ex.

c:\pkunzip -l *.zip

0 = c:\
1 = pkunzip
2 = -l
3 = *.zip

Det finns säkert en begränsning på hur många man kan ha (jag vet inte) men i gamla DOS kunde man ju ändå inte ha rader längre 160 tecken. Det kanske är fler om man kör från windows, då skriver du in parametrarna i genvägen eller i "kör" rutan.

------------------
winne.net

svampträskMedlem sedan juni 200070 inlägg
#8

blir det inte

0 = c:\pkunzip
1 = -l
2 = *.zip

eller tänker jag helt fel?

the proclaimerMedlem sedan aug. 200088 inlägg
#9

Om jag inte minns helt fel så kan man använda upp till 255 tecken i en windows-sökväg.
Men jag är som sagt osäker på om det stämmer.

WiNNeMedlem sedan maj 2000195 inlägg
#10

Det är möjligt att du har rätt Svampträsk, jag kollade inte upp det utan bara fortsatte på listan från Alpha II.

------------------
winne.net

Genererad på 386 ms · cache AV · v20260730165559-full.f96bc7eb