AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Gleiche Procedure mit unterschiedlichen ParameterTypen
Thema durchsuchen
Ansicht
Themen-Optionen

Gleiche Procedure mit unterschiedlichen ParameterTypen

Ein Thema von Christopher · begonnen am 28. Aug 2004 · letzter Beitrag vom 1. Sep 2004
 
Assarbad
(Gast)

n/a Beiträge
 
#6

Re: Gleiche Procedure mit unterschiedlichen ParameterTypen

  Alt 29. Aug 2004, 09:58
Zitat von Christopher:
Was heißt generisch? Kenne den Ausdruck leider nicht.
Du meinst warscheinlich "allgemein mit Variablen" oder?
Generisch bedeutet "allgemein gehalten".

Zitat von Christopher:
Aber dann brauche ich doch eine Variable die zu TJob UND
zu TCustomer "kompatibel" ist. Oder hab ich das jetzt falsch
verstanden?
Pointer ist kompatibel.

Zitat von Christopher:
Heul... Was ist eine CallBack-Funktion? Ist das um im Code zurückzuspringen?
Wenn ja, wie macht man das? Ich kenne das nur mit Labels im Code.
Also, stell dir vor du willst eine Textdatei auslesen (ist ja hier ganz ähnlich). Nun hast du die Aufgabe, daß du zwar für das Auslesen zuständig sein sollst (und auch für das Trennen der Token), aber daß ein weiterer Programmierer ohne Kenntnis deines Codes in die Lage versetzt werden soll die Konfigurationstextdatei zu parsen. Was tust du also? Genau, du gibst einen Prototypen für eine Funktion vor, Beispiel:
type TFNMyCallback=function(Identifier:PChar; Value:PChar); Deine generische Funktion welche durch den Code geht, sieht nun zB folgendermaßen aus:

function ReadMyFile(fName:PChar; FNcallback:TFNMyCallback); Ist der Funktionspointer, welcher als Parameter übergeben wurde, NIL, tust du nichts. Sonst rufst du die Callbackfunktion ganz normal auf und übergibst die Daten aus Kernfunktion die du benötigst (sagen wir mal Recordgröße und Pointer zu Puffer o.ä.)

if Assigned(FNcallback) FNcallback(Identifier, Value);
Zitat von Christopher:
Na und da verstehe ich nur noch Bahnhof. Array of Struct konnte mir die Delphi-Hilfe auch nicht erläutern. Man so ein Mist, bi ich wirklich so doof, dass ich das alles nicht verstehe?
Nennen wir es Array of Record, okay? Nun verstanden. Sorry, bin derzeit etwas zu sehr in meine C++-Programmierung vertieft

Template-Funktionen funktioniern unabhängig vom Typ. Beispiel (Funktion welche Maximalwerte herausfindet):
Code:
template <class T> T Max(T Wert1, T Wert2);
Beim Aufruf tust du nun dies:
Code:
double d = Max<double>(d1, d2);
int i = Max<int>(i1, i2);
unsigned char u = Max<unsigned char>(c1, c2);
Wie du siehst, mußt du den Prototypen (und konsequenterweise auch den Rumpf) nur einmal schreiben und kannst ihn dann für verschiedene Typen (nicht nur, wie oben, Basistypen) nutzen. Wäre hier für dich ideal.
  Mit Zitat antworten Zitat
 


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 06:25 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