Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Alters Kommentator
ridom - Fr 13.03.09 12:14
Titel: Alters Kommentator
Hi leute(hoffe das ich im richtigen bereich bin) wir haben als Hausaufgabe in der Schule ein Programm auf bekommen
das zu einem gewissen alter zwischen 0 und 100 einen Kommentar abgeben soll
doch wir sollten verschiedenen blöcke machen also zum BSP von 0-6 das ganze soll in einer if/else geschichte passieren ich denke es gibt zwar bestimmt was leichteres aber ich kann nur mit den mitteln arbeiten die ich kenne :D :roll: bin halt noch Anfänger
Hier mal noch wie ich dachte das es geht :roll:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| var alter, satz: integer; begin alter:= StrToint(LabelEdEdit1.Text); satz:= StrToInt(Label1.Caption); If alter = 0..5 then label1.Caption:='Kommentar' else if alter = 6..15 then label1.Caption:='Kommentar' else if alter = 16 then label1.Caption:='Kommentar' else if alter = 17 then label1.Caption:='Kommentar' else if alter = 18..27 then label1.Caption:='Kommentar' else if alter = 28..66 then label1.Caption:='Kommentar' else if alter = 67..85 then label1.Caption:='Kommentar' else if alter = 85..100 then label1.Caption:='Kommentar'; Label1.Caption:= IntToStr(satz); end; |
:D aber so gehts anscheind nicht also pls help
Nersgatt - Fr 13.03.09 12:16
Packe bitte Deinen Code in die Delphi-Tags, damit er besser lesbar ist.
Du solltest mit größer (>) und kleiner (<) arbeiten:
Delphi-Quelltext
1: 2:
| IF (alter >= 0) and (alter <= 6) Then |
Beachte, dass Du dann die Klammern setzen musst!
ridom - Fr 13.03.09 12:21
Wie geht das mit den Delphi-Tags???
werde es gleich mal probieren mit dem größer kleiner
freak4fun - Fr 13.03.09 12:25
Versuch es mal mit Case.
Marc. - Fr 13.03.09 12:27
freak4fun hat folgendes geschrieben : |
| Versuch es mal mit Case. |
ridom hat folgendes geschrieben : |
| das ganze soll in einer if/else geschichte passieren ich denke es gibt zwar bestimmt was leichteres aber ich kann nur mit den mitteln arbeiten die ich kenne |
Zu den Delphi-Tags: [delphi] Code [/delphi
]
ene - Fr 13.03.09 12:28
Bei mehreren Anweisungen wäre Case besser. Du kannst deinen Code in Tags setzten [delphi] und am Ende ein /delphi ebenfalls in [].
ridom - Fr 13.03.09 12:30
Habs jetzt mal mit dem größer und kleiner bereich gemacht dort beschwert er sich wenigstens nicht beim compilieren wenn ich aber dann zum bsp 23 einegebe dann kommt der Fehler>>Meldung: '''ist keine Integer wert hab ich das irgendwas beim IntToStr falsch gemacht?
Nersgatt - Fr 13.03.09 12:33
An welcher Zeile tritt der Fehler denn auf? Was steht in Label1.Caption? Und warum Konvertierst Du erst Die Caption in einen Integer um es ganz am Schluss wieder zurück zu konvertieren?
jfheins - Fr 13.03.09 12:34
Du könntest auch sowas machen:
Delphi-Quelltext
1:
| If alter in [0..5] then |
:mrgreen:
Viele Wege führen nach Rom 8)
ridom - Fr 13.03.09 12:40
Er zeigt mir nicht an in welcher Zeile er zeigt mir nur die Fehldermldung wenn ich das Programm ausprobieren möchte und wenn ich dann 12 als Zahl eingebe dann kommt die oben genannte Fehlermeldung im Label1.Caption soll nachher der satz drin stehen zu dem jeweiligen alter
Nersgatt - Fr 13.03.09 12:42
Dann sehe ich den Sinn in Deiner Zeile 4 und Zeile 28 oben nicht. Nimm beide Zeilen mal raus.
ridom - Fr 13.03.09 12:49
@ Nersgatt genau das war der Fehler dankeschön weiss eigentlich selbst nicht so recht warum ich die dort hin gemacht habe
und danke @ all ^^ :D hier bekommt man schnell geholfen
Nersgatt - Fr 13.03.09 12:57
Wenn Du jetzt noch in der Schule glänzen willst, dann gib mal 101 oder -1 ein und überlege, wie Du das sinnvoll abfangen willst ;-)
ridom - Fr 13.03.09 13:34
^^auf 101 und -1 reagiert das programm garnicht
wazap - Fr 13.03.09 13:45
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| case Alter of 0..5: ; 6..12: ; 15: ; else ; end; |
Dude566 - Fr 13.03.09 13:53
So z.B. kannst du es machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var alter : integer; begin alter := StrToInt(Edit1.Text); case Alter of 0..6: ShowMessage('0-6'); 7..15: ShowMessage('7-15'); 16..23: ShowMessage('16..23'); else ShowMessage('Net da.'); end; end; |
Edit: Oh wazap hatte ja auch schon den Lösungsweg.
ridom - Fr 13.03.09 14:04
:wink: danke an euch beide aber der Vorschlag mit der größer gleich variante funktioniert
auch wenn ich denke das euer Lösungs weg der elgantere ist sollte ich "noch" bei den sachen bleiben wo ich überhaupt verstehe was ich da mache :wink: und nicht einfach abschreiben
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!