|
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Værdi'er i Reg.basen hvordan tilføjes de i~ Fra : Monie Jacobsen |
Dato : 23-08-02 14:46 |
|
Hej
Har aldrig arbejdet med Reg.base. Derfor nogle spørgsmål.
Har forsøgt at skrive og læse fra Reg.basen og derefter,
at tilføje værdierne til brug i hovedeprogrammet.
Har du en ide og vil du prøve at rette og tildanne Unit5,
sådan at hvis der er hente fra Reg.base så bruges disse værdier.
Disse værdier er: radius og p
procedure TForm1.SkrivTilRegBasenClick(Sender: TObject);
Var
Reg : TRegistry;
Begin
Reg:=Tregistry.Create;
Reg.RootKey:=HKey_Current_User;
If Reg.OpenKey('C:\Data',False)=False Then
Reg.CreateKey('Software\Firma\Programnavn');
Reg.WriteString('MyString','radius');
Reg.CloseKey;
Reg.Free;
End;
procedure TForm1.LaesFraRegBasenClick(Sender: TObject);
Var
Reg : TRegistry;
S : String;
Begin
Reg:=Tregistry.Create;
Reg.RootKey:=HKey_Current_User;
If Reg.OpenKey('Software\Firma\Programnavn',False)=False Then
Begin
Showmessage('Fejl');
Exit;
End;
S:=Reg.ReadString('MyString');
Showmessage(S);
End;
unit Unit5;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls,Math, Dialogs;
type
TOKBottomDlg = class(TForm)
OKBtn: TButton;
CancelBtn: TButton;
Bevel1: TBevel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure OKBtnClick(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
OKBottomDlg: TOKBottomDlg;
radius,p,v,np,cp,rho,Areal:real;
implementation
uses Unit1,Unit3;
{$R *.dfm}
procedure TOKBottomDlg.OKBtnClick(Sender: TObject);
begin
Form1.Show;
end;
procedure TOKBottomDlg.CancelBtnClick(Sender: TObject);
begin
Close;
end;
procedure TOKBottomDlg.RadioButton1Click(Sender: TObject);
begin
Vtip := 32;
Vn:=7.0;
v:=12.0;
np:=16/27;
cp:=0.48;
rho:=1.225;
radius := Form1.IndtastKommaTal( 'Vingens radius i m:', radius);
Areal:= power(radius,2) * Pi;
i := Form1.IndtastHeltal( 'Antal vinger:', 3);
p:= (((rho/2)*Cp*power(V,3))*(Power(radius,2)*Pi )/1000);
Lamda := Vtip/Vn;
Omdr := (Vn*Lamda*60) / ((2*Pi) * 12);
Generator := Form1.IndtastKommatal( 'Generatorens norm omdr.:', 1500);
Form1.Edit1.Text:= FormatFloat('#0.00', radius);
Form1.Edit2.Text:= IntToStr(i);
Form1.Edit5.text:= Format('%.2f', [Areal]);
Form1.Edit6.text := Format('%2f', [Lamda]);
Form1.Edit8.Text := FormatFloat('#0.00', Generator/Omdr);
Gear:= Generator/Omdr;
Form1.Edit7.text := Format('%2f', [Omdr]);
Form1.Edit9.Text := FormatFloat('#0.00', V);
Form1.Edit10.Text:= FormatFloat('#0.00', p);
Form1.Show;
end;
procedure TOKBottomDlg.RadioButton2Click(Sender: TObject);
begin
v:=12.0;
np:=16/27;
cp:=0.48;
rho:=1.225;
p := Form1.IndtastKommaTal( 'Rotoe effekt P [kw]:', p);
Radius:=sqrt((P*1000*2)/( rho*Cp*(Power(V,3)*Pi )));
Areal:= power(radius,2) * Pi;
Form1.Edit1.Text:= FormatFloat('#0.0000', radius);
Form1.Edit5.text:= Format('%.2f', [Areal]);
Form1.Edit6.text := Format('%2f', [Lamda]);
Form1.Edit7.text := Format('%2f', [Omdr]);
Form1.Edit9.Text := FormatFloat('#0.00', V);
Form1.Edit10.Text:= FormatFloat('#0.00', p);
Form1.Show;
end;
procedure TOKBottomDlg.FormCreate(Sender: TObject);
begin
Form1.Edit1.Update;
Form1.Edit2.Update;
Form1.Edit5.Update;
Form1.Edit6.Update;
Form1.Edit7.Update;
Form1.Edit8.Update;
Form1.Edit9.Update;
Form1.Edit10.Update;
end;
end.
Med venlig hilsen Og på forhånden mange tak!
Monie
| |
Pølle (25-08-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Pølle |
Dato : 25-08-02 12:10 |
|
Hej Monie
Her et afprøvet simpelt eksempel.
For at prøve det, så lav en ny applikation kun med Form1.
På Form1 placeres 3 komponenter:
Edit1: TEdit;
Buttom1: TButtom
Label1: TLabel
OG SÅ KOMMER PROGRAMMET
---------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Registry,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Reg:TRegIniFile;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Reg:=TRegIniFile.Create('Software');
// "Software" åbnes "HKey_Current_User" (standardplacering, men kan
ændres)
// Dvs. du har nu oprettet en 'kanal' til "HKey_Current_User \ Software"
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Reg.WriteString('Min Test', 'Edit1', Edit1.Text);
// Indholdet af Edit1.Text gemmes nu i "HKey_Current_User\Software\Min
Test" under navnet "Edit1".
Label1.Caption:=Reg.ReadString('Min Test', 'Edit1', 'INTET RESULTAT');
// Indholdet fra ovenstående hentes retur og placeres ti Label1.
// "INTET RESULTAT" vil fremkomme i Label1, hvis der ikke er
// noget som hedder "HKey_Current_User\Software\Software\Min Test\Edit1"
i registreringsdatabasen.
end;
end.
----------------- SLUT -------------------
Hvis du har arbejdet med TIniFile vil du bemærke, at den store forskel på
TIniFile og TRegIniFile er placeringen på computeren.
GOD FORNØJELSE
Pølle
"Monie Jacobsen" <monie@tdcadsl.dk> skrev i en meddelelse
news:3d663c95$0$43958$edfadb0f@dspool01.news.tele.dk...
> Hej
>
> Har aldrig arbejdet med Reg.base. Derfor nogle spørgsmål.
> Har forsøgt at skrive og læse fra Reg.basen og derefter,
> at tilføje værdierne til brug i hovedeprogrammet.
> Har du en ide og vil du prøve at rette og tildanne Unit5,
> sådan at hvis der er hente fra Reg.base så bruges disse værdier.
>
> Disse værdier er: radius og p
>
> procedure TForm1.SkrivTilRegBasenClick(Sender: TObject);
> Var
> Reg : TRegistry;
> Begin
> Reg:=Tregistry.Create;
> Reg.RootKey:=HKey_Current_User;
> If Reg.OpenKey('C:\Data',False)=False Then
> Reg.CreateKey('Software\Firma\Programnavn');
> Reg.WriteString('MyString','radius');
> Reg.CloseKey;
> Reg.Free;
> End;
>
> procedure TForm1.LaesFraRegBasenClick(Sender: TObject);
> Var
> Reg : TRegistry;
> S : String;
> Begin
> Reg:=Tregistry.Create;
> Reg.RootKey:=HKey_Current_User;
> If Reg.OpenKey('Software\Firma\Programnavn',False)=False Then
> Begin
> Showmessage('Fejl');
> Exit;
> End;
> S:=Reg.ReadString('MyString');
> Showmessage(S);
> End;
>
>
> unit Unit5;
> interface
> uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
> Buttons, ExtCtrls,Math, Dialogs;
> type
> TOKBottomDlg = class(TForm)
> OKBtn: TButton;
> CancelBtn: TButton;
> Bevel1: TBevel;
> RadioButton1: TRadioButton;
> RadioButton2: TRadioButton;
> procedure OKBtnClick(Sender: TObject);
> procedure CancelBtnClick(Sender: TObject);
> procedure RadioButton1Click(Sender: TObject);
> procedure RadioButton2Click(Sender: TObject);
> procedure FormCreate(Sender: TObject);
> private
> { Private declarations }
> public
> { Public declarations }
> end;
> var
> OKBottomDlg: TOKBottomDlg;
> radius,p,v,np,cp,rho,Areal:real;
> implementation
> uses Unit1,Unit3;
> {$R *.dfm}
>
> procedure TOKBottomDlg.OKBtnClick(Sender: TObject);
> begin
> Form1.Show;
> end;
> procedure TOKBottomDlg.CancelBtnClick(Sender: TObject);
> begin
> Close;
> end;
>
> procedure TOKBottomDlg.RadioButton1Click(Sender: TObject);
> begin
> Vtip := 32;
> Vn:=7.0;
> v:=12.0;
> np:=16/27;
> cp:=0.48;
> rho:=1.225;
> radius := Form1.IndtastKommaTal( 'Vingens radius i m:', radius);
> Areal:= power(radius,2) * Pi;
> i := Form1.IndtastHeltal( 'Antal vinger:', 3);
> p:= (((rho/2)*Cp*power(V,3))*(Power(radius,2)*Pi )/1000);
> Lamda := Vtip/Vn;
> Omdr := (Vn*Lamda*60) / ((2*Pi) * 12);
> Generator := Form1.IndtastKommatal( 'Generatorens norm omdr.:', 1500);
> Form1.Edit1.Text:= FormatFloat('#0.00', radius);
> Form1.Edit2.Text:= IntToStr(i);
> Form1.Edit5.text:= Format('%.2f', [Areal]);
> Form1.Edit6.text := Format('%2f', [Lamda]);
> Form1.Edit8.Text := FormatFloat('#0.00', Generator/Omdr);
> Gear:= Generator/Omdr;
> Form1.Edit7.text := Format('%2f', [Omdr]);
> Form1.Edit9.Text := FormatFloat('#0.00', V);
> Form1.Edit10.Text:= FormatFloat('#0.00', p);
> Form1.Show;
> end;
> procedure TOKBottomDlg.RadioButton2Click(Sender: TObject);
> begin
> v:=12.0;
> np:=16/27;
> cp:=0.48;
> rho:=1.225;
> p := Form1.IndtastKommaTal( 'Rotoe effekt P [kw]:', p);
> Radius:=sqrt((P*1000*2)/( rho*Cp*(Power(V,3)*Pi )));
> Areal:= power(radius,2) * Pi;
> Form1.Edit1.Text:= FormatFloat('#0.0000', radius);
> Form1.Edit5.text:= Format('%.2f', [Areal]);
> Form1.Edit6.text := Format('%2f', [Lamda]);
> Form1.Edit7.text := Format('%2f', [Omdr]);
> Form1.Edit9.Text := FormatFloat('#0.00', V);
> Form1.Edit10.Text:= FormatFloat('#0.00', p);
> Form1.Show;
> end;
> procedure TOKBottomDlg.FormCreate(Sender: TObject);
> begin
> Form1.Edit1.Update;
> Form1.Edit2.Update;
> Form1.Edit5.Update;
> Form1.Edit6.Update;
> Form1.Edit7.Update;
> Form1.Edit8.Update;
> Form1.Edit9.Update;
> Form1.Edit10.Update;
> end;
> end.
>
> Med venlig hilsen Og på forhånden mange tak!
> Monie
>
>
>
| |
Monie Jacobsen (25-08-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Monie Jacobsen |
Dato : 25-08-02 16:49 |
|
Tak Pølle
Jeg afprøve dit eksempel nu.
MVH
Monie
"Pølle" <No@Name.dk> skrev i en meddelelse news:akae0b$hos$1@sunsite.dk...
> Hej Monie
>
> Her et afprøvet simpelt eksempel.
>
> For at prøve det, så lav en ny applikation kun med Form1.
>
> På Form1 placeres 3 komponenter:
>
> Edit1: TEdit;
> Buttom1: TButtom
> Label1: TLabel
>
> OG SÅ KOMMER PROGRAMMET
> ---------------------------------------
> unit Unit1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
> Registry,
> StdCtrls;
>
> type
> TForm1 = class(TForm)
> Edit1: TEdit;
> Label1: TLabel;
> Button1: TButton;
> procedure FormCreate(Sender: TObject);
> procedure Button1Click(Sender: TObject);
> private
> { Private declarations }
> public
> { Public declarations }
> end;
>
> var
> Form1: TForm1;
> Reg:TRegIniFile;
>
> implementation
>
> {$R *.DFM}
>
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> Reg:=TRegIniFile.Create('Software');
> // "Software" åbnes "HKey_Current_User" (standardplacering, men kan
> ændres)
> // Dvs. du har nu oprettet en 'kanal' til "HKey_Current_User \
Software"
> end;
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
>
> Reg.WriteString('Min Test', 'Edit1', Edit1.Text);
> // Indholdet af Edit1.Text gemmes nu i "HKey_Current_User\Software\Min
> Test" under navnet "Edit1".
>
> Label1.Caption:=Reg.ReadString('Min Test', 'Edit1', 'INTET RESULTAT');
> // Indholdet fra ovenstående hentes retur og placeres ti Label1.
> // "INTET RESULTAT" vil fremkomme i Label1, hvis der ikke er
> // noget som hedder "HKey_Current_User\Software\Software\Min
Test\Edit1"
> i registreringsdatabasen.
> end;
>
> end.
> ----------------- SLUT -------------------
>
> Hvis du har arbejdet med TIniFile vil du bemærke, at den store forskel på
> TIniFile og TRegIniFile er placeringen på computeren.
>
> GOD FORNØJELSE
> Pølle
>
>
>
>
>
>
>
>
> "Monie Jacobsen" <monie@tdcadsl.dk> skrev i en meddelelse
> news:3d663c95$0$43958$edfadb0f@dspool01.news.tele.dk...
> > Hej
> >
> > Har aldrig arbejdet med Reg.base. Derfor nogle spørgsmål.
> > Har forsøgt at skrive og læse fra Reg.basen og derefter,
> > at tilføje værdierne til brug i hovedeprogrammet.
> > Har du en ide og vil du prøve at rette og tildanne Unit5,
> > sådan at hvis der er hente fra Reg.base så bruges disse værdier.
> >
> > Disse værdier er: radius og p
> >
> > procedure TForm1.SkrivTilRegBasenClick(Sender: TObject);
> > Var
> > Reg : TRegistry;
> > Begin
> > Reg:=Tregistry.Create;
> > Reg.RootKey:=HKey_Current_User;
> > If Reg.OpenKey('C:\Data',False)=False Then
> > Reg.CreateKey('Software\Firma\Programnavn');
> > Reg.WriteString('MyString','radius');
> > Reg.CloseKey;
> > Reg.Free;
> > End;
> >
> > procedure TForm1.LaesFraRegBasenClick(Sender: TObject);
> > Var
> > Reg : TRegistry;
> > S : String;
> > Begin
> > Reg:=Tregistry.Create;
> > Reg.RootKey:=HKey_Current_User;
> > If Reg.OpenKey('Software\Firma\Programnavn',False)=False Then
> > Begin
> > Showmessage('Fejl');
> > Exit;
> > End;
> > S:=Reg.ReadString('MyString');
> > Showmessage(S);
> > End;
> >
> >
> > unit Unit5;
> > interface
> > uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
> > Buttons, ExtCtrls,Math, Dialogs;
> > type
> > TOKBottomDlg = class(TForm)
> > OKBtn: TButton;
> > CancelBtn: TButton;
> > Bevel1: TBevel;
> > RadioButton1: TRadioButton;
> > RadioButton2: TRadioButton;
> > procedure OKBtnClick(Sender: TObject);
> > procedure CancelBtnClick(Sender: TObject);
> > procedure RadioButton1Click(Sender: TObject);
> > procedure RadioButton2Click(Sender: TObject);
> > procedure FormCreate(Sender: TObject);
> > private
> > { Private declarations }
> > public
> > { Public declarations }
> > end;
> > var
> > OKBottomDlg: TOKBottomDlg;
> > radius,p,v,np,cp,rho,Areal:real;
> > implementation
> > uses Unit1,Unit3;
> > {$R *.dfm}
> >
> > procedure TOKBottomDlg.OKBtnClick(Sender: TObject);
> > begin
> > Form1.Show;
> > end;
> > procedure TOKBottomDlg.CancelBtnClick(Sender: TObject);
> > begin
> > Close;
> > end;
> >
> > procedure TOKBottomDlg.RadioButton1Click(Sender: TObject);
> > begin
> > Vtip := 32;
> > Vn:=7.0;
> > v:=12.0;
> > np:=16/27;
> > cp:=0.48;
> > rho:=1.225;
> > radius := Form1.IndtastKommaTal( 'Vingens radius i m:', radius);
> > Areal:= power(radius,2) * Pi;
> > i := Form1.IndtastHeltal( 'Antal vinger:', 3);
> > p:= (((rho/2)*Cp*power(V,3))*(Power(radius,2)*Pi )/1000);
> > Lamda := Vtip/Vn;
> > Omdr := (Vn*Lamda*60) / ((2*Pi) * 12);
> > Generator := Form1.IndtastKommatal( 'Generatorens norm omdr.:', 1500);
> > Form1.Edit1.Text:= FormatFloat('#0.00', radius);
> > Form1.Edit2.Text:= IntToStr(i);
> > Form1.Edit5.text:= Format('%.2f', [Areal]);
> > Form1.Edit6.text := Format('%2f', [Lamda]);
> > Form1.Edit8.Text := FormatFloat('#0.00', Generator/Omdr);
> > Gear:= Generator/Omdr;
> > Form1.Edit7.text := Format('%2f', [Omdr]);
> > Form1.Edit9.Text := FormatFloat('#0.00', V);
> > Form1.Edit10.Text:= FormatFloat('#0.00', p);
> > Form1.Show;
> > end;
> > procedure TOKBottomDlg.RadioButton2Click(Sender: TObject);
> > begin
> > v:=12.0;
> > np:=16/27;
> > cp:=0.48;
> > rho:=1.225;
> > p := Form1.IndtastKommaTal( 'Rotoe effekt P [kw]:', p);
> > Radius:=sqrt((P*1000*2)/( rho*Cp*(Power(V,3)*Pi )));
> > Areal:= power(radius,2) * Pi;
> > Form1.Edit1.Text:= FormatFloat('#0.0000', radius);
> > Form1.Edit5.text:= Format('%.2f', [Areal]);
> > Form1.Edit6.text := Format('%2f', [Lamda]);
> > Form1.Edit7.text := Format('%2f', [Omdr]);
> > Form1.Edit9.Text := FormatFloat('#0.00', V);
> > Form1.Edit10.Text:= FormatFloat('#0.00', p);
> > Form1.Show;
> > end;
> > procedure TOKBottomDlg.FormCreate(Sender: TObject);
> > begin
> > Form1.Edit1.Update;
> > Form1.Edit2.Update;
> > Form1.Edit5.Update;
> > Form1.Edit6.Update;
> > Form1.Edit7.Update;
> > Form1.Edit8.Update;
> > Form1.Edit9.Update;
> > Form1.Edit10.Update;
> > end;
> > end.
> >
> > Med venlig hilsen Og på forhånden mange tak!
> > Monie
> >
> >
> >
>
>
| |
|
|