Einzelnen Beitrag anzeigen

Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Problem mit php script

  Alt 31. Dez 2004, 01:17
hi,

hmhmhm. naja, erstens wäre es schön, wenn du die [code] tags benutzen würdest. und zweitens ist das nicht ganz leicht. denn in delphi solltest du vorher schon wissen, welchen typ die func zurückgeben soll (also nicht mal boolean und mal ein array). das wäre eventuell mit einem record oder einer kalsse zu lösen.

achja und drittens ist der code fehlerhaft. du gibst einmal false zurück, wenn die bedingung zutriffst. dieses result wird aber sofort wieder mit einem array überschrieben....

ich habs aber spaßeshalber mal trotzdem versucht zu übersetzen:

Delphi-Quellcode:
type
  TNewCoordResult = record
    ok: boolean;
    Con, Sec, Sub: double;
  end;

function new_coord(x, y: double): TNewCoordResult;
var tempx, tempy: string;
begin
  result.ok := true;

  tempx := floattostr((x + 250) / 0.5);
  tempy := floattostr((y + 250) / 0.5);

  if (tempx < 0) or (tempy < 0) then
  begin
    result.ok := false;
    exit; //edited: ganz wichtig ;)
  end;

  result.con := strtofloat(copy(floattostr(tempy), 0, 1) + copy(floattostr(tempx), 0, 1));
  result.sec := strtofloat(copy(floattostr(tempy), 1, 1) + copy(floattostr(tempx), 1, 1));
  result.sub := strtofloat(floattostr(strtofloat(copy(floattostr(tempy), 2, 1)) / 2 * 5) + floattostr(strtofloat(copy(floattostr(tempx), 2, 1)) / 2));
end;
ohne gewähr

edit: oh meion gott, die letzte zeile ist aber mega unübersichtlich. @dax und supemuckl: man kanns auch ohne variants lösen.... man muss nur beim weiteren bearbeiten des results (der record) unterscheiden, ob das boolean false ist, oder ob die anderen werte gesetzt sind...

edit2: jetzt wird die funktionsebene auch verlassen

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat