AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Merkwürdiger Source Code? Kann mir das jemand erklären?
Thema durchsuchen
Ansicht
Themen-Optionen

Merkwürdiger Source Code? Kann mir das jemand erklären?

Ein Thema von mandoki · begonnen am 18. Mär 2007 · letzter Beitrag vom 19. Mär 2007
Antwort Antwort
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#1

Re: Merkwürdiger Source Code? Kann mir das jemand erklären?

  Alt 18. Mär 2007, 01:14
Zitat von mandoki:
Hallo,
der Titel ist leider nicht sehr aussagekräftig aber ich weiß nicht so recht wie ich das sonst benennen sollte... sorry dafür.

Zu meinem Problem:
Beim testen der Absolute Database Komponente ist mir ein Sourcecode aufgefallen der mich total verwirrt. Es geht hierbei um das Import/Export Tool welches auch im Source-Code beiliegt.

Hier mal einige kurze Ausschnitte (... steht für weiteren Code):
Delphi-Quellcode:
...
function HasVChk(Table: TTable; Field: TField; var VChk: TVChk): boolean;

function ValToStr(VCHK: DBIVCHK; FldType: word): string;
var
  L: longint;
  I: Integer;
  D: Double;
  MyDate: BDE.DBIDATE;
  ...
  ...
und:

Der Compiler meldet keinen Fehler.
Ist dies einfach nur eine ungewöhnliche (aber erlaubte) Syntax?

(Habe das komplette File für interessierte mal drangehangen...)
Warum sollte er auch, das sind einfach lokale Prozeduren/Funktionen, d.h. ValToStr gilt wie die Variablen nur innerhalb HasVChk (und stört daher nicht, wenn andere Prozeduren ihr eigenes ValToStr haben).

Muster:
Delphi-Quellcode:
procedure Myprocedure;
var dummy : integer;

  procedure MyLocalProcedure;
  var ldummy : integer;
  begin
  end;

begin
MyLocalProcedure; { geht nur hier von begin bis end }
end;
Natürlich kann eine lokale Prozedur ihrerseits lokale Unterprozeduren haben. Das ist einer der grössten Vorteile von Pascal gegenüber anderen Sprachen und nimmt vieles der Vorteile von OO-Methoden vorweg. Ich benutze das seit 30 Jahren zur Strukturierung von Programmen, aber leider wird das heute aufgrund unverstandener OO-Ideologie abgelehnt oder ist auch überhaupt nicht mehr bekannt - hier im Forum kommen lokale Prozeduren praktisch nicht vor.

Gruss Reinhard
  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 13:53 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