AGB  ·  Datenschutz  ·  Impressum  







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

Records und Unterprogramme

Ein Thema von Teilzeitberlinerin · begonnen am 30. Jul 2007 · letzter Beitrag vom 30. Jul 2007
Antwort Antwort
Benutzerbild von Teilzeitberlinerin
Teilzeitberlinerin

Registriert seit: 29. Jul 2007
Ort: Berlin
4 Beiträge
 
Delphi 2005 Professional
 
#1

Records und Unterprogramme

  Alt 30. Jul 2007, 09:00
Hallo,

ich bin gerade dabei eine Belegarbeit zu schreiben und bin da auf ein Problem gestoßen. Zum besseren Verständnis werde ich einmal kurz erläutern, was ich machen möchte.

Es soll ein Programm werden, wo ein beliebiger Nutzer eine Personendatei anlegen kann. Das ganze soll im Hintergrund in einem Binärbaum gespeichert werden und da es ja bekanntlich auch Personen mit identischen Nachnamen gibt,soll jeder Knoten eine einfach verkettete Liste beinhalten, worin die Personen gespeichert sind. Dies zu programmieren ist nicht mein Problem und ich möchte drauf hinweisen, dass ich KEINEN Quelltext vorgesetzt bekommen möchte.

Das ganze Programm muss mind. 1 Unterprogramm besitzen (und globale Variablen sind nicht erlaubt).
Ich habe bisher ein Hauptprogramm und wollte dann je ein Unterprogramm für den Baum und die Liste machen, beide werden dann über "uses" miteinander verknüpft. An der Uni habe ich gelernt, die Liste als Record zu definieren. Dies wollte ich auch für den Baum so machen. Zunächst hatte ich beide Records jeweils in der dazugehörigen Unit, aber geht das überhaupt so ? Ich mein, müsste die Baum-Record nicht im Hauptprogramm sein, denn dort rufe ich ja Prozeduren auf, die sich in der Baum-Unit befinde.

Ein anderes Problem welches ich habe ist folgendes. Im Baum-Record muss ich ja dann auch auf eine Liste verweisen, die ja aber in einer anderen Unit ist. Wie mache ich das ? Gibt es dafür eine bestimmte Schreibweise (spitze Klammer, o.ä.) ?


Ich danke euch für eure Hilfe,

Teizeitberlinerin
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#2

Re: Records und Unterprogramme

  Alt 30. Jul 2007, 09:06
Ich würde die Records in einer Unit definieren, die ausschliesslich diese Records beinhaltet, und diese Unit dann vom Hauptprogramm und den anderen Units aus einfach einbinden.

Deshalb ja auch 'Uses' - Klauseln: Alle Teile benutzen diese Struktur, also gehört sie in eine eigene benutzte Unit.

Das ist auch die Antwort auf Deine zweite Frage: Einfach die verwendete Unit in die Uses-Klausel aufnehmen, und Du kannst alles was im 'Interface' - Teil der benutzen Unit deklariert ist auch benutzen, als wenn es in der eigenen Unit wäre.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Teilzeitberlinerin
Teilzeitberlinerin

Registriert seit: 29. Jul 2007
Ort: Berlin
4 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Records und Unterprogramme

  Alt 30. Jul 2007, 10:24
Danke für die schnelle Hilfe !

Hab es gleich umgesetzt und ich muss sagen, so lässt sich das ganze wesentlich einfacher programmieren. Dankeschön.

Leider haben sich dabei neue "Probleme" aufgetan.
1. Ich habe folgenden Programmcode

Ausgabe.SAusgabe.Cells[4,1] := IntToStr(hilf^.nummer);

und erstaunlicherweise gibt es einen Compilerfehler, dass 'IntToStr' ein nichtdeklarierter Bezeichner ist. Woran liegt das ? nummer ist als String definiert.


LG Teilzeitberlinerin
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Records und Unterprogramme

  Alt 30. Jul 2007, 19:05
Binde die Unit ein, welche IntToStr() beinhaltet. Dafür am einfachsten mal den Cursor auf IntToStr() setzen und F1 drücken. Dann bekommst du die Hilfe zu der Funktion und mit Angabe in welcher Unit diese deklariert ist (SysUtils). Diese dann einfach in der Uses Liste einbinden. Da du die Funktion nur in der Implementierung brauchst und niemals im Interface-Abschnitt, kannst du die Unit gleich in der Uses Liste im Implementation-Teil einbinden...
  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 18:08 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