AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ein kleines Problem mit Unit und Funktionen
Thema durchsuchen
Ansicht
Themen-Optionen

Ein kleines Problem mit Unit und Funktionen

Ein Thema von Lotus · begonnen am 27. Mär 2007 · letzter Beitrag vom 27. Mär 2007
Antwort Antwort
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#1

Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 19:47
Hallo liebe Delphi-Community.
Ich habe seit ein paar Wochen mich etwas in das komplexe Leben von Delhpi versucht reinzuleben aber scheiter an so manchen ecken und kannte. Heute wars mal wieder so weit und drum bitte ich euch mir einmal eine hilfe zu geben.
Was ich hier schon in manchen Thread gelesen habt legt ihr hier wert darauf das jeder meistens auf seine eigenen fehler kommen soll in dem ihr ihm hauptsächlich nur anregungen gibt und keinen code vorsagt, was ich auch gut finde nur stelle ich mich manchmal echt blöd an, ich hoffe das wir das auch so gelöst kriegen

Nun mal zu meinem Problem.
Ich bin gerade dabei ein Programm zur Trigonometrie zu schreiben. Die Aufgabe besteht darin eine extra Unit einzulagern und in dieser Unit sollen 2 Funktionnen und eine Prouzedur enthalten sein. Ich poste euch einfach mal die Codes die ich dafür immoment schon habe!

Extra Unit

Delphi-Quellcode:
unit trigo;

interface

implementation

function gradzubogen(x:real):real;
begin
result:=x*0.01745;
end;

end.
Standard Unit

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, trigo, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    E1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    E2: TEdit;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var x,loesung:real;
begin
x:=strtofloat(E1.Text);
loesung:=gradzubogen(x);
E2.Text:=floattostr(loesung);
end;

end.
er gibt mir zu erkennen das er gradzubogen nicht kennt, also ein undefinierter bezeichner ist. liegt das daran das er gar nicht auf die unit trigo drauf zu greift? wenn ja wie kann man das beheben?
freue mich über jede schnelle hilfe!!
danke mfg Lotus
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Ein kleines Problem

  Alt 27. Mär 2007, 19:51
Hi, herzlich willkommen!

So helfen wir doch gerne. Aber bitte ändere den Titel noch in einen aussagekräftigeren, damit man von vornherein erkennt, worum es in diesem Thema geht.

Du musst die Funktion im interface-Teil bekanntgeben:

Delphi-Quellcode:
interface

  function gradzubogen(x: real): real;
Kannst natürlich auch public dafür nutzen. Statt Real würde ich übrigens Double nutzen, da meines Wissens intern so oder so Double aufgerufen wird.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Ein kleines Problem

  Alt 27. Mär 2007, 19:52
Delphi-Quellcode:
unit trigo;

interface

function gradzubogen(x:real):real;

implementation

function gradzubogen(x:real):real;
begin
result:=x*0.01745;
end;

end.
Na in der implementation-Section ist die Fuktion nur lokal zur Unit. Die Deklaration muss auch in der interface-Section aufgefuehrt werden, damit sie nach aussen sichtbar ist.
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#4

Re: Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 19:56
Schade Problem schon gelöst...

Aber wie wärs, wenn du die Extra-Unit folgendermaßen verschönerst?

Delphi-Quellcode:
unit trigo;

interface

const
  pi = 3.141592653589793;

function gradzubogen(x:real):real;

implementation

function gradzubogen(x:real):real;
begin
  result:=x*(pi/180);
end;

end.
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#5

Re: Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 20:27
wär natürlich eine möglichkeit, nur ist PI bei delphi nicht schon vorprogrammiert???
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 20:32
Hallo Lotus,

wenn dein Delphi die Unit Math mitbringt, dann ist auch die Funktion DegToRad() schon implementiert.

Grüße vom marabu
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#7

Re: Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 20:42
joa das mag sein, nur meine Lehrerin wollte ja das wir diese selber schreiben
ist zwar nix großes aber wie lehrer halt manchmal sind xD
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 20:48
Zitat von Lotus:
wär natürlich eine möglichkeit, nur ist PI bei delphi nicht schon vorprogrammiert???
Jupp, das ist korrekt. Nur nicht ganz so genau, wie fLaSh es geschrieben hat, sondern eine Nachkommastelle weniger: 3,14159265358979
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#9

Re: Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 21:46
genau deshalb hab ich sie redefiniert

//Edit
oder:
Zitat von Wikipedia:
Die ersten 100 Nachkommastellen sind
π ≈ 3,141 592 653 589 793 238 462 643 383 279 502 884 197 169 399 375 105 820 974 944 592 307 816 406 286 208 998 628 034 825 342 117 067 9
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Ein kleines Problem mit Unit und Funktionen

  Alt 27. Mär 2007, 21:59
Das kann man sich seitenweise runterladen, aber das bringt doch nichts. Das würde der Lehrerin auch nicht gefallen, denn das ist einfach Unfug. Außerdem gehört das nicht hierher.
  Mit Zitat antworten Zitat
Alt 27. Mär 2007, 22:02     Erstellt von fLaSh11
Dieser Beitrag wurde von Matze gelöscht. - Grund: Jetzt höre bitte mit dem OT auf ...
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 03:23 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