AGB  ·  Datenschutz  ·  Impressum  







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

Delphi Registry

Ein Thema von Nise · begonnen am 11. Jun 2003 · letzter Beitrag vom 11. Jun 2003
Antwort Antwort
Nise

Registriert seit: 11. Jun 2003
2 Beiträge
 
#1

Delphi Registry

  Alt 11. Jun 2003, 09:49
Hallo alle zusammen!

Habe ein kleines Problem mit der Registry und das lautet wie folgt:

Ich habe diese Prozedur und möchte sie mit in die Registry einbauen. Das heißt wenn ich auf checked clicke möchte ich das es beim neu starten des Programmes wieder gecheckt ist und das selbe mit der Suchfunktion und dem Label.
Delphi-Quellcode:
procedure TFmHaupt.WarengruppenSuchenExecute(Sender: TObject);
begin
   case TComponent(Sender).Tag of

    3303: begin
          WaGrWGNr.Checked := true;
          WaGrBezeichnung.Checked := false;
          WarSU1.Text := '';
          Label3.Caption := 'Warengruppen Nr.';
          WarSU1.Visible := True;
          WarSU1.OnChange := WarSU1Change;
          end;
    3304: begin
          WaGrWgNr.Checked := false;
          WaGrBezeichnung.Checked := true;
          WarSU1.Text := '';
          Label3.Caption := 'Bezeichnung';
          WarSU1.Visible := True;
          WarSU1.OnChange := WarSU2Change;
          end;
end;
end;
Ich habe es schon so probiert an die Registry abzuspeichern.
Delphi-Quellcode:
// yy Registry auslesen
  regist:=TRegistry.Create;
  regist.RootKey:=HKEY_CURRENT_USER;
  regist.OpenKey('Software\ZVVerwaltung\DialogPosition\FMHaupt', true);

  TComponent(Sender).Tag := regist.ReadInteger('Checked3016');

// yy Registry einlesen
procedure TFmHaupt.FmClose(Sender: TObject; var Action: TCloseAction);
var regist : TRegistry;
begin
  regist:=TRegistry.Create;
  regist.RootKey:=HKEY_CURRENT_USER;
  regist.OpenKey('Software\ZVVerwaltung\DialogPosition\FMHaupt', true);

    regist.WriteInteger('checked3016', TComponent(Sender).Tag);
Ich habe es versucht über den TComponent(Sender) das funktioniert allesdiengs nicht! Kann mir jemand sagen ob ich überhaupt auf dem richtigen weg bin oder ob ich ganz falsch drann bin denn ich komme einfach nicht weiter!

Mfg und Danke im Vorraus

Denise
[EDIT=Luckie]Delphi-tags hinzugefügt. Beim nächsten Mal bitte selber machen. Danke.[/EDIT]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 11. Jun 2003, 09:55
Moin Denise,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Wodurch wird denn

WarengruppenSuchenExecute

aufgerufen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Nise

Registriert seit: 11. Jun 2003
2 Beiträge
 
#3

Execute

  Alt 11. Jun 2003, 10:02
Hallo, Danke für die herzliche Begrüßung!

Ich habe einen normalen button mit dem habe ich ein Popup menü verbunden und von dort aus wird dieses Suchen mit den einzelnen Untermenüs aufgerufen. Ich habe jedem einzelnen Untermenü einen ander Tag zu geordnet und mit diesem Tag steuere ich das jeweilige Suchen usw. an. Ich hoffe das hilft dir einiger maßen weiter.

Mfg und Danke im Vorraus

Denise
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 11. Jun 2003, 10:59
Moin Denise,

wenn also jedem Menüpunkt WarengruppenSuchenExecute zugeordnet ist, und jeder Menüpunkt (bzw. die Action, sieht für mich zumindest nach Verwendung von TActionList aus) über sein eigenes Tag verfügt, sollte das gehen.

Du kannst ja mal als erste Zeile in der Methode ein ShowMessage legen, dass Dir den Wert des jeweiligen Tags anzeigt, um zu sehen, dass das überhaupt funktioniert.

BTW:
Bei Deinen Registryfunktionen hast Du doch auch immer ein CloseKey?
Ausserdem wäre ein try/finally Block nicht schlecht um die Ausführung von CloseKey sicherzustellen.

[EDIT]
Ist mir gerade aufgefallen
Beim Schreiben in die Registry verwendest Du ja auch TComponent(Sender).Tag
Der Wert dürfte allerdings immer 0 sein, ausser Du rufst fmClose mit geeigneten Parametern "manuell" auf
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 00:10 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