Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Kevin Gast
|
Verfasst am: 14. März 2006 11:54 Titel: Variablen in Namen |
|
|
Code: | unit U_Haupt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TPunkteraster = class(TForm)
N14: TLabel;
N1: TLabel;
N2: TLabel;
N3: TLabel;
N4: TLabel;
N5: TLabel;
N6: TLabel;
N7: TLabel;
N8: TLabel;
N9: TLabel;
N10: TLabel;
N11: TLabel;
N12: TLabel;
N13: TLabel;
N16: TEdit;
Berechne: TButton;
N15: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label16: TLabel;
procedure BerechneClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Punkteraster: TPunkteraster;
implementation
{$R *.dfm}
procedure TPunkteraster.BerechneClick(Sender: TObject);
begin
N1.Caption := FloatToStr(StrToFloat(N16.Text)*(1/5));
N2.Caption := FloatToStr(StrToFloat(N1.Caption)+StrToFloat(N1.Caption)*(1/3));
N3.Caption := FloatToStr(StrToFloat(N2.Caption)+StrToFloat(N1.Caption)*(1/3));
N4.Caption := FloatToStr(StrToFloat(N3.Caption)+StrToFloat(N1.Caption)*(1/3));
N5.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N4.Caption));
N6.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N5.Caption));
N7.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N6.Caption));
N8.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N7.Caption));
N9.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N8.Caption));
N10.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N9.Caption));
N11.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N10.Caption));
N12.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N11.Caption));
N13.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N12.Caption));
N14.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N13.Caption));
N15.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N14.Caption));
end;
end. |
Hallo ich habe da eine Frage undzwar wollte ich wissen, wie ich die Zuordnungen
(N15.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N14.Caption)) etc. in einer for schleife schreiben kann. Ich habe mir das so forgestellt:
for i:=4 to 14 do
N'i+1'.Caption := FloatToStr(StrToFloat(N4.Caption)/8+StrToFloat(N'i'.Caption));
aber das mit der Variable klappt nicht, es taucht immer die Fehlermeldung N nicht gefunden...
Ist das überhaupt richtig mit 'i' oder muss ich andere Zecihen davor machen?
Vorerst Vielen Dank
Gruß Kevin |
|
Nach oben |
|
 |
|
Crotaphytus

Anmeldungsdatum: 08.05.2005 Beiträge: 213
|
Verfasst am: 15. März 2006 00:57 Titel: |
|
|
Hm... Erschlag mich, aber ich glaub, das ist nicht möglich. Darüber hab ich mich auch schon immer tierisch geärgert... Wenns ne Lösung gibt, beiß ich mir auf jeden Fall in den Arsch...  _________________ Genie oder Wahnsinn? Wer kann es wissen... |
|
Nach oben |
|
 |
Kevin Gast
|
Verfasst am: 15. März 2006 14:00 Titel: |
|
|
also in visual basic hat das auf jeden fall funktioniert und ich denke mal es wird auch in delphi funktionieren müssen,brauch nur einen richtigen befehl |
|
Nach oben |
|
 |
as_string
Anmeldungsdatum: 24.02.2006 Beiträge: 80 Wohnort: Heidelberg
|
Verfasst am: 15. März 2006 14:12 Titel: |
|
|
Hallo!
Ich habe zwar schon ewig nicht mehr in Pascal programmiert, aber so weit ich weiß geht das nicht. Wenn das Programm kompiliert wird, sind die Variablennamen ja nur noch Adressen... Wenn Du so was machen willst, mußt Du ein Array für Deine N definieren, so dass Du die einzelnen mit einem Index ansprechen kannst. Ich weiß nicht wie das in Pascal ist, aber eigentlich sind das ja Objekte, die man auch in einem Array halten können sollte, denke ich. Vielleicht macht man dann auch ein Array mit Referenzen/Zeiger auf die einzelnen N, oder so...
Gruß
Marco |
|
Nach oben |
|
 |
Kevin Gast
|
Verfasst am: 16. März 2006 21:22 Titel: |
|
|
joa stimmt es müsste mit array funktionieren...hab gar nicht daran gedacht^^hehe |
|
Nach oben |
|
 |
|