AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Type-Syntax-Erklärung

Ein Thema von SebE · begonnen am 21. Dez 2004 · letzter Beitrag vom 21. Dez 2004
Antwort Antwort
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#1

Type-Syntax-Erklärung

  Alt 21. Dez 2004, 20:51
Hi.

Wer kann mir diesen Code erklären?
Wie kann ein Typ eine Prozedur sein?
Code:
type
THTMLParseProc = procedure(const HTMLData: string; TagType: TTagType; Parameters: TStrings);
und was muss ich als Parameter, die vom Typ THTMLParseProc sind, eingeben?
Code:
procedure ParseHTML(const HTML: string; ParseProc: THTMLParseProc)
Kann jemand helfen - danke
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Type-Syntax-Erklärung

  Alt 21. Dez 2004, 20:53
Hi,

Ein Typ weist den Compiler darauf hin, dass es sich um den exakt selben Datentyp handelt. (Beispiel: TNotifyEvent).

Als Parameter musst Du eine Prozedur (ohne Parameterklammern) übergeben.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#3

Re: Type-Syntax-Erklärung

  Alt 21. Dez 2004, 20:55
Danke schön
Sebastian
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#4

Re: Type-Syntax-Erklärung

  Alt 21. Dez 2004, 20:58
Das ist ein Funktionszeiger. So wie ein normaler Zeiger auf eine Variable zeigen kann, zeigt ein Funktionszeiger auf eine Funktion. Der Unterschied ist, dass man einer Funktion auch noch Parameter übergeben kann, deshalb muss der Funktionszeigertyp nach folgendem Muster deklariert werden:

Delphi-Quellcode:
type
  PFunction = function(a: Integer): Integer;
  PProcedure = procedure(a: Integer);
Dann musst du eine Funktion haben, die deren Parameterliste der des Funktionszeigers in Typ und Reihenfolge entspricht. Dann musst du den Funktionszeiger auf die Funktion zeigen lassen, und du kannst fortan mit dem Funktionszeiger die Funktion aufrufen.

Delphi-Quellcode:
type
  PAddFunc: function(a, b: Integer): Integer;

function Add(a, b: Integer); Integer;
begin
  Result := a + b;
end;

procedure Main();
var
  AddFunc: PAddFunc;
  i: Integer;
begin
  AddFunc := @Add;
  i := AddFunc(4, 5);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:46 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