Autor Beitrag
daedalouse
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 15.04.10 16:08 
Hallo,

ich möchte ein Variant Array (v) in ein Array vom fortran type speichern (alles zeilenweise hintereinander). Zur Compile Zeit ist dimCount(v) nicht bekannt. Bei einem normalen C-artigen array könnte man das durch rekursion machen. Folgendes klappt aber nicht, weil v[i] in zeile 18
ausblenden Delphi-Quelltext
1:
result := varToFortranDblArray(v[i],f,pos);					

einen RunTime error liefert (da dimCount(v) > 0). Any Ideas? schon mal vielen Dank!!!

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
function varToFortranDblArray(v:variant;var f:array of double;var pos:integer):integer;overload;
var dimCount,i:integer;
begin
  result := -1;
  dimCount := VarArrayDimCount(v);
  if  dimCount = 1 then
  begin
    for i:=VarArrayLowBound(v,dimCount) to VarArrayHighBound(v,dimCount) do
    begin
      f[pos] := v[i];
      pos := pos +1;
    end;
  end;

  if  dimCount > 1 then
  begin
    for i:=VarArrayLowBound(v,dimCount) to VarArrayHighBound(v,dimCount) do
    begin
      result := varToFortranDblArray(v[i],f,pos);
    end;
  end;
  result := 0;
end;


Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Fr 16.04.10 22:30 
Willkommen

Vielleicht könntest du mal dein problem konkretisieren für unwissende...ich weiß nicht so ganz was du überhaupt machen willst.

ausblenden Delphi-Quelltext
1:
2:
3:
function varToFortranDblArray(v:variant;var f:array of 
 [...]
      result := varToFortranDblArray(v[i],f,pos);



Das kommt mir komisch vor. In Verbindung mit dem dim kann ich da aber durchaus einen Sinn sehen.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)