procedure WelcherHintergrund(HintergrundZaehler:Integer);
begin
if HintergrundZaehler = 99 then; // das ; ist zu viel
Hintergrund.Glyph.loadfromfile('99.bmp');
end;
Du solltest immer absolute Pfade verwenden. Ohne den Pfad wird die Datei aus dem aktuellen Arbeitsverzeichnis geladen. Das kann sich aber während der Laufzeit ändern.
Wenn das Bild im EXE-Ordner ist kannst du mit ParamStr(0) bzw. Application.Exename darauf zugreifen.
Delphi-Quellcode:
// Pfad + Dateiname der EXE ermitteln (z. B. C:\Programme\meineapp.exe)
FileName := Application.ExeName;
// ODER
FileName := ParamStr(0);
// Den Pfad aus FileName extrahieren. Ergibt dann C:\Programme\
Path := ExtractFilePath(FileName);
Delphi-Quellcode:
procedure WelcherHintergrund(HintergrundZaehler:Integer);
var
FileName: String;
Path: String;
begin
FileName := Application.ExeName;
Path := ExtractFilePath(FileName);
if HintergrundZaehler = 99 then;
Hintergrund.Glyph.loadfromfile(Path + '99.bmp');
end;
Wenn du den Pfad zu anderen Verzeichnissen ermitteln möchtest, kannst du die Funktionen SpecialDirectory, SHGetFolderPath oder GetKnownFolderPath verwenden. Diese geben dann Pfade wie z. B. Windows-Ordner, Video-Ordner, .... zurück.
Delphi-Quellcode:
function GetSpecialDirectory(ACSIDL: Integer; AHandle: Cardinal = 0): String;
const
SHGFP_TYPE_CURRENT = 0;
var
APIResult: HRESULT;
Buffer: Array[0 .. MAX_PATH - 1] of WCHAR;
begin
Result := '';
APIResult := SHGetFolderPathW(AHandle, ACSIDL, 0, SHGFP_TYPE_CURRENT, Buffer);
if APIResult = S_OK then
begin
Result := WideString(Buffer);
Result := IncludeTrailingPathDelimiter(Result);
Result := Trim(Result);
end;
end;
Upps, tut mir leid das ich erst jetzt Antworte. Hab keine E-Mail bekommen und auch sonst nicht mehr daran gedacht.
Das sieht ganz schön kompliziert aus
Für das aktuelle Projekt wrde ich dies wohl nicht mehr brauchen, denn hier sollte sich ja eigentlich nichts verschieben.
Zu dem Verfahren an sich habe ich jetzt aber noch eine Frage, wie läuft das ab, wenn ich den gesamten Ordner verschiebe? Passt das dann noch, oder muss man dann alles neu abändert?
Danke aus jeden Fall für die Anregung
Schönen abend
Schwalbe Pilot