Autor | Thema: Dateiformate verknüpfen | | Datum:01.10.02 16:03 
(martin_pohl@msn.com) | |
Hallo!
Wie kann ich mit Profan² 5.0 das Profan²-Programm selbst mit bestimmten Dateitypen verknüpfen?
|
| | Datum:01.10.02 16:15 
(galaxy@mrk-soft.de) | |
Weniger ein Profan Problem !!!
Windows -
- Menü Ordneroptionen -> Dateitypen :
dort über NEU einen neuen Datei-Typ festlegen, und das
entsprechende Programm auswählen ...
hier wird z.b für die Profan Quellcodes der Typ .P32
benutzt, und automatisch der Profan-Pad Editor geladen,
da die kennung .PRF schon in Win ME belegt ist.
|
| | Datum:01.10.02 17:33 
(martin_pohl@msn.com) | |
So meinte ich das nicht. Ich will, dass mein Programm sich bei anderen Leuten automatisch mit bestimmten Dateitypen verknüpft, ohne dass die das machen müssen. Wie z.B. WinZip, wo alle ZIP-Dateien automatisch zum Start von WinZip führen.
|
| | Datum:01.10.02 21:14 
(webmaster@rokosoft.de) | |
Hi Martin,
ich hoffe es läuft so - Profan 5.0 war doch schon 32 Bit.
Passe aber bitte hier für das Beispiel die Pfade an.
(Also Profed32.exe) - oder gib testhalber mal Notepad, Wordpad oder ein anderes Programm an.
Im Ernstfall, musst Du nur an diese Stellen, den Exepfad Deiner Software eintragen lassen (per Variable am besten).
Habe hier einfach testhalber mal *.rko genommen.
declare test$
test$="C:\PROGRAMME\PROFAN70\PROFED32.EXE %1"
WriteIni "HKEY_0",".rko",""="Rokodatei"
WriteIni "HKEY_0","ROKODATEI",""="Roko's Quelldatei"
WriteIni "HKEY_0","ROKODATEI\DefaultIcon",""="C:\PROGRAMME\PROFAN70\PROFED32.EXE %1"
WriteIni "HKEY_0","ROKODATEI\shell\open\command",""=test$
....
natürlich muss Dein Hauptprgramm auch empfänglich für externe Aufrufe sein (also wenn einer die verknüpfte Datei z.B. doppelklickt).
Hier nur ein Beispiel, wie das Hauptprogramm z.B. Zeile für Zeile aus der verknüpften Datei einliest und dann in einer Proc etwas damit anstellen sollte.
declare programm%,programm$
declare zeile$
Declare t$,n$
PROC AUSWERTUNG
'hier die Aktionen die Dein Programm von dem Externen aufruf
'abarbeiten soll.
ENDPROC
let programm%=%ParCount
let programm$=@Par$(programm%)
if @neq$(programm$,"")
ASSIGN #1,programm$
RESET #1
whilenot @eof(#1)
input #1,zeile$
Auswertung
wend
close #1
else
Let t$="Parameter (*.RKO Datei) fehlt!"
Let n$="Starten Sie Ihr erzeugtes Programm *.RKO indem Sie es doppelklicken."
MessageBox(n$,t$,16)
endif
Rolf ;)
|
| | Datum:01.10.02 22:03 
(webmaster@rokosoft.de) | |
Nochmal ich - habs etwas verbessert, waren kleine Fehler drin.
Nimm dies dann einfach als Hauptprogramm.
Dort wo die Messagebox ist, kannst Du ja das z.B. ausführen, wenn der User das Programm ohne Dateiaufruf startet.
declare test$
test$="C:\PROFAN\QUELLTEXTE\PARA.EXE %1"
WriteIni "HKEY_0",".rko",""="Rokodatei"
WriteIni "HKEY_0","ROKODATEI",""="Roko's Quelldatei"
WriteIni "HKEY_0","ROKODATEI\DefaultIcon",""="C:\PROFAN\QUELLTEXTE\PARA.EXE %1"
WriteIni "HKEY_0","ROKODATEI\shell\open\command",""=test$
'******************************
declare programm%,programm$,prog$
declare zeile$
Declare t$,n$
PROC AUSWERTUNG
Print zeile$
ENDPROC
let programm%=%ParCount
let programm$=@Par$(programm%)
let programm%=@Instr(".",Programm$)
let prog$=@mid$(programm$,programm%,4)
'Wenn die zugehörende Datei gestartet wird
'z.B. Doppelklick auf *.rko Datei
if @equ$(prog$,".rko")
ASSIGN #1,programm$
RESET #1
whilenot @eof(#1)
input #1,zeile$
Auswertung
wend
close #1
' Hier kann das eigentliche Hauptprogramm hin!
' Wenn der User dieses Programm alleine startet.
elseif @neq$(prog$,".rko")
Let t$="Parameter (*.RKO Datei) fehlt!"
Let n$="Starten Sie Ihr erzeugtes Programm *.RKO indem Sie es doppelklicken."
MessageBox(n$,t$,16)
endif
Hoffe es ist richtig so..
Rolf
|
| | Datum: 02.10.02 00:16 
(joerse@gmx.de) | |
Hallo Martin,
...und wenn Du diese Zeile etwas änderst, kann Dein Programm auch mit
Leerzeichen im Dateipfad umgehen:
>test$="C:\PROFAN\QUELLTEXTE\PARA.EXE %1"
test$="C:\PROFAN\QUELLTEXTE\PARA.EXE ";Chr$(34);"%1";Chr$(34)'=Anführungszeichen
Gruß
Jörg
|
|
|