![]() |
Function schreiben + übergabe von Parametern
Hallo,
ich habe mir ein kleines Programm geschrieben in dem ich in ein Edit-Feld einen Wert eintragen kann und mir dann die übereinstimmungen in einem Grid angezeigt werden. Da diese Abfrage ingesamt 4x vorkommt, habe ich mir gedacht, dafür eine kleine Function zu schreiben aber irgendwie komm ich damit nicht ganz klar. Ich will in die Function das Datenmodul, die entsprechende Dataset sowie den zu suchenden String übergeben aber ich da immer ne Fehlermeldung: Zitat:
Code:
function TForm12.SearchVers(DM: TForm; DS: TIBDataSet;
SearchText: String): String; begin With DM Do Begin With DS Do Begin Close; Params[0].value:= SearchText; open; end; end; end; |
Re: Function schreiben + übergabe von Parametern
Welche Zeile ist den 916?
...:cat:... |
Re: Function schreiben + übergabe von Parametern
Zeile 916 ist die wo ich versuche das Datenmodul zu übergeben, wenn ich das rausnehme läuft die Function ohne Fehlermeldung durch.
Zitat:
|
Re: Function schreiben + übergabe von Parametern
Moin moin
Zeig doch mal wie du die function aufrufst. schönen Gruß Sam |
Re: Function schreiben + übergabe von Parametern
Aufrufen würde ich die Function dann so, wenn ich sie compiliert bekomme:
Code:
SearchVers(Datenmodul,Dataset, Searchstring);
|
Re: Function schreiben + übergabe von Parametern
Zitat:
|
Re: Function schreiben + übergabe von Parametern
...und überleg mal ob du da nich lieber ne procedure draus machst...diese function liefert ja gar kein Ergebnis zurück
schönen Gruß Sam |
Re: Function schreiben + übergabe von Parametern
:gruebel: Soll die Function doch aber eigentlich auch nicht, sondern soll nur das DataSet in schwung bringen und diese zeigt mir dann das Ergebnis.
Ich habe das mit dem DatenModul jetzt rausgenommen und setze nur noch die parameter für die Dataset und den Searchstring und so geht das auch. Hier mein Ergebnis:
Code:
Und der Aufruf erfolg so:
function TFormMandGeg.SearchVers(DS: TIBDataSet;
SearchText: String): String; begin With DS Do Begin Close; Params[0].value:= SearchText; open; end; end;
Code:
Würde mich jetzt aber trotzdem mal interessieren, wann nimmt man denn am besten eine Procedure und wann eine Function?
SearchVers(DMMa.IBDSVersHPF,MHPFTxt.Text)
|
Re: Function schreiben + übergabe von Parametern
Ob das wirklich so wichtig ist kann ich auch nich sagen :-)
Funktionen liefer eben Ergebnise so wie in der Mathematik auch und Proceduren sind einfach nur Anweisungen. f(x) = x² liefert für meinetwegen für x= 5 das ergebniss 25 aber "Mach die Türe zu" muss das ja nich unbedingt..man kann zwar auch aus "Mach die Tür zu" ne function machen die true/false zurückgibt ob die Türe geschlossen wurde, aber es ist nicht unbedingt nötig...is wohl ne Frage von Stil usw. schönen Gruß Sam |
Re: Function schreiben + übergabe von Parametern
Zitat:
Delphi-Quellcode:
function AddINT (a,b : Integer) : Integer;
begin result := a + b; end; procedure TForm1.Button1Click(Sender: TObject); var c : Integer; begin c := AddINT (5,3); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz