AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

a>=100

Offene Frage von "alleinherrscher"
Ein Thema von DarthYoda · begonnen am 18. Okt 2015 · letzter Beitrag vom 19. Okt 2015
Antwort Antwort
Seite 2 von 2     12
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#11

AW: a>=100

  Alt 19. Okt 2015, 10:59
Generells Problem bei dir: Datenhaltung in einer visuellen Komponente. Stichwort: Trennung von der Darstellung und der Datenverarbeitung.
Hast Du ein Beispiel wie man das getrennt hält?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: a>=100

  Alt 19. Okt 2015, 11:09
Na wenn die Ausgabe in einem Label z.B. der Inhalt der Variablen "RecordCount" ist, dann hast Du die Möglichkeit
if RecordCount >100 then Panel1.colour:=blue; oder aber
if Strtoint(label1.caption)>100 then Panel1.Color:=blue; Und wenn Du es halbwegs richtig machen willst, muß noch jede Menge Fehlerprüfung in die zweite Möglichkeit integriert werden. Dazu bin ich aber jetzt zu bequem.

Und wahrscheinlich ist die angestrebete Farbänderung sowieso davon abhängig welchen Wert "RecordCount" hat und nicht welchen Inhalt die Caption eines Labels.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#13

AW: a>=100

  Alt 19. Okt 2015, 13:33
Systematisiert ist dieser Ansatz in MVC (und verwandten Mustern: MVVM, ... ).
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.140 Beiträge
 
Delphi 10.3 Rio
 
#14

AW: a>=100

  Alt 19. Okt 2015, 15:38
Generells Problem bei dir: Datenhaltung in einer visuellen Komponente. Stichwort: Trennung von der Darstellung und der Datenverarbeitung.
Hast Du ein Beispiel wie man das getrennt hält?
Wenn ich dazu komme mache ich mal ein "richtiges" Beispiel...


Beispiel: (Bitte so nicht programmieren. Da fehlt noch ganz viel und auf man(n) nutzt keine festen Links... )

Form:

Delphi-Quellcode:
TForm1 = class(TForm)
    VorName: TEdit;
    PLZ: TEdit;
    Ort: TEdit;
    procedure AllChange(Sender: TObject);
  public
    Procedure Data2Form;
    Procedure Form2Data;
    { Public-Deklarationen }
  end;

 procedure TForm1.AllChange(Sender: TObject);
 begin
   Form2Data;
 end;

 Procedure TForm1.Data2Form;
 begin
   VorName.Text := StupidData.FVorName;
   PLZ.Text := StupidData.FPLZ;
   Ort.Text := StupidData.FOrt;
 end;

 Procedure TForm1.Form2Data;
 begin
   StupidData.FVorName := VorName.Text;
   StupidData.FPLZ := PLZ.Text;
   StupidData.FOrt := Ort.Text;
 end;
Und den Record...(Auch hier: Bitte nicht auf Form1 usw. zugreifen)
Soll nur ein Beispiel sein...

Delphi-Quellcode:
Type
   TStupidData = Record
                   FVorName : String;
                   FPLZ : String;
                   FOrt : String;
                   Procedure SetVorname(AValue : String);
                   Procedure SetPLZ(AValue : String);
                   Procedure SetOrt(AValue : String);
                   Property VorName : String write SetVorName;
                   Property PLZ : String write SetPLZ;
                   Property ORT : String write SetOrt;
                 end;

var
   StupidData : TStupiddata;

implementation

Procedure TStupidData.SetVorname(AValue : String);
begin
  FVorName := AValue;
  Form1.Data2Form;
end;

Procedure TStupidData.SetPLZ(AValue : String);
begin
  FPLZ := AValue;
  Form1.Data2Form;
end;

Procedure TStupidData.SetOrt(AValue : String);
begin
  FORT := AValue;
  Form1.Data2From;
end;
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#15

AW: a>=100

  Alt 19. Okt 2015, 15:52
Hallo mal wieder! Luckie hat es ja schon auf den Punkt gebracht, aber vielleicht bedarf es noch einer etwas "anfänger-gerechteren" Erklärung.

Guten Abend,

Wie kann man das schreiben, wenn die Caption (alles Zahlenwerte) eines Labels a>=100 ist, das dann irgendwas passieren soll .

Danke im Vorraus

LG DarthYoda
Aus deiner Fragestellung kann man entnehmen, dass du denkst, in deiner Caption würden Zahlenwerte (Integers) gespeichert. Dies ist aber nicht der Fall. Wenn du in der Delphi Hilfe nachschaust, wirst du sehen, dass TCaption vom Typ String ist (http://docs.embarcadero.com/products..._TCaption.html). Das bedeutet, dass in deiner Caption also keine Zahlenwerte gespeichert werden, sondern ein String, also ein Text, der natürlich eine Zahl darstellen kann. Genauso gut könnte dort aber auch "Blub5" drin stehen. Wenn du dir als Programmierer sicher bist, dass in einem String ein Integer dargestellt ist, kannst du mit StrToInt diesen String in einen Interger umwandeln. Erst dann macht dein Vergleich a>=100 sinn. Ansonsten würdest du quasi Äpfel (Strings) mit Birnen (Integers) vergleichen.

Besten Gruß,
Michael
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:10 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