Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TempVariable als WideString (https://www.delphipraxis.net/130554-tempvariable-als-widestring.html)

LordPsychoter 10. Mär 2009 14:14


TempVariable als WideString
 
Hallo,

ich habe die Aufgabe eine eigene Komponente zu erstellen.

Diese soll Unicode fähig sein. Also WideString.
Dazu habe ich die TNT Units zur auswahl.

Ich suche eine Function ähnlich/gleich GetEnvironmentVariable.
Nur natürlich WideString fähig und in den tnt Units enhalten.

Weiß jemand von euch wo ich die finde?
Habt ihr selber erfahrunge mit den Tnt Units ?

gruß
LordPsychoter

jaenicke 10. Mär 2009 14:16

Re: TempVariable als WideString
 
GetEnvironmentVariable ist eine API-Funktion und als solche als GetEnvironmentVariableW auch als Unicodeversion vorhanden.

Falls diese nicht deklariert sein sollte (was ich nicht glaube), dann müsstest das selbst machen.

himitsu 10. Mär 2009 14:21

Re: TempVariable als WideString
 
GetEnvironmentVariable ist keine direkte WinAPI-Funktion ... es ist nur eine Programminterne Umleitung

GetEnvironmentVariableA ist mit AnsiChar
und GetEnvironmentVariableW mit WideChar(Unicode)

LordPsychoter 10. Mär 2009 14:28

Re: TempVariable als WideString
 
Danke. :)

Soweit so klar.

Wisst ihr zufällig auch in welcher Unit diese Implementiert sind?
Ich kann mir kaum vorstellen das diese nicht irgendwo zu finden sind.

Gruß
LordPsychoter

jaenicke 10. Mär 2009 15:18

Re: TempVariable als WideString
 
Ganz normal in der Unit Windows. ;-)

himitsu 10. Mär 2009 15:18

Re: TempVariable als WideString
 
Unit Windows ... da wo fast alles drin ist

LordPsychoter 11. Mär 2009 08:08

Re: TempVariable als WideString
 
Hallo,

nein die Funktion ist nicht in der Windows Unit enthalten.

Dort ist die Funktion:
GetEnvironmentStringsW

enthalten.
Verflucht irgendwo muss das doch zu finden sein ;)

gruß
LordPsychoter

Bernhard Geyer 11. Mär 2009 08:20

Re: TempVariable als WideString
 
JclWinBase aus der JCL hat die Funktion GetEnvironmentVariableW dynamisch aus der kernel32.dll importiert.

sirius 11. Mär 2009 08:20

Re: TempVariable als WideString
 
Zitat:

Zitat von LordPsychoter
Hallo,

nein die Funktion ist nicht in der Windows Unit enthalten.

Dort ist die Funktion:
GetEnvironmentStringsW

Dann schau mal 3 Zeilen weiter :zwinker:

Edit: Aber was hilft dir diese Information. Die Unit Windows wirst du wohl eingebunden haben :gruebel:

LordPsychoter 11. Mär 2009 08:31

Re: TempVariable als WideString
 
Zitat:

Zitat von sirius
Zitat:

Zitat von LordPsychoter
Hallo,

nein die Funktion ist nicht in der Windows Unit enthalten.

Dort ist die Funktion:
GetEnvironmentStringsW

Dann schau mal 3 Zeilen weiter :zwinker:

Edit: Aber was hilft dir diese Information. Die Unit Windows wirst du wohl eingebunden haben :gruebel:

Ähm.. ja..

Ich hol mir mal nen kaffe und mache besser dann erst weiter.

Danke :)

himitsu 11. Mär 2009 09:23

Re: TempVariable als WideString
 
das ist aus Windows.pas von D7 und in den 2000er Versionen isses auch drin
Zitat:

function GetEnvironmentStrings: PChar; stdcall;
{$EXTERNALSYM GetEnvironmentStrings}
function GetEnvironmentStringsA: PAnsiChar; stdcall;
{$EXTERNALSYM GetEnvironmentStringsA}
function GetEnvironmentStringsW: PWideChar; stdcall;
...
function GetEnvironmentStrings; external kernel32 name 'GetEnvironmentStringsA';
function GetEnvironmentStringsA; external kernel32 name 'GetEnvironmentStringsA';
function GetEnvironmentStringsW; external kernel32 name 'GetEnvironmentStringsW';

jaenicke 11. Mär 2009 13:35

Re: TempVariable als WideString
 
Zitat:

Zitat von LordPsychoter
Hallo,

nein die Funktion ist nicht in der Windows Unit enthalten.

Also ich habe keine Ahnung welche komische Delphiversion du hast. Mindestens ab Delphi 3 ist GetEnvironmentVariableW enthalten.
Delphi 1 und 2 habe ich nicht mehr installiert, aber die benutzt ja ohnehin keiner mehr.

Deshalb kann das eigentlich kaum sein, dass das nicht enthalten ist. :gruebel:

@himitsu:
Es geht um GetEnvironmentVariable nicht GetEnvironmentStrings. ;-)

himitsu 11. Mär 2009 13:58

Re: TempVariable als WideString
 
Zitat:

Zitat von jaenicke
@himitsu:
Es geht um GetEnvironmentVariable nicht GetEnvironmentStrings. ;-)

das passiert, wenn man den (einen) Namen aus'm vorhergehenden Post rauskopiert :oops:

Aber GetEnvironmentVariableW gibt es auch (zumindestens in D7+)

sirius 11. Mär 2009 14:11

Re: TempVariable als WideString
 
Ihr zwei habt schon bemerkt, dass Lord die Funktion längst gefunden hatte :gruebel:

himitsu 11. Mär 2009 14:15

Re: TempVariable als WideString
 
jupp :angel:

jaenicke 11. Mär 2009 14:26

Re: TempVariable als WideString
 
Zitat:

Zitat von sirius
Ihr zwei habt schon bemerkt, dass Lord die Funktion längst gefunden hatte :gruebel:

Ach die Einbindung der Unit, jetzt sehe ich es. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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