Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Umwandlung java zu Delphi (https://www.delphipraxis.net/114581-umwandlung-java-zu-delphi.html)

dop3 27. Mai 2008 20:22


Umwandlung java zu Delphi
 
hallo könnte mir wer diesen quekllcode in einen Delphi code umschreiben? leider kann ich nicht so wirklich java/c++

Code:
/*********************************************
 *                                           
 * class representing the DebugData Structure
 *                                           
 * Author:       Marcus -LiGi- Bueschleb    
 * 
 * see README for further Infos
 *
 ********************************************/

public class MKDebugData

{

    public int[] analog;
    public String[] names;
    public boolean[] got_name;
    public int motor_complete=-1;

   
    private int i;

    public int motor_val(int id) {      return analog[12+id];   }
    public int nick_int() {     return analog[0];   }
    public int roll_int() {     return analog[1];   }
    public int accnick() {      return analog[2];   }
    public int accroll() {      return analog[3];   }


    public int UBatt() {        return analog[9];   }
    public int SenderOkay() {   return analog[10];   }


   

    public MKDebugData()
    {
        names=new String[32];
        analog=new int[32];
        got_name=new boolean[32];
        for (i=0;i<32;i++)
            {
            analog[i]=-1;
            names[i]="-#"+i+"->";
            got_name[i]=false;
            }

    }

    public void set_names_by_mk_data(int id,int[] in_arr)
    {
        names[id]="";
        for (i=0;i<16;i++)
            {
                if ((char)in_arr[i]!=' ')
                    names[id]+=(char)in_arr[i];
                got_name[id]=true;
            }
        names[id]+=":";
    }

    public void set_by_mk_data(int[] in_arr,MKVersion version)
    {

        if (version.compare(-1,-1)==version.VERSION_EQUAL)
            return;

        if (version.compare(0,60)==version.VERSION_PREVIOUS)
            {
                for (i=0;i<32;i++)
                    {
                        //analog[i]=(int)((in_arr[1+i*2]<<8) | in_arr[2+i*2]);
                        analog[i]=(int)((in_arr[3+i*2]<<8) | in_arr[2+i*2]);
                        if ((analog[i]&(1<<15))!=0)
                            analog[i]=-(analog[i]&(0xFFFF-1))^(0xFFFF-1);
                    }
            }
        else
            {
                for (i=0;i<16;i++)
                    {
                        analog[i]=(int)((in_arr[17+i*2]<<8) | in_arr[18+i*2]);
                        if ((analog[i]&(1<<15))!=0)
                            analog[i]=-(analog[i]&(0xFFFF-1))^(0xFFFF-1);
                    }
            }

        motor_complete=motor_val(0)+motor_val(1)+motor_val(2)+motor_val(3);


    }



}
[edit=Phoenix]Delphi- in Code-Tags geändert. Ist freundlicher wegen der Kommentare. Mfg, Phoenix[/edit]

Phoenix 27. Mai 2008 21:47

Re: Umwandlung java zu Delphi
 
Hallo dop3.

Erstmal herzlich Willkommen in der DP. :dp:

Zitat:

Zitat von dop3
könnte mir wer diesen quekllcode in einen Delphi code umschreiben? leider kann ich nicht so wirklich java/c++

Sorry im Vornherein für die Watschen, aber Nein, das werden wir für Dich nicht tun.

Wir verstehen uns als Forum als 'Hilfe zur Selbsthilfe'. Wenn Du also bestimmte Dinge nicht verstehst, dann werden wir Dir gerne helfen und Dir die Zusammenhänge erklären, aber wir werden Dir nicht die ganze Arbeit abnehmen. Wenn Du kein Java / C / C++ kannst, dann ist das jetzt genau der richtige Zeitpunkt, um die Grundlagen davon zu erlernen (man sollte als Entwickler sowieso die wichtigsten Sprachen zumindest lesen können).

Wenn Du das jedoch einfach nur 'gemacht haben' willst, dann werden sich alternativ möglicherweise Leute finden, die das für einen angemessenen Stundensatz tun werden.

Also: Was an dem ganzen Ding verstehst Du nicht?

C - liker Code nach Delphi zu übersetzen ist an sich nämlich nicht so schwer.
"{" wäre ein begin, "}" entsprechend ein end;

Alles wo "public" / "protected" / "private" davor steht sind Deklarationen der Klasse, kommen also mindestens mal in den interface Teil Deiner Delphi-Klasse, und zwar unter genau den gleichen Begriffen.

Alles mit runden Klammern hintendran sind Methoden, vor dem Namen steht der Rückgabetyp, und der wird mit return zurückgegeben. Also ist "return irgendwas;" in der Regel "result := irgendwas;" in Delphi.

Das einzige, was sonst noch auffällig wäre ist die for-Schleife.

Anstelle von "for (i=0;i<32;i++)" wäre das ein
Delphi-Quellcode:
var i: integer;
begin
  for i := 0 to 31 do
  begin
  ...
  end;
end;
Sonst noch Fragen?

1234588 27. Mai 2008 23:20

Re: Umwandlung java zu Delphi
 
Zitat:

Zitat von Phoenix
Das einzige, was sonst noch auffällig wäre ist die for-Schleife.

nicht nur, die operatoren sind auch nicht delphi konform :o)

Delphi-Quellcode:
c         delphi
=         :=
==        =
!=        <>
|          or
&         and
und dann gibt es noch die tollen zuweisungsoperatoren wie +=

Delphi-Quellcode:
c         delphi
i += 5;   i := i + 5;
das selbe mit -= usw.

Bernhard Geyer 28. Mai 2008 06:14

Re: Umwandlung java zu Delphi
 
Falls du öfter Quellcode von Java verwenden willst, so verwende doch die Klassen in Java mittels JNI


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz