Entwickler-Ecke
Sonstiges (Delphi) - Eigendschaft: Text von Edit-Feld nach nil ändern?
hmmm - Mo 23.10.06 19:34
Titel: Eigendschaft: Text von Edit-Feld nach nil ändern?
Hallo nochmal,
ich habe nun einige Edit-Felder mit 'nil' initialisiert:
Delphi-Quelltext
1: 2: 3:
| Edit1 := nil; Edit2 := nil; Edit3 := nil; |
Nun muss aber nachdem initialisieren die Eigenschaft 'Text' des Feldes geändert werden.
Wenn ich dies versuche, wird zwar beim Compilieren kein Fehler gemeldet, aber die Text-Eigendschaft wird nicht geändert.
Delphi-Quelltext
1:
| Edit1.text := inttostr(Random(9)+1); |
Was kann man da tun?
Saubäär - Mo 23.10.06 19:38
Delphi-Quelltext
1:
| Edit1.Text := inttostr(...); |
Gruß
Saubäär
hmmm - Mo 23.10.06 19:42
Oh sorry, habe ich beim Thema erstellen vergessen ;-(
In meinem Programm steht natürlich:
Delphi-Quelltext
1:
| Edit1.Text := inttostr(Random(9)+1); |
An meinem Problem änderts also leider nichts.
Narses - Mo 23.10.06 19:48
Moin!
Wenn du Edit1 auf NIL setzt, kannst du nicht mehr darauf zugreifen! :shock: Es ist also kein "Initialisieren".
Vielleicht erklärst du mal etwas mehr von dem, was du da machen willst; mir scheint, du hast da so einige grundlegende Dinge noch nicht verstanden. ;)
cu
Narses
Saubäär - Mo 23.10.06 19:58
Ich frage mich, warum du ein Edit- Feld auf NIL setzen willst?
Gruß
Saubäär
hmmm - Mo 23.10.06 20:07
Alsooo,
ich erkäre mal was ich machen will:
1. Ich habe ein Array:
Delphi-Quelltext
1:
| Feld: Array[1..9,1..9,1..9] of TEdit; |
2. Ich habe diesem Array Edit-Felder zugeordnet:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Feld[1,1,1]:= Edit1; Feld[2,1,1]:= Edit2; Feld[3,1,1]:= Edit3;
Feld[4,1,2]:= Edit4; Feld[5,1,2]:= Edit5; Feld[6,1,2]:= Edit6;
Feld[7,1,3]:= Edit7; Feld[8,1,3]:= Edit8; Feld[9,1,3]:= Edit9; und weitere ... |
So, in der Array Definition oben steht ja Array[1..9,1..9,1..9], sprich ich könnte hunderte von Editfelder bestimmen. Ich habe aber nur 81.
Nun möchte ich ein zufälliges Element aus dem Array auswählen und die Text-Eigendschaft verändern.
Also habe ich drei Zufallszahlen zwischen 1-9 erzeugt (i,j,k) und möchte jetz Prüfen ob die Kombination Feld[i,j,k] in dem Array als Edit-Feld vorhanden ist oder nicht.
In einem anderen Thema habe ich die Lösung gefunden:
Delphi-Quelltext
1:
| If Assigned (Feld[i,j,k]} Then |
Damit das funktioniert, müssen aber alle Edit-Felder nil sein.
Narses - Mo 23.10.06 20:13
Moin!
hmmm hat folgendes geschrieben: |
Damit das funktioniert, müssen aber alle Edit-Felder nil sein. |
:gruebel: Also so wie ich das sehe, müssen nur die NIL sein, die du nicht verwenden willst. ;)
Fazit: Erst das Edit-Array auf NIL setzen und dann die Edits zuweisen, die du verwenden willst. Dann klappt´s auch mit der Abfrage. :D
cu
Narses
hmmm - Mo 23.10.06 20:19
Zitat: |
Erst das Edit-Array auf NIL setzen |
Ok, aber wie tu ich das?
Wenn ich
schreibe, kommt die Meldung:
Inkompatible Typen "Array" und "Pointer"
Narses - Mo 23.10.06 20:21
Moin!
Du hast im anderen Thread doch schon eine Schleife, die das macht, gezeigt bekommen. Warum machst du dann jetzt wieder sowas wie "Feld := NIL"? :nixweiss: ;)
cu
Narses
hmmm - Mo 23.10.06 20:35
Meinst Du die?
Delphi-Quelltext
1: 2: 3: 4:
| For i:=0 to 9 do For j:=0 to 9 do For k:=0 to 9 do Feld[i,j,k] := nil; |
Aber die bewirkt doch das ALLE möglichen Kombinationen auf nil gestzt werden. Auch die, die die Edit-Felder beinhalten?
Oder seh ich das falsch??? :(
Narses - Mo 23.10.06 20:39
Moin!
Narses hat folgendes geschrieben: |
Erst das Edit-Array auf NIL setzen und dann die Edits zuweisen, die du verwenden willst. |
cu
Narses
hmmm - Mo 23.10.06 20:47
Ahhh, jetzt.... Ok funktioniert. ;-)
Vielen Dank für die Antworten
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!