Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Zibadian, shellexecute question...

The code you gave me works but I was just wondering what each parameter meant. I can't find it in the Delphi books anywhere.

ShellExecute(Handle,nil,PChar('~CallingTest.htm'),nil,nil,SW_Show);

was "Handle" suposed to be a custom name or reference?

I'm hoping that I'm not using it wrong.

Comments

  • slicer69slicer69 Member Posts: 272
    handle = handle to current window (I Think)
    nil = program you want to run
    PChar = File to open

    I htink the next two are parameters or extra calls that tell the next program what to do.

    SW_SHOW = open new program in normal window
    ShellExecute(Handle,nil,PChar('~CallingTest.htm'),nil,nil,SW_Show);

  • zibadianzibadian Member Posts: 6,349
    : The code you gave me works but I was just wondering what each parameter meant. I can't find it in the Delphi books anywhere.
    :
    : ShellExecute(Handle,nil,PChar('~CallingTest.htm'),nil,nil,SW_Show);
    :
    : was "Handle" suposed to be a custom name or reference?
    :
    : I'm hoping that I'm not using it wrong.
    :
    You can show the help for this by placing the text cursor on the word, and then press F1. In case it doesn't work, here is the official D5 help on shell execute.
    [code]
    The ShellExecute function opens or prints a specified file. The file can be an executable file or a document file. See ShellExecuteEx also.

    HINSTANCE ShellExecute(

    HWND hwnd, // handle to parent window
    LPCTSTR lpOperation, // pointer to string that specifies operation to perform
    LPCTSTR lpFile, // pointer to filename or folder name string
    LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
    LPCTSTR lpDirectory, // pointer to string that specifies default directory
    INT nShowCmd // whether file is shown when opened
    );


    Parameters

    hwnd

    Specifies a parent window. This window receives any message boxes that an application produces. For example, an application may report an error by producing a message box.

    lpOperation

    Pointer to a null-terminated string that specifies the operation to perform. The following operation strings are valid:

    String Meaning
    "open" The function opens the file specified by lpFile. The file can be an executable file or a document file. The file can be a folder to open.
    "print" The function prints the file specified by lpFile. The file should be a document file. If the file is an executable file, the function opens the file, as if "open" had been specified.
    "explore" The function explores the folder specified by lpFile.


    The lpOperation parameter can be NULL. In that case, the function opens the file specified by lpFile.

    lpFile

    Pointer to a null-terminated string that specifies the file to open or print or the folder to open or explore. The function can open an executable file or a document file. The function can print a document file.

    lpParameters

    If lpFile specifies an executable file, lpParameters is a pointer to a null-terminated string that specifies parameters to be passed to the application.
    If lpFile specifies a document file, lpParameters should be NULL.

    lpDirectory

    Pointer to a null-terminated string that specifies the default directory.

    nShowCmd

    If lpFile specifies an executable file, nShowCmd specifies how the application is to be shown when it is opened. This parameter can be one of the following values:

    Value Meaning
    SW_HIDE Hides the window and activates another window.
    SW_MAXIMIZE Maximizes the specified window.
    SW_MINIMIZE Minimizes the specified window and activates the next top-level window in the Z order.
    SW_RESTORE Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window.
    SW_SHOW Activates the window and displays it in its current size and position.
    SW_SHOWDEFAULT Sets the show state based on the SW_ flag specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. An application should call ShowWindow with this flag to set the initial show state of its main window.
    SW_SHOWMAXIMIZED Activates the window and displays it as a maximized window.
    SW_SHOWMINIMIZED Activates the window and displays it as a minimized window.
    SW_SHOWMINNOACTIVE Displays the window as a minimized window. The active window remains active.
    SW_SHOWNA Displays the window in its current state. The active window remains active.
    [/code]
  • mruniversalipmruniversalip Member Posts: 22
    : : The code you gave me works but I was just wondering what each parameter meant. I can't find it in the Delphi books anywhere.
    : :
    : : ShellExecute(Handle,nil,PChar('~CallingTest.htm'),nil,nil,SW_Show);
    : :
    : : was "Handle" suposed to be a custom name or reference?
    : :
    : : I'm hoping that I'm not using it wrong.
    : :
    : You can show the help for this by placing the text cursor on the word, and then press F1. In case it doesn't work, here is the official D5 help on shell execute.
    : [code]
    : The ShellExecute function opens or prints a specified file. The file can be an executable file or a document file. See ShellExecuteEx also.
    :
    : HINSTANCE ShellExecute(
    :
    : HWND hwnd, // handle to parent window
    : LPCTSTR lpOperation, // pointer to string that specifies operation to perform
    : LPCTSTR lpFile, // pointer to filename or folder name string
    : LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
    : LPCTSTR lpDirectory, // pointer to string that specifies default directory
    : INT nShowCmd // whether file is shown when opened
    : );
    :
    :
    : Parameters
    :
    : hwnd
    :
    : Specifies a parent window. This window receives any message boxes that an application produces. For example, an application may report an error by producing a message box.
    :
    : lpOperation
    :
    : Pointer to a null-terminated string that specifies the operation to perform. The following operation strings are valid:
    :
    : String Meaning
    : "open" The function opens the file specified by lpFile. The file can be an executable file or a document file. The file can be a folder to open.
    : "print" The function prints the file specified by lpFile. The file should be a document file. If the file is an executable file, the function opens the file, as if "open" had been specified.
    : "explore" The function explores the folder specified by lpFile.
    :
    :
    : The lpOperation parameter can be NULL. In that case, the function opens the file specified by lpFile.
    :
    : lpFile
    :
    : Pointer to a null-terminated string that specifies the file to open or print or the folder to open or explore. The function can open an executable file or a document file. The function can print a document file.
    :
    : lpParameters
    :
    : If lpFile specifies an executable file, lpParameters is a pointer to a null-terminated string that specifies parameters to be passed to the application.
    : If lpFile specifies a document file, lpParameters should be NULL.
    :
    : lpDirectory
    :
    : Pointer to a null-terminated string that specifies the default directory.
    :
    : nShowCmd
    :
    : If lpFile specifies an executable file, nShowCmd specifies how the application is to be shown when it is opened. This parameter can be one of the following values:
    :
    : Value Meaning
    : SW_HIDE Hides the window and activates another window.
    : SW_MAXIMIZE Maximizes the specified window.
    : SW_MINIMIZE Minimizes the specified window and activates the next top-level window in the Z order.
    : SW_RESTORE Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window.
    : SW_SHOW Activates the window and displays it in its current size and position.
    : SW_SHOWDEFAULT Sets the show state based on the SW_ flag specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. An application should call ShowWindow with this flag to set the initial show state of its main window.
    : SW_SHOWMAXIMIZED Activates the window and displays it as a maximized window.
    : SW_SHOWMINIMIZED Activates the window and displays it as a minimized window.
    : SW_SHOWMINNOACTIVE Displays the window as a minimized window. The active window remains active.
    : SW_SHOWNA Displays the window in its current state. The active window remains active.
    : [/code]
    :

    Thanks...

    When I pressed F1 on the shellexecute all I got was an error. It said "the word that you typed isn't in the index...".
    I'm tellin ya... these help files are a real pain. Verry often they give a description of the meaning of a function but don't explain how to use it *or* there example is completely wrong, incomplete, or really hard to read!!!

    eg. Copy...

    function Copy(S; Index, Count: Integer): String;

    should be...

    Function
    String:= Copy(String, IndexInteger, CountInteger);

    Which is much easier to read and that"S;" really messed things up for me.

    I'm going to check for updates...

  • zibadianzibadian Member Posts: 6,349
    :
    : When I pressed F1 on the shellexecute all I got was an error. It said "the word that you typed isn't in the index...".
    : I'm tellin ya... these help files are a real pain. Verry often they give a description of the meaning of a function but don't explain how to use it *or* there example is completely wrong, incomplete, or really hard to read!!!
    :
    : eg. Copy...
    :
    : function Copy(S; Index, Count: Integer): String;
    :
    : should be...
    :
    : Function
    : String:= Copy(String, IndexInteger, CountInteger);
    :
    : Which is much easier to read and that"S;" really messed things up for me.
    :
    : I'm going to check for updates...
    :
    :
    I think I know what happened with the ShellExecute(). You're version of Delphi wasn't shipped with the Windows SDK help files. The ShellExecute() is detailed in those files.
    The help always gives the declaration of a procedure or a function. So if you know how to read a function declaration, then you also know how to use it in a statement. They cannot possibly explain every single way you can use a procedure or function, since there are a 1001 ways to use each individual function. For example: the Copy() function can also be used like this:
    [code]
    var
    MyArray: array of integer;
    MyArrayPart: array of integer;
    begin
    { Fill MyArray }
    MyArrayPart:=Copy(MyArray,3,10); { Get a part of MyArray. }
    { Use MyArrayPart }
    end;
    [/code]
    With your help on Copy(), you would need two help pages on Copy():
    [code]
    Array:= Copy(Array, IndexInteger, CountInteger);
    [/code]
    Then again, this definition also applies to a string, since a string is nothing more than a special array of char.
    In my experience, the help files of delphi are very good. I have programmed in various forms of Basic & Fortran, all with very poor or no help files at all. Today I tried to read Microsoft's help on the IDocument interface (again), but got nowhere (again).
  • mruniversalipmruniversalip Member Posts: 22
    : :
    : : When I pressed F1 on the shellexecute all I got was an error. It said "the word that you typed isn't in the index...".
    : : I'm tellin ya... these help files are a real pain. Verry often they give a description of the meaning of a function but don't explain how to use it *or* there example is completely wrong, incomplete, or really hard to read!!!
    : :
    : : eg. Copy...
    : :
    : : function Copy(S; Index, Count: Integer): String;
    : :
    : : should be...
    : :
    : : Function
    : : String:= Copy(String, IndexInteger, CountInteger);
    : :
    : : Which is much easier to read and that"S;" really messed things up for me.
    : :
    : : I'm going to check for updates...
    : :
    : :
    : I think I know what happened with the ShellExecute(). You're version of Delphi wasn't shipped with the Windows SDK help files. The ShellExecute() is detailed in those files.
    : The help always gives the declaration of a procedure or a function. So if you know how to read a function declaration, then you also know how to use it in a statement. They cannot possibly explain every single way you can use a procedure or function, since there are a 1001 ways to use each individual function. For example: the Copy() function can also be used like this:
    : [code]
    : var
    : MyArray: array of integer;
    : MyArrayPart: array of integer;
    : begin
    : { Fill MyArray }
    : MyArrayPart:=Copy(MyArray,3,10); { Get a part of MyArray. }
    : { Use MyArrayPart }
    : end;
    : [/code]
    : With your help on Copy(), you would need two help pages on Copy():
    : [code]
    : Array:= Copy(Array, IndexInteger, CountInteger);
    : [/code]
    : Then again, this definition also applies to a string, since a string is nothing more than a special array of char.
    : In my experience, the help files of delphi are very good. I have programmed in various forms of Basic & Fortran, all with very poor or no help files at all. Today I tried to read Microsoft's help on the IDocument interface (again), but got nowhere (again).
    :

    My college profs always said Microsoft manuals were hard to read... Although their quick reference for QuickBasic 4.5 was excellent. To bad they didn't stick to the format.

Sign In or Register to comment.