Konu: run command
a='C:\ornek\ornek.exe'
RUN &a
normal çalışıyor
a='C:\program files\ornek dizin\ornek.exe'
RUN &a
ne yapmam lazım
teşekkürler
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
fox4um » Kodlama ve Komutlar » run command
a='C:\ornek\ornek.exe'
RUN &a
normal çalışıyor
a='C:\program files\ornek dizin\ornek.exe'
RUN &a
ne yapmam lazım
teşekkürler
a='"'+'C:\program files\ornek dizin\ornek.exe'+'"'
RUN (&a)
Karakter katarının başına ve sonuna " işaretini ekleme için +' " ' kullanırsan çözülecektir.
Yani a="C:\program files\ornek dizin\ornek.exe" haline getirmeye çalışıyoruz.
veya aşağıdaki kodla boşlukları kaldırıp dizin isimlerini dos formatına çevirebilirsin.
abc = KisaDizinAdi("c:\program files\InstallShield Installation Information")
?abc
FUNCTION KisaDizinAdi
LPARAMETER lcPath
DECLARE INTEGER GetShortPathName IN kernel32;
STRING lpszLongPath,;
STRING @ lpszShortPath,;
INTEGER cchBuffer
lcPath = lcPath
lcshortname = SPACE(260)
lnlength = LEN(lcshortname)
lnresult = GetShortPathName(@lcPath, @lcshortname, lnlength)
IF lnResult = 0
RETURN ""
ENDIF
RETURN LEFT(lcShortName,lnResult)
aslında komut biraz karmaşık
a='C:\TW\TW.EXE /N -PC:\TW\N.RVG\N0000001 -N0000001'
RUN &a
boyle bir komut kumesi sorunsuz çalışıyor
fakat
a='C:\program files\TW\TW.EXE /N -PC:\program files\TW\N.RVG\N0000001 -N0000001'
RUN &a
bu komut kumesi çalışmıyor
tw.exe çalışan programın adı bunu fox içinden tw.exe /N yapıyorum
-PC:\program files\TW\N.RVG\N0000001 -N0000001 tw.exe isimli programa giden parametreler
çok şey denedim ama yapamadım
Ben bunu alltaki biçimde dolaylı olarak çözüyorum.
windows dan ağ sürücüsüne bağlan komutundan ' C:\program files\TW\ ' dizinini Z diye tanım yapıyorum daha sonra bütün işlemlere Z üzerinden devam ediyorum derdim çözülüyor
normal yolla komut kumesi nasıl değiştirilmeli fikri olan varmı
teşekkurler
DECLARE INTEGER ShellExecute IN shell32.dll ;
INTEGER hndWin, ;
STRING cAction, ;
STRING cFileName, ;
STRING cParams, ;
STRING cDir, ;
INTEGER nShowWin
lCurDir = CURDIR()
lProgAdi = "C:\program files\TW\TW.EXE"
lParametreler = "/N -P C:\program files\TW\N.RVG\N0000001 -N0000001"
lIslem = "open"
CD \
=ShellExecute(0, lIslem, lProgAdi, lParametreler, "", 0)
CD (lCurDir)
Birde bunu dene, "Program files" sorun çıkarabili, daha önce verdiğim örnekle kısa haline çevir.
KOMUT='! "C:\program files\TW\N.RVG\N0000001 -N0000001" '
&komut
a=[ 'C:\program files\ornek dizin\ornek.exe' ]
RUN &a
fox4um » Kodlama ve Komutlar » run command