Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wert aus Registry überprüfen (https://www.delphipraxis.net/116433-wert-aus-registry-ueberpruefen.html)

Johnny Bravo 29. Jun 2008 11:34


Wert aus Registry überprüfen
 
Hi,

ich greife folgendermaßen auf einen wert in der registry zu(auszug):
Delphi-Quellcode:
[...]

var
S         : String;
[...]
try
            if Reg.ValueExists('FriendlyName') then
              S := Reg.ReadString('FriendlyName')

              else if reg.ReadString('Class') = 'Display' then begin
                   if reg.ValueExists('ParentIDPrefix') then begin

            if Reg.ValueExists('DeviceDesc') then
              S := Reg.ReadString('DeviceDesc')

              end
             end
           
            else
              S := '';
[...]
wie kann ich prüfen welchen wert DeviceDesc hat?
In abhängigkeit von dem Wert soll ein Image aktiviert werden.

Beispiel, wenn ein Teil des Wertes von 'DeviceDesc' 'ABC' beträgt, dann....
Es soll also nicht der komplette wert überprüft werden sondern nur ob ein teil des names vorhanden ist.

ich hoffe ihr könnt mir helfen.. :thumb:

mkinzler 29. Jun 2008 11:36

Re: Wert aus Registry überprüfen
 
Ich würde mit Pos() überprüfen ob 'ABC' Teil des Strings ist

DeddyH 29. Jun 2008 11:37

Re: Wert aus Registry überprüfen
 
Ich denke, Du suchst Pos().

Johnny Bravo 29. Jun 2008 12:27

Re: Wert aus Registry überprüfen
 
Delphi-Quellcode:
if Reg.ReadString('DeviceDesc', pos('ABC')) = True then

             Begin
              ShowMessage('Der Wert von DeviceDsc ist [...]');
            end;
wie funktionert das mit pos()? so wie ich das vorhabe klappt das nicht :stupid:

mkinzler 29. Jun 2008 12:29

Re: Wert aus Registry überprüfen
 
Pos liefert dir die Position des Suchstrings innerhalb des zu durchsuchenden Strings zurück oder 0, wenn nicht gefunden

DeddyH 29. Jun 2008 12:29

Re: Wert aus Registry überprüfen
 
Zitat:

Zitat von Online-Hilfe
Delphi-Syntax:

function Pos(Substr: string; S: string): Integer;

Beschreibung

In Delphi sucht Pos in dem String S nach dem Teil-String Substr. Die Parameter Substr und S sind String-Ausdrücke.

Wird der Teil-String gefunden, gibt Pos den Integer-Index des ersten Zeichens von Substr in S zurück. Die Groß/Kleinschreibung wird von Pos nicht berücksichtigt. Ist Substr nicht vorhanden, wird der Wert Null zurückgegeben.

Die Funktion PosEx entspricht Pos, hat aber eine umfangreichere Funktionalität und kann in C++ Code verwendet werden.

Künftig bitte selbst nachsehen ;)

mkinzler 29. Jun 2008 12:30

Re: Wert aus Registry überprüfen
 
Zitat:

Künftig bitte selbst nachsehen Wink
Das kannst du doch von niemanden erwarten, dass er das macht. Ein Hinweis auf die Hilfe ist sehr sehr unhöflich gegenüber den Fragesteller :mrgreen:

Cyf 29. Jun 2008 12:34

Re: Wert aus Registry überprüfen
 
Zitat:

Zitat von Johnny Bravo
Delphi-Quellcode:
if Reg.ReadString('DeviceDesc', pos('ABC')) = True then

             Begin
              ShowMessage('Der Wert von DeviceDsc ist [...]');
            end;
wie funktionert das mit pos()? so wie ich das vorhabe klappt das nicht :stupid:

Zunächst mal macht eine Überprüfung auf = true keinen Sinn, weil da nur rauskommen kann:

true = true -> true oder
false = true -> false,

also kannst du das =true auch gleich weglassen.

Pos gibt den Index des ersten Zeichens deines Substrings im Suchstring, oder 0 falls er nicht gefunden wird.

Zitat:

Beschreibung
In Delphi sucht Pos in dem String S nach dem Teil-String Substr. Die Parameter Substr und S sind String-Ausdrücke.

Wird der Teil-String gefunden, gibt Pos den Integer-Index des ersten Zeichens von Substr in S zurück. Die Groß/Kleinschreibung wird von Pos berücksichtigt. Ist Substr nicht vorhanden, gibt Pos den Wert Null zurück.

Die Funktion PosEx entspricht Pos, hat aber eine umfangreichere Funktionalität und kann in C++ Code verwendet werden.

Andreas L. 29. Jun 2008 12:40

Re: Wert aus Registry überprüfen
 
Delphi-Quellcode:
if pos('ABC', Reg.ValueExists('DeviceDesc')) > 0 then
  ShowMessage('ABC vorhanden ;-)');

DeddyH 29. Jun 2008 12:41

Re: Wert aus Registry überprüfen
 
Pos in einem Boolean?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.
Seite 1 von 2  1 2      

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