![]() |
den Delphi Code Formatter ins eigene Programm einbinden ...
Hallo zusammen,
ich habe ein wenig herumexperimentiert und versucht, den Delphi Code-Formatter in das eigene Programm (eine eigene Codeschnipseldatenbank) zu integrieren. Ob das allerdings erlaubt ist, habe ich nicht herausbekommen können. Schließlich kann man ihn ja auch aus der Konsole heraus aufrufen. Es funktioniert soweit ganz gut.
Delphi-Quellcode:
Beste Grüße
// aus dem SwissDelphiCenter:
function ShellExecuteAndWait(Operation, FileName, Parameter, Directory: string; Show: Word; bWait: Boolean): LongInt; var bOK: Boolean; ShExecInfo: TShellExecuteInfo; begin FillChar(ShExecInfo, SizeOf(ShExecInfo), Chr(0)); ShExecInfo.cbSize := SizeOf(ShExecInfo); ShExecInfo.fMask := SEE_MASK_NOCLOSEPROCESS; ShExecInfo.lpVerb := PChar(Operation); ShExecInfo.lpFile := PChar(FileName); ShExecInfo.lpParameters := PChar(Parameter); ShExecInfo.lpDirectory := PChar(Directory); ShExecInfo.nShow := Show; bOK := Boolean(ShellExecuteEx(@ShExecInfo)); if bOK then begin if bWait then begin while WaitForSingleObject(ShExecInfo.hProcess, 100) = WAIT_TIMEOUT do Application.ProcessMessages; bOK := GetExitCodeProcess(ShExecInfo.hProcess, DWORD(Result)); end else Result := 0; end; if not bOK then Result := -1; end; procedure TFrmMain.acCodeFormatterExecute(Sender: TObject); var TempFile: string; ConfigFile: string; begin Screen.Cursor := crHourGlass; try TempFile := GetEnvironmentVariable('temp') + PathDelim + 'Temp.pas'; ConfigFile := 'Formatter.config'; SynMemo1.Lines.SaveToFile(TempFile); if ShellExecuteAndWait('open', ExtractFilePath(Application.ExeName) + 'Formatter.exe', ' -delphi -config ' + ConfigFile + ' ' + TempFile, ParamStr(0), SW_HIDE, True) = 0 then SynMemo1.Lines.LoadFromFile(TempFile) else raise SysUtils.Exception.Create('Es ist ein Fehler beim Formatieren aufgetreten.' + #13#10 + 'Wenden Sie sich bitte an ihren IT-Koordinator.'); // ShellExecute(Handle, 'open', PChar(ExtractFilePath(Application.ExeName) + 'Formatter.exe'), // PChar(' -delphi -config ' + ConfigFile + ' ' + TempFile), nil, SW_HIDE); // Sleep(1000); // SynMemo1.Lines.LoadFromFile(TempFile); finally Screen.Cursor := crDefault; end; end; |
AW: den Delphi Code Formatter ins eigene Programm einbinden ...
Solange du die Formatter.exe nicht deinem Programm beilegst oder sonstwie weitergibst, sollte es imo kein Problem sein.
|
AW: den Delphi Code Formatter ins eigene Programm einbinden ...
Meine Programme sind nur für mich - Hobbyprogrammierer. :-D
|
AW: den Delphi Code Formatter ins eigene Programm einbinden ...
Ich stelle mir gerade den armen Admin (in der Rolle des "IT-Koordinator") vor, wenn jemand mit dieser Fehlermeldung ankommt :mrgreen:
Zitat:
|
AW: den Delphi Code Formatter ins eigene Programm einbinden ...
Wie gesagt, da ich mein eigener Admin bin ...:-D
(Sollte nur wichtig klingen ...) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz