Hi @ all,
ich und zwei weitere Kommilitonen müssen eine Semesteraufgabe bewältigen. Nun haben wir das Problem, das wir nicht wissen, wie wir eingegebene Werte in Editfeldern als solche speichern und auch wieder laden können. Es geht nicht darum, das ganze Projekt zu speichern und wieder zu laden, sondern nur die einzelnen Werte in den Editfeldern.
Werden Zahlen in den Editfeldern eingegeben, dann sollte man sie speichern können und später, wenn man sie nochmals benötigt, wieder laden können.
Wir wären Euch unendlich dankbar, wenn Ihr uns eine Lösung anbieten könntet.
Vielen Dank im vorraus.
Björn
Quellcode bisher:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Laengenedit: TEdit;
Breiteedit: TEdit;
Hoehenedit: TEdit;
Laengenedit2: TEdit;
Breiteedit2: TEdit;
MainMenu1: TMainMenu;
Datei1: TMenuItem;
N1: TMenuItem;
ffnen1: TMenuItem;
N2: TMenuItem;
Speichern1: TMenuItem;
N3: TMenuItem;
Beenden1: TMenuItem;
Label12: TLabel;
Button1: TButton;
Materialbox: TRadioGroup;
Zustandsbox: TRadioGroup;
Zurrmethodenbox: TRadioGroup;
EditReibwert: TEdit;
LabelGewicht: TLabel;
EditGewicht: TEdit;
Label8: TLabel;
Label9: TLabel;
Anzahl: TEdit;
Label10: TLabel;
PaintBox1: TPaintBox;
Label11: TLabel;
Label13: TLabel;
procedure OncloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure OnReibwertClick(Sender: TObject);
procedure OnBerechnenClick(Sender: TObject);
procedure Werte;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
G, R, Ri, Ziv, Zil, H, L, B, f, fq, n, Bf, Lf,
Reibwert, Li, Lib, Lid, Lir, Lisl, Liq, Lil, Zi, Zif, Ziq : single;
{ Die von uns festgelegten Variablen werden zur Berechnung der Vorspannkraft
benötigt ( sie sind Elemente der Formeln ). Den Variablentyp "single"
haben wir gewählt, damit auch Kommazahlen in der Berechnung berücksichtigt
werden können. }
implementation
{$R *.DFM}
procedure TForm1.OncloseClick(Sender: TObject);
begin
Close;
// Mit dieser Funktion wird das Programm beendet.
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Materialbox.Items.Add('Holz auf Holz');
Materialbox.Items.Add('Metall auf Holz');
Materialbox.Items.Add('Metall auf Metall');
Zustandsbox.Items.Add('trocken');
Zustandsbox.Items.Add('fettig');
Zustandsbox.Items.Add('nass');
Zurrmethodenbox.Items.Add('Niederzurren');
Zurrmethodenbox.Items.Add('horizontales Zurren');
Zurrmethodenbox.Items.Add('Schrägzurren');
Zurrmethodenbox.Items.Add('Diagonalzurren');
Zurrmethodenbox.Items.Add('Schrägzurren in Querrichtung');
end;
{ Namenszuweisung der Radiogroup/Button }
procedure TForm1.OnReibwertClick(Sender: TObject);
begin
case Materialbox.ItemIndex of
0: case Zustandsbox.ItemIndex of
0 : EditReibwert.Text :=' 0,20';
1 : EditReibwert.Text :=' 0,20';
2 : EditReibwert.Text :=' 0,05';
end;
1: case Zustandsbox.ItemIndex of
0 : EditReibwert.Text :=' 0,20';
1 : EditReibwert.Text :=' 0,20';
2 : EditReibwert.Text :=' 0,02';
end;
2: case Zustandsbox.ItemIndex of
0 : EditReibwert.Text :=' 0,10';
1 : EditReibwert.Text :=' 0,10';
2 : EditReibwert.Text :=' 0,01';
end;
{ An dieser Stelle werden mit der "case of " Funktion zwei Radiogroups
verknüpft. Beim ' Anklicken ' der beiden Radiogroups werden auf dem
EditReibwert.Text der dazugehörige Mindestreibwert angezeigt. }
end;
end;
procedure TForm1.Werte;
begin
Reibwert := strtofloat (EditReibwert.Text);
L := strtofloat (Laengenedit.Text);
G := strtofloat (EditGewicht.Text);
H := strtofloat (Hoehenedit.Text);
B := strtofloat (Breiteedit.Text);
Bf := strtofloat (Breiteedit2.Text);
Lf := strtofloat (Laengenedit2.Text);
n := strtofloat (Anzahl.Text);
{ Diese Funktion wandelt den String der Editfelder in die zugewiesenen
Variablen um, damit das Programm mit den Zahlen rechnen kann. }
end;
procedure TForm1.OnBerechnenClick(Sender: TObject);
begin
Werte;
Liq := (BF-B)/2;
Li := sqrt( sqr(H)+ sqr(Liq));
Lil := (Lf-F)/2;
Lib := sqrt ( sqr(Liq) + sqr (Lil));
Lid := sqrt ( sqr(H) + sqr(Lil) + sqr(Liq));
Lisl:= sqrt ( sqr(H) + sqr(Lil));
{ Mit dem Befehl 'Werte' sagen wir, dass das Programm die Angaben der
Editfelder in den jetzigen Rechnugen verwenden soll. Das Programm
rechnet die oben aufgeführten Werte im Hintergrund aus, sie werden dem
Benutzer nicht angezeigt.}
case Zurrmethodenbox.ItemIndex of
0: Zi:= G*Li*((0.8/Reibwert)-1)/(2*n*H);
end;
case Zurrmethodenbox.ItemIndex of
1: Zi:= G*Lib*(0.5-Reibwert)/(n*Liq);
end;
case Zurrmethodenbox.ItemIndex of
1: Zif:= G*Lib*(0.8-Reibwert)/(n*Lil);
end;
case Zurrmethodenbox.ItemIndex of
2: Zi := G*Li*(0.5-Reibwert)/(n*(Reibwert*H+Liq));
end;
case Zurrmethodenbox.ItemIndex of
2: Zif := G*Li*(0.8-Reibwert)/(n*(Reibwert*H+Lil));
end;
case Zurrmethodenbox.ItemIndex of
3: Zi := G*Lid*(0.5-Reibwert)/(n*(Reibwert*H+Lil));
end;
case Zurrmethodenbox.ItemIndex of
3: Zif := G*Lid*(0.8-Reibwert)/(n*(Reibwert*H+Lil));
end;
case Zurrmethodenbox.ItemIndex of
4: Zi:= G*Lisl*(0.8-Reibwert)/(n*(Reibwert*H+Lil));
end;
Label8.Caption := floattostr (Zi);
Label9.Caption := floattostr (Zif);
end;
{An dieser Stelle werden alle Kombinationen angenommen, lediglich die
Kombination, die auch ausgewählt wird, dient dann zur Berechnung
und das Ergebnis wird dann den beiden Ergebnisfeldern zugewiesen.}
end.
ich und zwei weitere Kommilitonen müssen eine Semesteraufgabe bewältigen. Nun haben wir das Problem, das wir nicht wissen, wie wir eingegebene Werte in Editfeldern als solche speichern und auch wieder laden können. Es geht nicht darum, das ganze Projekt zu speichern und wieder zu laden, sondern nur die einzelnen Werte in den Editfeldern.
Werden Zahlen in den Editfeldern eingegeben, dann sollte man sie speichern können und später, wenn man sie nochmals benötigt, wieder laden können.
Wir wären Euch unendlich dankbar, wenn Ihr uns eine Lösung anbieten könntet.
Vielen Dank im vorraus.
Björn
Quellcode bisher:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Laengenedit: TEdit;
Breiteedit: TEdit;
Hoehenedit: TEdit;
Laengenedit2: TEdit;
Breiteedit2: TEdit;
MainMenu1: TMainMenu;
Datei1: TMenuItem;
N1: TMenuItem;
ffnen1: TMenuItem;
N2: TMenuItem;
Speichern1: TMenuItem;
N3: TMenuItem;
Beenden1: TMenuItem;
Label12: TLabel;
Button1: TButton;
Materialbox: TRadioGroup;
Zustandsbox: TRadioGroup;
Zurrmethodenbox: TRadioGroup;
EditReibwert: TEdit;
LabelGewicht: TLabel;
EditGewicht: TEdit;
Label8: TLabel;
Label9: TLabel;
Anzahl: TEdit;
Label10: TLabel;
PaintBox1: TPaintBox;
Label11: TLabel;
Label13: TLabel;
procedure OncloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure OnReibwertClick(Sender: TObject);
procedure OnBerechnenClick(Sender: TObject);
procedure Werte;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
G, R, Ri, Ziv, Zil, H, L, B, f, fq, n, Bf, Lf,
Reibwert, Li, Lib, Lid, Lir, Lisl, Liq, Lil, Zi, Zif, Ziq : single;
{ Die von uns festgelegten Variablen werden zur Berechnung der Vorspannkraft
benötigt ( sie sind Elemente der Formeln ). Den Variablentyp "single"
haben wir gewählt, damit auch Kommazahlen in der Berechnung berücksichtigt
werden können. }
implementation
{$R *.DFM}
procedure TForm1.OncloseClick(Sender: TObject);
begin
Close;
// Mit dieser Funktion wird das Programm beendet.
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Materialbox.Items.Add('Holz auf Holz');
Materialbox.Items.Add('Metall auf Holz');
Materialbox.Items.Add('Metall auf Metall');
Zustandsbox.Items.Add('trocken');
Zustandsbox.Items.Add('fettig');
Zustandsbox.Items.Add('nass');
Zurrmethodenbox.Items.Add('Niederzurren');
Zurrmethodenbox.Items.Add('horizontales Zurren');
Zurrmethodenbox.Items.Add('Schrägzurren');
Zurrmethodenbox.Items.Add('Diagonalzurren');
Zurrmethodenbox.Items.Add('Schrägzurren in Querrichtung');
end;
{ Namenszuweisung der Radiogroup/Button }
procedure TForm1.OnReibwertClick(Sender: TObject);
begin
case Materialbox.ItemIndex of
0: case Zustandsbox.ItemIndex of
0 : EditReibwert.Text :=' 0,20';
1 : EditReibwert.Text :=' 0,20';
2 : EditReibwert.Text :=' 0,05';
end;
1: case Zustandsbox.ItemIndex of
0 : EditReibwert.Text :=' 0,20';
1 : EditReibwert.Text :=' 0,20';
2 : EditReibwert.Text :=' 0,02';
end;
2: case Zustandsbox.ItemIndex of
0 : EditReibwert.Text :=' 0,10';
1 : EditReibwert.Text :=' 0,10';
2 : EditReibwert.Text :=' 0,01';
end;
{ An dieser Stelle werden mit der "case of " Funktion zwei Radiogroups
verknüpft. Beim ' Anklicken ' der beiden Radiogroups werden auf dem
EditReibwert.Text der dazugehörige Mindestreibwert angezeigt. }
end;
end;
procedure TForm1.Werte;
begin
Reibwert := strtofloat (EditReibwert.Text);
L := strtofloat (Laengenedit.Text);
G := strtofloat (EditGewicht.Text);
H := strtofloat (Hoehenedit.Text);
B := strtofloat (Breiteedit.Text);
Bf := strtofloat (Breiteedit2.Text);
Lf := strtofloat (Laengenedit2.Text);
n := strtofloat (Anzahl.Text);
{ Diese Funktion wandelt den String der Editfelder in die zugewiesenen
Variablen um, damit das Programm mit den Zahlen rechnen kann. }
end;
procedure TForm1.OnBerechnenClick(Sender: TObject);
begin
Werte;
Liq := (BF-B)/2;
Li := sqrt( sqr(H)+ sqr(Liq));
Lil := (Lf-F)/2;
Lib := sqrt ( sqr(Liq) + sqr (Lil));
Lid := sqrt ( sqr(H) + sqr(Lil) + sqr(Liq));
Lisl:= sqrt ( sqr(H) + sqr(Lil));
{ Mit dem Befehl 'Werte' sagen wir, dass das Programm die Angaben der
Editfelder in den jetzigen Rechnugen verwenden soll. Das Programm
rechnet die oben aufgeführten Werte im Hintergrund aus, sie werden dem
Benutzer nicht angezeigt.}
case Zurrmethodenbox.ItemIndex of
0: Zi:= G*Li*((0.8/Reibwert)-1)/(2*n*H);
end;
case Zurrmethodenbox.ItemIndex of
1: Zi:= G*Lib*(0.5-Reibwert)/(n*Liq);
end;
case Zurrmethodenbox.ItemIndex of
1: Zif:= G*Lib*(0.8-Reibwert)/(n*Lil);
end;
case Zurrmethodenbox.ItemIndex of
2: Zi := G*Li*(0.5-Reibwert)/(n*(Reibwert*H+Liq));
end;
case Zurrmethodenbox.ItemIndex of
2: Zif := G*Li*(0.8-Reibwert)/(n*(Reibwert*H+Lil));
end;
case Zurrmethodenbox.ItemIndex of
3: Zi := G*Lid*(0.5-Reibwert)/(n*(Reibwert*H+Lil));
end;
case Zurrmethodenbox.ItemIndex of
3: Zif := G*Lid*(0.8-Reibwert)/(n*(Reibwert*H+Lil));
end;
case Zurrmethodenbox.ItemIndex of
4: Zi:= G*Lisl*(0.8-Reibwert)/(n*(Reibwert*H+Lil));
end;
Label8.Caption := floattostr (Zi);
Label9.Caption := floattostr (Zif);
end;
{An dieser Stelle werden alle Kombinationen angenommen, lediglich die
Kombination, die auch ausgewählt wird, dient dann zur Berechnung
und das Ergebnis wird dann den beiden Ergebnisfeldern zugewiesen.}
end.
Zuletzt bearbeitet: