Autor |
Beitrag |
Fatman
Hält's aus hier
Beiträge: 3
|
Verfasst: Do 18.02.10 11:15
BeitragVerfasst am: Heute um 10:12 Antworten mit Zitat Beitrag editieren Beitrag melden
Hey Leute passt hier net rein aber ich hab n Problem mit meinem Programm. Will Glücksrad programmieren mit folgendem 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:
| procedure TForm1.PruefenClick(Sender: TObject); var za1, za2, za3, za4, za5, za6, zb1, zb2, zb3, zb4, zb5, zb6, zc1, zc2, zc3, zc4, zc5, zc6, zhidden, rs: integer;
procedure vari(vara: integer); var za1, za2, za3, za4, za5, za6, zb1, zb2, zb3, zb4, zb5, zb6, zc1, zc2, zc3, zc4, zc5, zc6: integer; begin if za1 = vara then begin a1.text := feld.text; end; if za2 = vara then begin a2.text := feld.text; end; if za3 = vara then begin a3.text := feld.text; end; if za4 = vara then begin a4.text := feld.text; end; if za5 = vara then begin a5.text := feld.text; end; if za6 = vara then begin a6.text := feld.text; end;
if zb1 = vara then begin b1.text := feld.text; end; if zb2 = vara then begin b2.text := feld.text; end; if zb3 = vara then begin b3.text := feld.text; end; if zb4 = vara then begin b4.text := feld.text; end; if zb5 = vara then begin b5.text := feld.text; end; if zb6 = vara then begin b6.text := feld.text; end;
if zc1 = vara then begin c1.text := feld.text; end; if zc2 = vara then begin c2.text := feld.text; end; if zc3 = vara then begin c3.text := feld.text; end; if zc4 = vara then begin c4.text := feld.text; end; if zc5 = vara then begin c5.text := feld.text; end; if zc6 = vara then begin c6.text := feld.text; end; end;
begin zhidden := strtoint(hidden.text);
if zhidden = 0 then begin randomize; rs := (random(9) + 1); zhidden := rs; hidden.text := inttostr(zhidden); if (rs = 1) then begin za1 := 9; za2 := 3; za3 := 8;
zb1 := 13; zb2 := 1; zb3 := 7;
zc1 := 5; zc2 := 9; zc3 := 19;
end; if (rs = 2) then begin za1 := 9; za2 := 14; za3 := 6; za4 := 15;
zb1 := 9; zb2 := 19; zb3 := 20;
zc1 := 3; zc2 := 15; zc3 := 15; zc4 := 12;
end; if (rs = 3) then begin za1 := 13; za2 := 1; za3 := 24;
zb1 := 11; zb2 := 12; zb3 := 5; zb4 := 2; zb5 := 20;
zc1 := 16; zc2 := 1; zc3 := 16; zc4 := 9; zc5 := 5; zc6 := 18; end; if (rs = 4) then begin za1 := 14; za2 := 5; za3 := 18; za4 := 4; za5 := 19;
zb1 := 12; zb2 := 5; zb3 := 18; zb4 := 14; zb5 := 5; zb6 := 14; zc1 := 1; zc2 := 12; zc3 := 12; zc4 := 5; zc5 := 9; zc6 := 14; end; if (rs = 5) then begin za1 := 2; za2 := 15; za3 := 8; za4 := 14; za5 := 5; za6 := 14; zb1 := 12; zb2 := 1; zb3 := 19; zb4 := 19; zb5 := 5; zb6 := 14; zc1 := 6; zc2 := 21; zc3 := 18; zc4 := 26; zc5 := 5; zc6 := 14; end; if (rs = 6) then begin za1 := 20; za2 := 15; za3 := 25; za4 := 15; za5 := 20; za6 := 1; zb1 := 26; zb2 := 15; zb3 := 15; zb4 := 13;
zc1 := 26; zc2 := 15; zc3 := 15; zc4 := 13;
end; if (rs = 7) then begin za1 := 9; za2 := 3; za3 := 8;
zb1 := 19; zb2 := 9; zb3 := 14; zb4 := 7; zb5 := 5;
zc1 := 20; zc2 := 18; zc3 := 1; zc4 := 14; zc5 := 3; zc6 := 5; end; if (rs = 8) then begin za1 := 2; za2 := 1; za3 := 14; za4 := 1; za5 := 14; za6 := 1; zb1 := 9; zb2 := 19; zb3 := 20;
zc1 := 6; zc2 := 1; zc3 := 12; zc4 := 19; zc5 := 3; zc6 := 8; end; if (rs = 9) then begin za1 := 10; za2 := 1; za3 := 8; za4 := 18; za5 := 5;
zb1 := 12; zb2 := 1; zb3 := 14; zb4 := 7;
zc1 := 19; zc2 := 3; zc3 := 8; zc4 := 21; zc5 := 12; zc6 := 5; end; if (rs = 10) then begin za1 := 8; za2 := 5; za3 := 24; za4 := 5; za5 := 14;
zb1 := 5; zb2 := 19; zb3 := 19; zb4 := 5; zb5 := 14;
zc1 := 2; zc2 := 15; zc3 := 5; zc4 := 7; zc5 := 5; zc6 := 12; end; end;
if feld.text = 'i' then begin testen.text := '9'; vari(9); end;
if feld.text = 'e' then begin testen.text := '5'; vari(5); end;
end;
end. |
Die Zahlen stehen für die jeweiligen Buchstaben.
Die eingegebenen Buchstaben werden allerdings nur im ersten Feld angezeigt und zwar immer ein anderer :/
wäre nett wenn uns jmd hgelfen könnte oder uns sagt wie man das anders schreiben kann.
danke im voraus
euer ,
Fatman!
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
|
SvenAbeln
      
Beiträge: 334
Erhaltene Danke: 3
|
Verfasst: Do 18.02.10 12:45
Du vergleichst hier mit Variablen, denen du noch keinen Wert zugewiesen hast.
In der Prozedure ist die markierte Variable za1 undefiniert, aber mit dieser wird verglichen.
Ich denke du willst mit der za1 darüber vergleichen, dann darfst du die selben variablen aber in der Prozedur nicht noch einmal lokal definieren.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.PruefenClick(Sender: TObject); var za1, za2, za3, za4, za5, za6, zb1, zb2, zb3, zb4, zb5, zb6, zc1, zc2, zc3, zc4, zc5, zc6, zhidden, rs: integer;
procedure vari(vara: integer); var za1, za2, za3, za4, za5, za6, zb1, zb2, zb3, zb4, zb5, zb6, zc1, zc2, zc3, zc4, zc5, zc6: integer; begin if za1 = vara then begin a1.text := feld.text; end; if za2 = vara then begin |
|
|
Fatman 
Hält's aus hier
Beiträge: 3
|
Verfasst: Do 18.02.10 14:36
Ok problem erkannt aber wie löse ich das ganze dass das programm läuft?^^
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Do 18.02.10 15:27
Ich bin mir nicht sicher, ob ich der einzige bin, der deinen Quellcode nicht versteht... Wozu brauchst du die ganzen Variablen und wozu sind die gut (also was bedeuten sie)?
|
|
JoelH
      
Beiträge: 806
Erhaltene Danke: 17
Win10
Delphi Alexandria 11.2 Patch 1
|
Verfasst: Do 18.02.10 16:09
Fatman hat folgendes geschrieben : | Ok problem erkannt aber wie löse ich das ganze dass das programm läuft?^^ |
Befasse dich einfach mal mit Arrays, besonders den dynamischen.
Oder übergib der Procedure vari eben alle variablen.
Delphi-Quelltext 1: 2:
| procedure vari(vara, za1, za2, za3, za4, za5, za6, zb1, zb2, zb3, zb4, zb5, zb6, zc1, zc2, zc3, zc4, zc5, zc6: integer); |
_________________ mfg. Joel
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Do 18.02.10 16:18
Dann lieber einen record oder einen Pointer auf die erste Variable, der dann nur erhöht wird (oder eben das Array).
Zuletzt bearbeitet von Jakob_Ullmann am Do 18.02.10 18:27, insgesamt 1-mal bearbeitet
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Do 18.02.10 16:19
CODE-FORMATIERUNG wäre schon mal ein guter Anfang  Außerdem solltest du dir vielleicht mal ARRAYS angucken.
|
|
Fatman 
Hält's aus hier
Beiträge: 3
|
Verfasst: Do 18.02.10 18:35
Jakob_Ullmann hat folgendes geschrieben : | Ich bin mir nicht sicher, ob ich der einzige bin, der deinen Quellcode nicht versteht... Wozu brauchst du die ganzen Variablen und wozu sind die gut (also was bedeuten sie)? |
die variablen stehen für die jeweiligen editfelder in denen die buchstaben angezeigt werden sollen
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Do 18.02.10 19:01
|
|
|