Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wie kann mann Registry ändern (https://www.delphipraxis.net/74068-wie-kann-mann-registry-aendern.html)

joel93 27. Jul 2006 17:10


Wie kann mann Registry ändern
 
Ich möcht einen bestimmten Wert in der reg ändern, wie geht dass? :wiejetzt: :coder:

edit: ich möchte einen DWORD ändern...

Matze 27. Jul 2006 17:11

Re: Wie kann mann Registri ändern
 
Hier im Forum suchenRegistry / RegistryRegistry

mkinzler 27. Jul 2006 17:11

Re: Wie kann mann Registri ändern
 
Schau dir mal die klasse TRegistry an

joel93 27. Jul 2006 17:34

Re: Wie kann mann Registri ändern
 
@Matze: hab nix funden
@mkinzler: hab ich nich ??!??
:wiejetzt: :coder2:

Dax 27. Jul 2006 17:35

Re: Wie kann mann Registri ändern
 
Zitat:

Zitat von joel93
@Matze: hab nix funden

Augen aufmachen hilft.
Zitat:

Zitat von joel93
@mkinzler: hab ich nich ??!??

Doch. In der Unit Registry.

mkinzler 27. Jul 2006 17:35

Re: Wie kann mann Registri ändern
 
Glaub ich nicht. TRegistr ist keine Komponente, sondern eine Klasse.

Meflin 27. Jul 2006 17:53

Re: Wie kann mann Registri ändern
 
Zitat:

Zitat von mkinzler
Glaub ich nicht. TRegistr ist keine Komponente, sondern eine Klasse.

soll heissen, du "hast" es zwar nicht, machst es dir aber einfach per
Delphi-Quellcode:
var registry: TRegistry;
registry := TRegistry.Create;
Und dann kannst du es verwenden. Dazu sollte aber wirklich genug in der DP zu finden sein ;)


Matze 27. Jul 2006 18:45

Re: Wie kann mann Registri ändern
 
Zitat:

Zitat von joel93
@Matze: hab nix funden

Der war gut. :lol:

Du kannst dich gar nicht bemüht haben. Sorry, aber da gibt's hunderte Beiträge, die dir weitergeholfen hätten, wie zum Beispiel dieser hier.

joel93 27. Jul 2006 21:13

Re: Wie kann mann Registri ändern
 
@Matze: Ich probier ihn morgen

Hatte mich nur auf spezielle überschrift konzentriert ! :wall: !

joel93 28. Jul 2006 12:59

Re: Wie kann mann Registri ändern
 
funzt net so gut, ich wolt eigentlich nen DWORD machen
(sry, habs vergessen in meine frage zu tippen :cat: )

Luckie 28. Jul 2006 13:08

Re: Wie kann mann Registry ändern
 
Dann guck dir doch einfach mal die Methoden von TRegistry in der Hilfe an.

joel93 28. Jul 2006 13:34

Re: Wie kann mann Registry ändern
 
So richtig hab ich in der help nix funden :pale: :wall:

mkinzler 28. Jul 2006 13:37

Re: Wie kann mann Registry ändern
 
Ich hoffe dir ist bekannt, wie man die Hilfe verwendet. Sonst suche halt hier im Forum.

joel93 28. Jul 2006 13:43

Re: Wie kann mann Registry ändern
 
wie meinste? , wie soll man das denn machen???

s14 28. Jul 2006 13:54

Re: Wie kann mann Registry ändern
 
Hallo,
versuche es doch mal so:
Im Hauptmenü von Delphi "Hilfe -> Delphi-Hilfe" -> Im Reiter "Index" die Zeichenfolge "TRegistry" eingeben und auf Anzeigen klicken. :-)

faux 28. Jul 2006 14:02

Re: Wie kann mann Registry ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Weiß nciht, ob ich das jetzt posten darf, aber eigentlich ists ja egal, da in der Trial von Delphi die selbe Hilfe wie in der Vollversion ist, oder?!
Siehe Anhang.

Grüße
Faux

joel93 28. Jul 2006 17:35

Re: Wie kann mann Registry ändern
 
die function hab ich nich gscheid zum laufen gekriegt :wiejetzt:

3_of_8 28. Jul 2006 17:37

Re: Wie kann mann Registry ändern
 
Sorry, ich find grad meine Kristallkugel nicht, daher musst du wohl etwas Code posten.

mkinzler 28. Jul 2006 17:52

Re: Wie kann mann Registry ändern
 
Hast du den Rootkey angepasst?

Zum Lesen eines DWORD (Integer) mußt du readInteger verwenden. Hierzu noch mal ein Ausschnitt aus der Hilfe (die ja anscheinend bei zu fehlen scheint ):

Zitat:

Zitat von Delphi Hilfe
ReadBinaryData (public) Liest einen Binärwert aus einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadBool (public) Liest einen booleschen Wert aus dem angegebenen Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadCurrency (public) Liest einen Währungsbetrag aus einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadDate (public) Liest ein Kalenderdatum aus einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadDateTime (public) Liest einen Datums-/Zeitwert aus einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadFloat (public) Liest eine Gleitkommazahl aus einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadInteger (public) Liest eine Integer-Zahl aus einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadString (public) Liest einen String aus einem Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
ReadTime (public) Liest eine Uhrzeit aus einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.


joel93 28. Jul 2006 18:17

Re: Wie kann mann Registry ändern
 
Das hier (aus der delphi-help):
Delphi-Quellcode:
function GetRegistryValue(KeyName: integer): integer;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create(KEY_READ);
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    // false, weil kein Eintrag erzeugt werden soll, sofern er nicht vorhanden ist.
    Reg.OpenKey('Software\Microsoft\Windows\...', True);
    Result := Reg.ReadInteger('Name');
  finally
    Reg.Free;
  end;
end;
macht keine compillerfehler (aber wie kan ich die einsetzen?)

Es gab da ja noch ne möglichkeit:
Delphi-Quellcode:
procedure TForm1.ButonClick(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System', True);
    Reg.WriteString('Name', ParamStr(0));
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
end;
Aber da is
Delphi-Quellcode:
Reg.WriteString('Name', ParamStr(0));
im weg, aber ich wollte:
Delphi-Quellcode:
Reg.WriteInteger('Name', ParamInteger(0));
Aber da funzt ParamInteger nich !
:cry:

ManuMF 28. Jul 2006 18:20

Re: Wie kann mann Registry ändern
 
Was soll den ParamInteger machen? Ich kenne die Funktion nicht. :gruebel:

mkinzler 28. Jul 2006 18:23

Re: Wie kann mann Registry ändern
 
Delphi-Quellcode:
if TryStrToInt( ParamStr(0), wert) then
    Reg.WriteInteger( Wert);

faux 28. Jul 2006 18:25

Re: Wie kann mann Registry ändern
 
@joel93: Du weißt aber schon, was der 2. von dir gepostete Code macht? Was willst du da mit Integer?? :?
Nochmal genau: Was hast du vor?

Grüße
Faux

joel93 28. Jul 2006 18:26

Re: Wie kann mann Registry ändern
 
Ich will nen DWORD in der Registry den Wert 1 bzw. 0 geben...

faux 28. Jul 2006 18:32

Re: Wie kann mann Registry ändern
 
Delphi-Quellcode:
procedure WriteKey(Value: Integer);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;                       // Instanz erzeugen
  try                                            // Falls Fehler auftreten, gehts hier weiter --+
    Reg.RootKey := HKEY_CURRENT_USER;            // Schlüssel zuweisen                         |
    Reg.OpenKey('Software\joel92\Product', True); // Pfad auswählen (der 2. Parameter           |
                                                  // gibt an, ob der Pfad angelegt              |
                                                  // werden soll, wenn es ihn noch              |
                                                  // nicht geben sollte)                        |
    Reg.WriteInteger('Name', Value);             // Wert in die Registry schreiben,            |
                                                  // wobei der Name des Wertes "Name"           |
                                                  // lautet und der Wert der Prozedur           |
                                                  // übergeben wird.                            |
    Reg.CloseKey;                                // Schlüssel wieder schließen                 |
  finally    // <-------------- (hier gehts auch weiter, wenn kein Fehler auftritt) ------------+
    Reg.Free;                                    // Instanz wieder freigeben
  end;
end;
Grüße
Faux

3_of_8 28. Jul 2006 18:39

Re: Wie kann mann Registry ändern
 
Achja: So etwas wie ParamInteger gibt es nicht.

ManuMF 28. Jul 2006 18:41

Re: Wie kann mann Registry ändern
 
Ich schätze, das Problem ist ParamInteger. Nochmal: Was ist das für eine Funktion? Zumindest bei mir in D6PE gibt es sie nicht.

[edit]2. Seite nicht gesehen[/edit]

faux 28. Jul 2006 18:45

Re: Wie kann mann Registry ändern
 
Zitat:

Zitat von 3_of_8
Achja: So etwas wie ParamInteger gibt es nicht.

Ich denke mal, er dachte, wenn es ParamStr gibt, muss es auch ParamInteger geben, aber wenn er wüsste, was ParamStr macht, würde er wissen, dass das keinen Sinn machen würde. ;)

Aber da du ja keine Hilfe hast:
ParamStr(x) gibt dir den x. Parameter zurück, der dem Programm übergeben wurde. ParamCount gibt einen Integer zurück, der die Anzahl der Parameter zurückgibt. ;)

Grüße
Faux

joel93 28. Jul 2006 18:53

Re: Wie kann mann Registry ändern
 
zu dem code von faux: Wie krieg ich dass wieder fürn button fertig? :oops: :coder: :oops:

mkinzler 28. Jul 2006 18:55

Re: Wie kann mann Registry ändern
 
Ersetzte das
Delphi-Quellcode:
Reg.WriteString('Name', ParamStr(0));
in deinem Code durch if
Delphi-Quellcode:
TryStrToInt( ParamStr(0), wert) then
    Reg.WriteInteger( Wert);

joel93 28. Jul 2006 19:01

Re: Wie kann mann Registry ändern
 
und was mach ich mit wert und Wert ??

mkinzler 28. Jul 2006 19:07

Re: Wie kann mann Registry ändern
 
Wert unf wert ist das Selbe. es ist eine Variable vom Typ Integer. Der Code wandelt den Parameter der, der Exe übergeben wird und den Typ String hat in eine Integer (wenn möglich). Dieser wird in Wert übergeben und kann dann mit Reg.WriteInteger in die Registry geschrieben werden.

faux 28. Jul 2006 19:10

Re: Wie kann mann Registry ändern
 
http://www.dsdt.info/grundlagen/sprache/

joel93 28. Jul 2006 19:31

Re: Wie kann mann Registry ändern
 
Was soll ich da?

toredo 28. Jul 2006 19:35

Re: Wie kann mann Registry ändern
 
Lesen?

www.dsdt.info hat übrigens auch sehr gute codebeispiele und tuts, auf die seite geh ich auch fast jeden tag, besonders als anfänger lernt man da einiges (so wie ich):-D


mfG toredo

joel93 28. Jul 2006 19:48

Re: Wie kann mann Registry ändern
 
Aha versteh... :idea:

joel93 28. Jul 2006 19:58

Re: Wie kann mann Registry ändern
 
Aha.. vorallen das mit den variablen is interresant:
z.B.:
Delphi-Quellcode:
var BspZahlMitStartWert : Integer = 0815;
:thumb: :coder:

3_of_8 28. Jul 2006 20:59

Re: Wie kann mann Registry ändern
 
Schau dir einfach mal die grundlegenden Sprachspezifikationen in der OH an. So wie Variablen, Konstanten, Operatoren, Routinen, Typen, if-SchleifenAnweisungen, for-, while-, return-Schleifen, case-Anweisungen usw...

joel93 5. Aug 2006 15:12

Re: Wie kann mann Registry ändern
 
War im Urlaib...
Werd ich mal tun :dp:


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