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.
![Very Happy](images/smilies/icon_biggrin.gif)
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.