04. december 2000 - 15:34Der er
30 kommentarer og 2 løsninger
Nybegynder
Kan man finde noget på nettet om de foskellige koder til Delphi 4???? Jeg er HELT nybegynder så det skal helst være noget der er nemt at forstå. Jeg vil også meget gerne have at vide (Hurtigt) hvad man skal skrive for at starte et program. f.eks. Notepad eller Explorer
Ja, du accepterer delphi koden. Men når jeg starter programmet og klikker på \"Paint\" starter paint og skriver: I½.bmp indeholder en ugyldig sti. Imaging og Wordpad gør det samme. Har jeg nu klumret i det igen?
Jeg havde nu testet koden før jeg postede til dig. Under Win-98 behøver du ikke at angive nogen sti for at få fat i notepad (det skal man heller ikke under Win-95, for der har jeg selv anvendt eksemplet tidligere).
Kontrol panel allpets skal køres på en anden måde. Den kan du køre med den her procedure :
Function RunControlPanelApplet( sAppletFileName : String) : Integer; begin Result :=WinExec( PChar(\'rundll32.exe shell32.dll,\'+\'Control_RunDLL \'+sAppletFileName), SW_SHOWNORMAL); end;
Den kankaldes således :
RunControlPanelApplet(\'telephon.cpl\');
Jeg har også en funktion her til at køre en fil med :
Mht Paint. Så hedder den MSPaint.exe og ligger i dit system blblotek. Dit system biblotek ligger forskellige stedder på forskellige operativ systemer. på WIndows NT 4.0 og 2000 hedder der (som standard) C:\\Winnt\\System32. På din maskine hedder den vist nok C:\\Windows\\System. Det har Windows heldig vis en mekanisme der kan fortælle dig. Den har jeg skrevet en Pascal Wrappere til :
Den her funktion giver dig navnet på dit system biblotek :
Function GetSystemDirectory : String; begin SetLength(Result, MAX_PATH); Windows.GetSystemDirectory(PChar(Result),MAX_PATH); SetLength(Result, Pred(Pos(#0,Result))); end;
Når jeg trykker på PAINT i mit program kommer der en boks op hvor der står \"I½.bmp indeholder en ugyldig sti\" (som jeg skrev før). Det er PAINT der skriver det. ikke mit program.
Jo det er nok mit program der får paint til at skrive sådan. men jeg har jo ikke skrevet noget med I½ i programmet... Jeg prøver lige \"Executefile\"...
borrisholt >> Enten mangler der noget af din \"ExecuteFile\" eller også erklære du den utrolig \"frækt\" (Lidt for indforstået for en begynder og en der har arbejdet med Delphi i et par år) ;o)
Jeg kan for øvrigt ikke få lov til at lave tildeling til konstanter i en erklæring af en funktion. Er det fordi jeg benytter Delphi 2?
først lige nogle hjælpe funktioner du kan drage nytte af :
uses shellAPi;
Function GetWindowsDirectory : String; //------------------------------------- //The GetWindowsDirectory Function retrieves the path //of the Windows directory. The Windows directory //contains such files as Windows-based applications, //initialization files, and Help files. //------------------------------------- begin SetLength(Result, MAX_PATH); Windows.GetWindowsDirectory(PChar(Result), MAX_PATH); SetLength(Result, Pred(Pos(#0,Result))); end;
Function GetSystemDirectory : String; //------------------------------------- //The GetSystemDirectory Function retrieves the path //of the Windows system directory. The system directory //contains such files as Windows libraries, drivers, and font files. //------------------------------------- begin SetLength(Result, MAX_PATH); Windows.GetSystemDirectory(PChar(Result),MAX_PATH); SetLength(Result, Pred(Pos(#0,Result))); end;
//så den etenlige funktion til at exekvere en fil med :
Function ExecuteFile(const FileName : String): THandle; //------------------------------------- //The ExecuteFile Function opens or prints a specified file. //The file can be an executable file or a document file. //If the Function succeeds, the return value is the instance handle //of the application that was run. Else the return value is an error //value that is less than or equal to 32 //------------------------------------- var DefaultDir: String; begin DefaultDir := GetCurrentDir; Result := ShellExecute(Application.MainForm.Handle, nil, PChar(FileName), nil, PChar(DefaultDir), SW_SHOWNORMAL); end;
//Så hvordan man kkalder funktionen : procedure TForm1.Button1Click(Sender: TObject); begin ExecuteFile(GetWindowsDirectory+\'\\Notepad.exe\'); end;
Lyder godt. Jeg lader være med at fjerne smp. fra listen!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.