AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Root in einen String "packen"

Ein Thema von F.W. · begonnen am 30. Jul 2003 · letzter Beitrag vom 31. Jul 2003
Antwort Antwort
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#1

Root in einen String "packen"

  Alt 30. Jul 2003, 22:38
Mein Programm soll in den Eigenen Dateien arbeiten. Dafür muss es wissen, wo die sind, ei mir sind die z.B. auf D:\, ein anderer hat sie auf C:\.
Dann gibts den Unterschied zwischen ME(und tiefer) und XP d.h. in den Eigenen Dateien Unterordner für die angemeldeten Personen(gibts ja bei ME auch, allerdings werden das ja die meisten privat-Benutzer sicher lassen.).

Wie kann ich jetzt rfPersonal in den String bekommen.

Bsp:
 Copy(PChar("rfPersonal"+'help.txt'), PChar('C:\Temp\help.txt'), False); Wobei dann "rfPersonal" der Root von den Eigenen Dateien wäre.

Danke schonmal im voraus!
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2

Re: Root in einen String "packen"

  Alt 31. Jul 2003, 06:03
Hallo F.W.,
um den Pfad der "Eigene Dateien" herauszubekommen, habe ich hier mal zwei Funktionen.
1. Generelle Funktion um spezielle Pfade zu holen
Delphi-Quellcode:
function GetSpecialFolder(Folder: Integer): string;
var
  aPidl: PItemIDList;
  fLinkDir: string;
begin
  if SUCCEEDED(SHGetSpecialFolderLocation(Application.Handle, Folder, aPidl)) then
  begin
    SetLength(fLinkDir, MAX_PATH);
    SHGetPathFromIDList(aPidl, PChar(fLinkDir));
    SetLength(fLinkDir, StrLen(PChar(fLinkDir)));
    Result := fLinkDir;
  end;
end;
2. Die Funktion um den Pfad des Ordner ""Eigene Dateien" zu holen
Delphi-Quellcode:
function GetPersonalFolder: string;
begin
  Result := GetSpecialFolder(CSIDL_PERSONAL);
end;
noch die Unit "ShlObj" einbinden und das wars
bye
Angehängte Dateien
Dateityp: zip beispiel_686.zip (199,4 KB, 2x aufgerufen)
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
-Amazeroth-
(Gast)

n/a Beiträge
 
#3

Re: Root in einen String "packen"

  Alt 31. Jul 2003, 08:44
Hi Duffy,

haben wir in dem Code nich was vergessen *g*, Zitat aus der Doku zu SHGetSpecialFolderLocation():

Zitat:
The calling application is responsible for freeing this pointer with the Shell's IMalloc interface (see SHGetMalloc).
Delphi-Quellcode:
var
  ppMalloc: IMalloc;
begin
  if SHGetMalloc(ppMalloc) = NOERROR then
  try
// Hier dein Aufruf ...
// Wenn Erfolg dann Versuch ...
    try
// Hier kann noch mit der ItemID List gearbeitet werden
    finally
      ppMalloc.Free(pidl);
    end;
  finally
// Bis hier kann man ppMalloc auch statt GetMem/FreeMem gebrauchen
    ppMalloc._Release;
  end;
end;
Eigentlich gehört auch noch ein CoInitialize() davor, aber ich hatte bisher nie Probleme ohne es.
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#4

Re: Root in einen String "packen"

  Alt 31. Jul 2003, 16:58
Danke, ich habe leider gerade keine Zeit, aber ich werde es mir anschauen, sobald ich wieder Zeit habe.

Danke!!!!!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz