AGB  ·  Datenschutz  ·  Impressum  







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

von C++ nach delphi...

Ein Thema von glkgereon · begonnen am 11. Nov 2004 · letzter Beitrag vom 12. Nov 2004
Antwort Antwort
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

von C++ nach delphi...

  Alt 11. Nov 2004, 18:01
kann mir event mal einer was übersetzen?
es soll keine klasse werden, sondern einfach nur ein procedure bei der das aktuelle pi in LabeledEdit1.Text geschrieben werden soll

Code:
public class FractionGenerator implements Generator {
  private double start = 1.0;
  private double factor = 1.0;
  public Value next() {
    Double res = new Double (this.factor/this.start);
    this.start += 2.0;
    this.factor *= -1.0;
    return new ObjectValue(res);
  }
}
habe ich übersetzt mit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, toggle:integer;
    pidurch4:double;
begin
  i:=1;
  toggle:=1;
  running:=true;
  while running do
    begin
    pidurch4:=pidurch4+1/i*toggle;
    toggle:=toggle*(-1);
    end;
end;
doch nun hören meine fähigkeiten auf....in mehreren erweiterungsschritten kommen dieses sachen zustande:

Code:
public class PiGenerator extends DelegateGenerator {
  private double lastValue = 0.0;
  public PiGenerator (Generator g) {super(g);}
  public Value next() {
    return ObjectValue.fromDouble (4*(lastValue+=((Double)super.next().get()).doubleValue()));
  }
}
Code:
public class EulerTransform implements Transformer {
  private Double euler (double s0, double s1, double s2) {
    double res = s2 - Math.pow((s2-s1),2)/(s0-2*s1+s2);
    return new Double(res);
  }

  public Value transform(Generator g) {
    double s0 = ((Double)g.next().get()).doubleValue();
    double s1 = ((Double)g.next().get()).doubleValue();
    double s2 = ((Double)g.next().get()).doubleValue();
    return new ObjectValue(euler(s0,s1,s2));
  }
}
Code:
public static Generator multitransform (final Generator g, final Transformer t) {
  return new DelegateGenerator (transform(g,t)) {
    public Value next () {
      Value res = super.next();
      this.setDelegate(Generators.transform(this.getDelegate(), t));
      return res;
    }
  };
}
die ausgabe erfolgt schliesslich über
Code:
Generator eg = Generators.multitransform(
  new PiGenerator(new FractionGenerator()),
  new EulerTransform());
for (int i=0; i<5; i++) System.err.println (eg.next().get()+ " ");
nun, der vollständigkeit halber..es stammt hierher:
http://www.innuendo.de/documentation...Streams/euler1
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: von C++ nach delphi...

  Alt 12. Nov 2004, 10:36
Ähm, C++-Code ist das aber nicht. Was du da hast, ist Java
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  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 05: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