Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: Suchen und finden von .EXE Dateien
Torsten Klein
Datum:20.08.02 06:34 Antwortenals Email verschicken (Toppixxxx@web.de) 


hab mal wieder eine frage mit: @WinExecWait("eine datei.EXE",1)
öffne ich einige anwendungen aber andere werden nicht gefunden

gebe ich den weg an @WinExecWait("C:\.....*exe",1)
geht das!! aber da z.B. nicht in allen betriebssytemen der pfad gleich ist währe diese lösung nicht angebracht

genauso ist das mit :LoadBmp "C:\Programme\Test\bild.BMP",0,0;0
wenn der benutzer das programm aber auf D:\....... ablegt stimmt der weg auch nicht mehr
was müsste ich tun um trotzdem diese dateien auszuführen ?? oder wie sollte das script dazu aussehen??

mfg Toppi(version5.0)


Thorsten
Datum:20.08.02 11:00 Antwortenals Email verschicken (galaxy@mrk-soft.de) 


Ich Persönlich arbeite NIE mit festen Pfaden, sondern
immer variabel. ew. den Pfad am Anfang des Programms mit
PAR$(0) hohlen, mit CHDIR diesen setzen und dann beziehen sich
alle weiteren Zugriffe auf dieses Verz.

LOADBMP "BILD.BMP" oder PLAYSOUND "musik.wav", bzw.
WINEXEX("programm.exe",1), usw.




Torsten Klein
Datum:20.08.02 13:06 Antwortenals Email verschicken (Toppixxxx@web.de) 


kannste mir mal ein beispiel script dazu posten (kenn mich noch nicht so gut aus,habe erst angefangen)

mfg Toppi und DANKE




Jörg Sellmeyer
Datum:20.08.02 15:57 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
Def VerzeichnisTiefe(1) int(Sub(Len(@$(1)),Len(Translate$(@$(1),"\\",""))))
Def PfadTeil(2) SubStr$(@$(1),@%(2),"\\")'Vorher sollte man die Verzeichnistiefe ermitteln
Def DateiName(1) SubStr$(@$(1),VerzeichnisTiefe(@$(1)) + 1,"\\")
Def DateiPfad(1) Translate$(@$(1),"\\" + DateiName(@$(1)),"")
'Diese Funktionen helfen Pfade zu zerlegen

Cls
Declare homeDir$,MeinBild$,MeineDatei$,s$
homeDir$=DateiPfad(@par$(0))
print homeDir$
MeinBild$=homeDir$ + "\\Bitmaps\\MeinBild.bmp"
'oder:
ChDir homeDir$
MeineDatei$="Texte\\MeineDatei.txt"
Assign #1,MeineDatei$
Reset #1
input #1,s$
Close #1
print s$
WaitInput

Das funktioniert bei Dateien, die Du selber mit Deinem Programm
lieferst und Du die Verzeichnisstruktur kennst.
Bei beliebigen Programmen kannst Du nur raten.
Der Ordner für "Eigene Dateien" läßt sich aber auch aus der Registry auslesen:
Def EigeneDateien(0) readini$("Hkey_1","Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Personal")

Gruß
Jörg


Torsten Klein
Datum:20.08.02 16:46 Antwortenals Email verschicken (Toppixxxx@web.de) 


mm sorry, aber leider kappiere ich das nicht ganz (stehe wohl auf der leitung)deshalb nerve ich mal weiter :o)mein script sieht so aus:

Elseif @Menuitem (1)
LoadBmp "C:\Programme\Bilder\blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("C:\Programme\Zubehör\WORDPAD.EXE",1)

so aber wie muss ich das machen das er nun diese dateien findet? (ohne pfad)also :

Elseif @Menuitem (1)
LoadBmp "blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("WORDPAD.EXE",1)

danke schonmal für die hilfe !!

mfg Toppi (version 5.0)




Thorsten
Datum:20.08.02 16:08 Antwortenals Email verschicken (galaxy@mrk-soft.de) 



declare ram1#, ram2#
DEF GetFileTitle(3) ! "COMDLG32.DLL","GetFileTitleA"

proc GetPath
 declare ram$
 dim ram1#,255
 dim ram2#,255
 String ram1#,0=par$(0)
 GetFileTitle(ram1#,ram2#,255)
 If lower$(String$(ram2#,0)) = "profan"
  ram$ = lower$(GetDir$("@")) + "\"
 Else
  ram$ =  lower$(mid$(par$(0),1,len(par$(0))-(4+len(String$(ram2#,0)))))
 Endif
 Dispose ram1#
 Dispose ram2#
 Return ram$
endproc

'-----------------------------------------------------------------

getPath
chDir @$(0)

'print @$(0)



die Procedure liefert IMMER, egal ob als Runtime (Quellcode)
oder als EXE Programm den richtigen Pfad, wo das Programm
selber zu finden ist.



Torsten Klein
Datum:20.08.02 17:07 Antwortenals Email verschicken (Toppixxxx@web.de) 


der text ist oben schon einmal ist irgenwie noch oben gerutscht

mm sorry, aber leider kappiere ich das nicht ganz (stehe wohl auf der leitung)deshalb nerve ich mal weiter :o)mein script sieht so aus:

Elseif @Menuitem (1)
LoadBmp "C:\Programme\Bilder\blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("C:\Programme\Zubehör\WORDPAD.EXE",1)

so aber wie muss ich das machen das er nun diese dateien findet? (ohne pfad)also :

Elseif @Menuitem (1)
LoadBmp "blau.BMP",0,0;0
usefont "arial",20,7,0,0,0
textcolor @rgb(100,100,100),-1
drawtext 5,5,"text text text text"
@WinExecWait("WORDPAD.EXE",1)

danke schonmal für die hilfe !!

mfg Toppi (version 5.0)



Jörg Sellmeyer
Datum:21.08.02 01:01 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo Torsten,
Wie ich vorher schon geschrieben habe, kannst Du alle Datei die Du selber
im Pfad oder im Verzeichnis Deines Programmes gespeichert hast, direkt ohne
Pfad b. z. w. mit relativen Pfadangaben ansprechen.
Probier einfach mal mit meinem oder Thorstens (mrk-soft) Code herum.
Alle anderen Dateien müssen mit pfadangaben versehen sein.
Das hat nix mit Profan zu tun sondern mit den Strukturen eines PCs.
Ausnahme:
Wenn etwas im PFAD deines Computers ist, findet das der Computer automatisch.
In der Regel ist das das Windowsverzeichnis und Windows\System.
Du kannst den PFAD Deines Computers ermitteln indem Du im Startmenü einfach
mal die MS-Dos-Eingabeaufforderung startest und dort PATH eingibst.

Du kannst mit Addfiles *"*.exe" aber eine Liste erzeugen, die alle Programme enthält und diese nach den gesuchten Programmen durchforsten:
Cls
Declare Liste&
Liste&=CreateSortedListbox(%hwnd,"",10,10,200,400)
ChDir "C:\\"
Addfiles *"*.exe"
MoveListToList(Liste&)
Vielleicht hilft das Dir erst mal weiter.
Gruß
Jörg


Torsten Klein
Datum: 21.08.02 02:17 Antwortenals Email verschicken (Toppixxxx@web.de) 


jo danke euch beiden klappt prima und ich finde es spitze das ihr auch "anfängern" alles so klasse erklärt !!!

macht weiter so *dickes lob*

mfg Toppi


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
Shortwin - denn Glück ist kein Zufall!