AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi [erledigt] .Caption wird nicht gesetzt (Noob-Alarm!)
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von JeSchwa · begonnen am 28. Feb 2006 · letzter Beitrag vom 28. Feb 2006
Antwort Antwort
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
enzo

Registriert seit: 3. Feb 2006
16 Beiträge
 
#2

Re: .Caption wird nicht gesetzt (Noob-Alarm!)

  Alt 28. Feb 2006, 06:33
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:
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;
probier es mal so

Delphi-Quellcode:
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;
gruss
enzo

[edit=sakura] [delphi]-Tags Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
JeSchwa

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

Re: .Caption wird nicht gesetzt (Noob-Alarm!)

  Alt 28. Feb 2006, 06:52
hi Enzo,

thx für die schnelle Antwort.


wenn es an der Bedingung liegen würde, würde doch auch
Edit1.Text := Edit2.Text; nicht ausgeführt - diese Änderung unterliegt ja den gleichen Bedingungen (steht im gleichen if-Block).

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
  Mit Zitat antworten Zitat
enzo

Registriert seit: 3. Feb 2006
16 Beiträge
 
#4

Re: .Caption wird nicht gesetzt (Noob-Alarm!)

  Alt 28. Feb 2006, 06:53
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
  Mit Zitat antworten Zitat
JeSchwa

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

Re: .Caption wird nicht gesetzt (Noob-Alarm!)

  Alt 28. Feb 2006, 06:58
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
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:45 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