| Autor |
Beitrag |
Fussel9
      
Beiträge: 23
Win 7
Delphi
|
Verfasst: Di 02.02.10 21:20
Ihr kennt bestimmt die Standart proceduren
bei denen man einen Parameter übergeben kann, aber nicht muss
kann mir jemand erklären wie ich soetwas selbst machen kann?
Will damit folgende Procedure ausstatten, damit wenn ein parameter übergeben wird die procedure mit dem parameter ausgeführt wird und falls kein parameter übergeben wird das except greift....
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TFormMain.updateview(pArrayHand: Array of TImage); var i: Integer; begin try Hand.toFirst; while not (Hand.GibAktuelles=Hand.GibLetztes) do begin pArrayHand[i].Picture.LoadFromFile(Hand.GibAktuelles.GibInhalt.GibPfad); pArrayHand[i].Visible:=TRUE; Hand.Next; end; except updateview([Card1,Card2,Card3,Card4,Card5,Card6,Card7,Card8,Card9,Card10,Card11, Card12,Card13,Card14,Card15,Card16,Card17,Card18,Card19,Card20,OpCa1, OpCa2,OpCa3,OpCa4,OpCa5,OpCa6,OpCa7,OpCa8,OpCa9,OpCa10,OpCa11,OpCa12, OpCa13,OpCa14,OpCa15,OpCa16,OpCa17,OpCa18,OpCa19,OpCa20,OpCa21,OpCa22, OpCa23,OpCa24,OpCa25,OpCa26,OpCa27,OpCa28,OpCa29,OpCa210,OpCa211, OpCa212,OpCa213,OpCa214,OpCa215,OpCa216,OpCa217,OpCa218,OpCa219, OpCa220]); end; end; |
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 02.02.10 21:22
in dem Du abfragst auf <> nil z.B
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Fussel9 
      
Beiträge: 23
Win 7
Delphi
|
Verfasst: Di 02.02.10 21:34
...nur leider ist das Array nicht standart mäßig nil... da das Array ja nur als Parameter existiert und ich dafür keine globale variable verwenden möchte ist der wert unbestimmt und könnte theoretisch alles enthalten, daher versuche ich ja auch eine try..except
aber beim aufruf ohne parameter gibt delphi trotzdem ... nicht genügend wirkliche parameter ... aus
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 02.02.10 21:47
ist doch normal.
Jede Procedure die Parameter verlangt, muss auch welche erhalten.
Bevor Du also die Procedure aufrufst, fragst Du die Variablen ab, die Du zur Übergabe vorbereited hast.
Mit welcher Möglichkeit, liegt an den Variablen die Du übergibst.
Ein Array kann keine Werte haben (leer sein), vollgepackt bis zum Anschlag, oder nur ein paar Einträge.
Danach richted sich Deine Abfrage. Definitiv kannst nur Du es wissen.
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Sinspin
      
Beiträge: 1338
Erhaltene Danke: 120
Win 10
RIO, CE, Lazarus
|
Verfasst: Di 02.02.10 21:48
Eine ganz einfache Lösung gibt es dafür nicht. Aber es gibt eine:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure updateview; overload; procedure TFormMain.updateview(pArrayHand: Array of TImage); overload;
procedure TFormMain.updateview; begin end;
procedure TFormMain.updateview(pArrayHand: Array of TImage); begin end; |
Nebenbei: Was macht du da mit LoadFromFile? Rufst du das in deinem Programm einmal oder andauernd auf? Wenn andauernd, ist das wenig sinnvoll dauernd alle möglichen Bilder von der Platte neu zu laden. Die solltest du lieber aus einem Bitmap immer wieder kopieren wenn es unbedingt sein muss.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
Flamefire
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: Di 02.02.10 21:53
es geht auch so:
Delphi-Quelltext 1:
| procedure foo(bar:Integer=5); |
|
|
Fussel9 
      
Beiträge: 23
Win 7
Delphi
|
Verfasst: Di 02.02.10 21:54
@SinSpin öhm.. ja das mache ich so zu sagen andauern ... ist aber in diesem Fall gar nicht schlimm, auch wenn es sich um insgesamt 61 Imagekomponenten handelt die jede runde neu gefüllt werden müssen
die jpg dateien sind so klein das es quasi keine zwei Sekunden dauert die Bilder zu laden, außerdem basiert meine Liste so zu sagen darauf das jedem element ein pfad zugewiesen bekommt... wenn deine bedenken also nur laufzeit gerichtet waren... mach dir mal keine sorgen ^^
--- Moderiert von Narses: Beiträge zusammengefasst---
...hm... leider gehts so nicht... da sagt delphi mir : Parameter dieses Typs dürfen keine Standartwerte haben, aber nach genau sowas suche ich...
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 02.02.10 21:58
mal ne Frage, was machst Du mit der Variablen i, ist die immer NULL?
Rufst Du die Procedure von aussen einmal auf, und dann von innen??
Wo hast Du da den abbruch!?
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Fussel9 
      
Beiträge: 23
Win 7
Delphi
|
Verfasst: Di 02.02.10 22:01
oh, thx hätt ich jetz übersehn.. is natürlich für ne schleife ^^
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 02.02.10 22:22
Fussel9 | Zitat: | | ...die jpg dateien sind so klein das es quasi keine zwei Sekunden dauert die Bilder zu laden,.... |
Das ist jetzt aber nicht Dein ernst
Dies ist so unsauber wie Deine If abfragen vom letzten mal!
Du solltest mal überprüfen, ob Du was ordenliches codest, oder nur mit Versuch und Irrtum arbeitest,
egal ob effektiv und übersichtlich.
Haubtsache es funct.
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Fussel9 
      
Beiträge: 23
Win 7
Delphi
|
Verfasst: Di 02.02.10 22:33
ok lieber Alf ^^
dann erklär mir doch mal bitte wieso ich das nicht so machen sollte
aber mal im ernst: Was ich gerade programmiere ist für eine Facharbeit und geht durchaus über das in der Schule gelernte hinaus und daher arbeite ich mit unter wirklich nach dem Try and Error verfahren 
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Di 02.02.10 22:43
Ok,
Dann bekommst Du von mir...
Programm Idee: eine 1
Umsetzung: muss man warten
Code: 6-
Gruss ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
|