| |
|
|
- Seite 1 - |
|
Alfred Wagner | Prog_Loader ...
Ist ein Programm wie der Name schon verrät um vorher definierte Programme über das Hauptfenster oder über das Icon im Systray (links neben der Uhr)zu starten. Zudem kann das Programm beim Systemstart mitgeladen werden ,wodurch die Programme gleich zu Verfügung stehen und auch gleich gestartet werden können .
Das Programm wurde unter Windows98 SE und unter Windows XP getestet.
Neue Version vom 13.Mai Änderungen: 28.04.07 Buttons reagieren erst beim loslassen 06.05.07 Hauptfenster geändert,Suchendialog startet jetzt immer vom Desktop aus,Auswahldialog erweitert. 09.05.07 Suchendialog nun frei wählbar,Statusfenster im Auswahldialog eingefügt,Programm kommt jetzt ohne .dll. 13.05.07 Fehlermeldung integriert falls eine gewählte Datei nicht mehr vorhanden ist.
Neue Version vom 08.Juli Version 1.2 Änderungen: Programm erheblich erweitert - Bitte anschauen !
download immer letzter Beitrag von mir !
Alfred |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
Alfred Wagner | Hallo Hatte die ganze Zeit Probleme mit dem LoadDialog
Hab den Dialog aus der Profanhilfe etwas umgeschrieben,nun macht er was er soll ! (Anregung von Jörg und IF)
Der aus der Profanhilfe scheint nicht richtig zu funktionieren (gehört mal angepasst)
Hier der Code für alle KompilierenMarkierenSeparieren $P+
SET(ERRORLEVEL,0)
DEF GETSYSCOLOR(1) !USER32,GetSysColor
DECLARE BUTTON1&
$H Windows.ph
-ExternalFunctions---------------------------------------------------
Def @GetOpenFileName(1) !ComDlg32.Dll, GetOpenFileNameA
Struct OFN = lStructSize&,
hWndOwner&,
hInstance&,
lpstrFilter&,
lpstrCustomFilter&,
nMaxCustFilter&,
nFilterIndex&,
lpstrFile&,
nMaxFile&,
lpstrFileTitle&,
nMaxFileTitle&,
lpstrInitialDir&,
lpstrTitle&,
Flags&,
nFileOffset%,
nFileExtension%,
lpstrDefExt&,
lCustData&,
lpfnHook&,
lpTemplateName&
-GlobalVariables-----------------------------------------------------
Def &OFN_PATHMUSTEXIST $800
Def &OFN_FILEMUSTEXIST $1000
Declare CommDlgError& -Zur Auswertung bei Abbruch oder Fehler
- Ordner vorgeben --------------
Def Desk(0) ReadIni$(Hkey_1, SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders,Desktop)
PROC BUTTON1_ONCLICK
GETMESSAGE
Parameters Title$, FileMask$
-VariablesDeclaration--------------------------------------------
Declare OFN#
Dim OFN#, OFN
Declare PathFileName#
Dim PathFileName#, ~MAX_PATH
Declare FileName#
Dim FileName#, ~MAX_PATH
Declare Filter#
Dim Filter#, 1024
Declare InitialDir$, Datei1$, PathDatei1$
-----------------------------------------------------------------
Title$= Datei suchen ...- Überschrift --------------
InitialDir$ = Desk(0)- Vorgegebener Ordner --------------
CaseNot Len(FileMask$):FileMask$=Programme|*.Exe|Alle|*.*
FileMask$=Translate$(FileMask$,|,z)+zz
Clear PathFileName#, FileName#, Filter#, CommDlgError&
String Filter#, 0 = FileMask$
With OFN#
.lStructSize& = @SizeOf(OFN#)
.Flags& = &OFN_PATHMUSTEXIST | &OFN_FILEMUSTEXIST
-Filter-
.lpstrFilter& = Filter#
.nFilterIndex& = 0
-Dateiname mit Pfad-
.lpstrFile& = PathFileName#
.nMaxFile& = ~MAX_PATH
-Dateiname-
.lpstrFileTitle& = FileName#
.nMaxFileTitle& = ~MAX_PATH
-Dialogtitel-
.lpstrTitle& = @Addr(Title$)
-Initialverzeichnis-
.lpstrInitialDir& = @Addr(InitialDir$)
EndWith
If @GetOpenFileName(OFN#)
PathDatei1$ = @String$(PathFileName#, 0)
Datei1$ = @String$(FileName#, 0)
Else
Clear PathDatei1$
Clear Datei1$
EndIf
Dispose OFN#
Dispose PathFileName#
Dispose FileName#
Dispose Filter#
Print
Print Datei1$
Print PathDatei1$
Return PathDatei1$ -Pfad und Dateiname
Return Datei1$ -Dateiname
ENDPROC
WINDOWSTYLE 63
WINDOWTITLE Datei Laden Dialog ...
WINDOW 243,208-476,268
SET(TRUECOLOR,1)
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
BUTTON1& = CREATE(BUTTON,%HWND,Suchen ...,0336,0170,0070,0030)
SETFOCUS(%HWND)
WHILENOT ENDE%
WAITINPUT
If %KEY=2
ENDE%= 1
ELSEIF %KEY=4
ELSEIF GETFOCUS(BUTTON1&) BUTTON
BUTTON1_ONCLICK
ENDIF
ENDWHILE
Zum Prog_Loader
Werde demnächst ein Update hochladen |
|
|
| |
|
|
|
Jörg Sellmeyer | Sehr schön - allerdings kannst Du Dir das GetMessage am Anfang der Prozedur sparen. Warum nimmst Du eigentlich nicht einfach den LoadFile-Dialog? KompilierenMarkierenSeparieren |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 06.05.2007 ▲ |
|
|
|
|
|
Warum nimmst Du eigentlich nicht einfach den LoadFile-Dialog?
Frag ich mich auch...
Bei meinem Quickstart sieht das so aus: KompilierenMarkierenSeparieren |
|
|
| |
|
|
|
Alfred Wagner | hallo Jörg
weil man mit dem LoadFile-Dialog immer im Ordner landet von wo aus das letzte Programm aufgerufen wurde ,und ich möchte daß der Dialog immer auf dem Desktop ausgeführt wird.
Oder hat jemand eine Alternative zu dem Dialog(der ist nämlich ein wenig lang) |
|
|
| |
|
|
|
| @Hallo Alfred KompilierenMarkierenSeparieren Bevor Du LoadFile$(.... aufrufst CHDIR desk$ und Du startest immer aus dem Desktop (natürlich kannst Du die Declaration desk$ auch anders nennen |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 06.05.2007 ▲ |
|
|
|
|
Alfred Wagner | |
|
| |
|
|
|
Jörg Sellmeyer | Kein Problem - ich würde aber bei so einem Programm empfehlen, daß der Dialog immer im letzten aufgerufenen Verzeichnis geöffnet wird. Also, beim ersten Mal Dektop() ist ein guter Start. Wenn man sich dann zum Startmenü durchgeklickt hat, und dort noch mehr Programme auswählen will, kann es sehr lästig sein, immer wiederneu rumzuklicken.
Hier auch noch die Definitionen, um den Startordner oder Eigene Dateien direkt anzusteuern: KompilierenMarkierenSeparieren |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 06.05.2007 ▲ |
|
|
|
|
| @Jörg
Also, beim ersten Mal Dektop() ist ein guter Start. Wenn man sich dann zum Startmenü durchgeklickt hat, und dort noch mehr Programme auswählen will, kann es sehr lästig sein, immer wiederneu rumzuklicken.
Das kann man so oder so sehen. In meiner ersten Version (Quickstart) bin ich von C: gestartet, weil das ist immer vorhanden. In einer späteren Version bin ich dann, (dank Deiner Hilfe) vom Desktop gestartet, weil ja nun mein Programm alle Icons erkannte und ich auch lnk-Dateien darstellen konnte. - Ich muss mich ja nicht zum Startmenu durcklicken, ich kann ja auch in den verschiedenen Partionen (bei mir 4) die Programmdateien direkt auswählen.
Frage an die Anwender: Was ist bequemer - Immer aus dem gleichen Verzeichnis (Desktop oder auch C: meinetwegen) oder aus dem zuletzt benutzten Verzeichnis starten ? |
|
|
| |
|
|
|
RGH | Horst Horn
Frage an die Anwender: Was ist bequemer - Immer aus dem gleichen Verzeichnis (Desktop oder auch C: meinetwegen) oder aus dem zuletzt benutzten Verzeichnis starten ?
Dem Anwender in einem Optionsdialog die Wahl lassen:
( ) zuletzt gewähltes Verzeichnis ( ) immer folgendes Verzeichnis ... [Auswahl] Voreingestellt beim ersten Programmstart ist der Desktop.
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 06.05.2007 ▲ |
|
|
|
|
| @Roland
Dem Anwender in einem Optionsdialog die Wahl lassen:
( ) zuletzt gewähltes Verzeichnis ( ) immer folgendes Verzeichnis ... [Auswahl] Voreingestellt beim ersten Programmstart ist der Desktop.
Der Meinung bin ich auch und bastel schon an dem Menueintrag |
|
|
| |
|
|
|
Frank Abbing |
Was ist bequemer - Immer aus dem gleichen Verzeichnis (Desktop oder auch C: meinetwegen) oder aus dem zuletzt benutzten Verzeichnis starten ?
Ich bin bemüht, meine Progs immer in dem Ordner starten zu lassen, in dem der Anwender als letztes gearbeitet hat. Beim Programmende speichere ich diesen Ort, und das für jede einzelne Auswahl. |
|
|
| |
|
|