Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Arraytypfehler (https://www.delphipraxis.net/110398-arraytypfehler.html)

DeddyH 17. Mär 2008 17:10

Re: Arraytypfehler
 
Dynamische Arrays sind immer 0-indiziert.
Delphi-Quellcode:
procedure TMain.BtRechnenClick(Sender: TObject);
var i, j: Byte;
begin
SetLength(MatrixArray, N, M);
For i:= 0 to N - 1 do
begin
  For j:= 0 to M - 1 do
  Begin
    MatrixArray[i,j]:=StrToFloat(EditArray[i + 1,j + 1].Text);
  end;
end;
Ungetestet.

KLS 17. Mär 2008 17:11

Re: Arraytypfehler
 
Mal nen bisschen OT.

"EditArray: array[1..200, 1..200] of TEdit;"

Wofür brauchst du 40.000 Edits?

Kytrix 17. Mär 2008 17:31

Re: Arraytypfehler
 
Delphi-Quellcode:
...
    begin
      for i2 := i3 to M do
        for i1 := N downto 0 do
          Matrixarray[i1, i2] := Matrixarray[i1, i2] / Matrixarray[i3, i2];// HIER !!!!

      for i4 := i3 + 1 to M do
        for i5 := N downto 0 do
...

Nun bekomme ich als Fehlermeldung :"Projekt LGS_Rechner.exe raised exception class EInvalidOp with message'Invalid floating point Operation'.Process stopped."

(@ KLS weil ichs dynamisch nicht hinbekomme ....)

mkinzler 17. Mär 2008 17:41

Re: Arraytypfehler
 
Ersetze / durch DIV

DeddyH 17. Mär 2008 17:43

Re: Arraytypfehler
 
Delphi-Quellcode:
MatrixArray: array of array of Real;
Da wird div nicht gehen.

Kytrix 17. Mär 2008 17:51

Re: Arraytypfehler
 
genau es geht nicht mit div :?

Klaus01 17. Mär 2008 17:52

Re: Arraytypfehler
 
Ist es möglich, dass Matrixarray[i3, i2] zwischzeitlich mal den Wert 0 hat?

Grüße
Klaus

DeddyH 17. Mär 2008 17:56

Re: Arraytypfehler
 
Kommt dann nicht eine andere Exception (EDivByZero)?

Kytrix 17. Mär 2008 18:02

Re: Arraytypfehler
 
bei mir kommt keine "EDivByZero" Meldung.... es hängt jetzt nur noch an diesem "div" bzw " / " denn wenn ich dafür igendeine andere rechenoperation setze bekomme ich ergebnisse (die dann aber logischerweise falsch sind ) .... ka was ich da machen könnte

Klaus01 17. Mär 2008 18:41

Re: Arraytypfehler
 
Delphi-Quellcode:
 
  for i3 := 0 to M do
    begin
      for i2 := i3 to M do
        for i1 := N downto 0 do
          Matrixarray[i1, i2] := Matrixarray[i1, i2] / Matrixarray[i3, i2];
Sollten diese Schleifen nicht auch bis M -1 und von N-1 bis 0 laufen.

Denn wenn Du 10 Zeilen/Spalten definiert hast, läuft
Dein dynamisches Array von 0 -> 9.
Ich würde da aber einen anderen Fehler als EInvalidOp erwarten.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 Uhr.
Seite 2 von 2     12   

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