Announcement

Collapse
No announcement yet.

Funktionen in Delphi 7

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Funktionen in Delphi 7

    hi leute...

    per buttonclick kann man ja folgendes ausführen...
    Code:
            with Table1 do
            begin
              Close;
              DatabaseName:=Application.ExeName+'\db';
              TableName:='daten.db';
              Open;
            end;
    nun meine frage:

    wie kann ich das ganze per function machen?

    ich hab mir das irgendwie so gedacht, klappt aber nicht...
    Code:
    function DB_verbinden(Tabelle: TTable;Dbpfad,Tabellenname: String;Aktiv: Boolean);
    var
      tab: TTable;
    begin
            with tab do
            begin
              Close;
              DatabaseName:=DatabaseName;
              TableName:=Tablename;
              Active:=Aktiv;
            end;
            Result:=DBGrit1;
    end;
    was mach ich falsch? hab ich irgendwas vergessen?

    wäre toll, wenn mir jemand helfen könnte...

    vielen dank schon jetzt

    mfg
    twin4rider

  • #2
    Nimm statt Tab Tabelle, denn die hast du ja übergeben. Die anderen Fehler (kein Typ für die Funktion, Parameter nicht verwendet etc.) sind bestimmt nur Schreibfehler?

    Kathrin

    Comment


    • #3
      Originally posted by Kathrin25 View Post
      Nimm statt Tab Tabelle, denn die hast du ja übergeben. Die anderen Fehler (kein Typ für die Funktion, Parameter nicht verwendet etc.) sind bestimmt nur Schreibfehler?

      Kathrin
      ja...stimmt...habs nochmal kopiert...

      so wie sie jetzt aussieht, funktioniert das auch...
      Code:
      function DB_verbinden(Tabelle: TTable;DBPfad,Tabellenname: String;Aktiv: Boolean): Boolean;
      begin
              with Tabelle do
              begin
                Close;
                Databasename:=DBPfad;
                TableName:=Tabellenname;
                Active:=Aktiv;
              end;
      end;
      PS:
      falls dennoch etwas falsch sein sollte, bin ich trotzdem über jeden hinweis dankbar ;-)

      mfg
      twin4rider

      Comment


      • #4
        ok, dann noch ein kleiner Hinweis: da die Funktion vom Typ Boolean ist, würde ich also als result true zurückgeben, wenn es geklappt hat und false sonst (result := ...). Also z.B. mit try ... except arbeiten.

        Comment


        • #5
          Taschenrechner

          hallo,
          ich bräuchte mal hilfe!
          ICh bin Delphi Anfänger un bin gerade an einem Taschenrechner.
          Und wenn ich 2 durch 3 teilen will kommt raus: 0,66666666667
          -->Ich will aba das nur 2 Stellen hinter dem Komma angezeig werden.
          Kann mir da jemand sagen was ich in die UNIT eingeben muss?
          Sorry Tastatur bischen kaputt.
          Antwort: Bitte per Email
          [email protected]

          MfG
          Domi

          Comment


          • #6
            Originally posted by FugYa View Post
            hallo,
            ich bräuchte mal hilfe!
            ICh bin Delphi Anfänger un bin gerade an einem Taschenrechner.
            Und wenn ich 2 durch 3 teilen will kommt raus: 0,66666666667
            -->Ich will aba das nur 2 Stellen hinter dem Komma angezeig werden.
            Kann mir da jemand sagen was ich in die UNIT eingeben muss?
            Sorry Tastatur bischen kaputt.
            Antwort: Bitte per Email
            [email protected]

            MfG
            Domi
            hi...

            als ergebnis nimmst du die folgendes...
            Code:
            Edit1.Text:=FormatFloat('0.00',2*3);
            viel spaß dabei ;-)

            mfg
            twin4rider

            Comment


            • #7
              Hmm, wenn Du runden willst, ist das ganze nicht ganz so einfach. Auf 2 Stellen würdest Du so kommen:

              function PrivateRound(Wert: extended): extended;
              begin
              Result := (Wert * 100) + 0.5 * Sign(Wert);
              if SameValue(Round(result), result, 1e-10) then
              result := Round(result);
              result := Trunc(result);
              Result := Result / 100;
              end;

              Grüße

              Julia

              Comment

              Working...
              X