Autor Beitrag
nullplan001
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win 2000 Professional, Debian Linux 4.0 (Etch,Stable)
Pascal (FreePascal 2.0.2, TurboPascal 7.0), C(++) (G++/GCC 3.4.2 + MinGW), Java (JDK 1.5.0_07), PHP (PHP 5.1.4)
BeitragVerfasst: Mi 19.04.06 14:10 
Hi all,
also, ich rate dringend davon ab, die Umgebungsvariablen aus der Registry zu zaubern, weil die

  1. von Version zu Version woanders sein können
  2. GetEnv (oder wie das halt gerade heist) die Umgebungsvariablen immer rauskriegt
  3. nicht alle Umgebungsvariablen in HKLM\Environment oder HKCU\Environment zu finden sind (z.B. %cd%, die den aktuellen Pfad rausfindet (braucht man nur in Batches))

Aber wenn du nur die statischen Variablen haben willst: Öffne eine CMD und tippe ein: cmd /?. Der darauffolgende Hilfetext sollte irgendwo den Speicherort der Variablen anzeigen. Unter Win2k eben HKCU\Environment für die Benutzervariablen und die Systemvariablen in HKLM\Environment.
Und was GetEnv angeht: nimm mal DOS in die USES-Klausel auf. Das sollte dein problem beheben. Wenn er das nicht hat, nimm deinen Code.
Tschö,
nullplan

_________________
Ich fahr' nicht selber, weil ich festgestellt habe: ich fahre zu emotional. Bin 180 gefahren wo 30 erlaubt war... -- Jürgen von der Lippe
Darth Sitthiander
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95



BeitragVerfasst: Do 20.04.06 13:25 
ES gibt dort aber kein Dos.dcu. Kannst du mir ein Projekt machen mit dem man einen button hat und dann direkt wenn man darauf klickt das userbild in ein image geladen wird? Danke, das würde alles für mich leichter machen zu verstehen.
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Do 20.04.06 14:48 
Schau dir mal die Methode SHGetFolderPath an. Diese wird in der Unit SHFolder zur Verfügung gestellt. Damit ist man in jedem Fall auf der sicheren Seite. Und man muss so nicht über irgendwelche Umgebungsvariablen oder sonst etwas gehen.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
nullplan001
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win 2000 Professional, Debian Linux 4.0 (Etch,Stable)
Pascal (FreePascal 2.0.2, TurboPascal 7.0), C(++) (G++/GCC 3.4.2 + MinGW), Java (JDK 1.5.0_07), PHP (PHP 5.1.4)
BeitragVerfasst: Do 20.04.06 18:03 
@Dath Sittiander:Würde ich gerne, wenn ich Delphi hätte. Statt dessen schreibe ich dir ein Konsolen-Programm, was den Pfad der Bilder zurückliefert und hänge es samt Quelltext an. Bitte warten... So fertig. Weil du's bist, pack ich noch eine DLL oben drauf, die die Funktion getenv enthält. Bitte sehr.
Tschö,
nullplan
Einloggen, um Attachments anzusehen!
_________________
Ich fahr' nicht selber, weil ich festgestellt habe: ich fahre zu emotional. Bin 180 gefahren wo 30 erlaubt war... -- Jürgen von der Lippe
Darth Sitthiander
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95



BeitragVerfasst: Fr 21.04.06 10:41 
Danke für die Beiden Tipps. Habs jetzt irgendwie kombinieren können^^ Und bei meinem Bruder funktioniert es jetzt. Danke vielmals!
nullplan001
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win 2000 Professional, Debian Linux 4.0 (Etch,Stable)
Pascal (FreePascal 2.0.2, TurboPascal 7.0), C(++) (G++/GCC 3.4.2 + MinGW), Java (JDK 1.5.0_07), PHP (PHP 5.1.4)
BeitragVerfasst: Fr 21.04.06 18:38 
Man hilft doch gern :D
Tschö,
nullplan

_________________
Ich fahr' nicht selber, weil ich festgestellt habe: ich fahre zu emotional. Bin 180 gefahren wo 30 erlaubt war... -- Jürgen von der Lippe
turboPASCAL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 193
Erhaltene Danke: 1

Win XP / Vischda
D6 PE / D2005 PE
BeitragVerfasst: Do 24.08.06 21:38 
Hi,

der Thread ist zwar schon alt, da ich das selbige Problemchen mit den Bitmaps hatte
will ich mal hier noch eine Lösung vorschlagen.
Delphi kommt mit den von Windows angelegten Bitmaps nicht zu recht, alsoeinfach die Bitmaps von Win. laden lassen und gut ist's. ;)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
implementation

{$R *.dfm}

uses
  ShlObj;

function TForm1.CommonDataPath: string;
const
  CSIDL_COMMON_APPDATA  = $0023// All Users\Application Data
var
  Path: array [0..1024of char;
begin
  if SHGetSpecialFolderPath(Handle, Path, CSIDL_COMMON_APPDATA, TRUE)
    then Result := String(path)
    else Result := '';
end;

function TForm1.GetCurrentUserName: String;
var
  pcUserName : pChar; // temporary storage
  dwMaxChars : dWord; // length parameter
const
  MAXCHARS = 255;  // max length
begin
  dwMaxChars := MAXCHARS;
  GetMem(pcUserName, MAXCHARS + 1);
  if GetUserName(pcUserName, dwMaxChars)
    then Result := String(pcUserName)
    else Result := '';
  FreeMem(pcUserName);
end;

procedure TForm1.FormCreate(Sender: TObject);
var LgPath: String;
begin
  Label1.Caption := GetCurrentUserName;

  LgPath := CommonDataPath + '\Microsoft\User Account Pictures\' +
            Label1.Caption + '.bmp';

  if FileExists(LgPath) then
  begin
    Image1.Picture.Bitmap.Handle :=
      LoadImage(0, PChar(LgPath), IMAGE_BITMAP, 00, LR_LOADFROMFILE);
  end else
    ShowMessage(format('%s'#13#10'"%s"', ['Datei nicht gefunden:', LgPath]));
end;


www.delphipraxis.net...st599701.html#599701