Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - labels nicht ins - kommen lassen.
Delphi-Zone - So 26.09.10 17:17
Titel: labels nicht ins - kommen lassen.
Hallo,
ich bin mittlerweile sehr weit mit meinem spiel.
Er zieht rohstoffe ab, und mann kann auch welche abbauen.
Aber wenn man jetzt ein bisschen mehr sachen gebaut hat, denn kommt er mit den rohstoffen ins " - "
Wie verhinder ich das?
gruß
---
Moderiert von
Narses: Beiträge zusammengefasst---
STOPPPPPP nichts schreiben! hat sich erledigt!!!
habs selber hinbekommen!
danke , tom
---
Moderiert von
Narses: Beiträge zusammengefasst---
AHH doch nicht gelöst SRY!!!
thread ist wieder offen!!!
tom
elundril - So 26.09.10 17:30
ne if-abfrage vor dem bauen. einfach mal testweise die kosten von den ressourcen abziehen, wenn es >=0 dann bauen, wenn nicht, dann nicht.
na, war doch gar nicht so schwer?
lg elundril
Delphi-Zone - So 26.09.10 17:43
Wenn ich schreibe:
Delphi-Quelltext
1:
| IF label6.Caption <0 then showmessage ('Nicht genügend Resourcen für den Bau'); |
würft er mir den Fehler : [Fehler] Unit1.pas(201): Inkompatible Typen: 'String' und 'Integer'
danke tom.
Moderiert von
Narses: Delphi-Tags hinzugefügt
elundril - So 26.09.10 17:50
-.- liest du eigentlich das was man dir in anderen Threads sagt? Das gilt nämlich für jedes Programm und jedes Problem nicht nur für eines...
Also nochmal: Caption ist ein String (Zeichenkette) und 0 ist eine Zahl (integer) du kannst Zeichenketten und Zahlen nicht vergleichen. Deswegen musst du den String in ein Integer umwandeln. Mit StrToInt. Dann kannst du es vergleichen. Aber du solltest da schon die Kosten abziehen. also:
Delphi-Quelltext
1: 2: 3:
| if StrToInt(Label6.Caption) - Ressourcenkosten < 0 then Showmessage('geht ned') else |
Außerdem solltest du dir die Tutorials mal durchlesen:
Delphi-Wikibook [
http://de.wikibooks.org/wiki/Programmierkurs:_Delphi]
Christian's Crashkurs [
http://www.christian-stelzmann.de/index_tutorials_crashkurs.html]
lg elundril
Delphi-Zone - So 26.09.10 18:21
Er reagiert garnicht darauf?! er startet das spiel, aber er baut gemütlich weiter.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.Button9Click(Sender: TObject); begin if StrToInt(Label5.Caption) < 0 then Showmessage('geht ned'); if StrToInt(Label6.Caption) < 0 then Showmessage('geht ned'); if StrToInt(Label7.Caption) < 0 then Showmessage('geht ned') else timer2.Enabled:=true; button9.Visible:=false;
kosten1 := strtoInt(label6.caption); kosten1 := strtoInt(label6.caption); summe := -30; begin summe := summe+kosten1;
end; label6.caption := ' '+ floattostr(summe); end; |
Moderiert von
Narses: Delphi-Tags hinzugefügt
elundril - So 26.09.10 18:23
Bitte, bitte, biiiiiiiiiiiiiiitte! Bitte, lies die Tutorials! Und überleg genau anweisung pro anweisung was überhaupt in dem programm passiert. Formuliere es dir in natürliche sprache um. Also:
"Wenn die Ressource X weniger als 0 ist, dann passiert das, wenn nicht dann das."
lg elundril
Metschu - So 26.09.10 18:27
Vielleicht hilft die schonmal erwähnte Formatierung weiter...
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:
| procedure TForm1.Button9Click(Sender: TObject); begin if StrToInt(Label5.Caption) < 0 then Showmessage('geht ned');
if StrToInt(Label6.Caption) < 0 then Showmessage('geht ned');
if StrToInt(Label7.Caption) < 0 then Showmessage('geht ned') else timer2.Enabled:=true;
button9.Visible:=false;
kosten1 := strtoInt(label6.caption); kosten1 := strtoInt(label6.caption); summe := -30;
begin summe := summe+kosten1; end; label6.caption := ' '+ floattostr(summe); end; |
Gleicher Quelltext, nur Formatiert
Findest Du den Fehler selbst ? ?
Delphi-Zone - So 26.09.10 19:02
ich hab mir das jetzt n halbe stunde angeguckt, und die tutorials gelesen, ich komm einfach nicht weiter....
Metschu - So 26.09.10 19:18
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:
| procedure TForm1.Button9Click(Sender: TObject); begin if StrToInt(Label5.Caption) < 0 then Showmessage('geht ned');
if StrToInt(Label6.Caption) < 0 then Showmessage('geht ned'); if StrToInt(Label7.Caption) < 0 then Showmessage('geht ned') else timer2.Enabled:=true;
button9.Visible:=false; kosten1 := strtoInt(label6.caption); kosten1 := strtoInt(label6.caption); summe := -30; begin summe := summe+kosten1; end; label6.caption := ' '+ floattostr(summe); end; |
Was Verstehst Du denn nicht?
BenBE - So 26.09.10 19:28
Die 3 Stufen des Tutorial-Genusses:
1. Angucken :lupe:
2. Lesen :les:
3. Verstehen :idea:
Bliebe noch die Geschichte mit dem Arbeiten mit Daten: VCL-Komponenten sind zur Darstellung, nicht zum Arbeiten. Zu Arbeiten mit Daten, holt man sich diese, konvertiert diese und arbeitet auf den passend konvertierten Daten. Und für den Rest schließe ich mich den Vorpostern an.
Delphi-Zone - So 26.09.10 19:29
Ja!?
ist doch alles richtig was ich gemacht habe.
außer das begin (hab ich weggemacht)
und passiert immernoch nichts!
ja, er schreibt "geht ned" aber die gebaüde baut er trotzdem...
Metschu - So 26.09.10 19:47
Delphi-Zone hat folgendes geschrieben : |
| außer das begin (hab ich weggemacht) |
Warum hast Du das Weg gemacht?
Delphi-Zone hat folgendes geschrieben : |
und passiert immernoch nichts!
ja, er schreibt "geht ned" aber die gebaüde baut er trotzdem... |
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:
| procedure TForm1.Button9Click(Sender: TObject); begin if StrToInt(Label5.Caption) < 0 then Showmessage('geht ned');
if StrToInt(Label6.Caption) < 0 then Showmessage('geht ned'); if StrToInt(Label7.Caption) < 0 then Showmessage('geht ned') else timer2.Enabled:=true;
button9.Visible:=false; kosten1 := strtoInt(label6.caption); kosten1 := strtoInt(label6.caption); summe := -30; begin summe := summe+kosten1; end; label6.caption := ' '+ floattostr(summe); end; |
Es soll doch so Funktionieren:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Wenn (Zahl1 <= 0) oder (Zahl2 <= 0) oder (Zahl3 <=0) dann Zeige den Hinweis 'Geht nicht, da kein Geld mehr da' ansonsten Beginne mit dem Rechnen Rechnen Rechnen Rechnen ... Beende jetzt das Rechnen |
Delphi-Zone - So 26.09.10 21:14
SO jetzt hab ich kein Bock mehr.... 4 Stunden dran gessesen und alles durch probiert... klappt nichts, erhält einfach nicht auf...
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: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406: 407: 408: 409: 410: 411:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ComCtrls, StdCtrls, Buttons, jpeg;
type TForm1 = class(TForm) Panel1: TPanel; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Timer1: TTimer; BitBtn1: TBitBtn; Panel2: TPanel; Image5: TImage; Image6: TImage; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Panel3: TPanel; Image7: TImage; Button6: TButton; Button7: TButton; Panel4: TPanel; Image8: TImage; Image9: TImage; Image10: TImage; Image11: TImage; Image12: TImage; Image13: TImage; Image14: TImage; GroupBox1: TGroupBox; Button8: TButton; GroupBox2: TGroupBox; Button9: TButton; Button10: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Image15: TImage; Timer2: TTimer; Image16: TImage; Button11: TButton; Timer3: TTimer; Image17: TImage; Timer4: TTimer; Timer5: TTimer; Button12: TButton; Image18: TImage; Timer6: TTimer; Button13: TButton; Timer7: TTimer; BitBtn2: TBitBtn; Button14: TButton; Button15: TButton; Panel5: TPanel; Image19: TImage; Image20: TImage; Image21: TImage; Image22: TImage; Image23: TImage; Image24: TImage; Image25: TImage; Image26: TImage; Button16: TButton; Image27: TImage; Timer8: TTimer; GroupBox3: TGroupBox; Button17: TButton; GroupBox4: TGroupBox; Button18: TButton; Button19: TButton; Image28: TImage; Image29: TImage; Button20: TButton; Timer9: TTimer; Timer10: TTimer; Timer11: TTimer; Timer12: TTimer; procedure Timer1Timer(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Image5Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Timer3Timer(Sender: TObject); procedure Timer4Timer(Sender: TObject); procedure Timer5Timer(Sender: TObject); procedure Button12Click(Sender: TObject); procedure Timer6Timer(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Timer7Timer(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure Button15Click(Sender: TObject); procedure Button16Click(Sender: TObject); procedure Button14Click(Sender: TObject); procedure Timer8Timer(Sender: TObject); procedure Button17Click(Sender: TObject); procedure Button19Click(Sender: TObject); procedure Image27Click(Sender: TObject); procedure Button18Click(Sender: TObject); procedure Timer9Timer(Sender: TObject); procedure Timer10Timer(Sender: TObject); procedure Timer11Timer(Sender: TObject); procedure Timer12Timer(Sender: TObject); private public end;
var Form1: TForm1; VAR kosten1,kosten2: longint; summe,summe1 : real;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject); begin BitBtn1.visible:=true; end;
procedure TForm1.BitBtn1Click(Sender: TObject); begin panel1.Visible:=false; panel2.Visible:=true; end;
procedure TForm1.Image5Click(Sender: TObject); begin application.Terminate; end;
procedure TForm1.Button1Click(Sender: TObject); begin panel3.Visible:=true; end;
procedure TForm1.Button7Click(Sender: TObject); begin panel3.Visible:=false; panel2.Visible:=true; end;
procedure TForm1.Button2Click(Sender: TObject); begin showmessage ('Diese Funktion, ist in der Version noch nicht Verfügbar. Melden sie sich bei ihrem Anbieter!'); end;
procedure TForm1.Button3Click(Sender: TObject); begin showmessage ('Diese Funktion, ist in der Version noch nicht Verfügbar. Melden sie sich bei ihrem Anbieter!'); end;
procedure TForm1.Button4Click(Sender: TObject); begin showmessage ('Diese Funktion, ist in der Version noch nicht Verfügbar. Melden sie sich bei ihrem Anbieter!'); end;
procedure TForm1.Button5Click(Sender: TObject); begin application.Terminate; end;
procedure TForm1.Button6Click(Sender: TObject); begin panel4.Visible:=true; end;
procedure TForm1.Button8Click(Sender: TObject); begin groupbox2.Visible:=true; groupbox1.Visible:=false; end;
procedure TForm1.Button10Click(Sender: TObject); begin groupbox1.Visible:=true; groupbox2.Visible:=false; end;
procedure TForm1.Button9Click(Sender: TObject); begin if StrToInt(Label5.Caption) < 0 then Showmessage('geht ned');
if StrToInt(Label6.Caption) < 0 then Showmessage('geht ned'); if StrToInt(Label7.Caption) < 0 then Showmessage('geht ned') else timer2.Enabled:=true; end; procedure TForm1.Timer2Timer(Sender: TObject); begin timer10.Enabled:=true; image15.Visible:=true; button9.Visible:=false; begin kosten1 := strtoInt(label6.caption); kosten1 := strtoInt(label6.caption); summe := -30; end; summe := summe+kosten1;
label6.caption := ' '+ floattostr(summe); image15.Visible:=true;
end;
procedure TForm1.Button11Click(Sender: TObject); begin button11.Visible:=false; timer3.enabled:=true;
kosten1 := strtoInt(label6.caption); summe := +30; begin summe := summe+kosten1;
end; label6.caption := ' '+ floattostr(summe); end;
procedure TForm1.Timer3Timer(Sender: TObject); begin image16.Visible:=false; image17.Visible:=true; timer4.enabled:=true; end;
procedure TForm1.Timer4Timer(Sender: TObject); begin timer3.enabled:=false; image17.Visible:=false; timer5.Enabled:=true; end;
procedure TForm1.Timer5Timer(Sender: TObject); begin timer4.enabled:=false; image16.Visible:=true; button11.Visible:=true; end;
procedure TForm1.Button12Click(Sender: TObject); begin if StrToInt(Label5.Caption) < 0 then Showmessage('geht ned');
if StrToInt(Label6.Caption) < 0 then Showmessage('geht ned'); if StrToInt(Label7.Caption) < 0 then Showmessage('geht ned') else timer8.Enabled:=true; end;
procedure TForm1.Timer6Timer(Sender: TObject); begin timer12.enabled:=true; image27.Visible:=true; button14.Visible:=false; kosten1 := strtoInt(label6.caption); kosten2 := strtoInt(label5.caption); summe := -70; summe1 := -70;
summe := summe+kosten1; summe1 := summe1+kosten2;
label6.caption := ' '+ floattostr(summe); label5.caption := ' '+ floattostr(summe1); end;
procedure TForm1.Button13Click(Sender: TObject); begin timer6.Enabled:=false; button13.Visible:=false; kosten1 := strtoInt(label7.caption); summe := +25; begin summe := summe+kosten1; timer7.enabled:=true;
end; label7.caption := ' '+ floattostr(summe); end; procedure TForm1.Timer7Timer(Sender: TObject); begin button13.Visible:=true; end;
procedure TForm1.BitBtn2Click(Sender: TObject); begin panel2.Visible:=true; panel4.Visible:=false; end;
procedure TForm1.Button15Click(Sender: TObject); begin panel5.Visible:=true; end;
procedure TForm1.Button16Click(Sender: TObject); begin panel4.Visible:=true; panel5.visible:=false; end;
procedure TForm1.Button14Click(Sender: TObject); begin if StrToInt(Label5.Caption) < 0 then Showmessage('geht ned');
if StrToInt(Label6.Caption) < 0 then Showmessage('geht ned'); if StrToInt(Label7.Caption) < 0 then Showmessage('geht ned') else timer6.Enabled:=true; end;
procedure TForm1.Timer8Timer(Sender: TObject); begin timer11.Enabled:=true; image18.Visible:=true; button12.Visible:=false; begin kosten1 := strtoInt(label6.caption); kosten1 := strtoInt(label6.caption); summe := -30; end; summe := summe+kosten1;
label6.caption := ' '+ floattostr(summe); image18.Visible:=true;
end; procedure TForm1.Button17Click(Sender: TObject); begin groupbox4.Visible:=true;
end;
procedure TForm1.Button19Click(Sender: TObject); begin groupbox3.Visible:=true; groupbox4.Visible:=false; end;
procedure TForm1.Image27Click(Sender: TObject); begin groupbox3.Visible:=true; end;
procedure TForm1.Button18Click(Sender: TObject); begin timer9.enabled:=true; end;
procedure TForm1.Timer9Timer(Sender: TObject); begin image29.visible:=true; end;
procedure TForm1.Timer10Timer(Sender: TObject); begin timer2.enabled:=false; end;
procedure TForm1.Timer11Timer(Sender: TObject); begin timer8.enabled:=false; end;
procedure TForm1.Timer12Timer(Sender: TObject); begin timer6.enabled:=false; end;
end. |
Moderiert von
Narses: Delphi-Tags hinzugefügt
platzwart - So 26.09.10 21:21
Du gibst zwar eine Meldung aus, wenn die Rohstoffe weg sind, aber du sagst ihm, er solle trotzdem bauen! Der PC führt alle Anweisungen unterhalb der If-Abfrage aus, und da steht eben, dass er bauen soll...
Delete - So 26.09.10 21:59
Wie schon oft erwähnt, solltest du dir endlich mal die Grundlagen-Tutorials angucken! Mache es ruhig so, dass du liest und gleichzeitig das grade erlernte in deinem Spiel umsetzt. Ich finde, man sollte dir nicht den Wind aus den Segeln nehmen und sagen, dass du es sowieso nicht schaffen wirst wegen fehlender Kenntnisse, aber Learning-By-Doing ist sehr effektiv und Erfahrungen unbezahlbar.
MfG, Jesse
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!