AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Delphi Euro - Dollar - Umrechner
Thema durchsuchen
Ansicht
Themen-Optionen

Euro - Dollar - Umrechner

Ein Thema von rojhat2049 · begonnen am 21. Nov 2009 · letzter Beitrag vom 30. Jul 2012
Antwort Antwort
Seite 1 von 2  1 2      
rojhat2049
Registriert seit: 20. Nov 2009
Hier habe ich einen Euro - Dollar - Umrechner programmiert


Delphi-Quellcode:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    grp1: TGroupBox;
    lbl2: TLabel;
    lbl3: TLabel;
    grp2: TGroupBox;
    lbl1: TLabel;
    grp3: TGroupBox;
    scrlbr1: TScrollBar;
    edt4: TEdit;
    procedure edtDblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure scrlbr1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
var
  kurs, euro, dollar :Single;
  code :Integer;
  s :string;
procedure umwandeln;
  begin
    with Form1 do
    begin
      Val(edt1.text, kurs, code) ;
      Val(edt2.Text,dollar , code) ;
      Val(edt3.Text,euro ,code) ;
     end;
    end;
    procedure euro_dollar;
    begin
     umwandeln;
     Str(euro*kurs:8:2,s);
     Form1.edt2.text :=s;
     end;
     procedure dollar_euro;
     begin
       umwandeln;
       Str(dollar/kurs:8:2,s);
       Form1.edt3.text :=s;
       end;
procedure TForm1.edtDblClick(Sender: TObject);
begin
    umwandeln;
    if kurs>0
    then if sender =edt3
         then euro_dollar
         else dollar_euro;
end;
 
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#2
  Alt 21. Nov 2009, 22:30
Ich denke nicht, dass dein Code irgendetwas enthält, was einen deutlichen Meherwert aufweist. Deshalb denke ich, dass dein Code nicht ganz hier in die Code-Lib passt. Wenn du dein Programm vorstellen willst, dann kannst du dies aber gerne in der entsprechenden Sparte tun.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze

 
Turbo Delphi für Win32
 
#3
  Alt 21. Nov 2009, 22:43
Hallo,

dem schließe ich mich an, auch wenn es nett gemeint ist. Für die Zukunft aber ein paar Hinweise.

Mit deinem Code kann man fast nichts anfangen, da du die VCL nutzt (TEdit) etc. D.h. um den Code zum Laufen zu bekommen, muss man erst einmal die ganzen Komponenten verwenden. Wenn die Werte aus einer Datei, einer ComboBox o.ä. kommen, muss man deinen Code beispielsweise anpassen bzw. man muss ihn immer anpassen

Dann nutzt du globale Variablen, ohne die dein Code nicht laufen würden, daher ist es sinnvoll, das als Funktion zu schreiben. Diese kann man 1:1 übernehmen und leicht und vielseitig verwenden. Obendrein kürzt das den Code aufs Wesentliche. Im vorliegen Beispiel könnte das so aussehen:

Delphi-Quellcode:
function EuroToDollar(const Euro, Kurs: Double): Double;
begin
  Result := Euro * Kurs;
end;

function DollarToEuro(const Dollar, Kurs: Double): Double;
begin
  Result := Dollar / Kurs;
end;
Evtl. mit Beispielaufruf und da kannst du die VCL auch gerne verwenden:

LblEuro.Caption := FloatToStr(DollarToEuro(StrToFLoat(EdtDollar.Text), StrToFloat(EdtKurs.Text))); Was das ":8:2" in deinem Code soll, habe ich nicht ganz verstanden.
Deine Formatierung hat mich auch erst verwirrt. Es sieht auf den ersten Blick aufgrund der schlechten Einrückung so aus, als seien in der Prozedur "umwandeln" weitere Prozeduren enthalten.

Das als Hinweise, was wir hier erwarten.

Einen schönen Abend wünscht
Matze
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#4
  Alt 21. Nov 2009, 22:51
Zitat von Matze:
Was das ":8:2" in deinem Code soll, habe ich nicht ganz verstanden.
Zwei Nachkommastellen.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

 
Delphi 2005 Personal
 
#5
  Alt 21. Nov 2009, 22:52
Erstmal herzlich willkommen in der DP

Dein Thema ist hier in der DP schon mehrfach durchgekaut worden.
Das hättest Du mit unserer Funktion "Suchen" herausfinden können.
Wenn Du wirklich Interressantes zu bieten hast, schau 'mal hier unter "Suchen",
was es schon gibt, bevor Du etwas einstellst und versuche es noch einmal.
Lasse Dich aber nicht entmutigen, wir haben hier alle auch 'mal ganz klein
angefangen!

Gruß

Wolfgang
Wolfgang Mix
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze

 
Turbo Delphi für Win32
 
#6
  Alt 21. Nov 2009, 22:53
@Luckie: Ah ok, das habe ich immer über Delphi-Referenz durchsuchenFormat gelöst, nie über "Str()". Wieder was gelernt, danke (ich bleibe dennoch bei "Format").
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

 
Delphi 2005 Personal
 
#7
  Alt 21. Nov 2009, 23:01
Jaja, das stammt noch von TP
Wolfgang Mix
  Mit Zitat antworten Zitat
22. Nov 2009, 10:08
Dieses Thema wurde von "Daniel G" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Open-Source" verschoben.
Passt besser in OpenSource...
Benutzerbild von Back2Code
Back2Code

 
Delphi XE7 Professional
 
#9
  Alt 30. Jul 2012, 10:22
Delphi-Quellcode:
var
  euro, dollar : Double;
  i : integer;
  kurs : double = 1.32;

{$R *.res}

begin
WriteLn('-----------------------------------------------------------------');
WriteLn('#####################Umrechner########################');
WriteLn('-----------------------------------------------------------------');
WriteLn('Tragen Sie den aktuellen Kurs von einem Dollar ein!');
ReadLn(kurs);
    for i := 1 to 10000 do begin
    WriteLn('-----------------------------------------------------------------');
    WriteLn(FloatToStr(kurs) + (' Dollar = 1 Euro. Tragen Sie nun ihren Betrag in Euro ein!'));
    ReadLn(euro);
    WriteLn('******************************');
    dollar := kurs * euro;
    WriteLn('-----------------------------------------------------------------');
    WriteLn(FloatToStr(dollar) + (' Dollar!'));
    WriteLn('-----------------------------------------------------------------');
    WriteLn();
    WriteLn();
    WriteLn();
    WriteLn();
    end;
end.
  Mit Zitat antworten Zitat
Klaus01

 
Delphi 10.4 Sydney
 
#10
  Alt 30. Jul 2012, 10:27
Guten Morgen,

warum läst Du die Schleife 10000 mal durchlaufen?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:44 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