| Autor |
Beitrag |
DaRobbie
Hält's aus hier
Beiträge: 6
Win:XP, Me, 98, 95 Linux:9.1
|
Verfasst: Fr 13.01.06 19:08
moin ich hab mir nen record gebastelt.
Der Record 1: 2: 3: 4: 5: 6: 7: 8:
| type karte = record msg:string; todo:procedure; end;
var karten : array[0..14] of karte; |
Wie kann ich die todo-Prozedur definieren? z.b in einer anderen Prozedur?
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Fr 13.01.06 19:17
das ist nur ein Pointer auf eine Prozedure in etwa so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| type TKarte = packed record msg: String[20]; todo: procedure; end;
procedure bla; begin MessageBox(0,'elele',nil,0); end;
procedure TForm1.FormCreate(Sender: TObject); var karte : TKarte; begin karte.msg := 'hallo'; karte.todo := bla; karte.todo; end; |
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
DaRobbie 
Hält's aus hier
Beiträge: 6
Win:XP, Me, 98, 95 Linux:9.1
|
Verfasst: Sa 14.01.06 01:20
gibt es nicht ne möglicket wo ich sagen kann:
Delphi-Quelltext 1: 2: 3: 4:
| todo:=var a:integer; begin algorithmus end; |
oder muss ich die prozedur vorher explizit definieren?
aber danke schonmal
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Sa 14.01.06 16:45
Ja, aber nicht mit Records.
Was du sicherlich haben willst ist Object, würd ich Dir aber DEFINITIV ABRATEN, da obsoleted und beschissen zu programmieren. Wass Du machen könntest, wäre ne Class mit deiner Procedure drin. Du musst dich dann zwar um die Instantiierung der Klasse kümmern, aber das ist nicht allzu schwer ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
DaRobbie 
Hält's aus hier
Beiträge: 6
Win:XP, Me, 98, 95 Linux:9.1
|
Verfasst: So 15.01.06 03:42
das mit den klassen ist ne coole idee, doch wie würde dsa gehen???
hab grad mal 11. klasse und progge an monopoly...
mein info-lehrer hat auch keinen plan.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 15.01.06 13:58
Könnte z.B. so hier aussehen:
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:
| type Tkarte = class private FMsg:string; public constructor Create; virtual; reintroduce; destructor Destroy; override; procedure todo;
property Msg: String read FMsg write FMsg; end;
implementation
constructor TKarte.Create; begin inherited; end;
constructor TKarte.Create; begin inherited; end;
procedure TKarte.Todo; begin end; |
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
pRoTeUs
      
Beiträge: 47
Windows XP prof
Delphi 2005 prof
|
Verfasst: So 15.01.06 14:36
| Zitat: | Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| constructor TKarte.Create; begin inherited; end;
constructor TKarte.Create; begin inherited; end; | |
Der zweite Constructor sollte doch eher ein Destructor sein.
mfg proteus
|
|
DaRobbie 
Hält's aus hier
Beiträge: 6
Win:XP, Me, 98, 95 Linux:9.1
|
Verfasst: Mo 16.01.06 15:50
danke schön
ich werde das ganze dann gleich nochmal probieren.
bei fragen komme ich sicherlich auf euch zurück!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 16.01.06 15:57
Warum missbrauchst du dafür einen Record? Eine Klasse ist doch für so was gedacht?
|
|