![]() |
[erledigt] .Caption wird nicht gesetzt (Noob-Alarm!)
hallo Gemeinde,
me = neu unter den Delphinen aber wissbegierig. :-D zum Reinschnuppern hab ich mal mit dem Mini-Rechner von ![]() 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. :D 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. |
Re: .Caption wird nicht gesetzt (Noob-Alarm!)
Hallo Jens
eine Entwarnung wird es nie geben den Du Fragst ob warn1='' , wenn Warn1 nicht leer fuehrt er es auch nicht aus.
Delphi-Quellcode:
probier es mal so
if ([u]warn1 = ''[/u]) 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;
Delphi-Quellcode:
gruss
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; enzo [edit=sakura] [delphi]-Tags Mfg, sakura[/edit] |
Re: .Caption wird nicht gesetzt (Noob-Alarm!)
hi Enzo,
thx für die schnelle Antwort. wenn es an der Bedingung liegen würde, würde doch auch
Delphi-Quellcode:
nicht ausgeführt - diese Änderung unterliegt ja den gleichen Bedingungen (steht im gleichen if-Block).
Edit1.Text := Edit2.Text;
diese (Kontroll)Anweisung wird aber umgesetzt (Edit1 nimmt den Wert von Edit2 an). um das zu checken hab ich sie ja rein geschrieben. ^^ oder hab ich etwas an Deiner Antwort falsch verstanden? bitte Geduld mit dem noob. ;) Gruß vom Jens |
Re: .Caption wird nicht gesetzt (Noob-Alarm!)
Hallo Jens
Lass dein Programm wie es ist , ich habe es vorhin falsch verstanden. Das Problem ist einfach: so sieht es bei dir aus: 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; 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 BEGIN Label4.Font.Color := clRed; Label4.Font.Style := [fsBold]; Label4.Caption := warn1 + warn2; END; end; Schreibe nach else begin und am ende end; gruss enzo |
Re: .Caption wird nicht gesetzt (Noob-Alarm!)
hihi Enzo - wie so oft: kleine Ursache -> große Wirkung.
(dabei hatte ich schon gelesen, dass mehrere Anweisungen von begin/end eingeschlossen werden müssen *selfslap*) THX nu klappt's das Jens |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz