Hi zusammen
Mit folgender Prozedur will ich eine Inidatei erstellen:
Delphi-Quellcode:
function TOpenFileFrame.ChangeFolderIcon(LDeskIniPath, LBmpFile: String; IconIndex: Integer): Boolean;
var desktopini: TIniFile; LDesktopIniParent : String;
begin
LDeskIniPath := IncludeTrailingPathDelimiter(LDeskIniPath);
[B]LDesktopIniParent := ExtractFilePath(LDeskIniPath);[/B]
ShowMessage('LDeskIniPath := ' + LDeskIniPath +sLineBreak+
'LDesktopIniParent := ' + LDesktopIniParent +sLineBreak+
'**************************************');
try
if DirectoryExists(LDesktopIniParent) then
begin
desktopini := TIniFile.Create(LDeskIniPath);
try
desktopini.WriteString('.ShellClassInfo', 'IconFile', LBmpFile);
desktopini.WriteInteger('.ShellClassInfo', 'IconIndex', IconIndex);
finally
desktopini.Free;
Result := true;
end;
end
else
begin
Application.MessageBox('Error: The Foldericon could not change!' + #13#10 + 'Directory doesn''t exist!', 'Error', 16 + 0); // Warnkreuz + OK-Button
Result := false;
exit;
end;
except
Application.MessageBox('Error: The Foldericon could not change!', 'Error', 16 + 0); // Warnkreuz + OK-Button
Result := false;
exit;
end;
end;
Dabei liefert mir mein ShowMessage:
Delphi-Quellcode:
ShowMessage('LDeskIniPath := ' + LDeskIniPath +sLineBreak+
'LDesktopIniParent := ' + LDesktopIniParent +sLineBreak+
'**************************************');
folgendes:
Zitat:
[Window Title]
HilfeTest-Projekt
[Content]
LDeskIniPath := F:\Embarcadero Project Corner\Delphi Tokio TestCorner\
HTML-HelpCorner\HelpTestApp\
desctop.ini\
LDesktopIniParent := F:\Embarcadero Project Corner\Delphi Tokio TestCorner\
HTML-HelpCorner\HelpTestApp\
desctop.ini\
**************************************
[OK]
Die erste Zeile ist korrekt, nicht aber die zweite. Denn die soll lediglich den Ordner angeben, in dem die Inidatei erzeugt werden soll/enthalten ist.
Diese Zeile:
LDesktopIniParent := ExtractFilePath(LDeskIniPath);
sollte, wenn ich die Help nicht komplett falsch verstanden habe, den Inhalt von LDesktopIniParent so setzen:
Zitat:
F:\Embarcadero Project Corner\Delphi Tokio TestCorner\
HTML-HelpCorner\HelpTestApp\
Macht sie aber offensichtlich nicht. Was mache ich falsch?
Gruss
Delbor
PS: Die Funktion entstand aufgrund dieses
Beispiels.