AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Function schreiben + übergabe von Parametern
Thema durchsuchen
Ansicht
Themen-Optionen

Function schreiben + übergabe von Parametern

Ein Thema von Albi · begonnen am 21. Jun 2004 · letzter Beitrag vom 21. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#1

Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:08
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:
Form12.pas(916): Inkompatible Typen: 'TForm' und 'Class reference'
Hier mein Versuch. (Ich muß dazu sagen, es ist das erste mal das ich mich an Function herantraue)

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;
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:11
Welche Zeile ist den 916?

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#3

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:17
Zeile 916 ist die wo ich versuche das Datenmodul zu übergeben, wenn ich das rausnehme läuft die Function ohne Fehlermeldung durch.

Zitat:
function TForm12.SearchVers(DM: TForm; DS: TIBDataSet;
SearchText: String): String;
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:19
Moin moin

Zeig doch mal wie du die function aufrufst.


schönen Gruß

Sam
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#5

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:24
Aufrufen würde ich die Function dann so, wenn ich sie compiliert bekomme:

Code:
SearchVers(Datenmodul,Dataset, Searchstring);
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:26
Zitat:
function TForm12.SearchVers(DM: TForm; DS: TIBDataSet;
SearchText: String): String;
Ähmm... TForm ist aber kein TDataModul!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:33
...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
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#8

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 10:57
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:
function TFormMandGeg.SearchVers(DS: TIBDataSet;
  SearchText: String): String;
begin
With DS Do
  Begin
    Close;
    Params[0].value:= SearchText;
    open;
  end;
end;
Und der Aufruf erfolg so:

Code:
SearchVers(DMMa.IBDSVersHPF,MHPFTxt.Text)
Würde mich jetzt aber trotzdem mal interessieren, wann nimmt man denn am besten eine Procedure und wann eine Function?
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 11:07
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Function schreiben + übergabe von Parametern

  Alt 21. Jun 2004, 11:12
Zitat von Albi:
...Würde mich jetzt aber trotzdem mal interessieren, wann nimmt man denn am besten eine Procedure und wann eine Function?
Eine Funktion verwendest Du wenn Du ein Ergebniss haben möchtest.

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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz