Einzelnen Beitrag anzeigen

JeSchwa

Registriert seit: 27. Feb 2006
7 Beiträge
 
#1

[erledigt] .Caption wird nicht gesetzt (Noob-Alarm!)

  Alt 28. Feb 2006, 06:13
hallo Gemeinde,

me = neu unter den Delphinen aber wissbegierig.

zum Reinschnuppern hab ich mal mit dem Mini-Rechner von www.dsdt.info angefangen. wie erwartet ohne Probleme.

dann hab ich mit Verzweigungen angefangen und ein sehr zelzames Problemchen mit dem Setzen einer .Caption.

das Prog:
1 Unit mit 1 Form (Form1)
da drin Edit1, Edit2, Label1-4 und nen Drückmich

passieren tut nur:
Drückmich -> Edit1+Edit2 -> Label2

das Problem habe ich mit dem ersten zaghaften Versuch einer Eingabe-Kontrolle:
es soll, wenn Edit1 oder Edit2 oder beide leer sind eine Warnung auf Lebel4.Caption und ansonsten eine Entwarnung, doch die ENTwarnung erscheint nicht - Label4.Caption wird geleert, statt neu befüllt.
hab's auch mal mit Form1.Label4.Caption versucht - gleiches Ergebnis. auch das Auskommentieren der Formatierungen hat nix gebracht.

zur Überprüfung der Verzweigung hab ich dann noch ein Edit1.Text := Edit2.Text; eingefügt und das wird prima ausgeführt - also ist kein Fehler im if bis dahin.

und nun bin ich ratlos und hoffe auf eine Erklärung.
THX schonmal

Jens


(die Kommentare meinen: !(Problemstelle)1(Nummer1).test(zum Problem).(Ergebnis des Tests))

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
//.decl
 var
 zahl1,zahl2,ergebnis: integer;
 warn1,warn2: ShortString;

begin
//.init
 zahl1 := 0; zahl2 := 0;
 warn1 := ''; warn2 := '';

 if (Length(Edit1.Text) > 0) then
  zahl1 := StrToInt(Edit1.Text)
  else begin
  warn1 := 'Feld1 ist leer! ';
  end;

 if ... nochmal für Edit2 und warn2

 ergebnis := zahl1 + zahl2;
 Label2.Caption := IntToStr(ergebnis);

 if (warn1 = '') then begin
   if (warn2 = '') then begin
     Edit1.Text := Edit2.Text; //.!1.test.ok
     Label4.Font.Color := clWindowText;
     Label4.Font.Style := [];
     Label4.Caption := 'Warnungen: keine'; //.!1
// Form1.Label4.Caption := 'Warnungen: keine'; //.!1.test.nok
    end
 end
 else
   Label4.Font.Color := clRed;
   Label4.Font.Style := [fsBold];
   Label4.Caption := warn1 + warn2;

end;

end.
  Mit Zitat antworten Zitat