AGB  ·  Datenschutz  ·  Impressum  







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

Dynamisch Variablenname erzeugen

Ein Thema von blackmice · begonnen am 5. Nov 2007 · letzter Beitrag vom 5. Nov 2007
Antwort Antwort
Seite 2 von 2     12   
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

Re: Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 12:02
Zitat von blackmice:
Nur ist demjenigen für den ich das Programm schreibe erst jetzt eingefallen, dass er statt 1 Trackbar mehr braucht. Und wenn ich jetzt diese Variablen in nen Array setze, kann ich an 1000 Stellen anfangen alles neu zu machen.
Erfahrung aus der Praxis:
Man kann Probleme im Sourcode sofort beheben und benötigt dafür die Zeit X.
Man kann es auch lassen wie es ist. Nach einigen weiteren Änderungen merkt man dann,
dass die ganze Soße jetzt so komplex geworden ist, dass man eigentlich fast nichts mehr ändern
kann ohne Angst zu haben müssen, dass danach nichts mehr funktioniert. (*)
Stichwort: Antipattern , Spaghetticode
Nun braucht man die Zeit 5 bis 20 * X.

*) bei kommerzieller Software hat man dann "einen Klotz in der Hos'".
Nervige Anrufe der Kunden mit Fehlermeldungen kosten Arbeitszeit und schaden dem Image.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#12

Re: Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 12:02
Zitat von leddl:
Delphi-Quellcode:
procedure WasAuchImmer(Var a : Integer; Var b : String; Sender : TObject)
begin
  a := (Sender as TTrackBar).Position;
  b := "Ich bin ein String";
end;

procedure TForm1.THRMinBarChange(Sender: TObject);
Begin
  WasAuchImmer(ersterInteger, ersterString);
End;

procedure TForm1.HVBarChange(Sender: TObject);
Begin
  WasAuchImmer(zweiterInteger, zweiterString);
End;
Du solltest auch drei Parameter übergebne, wenn deine Procedure drei erwartet
Chris
  Mit Zitat antworten Zitat
blackmice

Registriert seit: 24. Okt 2007
Ort: Niederkrüchten
28 Beiträge
 
Delphi 5 Standard
 
#13

Re: Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 12:05
Manchmal ist man ja auch so vernagelt in seinem Denken, dass einem die einfachsten Ideen nicht einfallen. Klar kann ich auch die Variablen im Aufruf mitgeben. Danke.
Blackmice
Debuggers don't remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 12:05
Zitat von Deep-Sea:
Du solltest auch drei Parameter übergebne, wenn deine Procedure drei erwartet
Das passiert, wenn man nachträglich noch was einfügt
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
kolbaschedder

Registriert seit: 24. Aug 2006
Ort: Schwäbisch Gmünd
55 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 12:10
Hallo,

Hatte mal ein ähnliches Problem. TObject hat eine frei verfügbare Eigenschaft "Tag : Integer". Hier kannst du jedem Trackbar eine ID zuordnen. Alle Trackbars bekommen die gleiche obChange zugeordnet.

in deiner onChange kannst du dann sowas machen

Delphi-Quellcode:
  case Sender.tag of
    1 : a := TTrackbar(Sender).position;
    2 : b := TTrackbar(Sender).position;
    3 : c := TTrackbar(Sender).position;
    4 : d := TTrackbar(Sender).position;
    5 : e := TTrackbar(Sender).position;
...
MfG

Kolbi
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 12:12
Idee:
Du erstellt ein Objekt mit der Eigenschaft X (Name egal) als Index-Eigenschaft. Der Index-Parameter ist ein String, also hier der Name der Variable.
So kannst du überall wo auf eine Variable zugegriffen wird, wie zB. iThrMaxHigh, auf "Objekt.X['iThrMaxHigh']" zugreifen, es geht dann sowohl lesen als auch schreiben und du musst nur kurz die Funktion "Ersetzen" nutzen ...
Chris
  Mit Zitat antworten Zitat
blackmice

Registriert seit: 24. Okt 2007
Ort: Niederkrüchten
28 Beiträge
 
Delphi 5 Standard
 
#17

Re: Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 12:22
Hmm, mal sehen, vielleicht kann ich beides kombinieren.

Ich danke allen auf jeden Fall für die Unterstützung und werde einfach mal mit den genannten Tipps ein bischen experimentieren.
Blackmice
Debuggers don't remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:18 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