AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TColor in reg schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

TColor in reg schreiben

Ein Thema von Chris92 .A · begonnen am 24. Mai 2010 · letzter Beitrag vom 24. Mai 2010
Antwort Antwort
Seite 1 von 3  1 23      
Chris92 .A

Registriert seit: 19. Mai 2010
56 Beiträge
 
#1

TColor in reg schreiben

  Alt 24. Mai 2010, 10:41
Hallo ich wollte fragen ob jemand zufällig weiß wie man den Wert den man bekommt wenn man eine Farbe aus dem Dialog.Color nimmt in die reg schreiben kann
es gibt ja reg.writestring, reg.writeinteger etc... aber keinen reg.writecolor
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 10:43
TColor ist ein Integer
Markus Kinzler
  Mit Zitat antworten Zitat
Chris92 .A

Registriert seit: 19. Mai 2010
56 Beiträge
 
#3

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 10:52
Hmm irgendwie funktioniert das aber nicht. Hier ist mein Code. In einer Unit3 die für die Einstellungen des Pong Spiel gedacht ist wollte ich die Farbe der Schläger verändern. Die Unit2 ist das eigentliche Spiel wo sich die Schläger befinden.

Delphi-Quellcode:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,Registry;

type
  TfrmOption = class(TForm)
    Label1: TLabel;
    btnSpeichern: TButton;
    dlgColor: TColorDialog;
    Label2: TLabel;
    Label3: TLabel;
    btn1Color: TButton;
    btn2Color: TButton;
    Edit1: TEdit;
    procedure btn1ColorClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmOption: TfrmOption;
  reg: TRegistry;

implementation
uses unit2;

{$R *.DFM}
procedure TfrmOption.FormCreate(Sender: TObject);
begin
reg := TRegistry.Create;

end;
procedure TfrmOption.FormDestroy(Sender: TObject);
begin
        reg.Free;
end;

procedure TfrmOption.btn1ColorClick(Sender: TObject);
begin
        if dlgColor.execute then
                Leftcolor := dlgColor.color;

        if reg.OpenKey('Software\FDAC\Pong', true) then
        begin
                reg.WriteInteger('Leftcolor', Leftcolor);
                reg.CloseKey;
        end;
end;

end.
---------------------------------------

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Menus, MPlayer, ExtDlgs, jpeg,Unit3,Registry;

type
  TfrmPong = class(TForm)
    tmBall: TTimer;
    pnlLeft: TPanel;
    pnlLine: TPanel;
    lblLeftPoint: TLabel;
    lblRightPoint: TLabel;
    pnlRight: TPanel;
    mmMenu2: TMainMenu;
    mmiPause: TMenuItem;
    mmiSound: TMenuItem;
    dlgOpen: TOpenDialog;
    mpWM: TMediaPlayer;
    mmiWMLied: TMenuItem;
    dlgPicture: TOpenPictureDialog;
    imgBall: TImage;
    pnlBottom: TPanel;
    pnlTop: TPanel;
    mmicolor: TMenuItem;
    dlgcolor2: TColorDialog;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure FormClick(Sender: TObject);
    procedure tmBallTimer(Sender: TObject);
    procedure mmiPauseClick(Sender: TObject);
    procedure mmiWMLiedClick(Sender: TObject);
    procedure mmicolorClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmPong: TfrmPong;
  var X,Y,VX,VY:integer;
  var Test:Boolean;
  var FWidth,FHeight:Integer;
  var Leftcolor:integer;


implementation

{$R *.DFM}


procedure TfrmPong.FormCreate(Sender: TObject);
var
  reg: TRegistry;
begin
        reg := TRegistry.Create;
        if reg.OpenKey('Software\FDAC\Pong', false) then
        begin
                if reg.ValueExists('Leftcolor') then
                begin
                        pnlLeft.Color := reg.ReadInteger('Leftcolor');
                end;
        reg.CloseKey
        end;
        reg.Free;
end;
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#4

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 10:54
Was funktioniert nicht? Mit irgendwas können wir nicht viel anfangen
Lars
  Mit Zitat antworten Zitat
Chris92 .A

Registriert seit: 19. Mai 2010
56 Beiträge
 
#5

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 10:57
sry vergessen die Fehlermeldung hinzuzufügen:
Error:
Project Project1.exe raised execption class ERegistryExecption with message "Failed to get data for 'Leftcolor'. Process stopped.Use Step or Run to Continue.

Diese Fehlermeldung kommt wenn ich Pong starten will.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 11:02
Hallo,

Du solltest schon angeben, wo sich der Schlüssel in der Registry befindet (HKLM, HKCU, ...). Diese Angabe fehlt bei dir komplett, wenn ich das richtig sehe.
Ob das dein Problem löst, weiß ich nicht, aber mir kommt es aktuell falsch vor.

PS: Das mit den globalen Variablen ist sehr unsauber, aber das ist eine andere Geschichte.
  Mit Zitat antworten Zitat
Chris92 .A

Registriert seit: 19. Mai 2010
56 Beiträge
 
#7

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 11:10
Also ich hab den Code mit eine Zahl getestet z.b um die Breite zuverändern und da funktioniert der Code. Also am Code selbst glaube ich liegt es nicht. Es liegt meiner Meinung nach dabei den dlgColor.Color in die reg.WriteInteger zuschreiben.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 11:13
Zitat von Matze:
Du solltest schon angeben, wo sich der Schlüssel in der Registry befindet (HKLM, HKCU, ...). Diese Angabe fehlt bei dir komplett, wenn ich das richtig sehe.
Wird kein Hive angegeben, nimmt Delphi automatisch HKCU.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chris92 .A

Registriert seit: 19. Mai 2010
56 Beiträge
 
#9

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 11:15
ok dann liegt es ja daran nicht ...wisst ihr denn vieleicht eine Lösung wie ich das angehen soll?
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#10

Re: TColor in reg schreiben

  Alt 24. Mai 2010, 11:15
Hast du denn schon mal per RegEdit geguckt, ob der Wert auch in der Registry steht?
Lars
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 19:12 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